亲,双击屏幕即可自动滚动
第345章 动如流水,不动如山(求订阅求月票)
    哈雷瓦的上午,阳光亮得有些过曝。

    一艘白色的阿兹慕游艇切开太平洋的表层,在身后拖出两条翻滚的白浪。

    两台沃尔沃遍达引擎(Volvo Penta)低沉地轰鸣着,把甲板震得微微发麻。

    克莱尔?王趴在船头的日光浴垫上。

    她换了一套金色的亮片比基尼,背后的带子解开了,露出一整片毫无遮挡的光洁背部。

    阳光洒在上面,那层防晒油泛着腻人的光泽。

    “佩妮!左边一点!对,要把那边的山和我的腿都拍进去!”

    克莱尔手里举着一杯还没喝的香槟,正在指挥方佩妮找角度。

    方佩妮穿着严严实实的防晒衣,头上戴着宽檐帽,手里捧着那台沉重的单反相机,像个战地记者一样半蹲在甲板上,满头大汗地调整焦距。

    “克莱尔姐,反光太强了,你的墨镜上全是我的影子......”

    方佩妮小声抗议。

    “那就修图!PS会不会?把你自己P掉!”

    船尾的阴凉处,方雪若正翘着二郎腿坐在柚木椅上。

    她戴着一顶巨大的拉菲草帽,帽檐压得很低,身上是一件黑色的深V连体泳衣。

    她手里拿着一瓶指甲油,正专心致志地给自己的脚趾甲涂上一层猩红色的漆。

    海风吹乱了她额前的碎发,她也不管,动作稳得像是在签几亿美金的支票。

    “埃琳娜呢?”方雪若涂完最后一个脚趾,拧上瓶盖,头也不抬地问。

    “刚下去。”

    程新竹趴在栏杆上,指着海面。

    顺着她的手指看去,一个矫健的身影正在蓝黑色的深水里破浪前行。

    埃琳娜穿着专业的竞速泳衣,双臂像风车一样轮转,每一次划水背部的肌肉群都像岩石一样隆起。

    她不是在游泳,她是在跟大海搏斗。

    二层的飞桥甲板上。

    风很大,吹得林允宁的沙滩裤猎猎作响。

    他站在跳台边缘,低头看着下面深不见底的海水。

    这里离海面有五六米高。

    沈知夏站在他旁边,那是运动员特有的站姿,双脚分开与肩同宽,脚趾紧紧扣着防滑垫。

    她低头看了一眼,喉咙动了一下。

    “有点高啊。”

    沈知夏眯着眼,声音被风吹得有点散。

    这和跨栏不一样。

    这里没有跑道,只有晃动的蓝色深渊。

    林允宁转过头看她。

    她没化妆,眉毛被水打湿了,贴在眉骨上,显得那双眼睛格外黑亮。

    他没有说什么“别怕”之类的废话,只是把右手伸了过去,手掌摊开。

    “沈教练,怂了?”

    林允宁嘴角勾起一点弧度,眼神清亮,“要不要我先下去接着你?”

    沈知夏眉毛一挑。

    那种刻在骨子里的胜负欲瞬间被点燃了。

    “谁怕谁!”

    她一把扣住林允宁的手。

    掌心贴着掌心,手指穿过指缝,死死扣紧。

    “数到三!”

    “? ! ”

    "="

    两人同时发力。大腿肌肉紧绷,蹬离甲板。

    身体腾空。

    失重感瞬间包裹了全身,心脏像是被一只手提到了嗓子眼。

    风声在耳边呼啸。

    两人在空中划出两道并行的弧线,手依然紧紧握在一起。

    “噗通!”

    海水重重地拍在脚底板上,瞬间变成了包裹全身的清凉。

    水下是一个蓝色的静音世界。

    气泡在耳边咕噜噜地升腾,光线在水面上折射成破碎的金网。

    林允宁感觉到了海水的阻力,也感觉到了手里那只手的力量。

    两人借着惯性下潜了几米,然后开始上浮。

    “哗啦!”

    两人同时破水而出。

    林允宁抹了一把脸上的水,大口吸着咸湿的空气。

    头发湿漉漉地搭在前额,水珠顺着睫毛往下滴。

    他转过头,正好看见沈知夏像只水?一样猛地甩头,发梢的水珠甩出的一圈晶莹的弧线。

    她睁开眼,大笑着看向林允宁,还没等身形稳住,突然扑了过来。

    双手按住林允宁的肩膀,恶作剧地用力往下一压。

    "..."

    林允宁猝不及防,又喝了一口海水。

    他在水下搂住沈知夏的腰,双腿踩水,猛地发力,两人再次浮出水面。

    这一次,两人的距离极近。

    鼻尖几乎碰到了鼻尖。

    海水在两人胸口起伏。

    “刚才在空中,”

    林允宁盯着她的眼睛,声音有些喘,“你抓得我手好紧。指甲都掐进肉里了。”

    沈知夏脸红了一下,但在晒伤妆般的小麦色皮肤上看不明显。

    她在水下用膝盖轻轻顶了林允宁一下。

    “少臭美,那是怕你临阵脱逃,拽着你不让你跑。”

    她嘴硬,但手却依然搭在他的肩膀上,没有松开。

    不远处,游艇上传来克莱尔的口哨声和方佩妮的惊呼声。

    阳光很烈,海水很蓝。

    这一刻,没有复杂的算法,没有必须要赢的商业战争,只有肾上腺素褪去后的松弛和心跳。

    下午三点。

    正值大退潮。

    游艇停靠在了一片无人沙洲(Sandbar)旁。

    原本淹没在海面下的白色沙滩露了出来,像一条白色的鲸鱼脊背,把海水劈成了两半。

    克莱尔和方雪若还在船上享受空调和下午茶。

    程新竹和方佩妮蹲在沙洲的一头,正在进行一项浩大的工程一一堆沙堡。

    或者说,是在挖水渠。

    程新竹拿着一个小塑料铲子,指挥若定:“Penny,这边的护城河要挖深一点,引海水进来,不然城堡太干了会塌。”

    佩妮老老实实地用手刨着沙子,挖出一条弯弯曲曲的沟槽,连通了海水。

    海水顺着沟槽流进来,灌满了那个所谓的“护城河”。

    林允宁坐在不远处的一块礁石上,手里拿着一瓶科罗娜啤酒,已经温了。

    他没喝。

    他的视线死死地盯着那条水渠。

    水在流。

    沙子不动。

    水流经过沙子构成的弯道时,被沙壁阻挡,改变了方向,流速也发生了变化。

    “不动......”

    林允宁喃喃自语。

    他的脑子里,昨天那个“脉动阵列”的概念正在疯狂生长,但遇到了一个巨大的工程障碍能耗。

    如果你要让几百万个数据在芯片里跑来跑去,就像是一群人在搬砖。

    每次从内存(dRAm)里读取数据,消耗的能量是从本地缓存(SRAm)读取的几百倍。

    如果每个时钟周期,都要把权重(weights,神经网络的参数)搬进搬出,那这块芯片还没算完第一层网络,就会因为过热而烧毁。

    热力学定律,就是这样冷酷。

    他盯着方佩妮手里的动作。

    她把一堆湿沙子堆在水渠中间,做成了一个阻挡块。

    水流冲过来,漫过沙堆,继续流向下一个坑。

    沙堆没动。

    只有水在动。

    “权重......驻留(weight Stationary)。”

    林允宁的瞳孔猛地收缩。

    为什么要把权重搬来搬去?

    如果把权重当成这些固定的沙子呢?

    把权重数据预先加载到每一个计算单元(PE)里,锁死。

    然后让输入数据(Inputs) 像这股海水一样,从左边流进去,流过这一个个固定的“沙堆”。

    在流动的过程中,数据和权重完成乘法运算。

    算出来的结果(部分和,Partial Sums),再像接力棒一样,流向下游的单元。

    这样,权重数据只需要读取一次!

    内存访问量瞬间降低了一个数量级!

    “系统。”

    林允宁扔掉手里的啤酒瓶,瓶子落在沙地上,发出一声闷响。

    【启动模拟科研】

    【课题:基于权重驻留(weight Stationary)机制的脉动阵列能效分析。】

    【注入模拟时长:500小时。】

    周围的欢笑声、海浪声瞬间消失。

    意识沉入那个纯白的逻辑空间。

    【第10小时:你构建了一个16x16的二维阵列。每个单元包含一个乘加器(mAC)和本地寄存器。】

    【第50小时:你尝试了“输出驻留”和“输入驻留”,发现都不如“权重驻留”节能。因为在卷积神经网络中,权重矩阵的复用率最高。】

    【第150小时:你模拟了数据流。输入数据从左向右流动,部分和(Partial Sums)从上向下流动。每个时钟周期,所有单元同时工作。像心脏泵血一样,数据在阵列中有节奏地“脉动”。】

    【第300小时:能耗分析。相比传统的冯?诺依曼架构(CPU/GPU),这种架构减少了90%的内存访问。能效比(ToPS/w)提升了30倍!】

    【第480小时:你发现了一个问题。数据流动的时序必须极其精准。你需要设计一套复杂的FIFo(先进先出队列)缓冲机制,来保证数据在正确的时间到达正确的位置。这就好比几百列火车同时进站,不能撞车。】

    【模拟结束。】

    林允宁猛地眨眼。

    现实世界的阳光重新刺入视网膜。

    他跳下礁石,冲到方佩妮挖的那条水沟旁。

    “老板?你也要玩沙子吗?”

    方佩妮举着沾满沙子的小手,一脸茫然。

    林允宁没理她。

    他直接伸手,抓起一把湿润的沙子,在手里用力一捏,捏成一个结实的方块,拍在地上。

    “这是乘法器。"

    他又抓了一把,拍在旁边。

    “这是寄存器。”

    他眼神狂热,自言自语:

    “不动如山,动如流水......这就是张量处理单元的灵魂。”

    黄昏。

    潮水开始上涨。

    海水一点点吞噬着白色的沙洲,留给他们的领地越来越小。

    其他人已经回到了游艇上准备晚餐。

    只有林允宁还在沙滩上。

    他找了一根漂流木,在一块尚未被海水浸湿的平整沙地上,疯狂地画着图。

    那不再是小孩子的涂鸦。

    那是精密的工程蓝图。

    一个个方块代表着PE(处理单元),箭头代表着数据流向。

    data_in -> [ mAC | w]->[mAC] w ]->...

    他在旁边标注着密密麻麻的算式:

    Latency = 3N - 2

    Buffer_size = N

    他完全沉浸在自己的世界里,连海水已经打湿了脚背都没感觉到。

    这就是他要找的答案。

    专门为AI生的芯片。

    抛弃通用性,追求极致的矩阵计算效率。

    “给。”

    一个声音在头顶响起。

    沈知夏光着脚站在他身边,手里拎着两瓶冰啤酒。

    她换了一件宽松的白T恤和牛仔短裤,长发被海风吹得乱糟糟的。

    林允宁停下笔,抬起头。

    眼神还有点发直,像是刚从另一个维度穿越回来。

    “喝口水吧,嘴唇都起皮了。”

    沈知夏把啤酒递给他,然后盘腿坐在他旁边的沙地上。

    她看了一眼地上那幅鬼画符一样的图,虽然看不懂,但她知道这东西对林允宁很重要。

    “快涨潮了。”

    她指了指不远处正在逼近的浪线。

    “再给我十分钟。”

    林允宁喝了一口啤酒,又迅速趴回去,“还有一个数据对齐的问题没解开。”

    沈知夏没催他。

    她放下啤酒瓶,站起身。

    她走到图纸的外围,也就是浪水涌来的方向。

    她蹲下身,开始用手刨沙子。

    她在林允宁的图纸外围,筑起了一道半米高的沙坝。

    动作很快,很有力。

    海水涌过来,撞在沙坝上,被挡住了。

    虽然这道堤坝撑不了多久,但足够争取十分钟。

    林允宁的余光看到了这一幕。

    那个穿着白T恤的女孩,正像个守护神一样,挡在海浪和他那些脆弱的思想火花之间。

    心里某块地方软了一下。

    但他没停笔。

    手中的木棍划动得更快了。

    十分钟后。

    “搞定。”

    林允宁扔掉木棍,长长地出了一口气。

    整个架构逻辑闭环了。

    但就在这时,一个大浪打过来。

    “哗啦!”

    沈知夏筑起的那道沙坝终于撑不住了,缺口崩塌。

    海水涌了进来,瞬间冲刷过那片沙地。

    方块、箭头、公式......

    那些价值千金的灵感,在几秒钟内被抹平,只剩下一片湿漉漉的平整沙滩。

    “哎!”

    林允宁急了,下意识地伸手去捞,手里只抓了一把泥沙。

    “别急。”

    沈知夏拍了拍手上的沙子,从兜里掏出手机,在他眼前晃了晃。

    屏幕上,是那张图纸的高清照片。

    每一根线条,每一个标注,都清晰可见。

    “早就帮你拍下来了。”

    沈知夏笑得眉眼弯弯,夕阳在她身后镀了一层金边,“我就知道你画完肯定得忘。

    林允宁看着她,又看了看那部手机。

    他突然伸手,把她揽进怀里,用力抱了一下。

    “这是我未来要造的‘大脑’。”

    他在她耳边轻声说,声音里压抑着兴奋,“有了它,我们就能让计算机真的‘思考,而不是仅仅计算。”

    沈知夏虽然不太懂,但她感觉到了他胸腔的震动。

    她回抱住他,拍了拍他满是沙子的后背。

    “行,不过造人工大脑的事情以后再说,现在该填填肚子了。”

    她指了指游艇的方向,“克莱尔她们在烤肉,再不回去,肉都要被埃琳娜吃光了。”

    夕阳沉入海面。

    两人手牵手,踩着没过脚踝的海水,走向那艘灯火通明的游艇。

    在那片被海水抹平的沙滩下,一颗关于人工智能未来的种子,已经悄然埋下。