Google 把画图的那套扩散模型,拿来写字了,快了 4 倍

小岛AI 2026 / 06 / 11

事情是这样的。昨天 Google DeepMind 扔出来一个实验模型,叫 DiffusionGemma,Apache 2.0 开源,权重直接挂在 Hugging Face 上随便下。

宣传点是文本生成速度最高快 4 倍。

speed up 这种话每个月都能听到八百遍,我一般是不抬眼皮的。但这次让我愣了一下的不是数字,是它快的方式。

它不是把模型做小了,不是把芯片堆多了,是把生成文字这件事的玩法整个换掉了。用的还是一个你大概率听过、但印象里只跟图片有关的技术,扩散模型。

对,就是 Stable Diffusion、Midjourney 画图用的那个扩散。

Google 把画图的那套,拿来写字了。

我跟你说,这事比 4 倍那个数字有意思多了。

先聊聊现在的大模型是怎么写字的。你眼下用的 ChatGPT、Claude、Gemini,包括所有你叫得出名字的开源模型,几乎全是一个路数,叫自回归生成。听着唬人,其实就是一个字一个字往外蹦。模型先吐第一个 token(你可以粗暴理解成一个字或者半个词),看一眼自己刚吐的,再吐第二个,再看一眼,再吐第三个。每个新字都依赖前面所有已经写出来的字。

像什么呢,像打字机。哒,哒,哒,从左到右,一格一格敲。

打字机一格一格敲,印刷机整版一起印

这个路数在云端其实挺好的。服务器把成千上万个用户的请求打包在一起处理,张三在等下一个字的时候,GPU 顺手把李四王五赵六的字也算了,硬件一点不闲着。

但你把模型拉到自己电脑上跑,事情就变味了。

本地只有你一个用户。模型哒一下吐出一个字,你那张显卡接下来就在干等,等内存把下一轮要用的权重搬过来。一张几千上万块的卡,绝大部分时间在等待,不在计算。算力在那躺着,瓶颈卡在内存带宽上。

这就是为什么很多人兴冲冲用 ollama 拉了个本地模型,跑起来看着字一个一个往外挤,挤得人心头发紧,最后默默关掉又回去开网页版。不是模型不行,是这套生成方式天生不适合单人本地场景。

DiffusionGemma 的思路是,既然一个字一个字写让硬件闲着,那就别一个字一个字写了。

它一次生成 256 个 token。一整块。

具体过程挺魔幻的,跟画图的扩散模型几乎是一个剧本。画图是先来一张全是噪点的图,模型一轮一轮把噪点修成猫修成山修成晚霞。DiffusionGemma 写字是先铺一块全是随机占位符的「画布」,然后一轮一轮迭代,每一轮把它有把握的 token 先锁定,锁定的字反过来当线索,帮它修剩下没把握的部分,几轮下来整块文字就「显影」了。

从噪声画布到清晰文字块的三步显影

从打字机,变成了印刷机。不是一格一格敲,是整版一起印。

好家伙,我看到官方博客里这个比喻的时候,真有种「对哦,凭什么文字非得从左往右长出来」的感觉。

这个玩法带来一个顺手的副产品,可能比速度还值钱,双向注意力。

自回归模型写每个字的时候只能看见左边已经写完的,看不见右边还没出生的。但 DiffusionGemma 是整块一起修的,每个 token 在生成过程中能同时看到前后所有 token。前面的字可以根据后面的字调整自己。

听着挺玄对吧,我举个实在的例子。Unsloth 拿它微调了一个玩数独的版本。数独这个东西,每个格子的数字取决于同行同列同宫格里其他所有格子,里面一堆格子还是「未来」才会填的。自回归模型做这种题特别费劲,因为它天生只能往一个方向看。DiffusionGemma 做起来就顺多了,它生成的时候本来就是全局一起看的。

写代码的朋友应该马上能联想到自己的场景。代码补全,尤其是在函数中间插一段的那种 infilling,上文下文都有,要补的恰好是中间。还有改 markdown 表格、闭合嵌套标签这种「写到第 3 行就必须知道第 10 行长什么样」的活,双向注意力干这个是真有点子牛逼。

再看几个硬件上的数字,你感受一下 Google 这次想讨好的是谁。

模型总参数 26B,但用了 MoE 架构,就是专家混合,把模型切成一堆「专家」,每次推理只叫醒其中一小撮,所以实际激活的只有 3.8B。量化之后(把高精度权重压成低位数表示,体积大减、精度小损的那个操作)能塞进 18GB 显存。

18GB 什么概念,RTX 5090、4090 这种高端消费卡的范围。不是 H100 那种企业机房里的东西,是你咬咬牙剁手能放进自己机箱的东西。

速度上,单张 H100 能跑到每秒 1000 多个 token,一张 5090 也有 700 多。给个参照系,人的阅读速度大概每秒 5 到 7 个 token,平时云端模型给你的体感大概几十。700 这个数,已经不是「看着它写」了,是「眨个眼它写完了」。

生态这边的速度也挺吓人。发布当天,vLLM 宣布支持MLX 社区的版本也挂出来了,意思是 Apple Silicon 的 Mac 当天就能本地跑。llama.cpp 的官方支持说是在路上。Google 自己还放了一个叫 Hackable Diffusion 的 JAX 工具箱,给想自己动手微调的人用。

我自己还没来得及拉到本地,M 系芯片那个 MLX 版本我是打算这周末折腾一下的,到时候踩了什么坑再写一篇。

聊到这你可能觉得这模型要起飞了。先别,坦率讲,Google 这次值得夸的恰恰是它把丑话说得特别明白。

官方原文直说,DiffusionGemma 的输出质量低于标准 Gemma 4。要最高质量,请继续用自回归的 Gemma 4。这是一个用质量换速度的实验品,不是来抢正主饭碗的。

还有一条更实诚。这个 4 倍加速只在本地和低并发场景成立。云端那种高并发服务,自回归模型靠打包请求早就把算力吃满了,扩散这套并行解码不但占不到便宜,成本可能反而更高。

我是真觉得这两段免责声明加分。这两年看多了发布会上人人都是 SOTA、人人都遥遥领先,突然有个厂商认真告诉你我这东西什么场景行什么场景不行,反而让人愿意多看两眼。

而且你把这两条限制反过来读,会读出 Google 的真实意图。

质量不如云端旗舰,但速度极快。高并发占不到便宜,但单人本地是甜点区。把这两条拼起来,画像已经出来了,这个模型就是冲着「你自己电脑上那个秒回的 AI」去的。

行内编辑,你改一句话它瞬间重写整段。代码补全,光标停在函数中间,整块实现唰一下铺出来。快速迭代草稿,按一下重新生成,眨眼换一版。这些场景的共同点是,用户对延迟极度敏感,对质量反而有容忍度,反正人就在屏幕前盯着,错了马上改。

这恰好是云端大模型最不舒服的区间,也恰好是本地模型一直想占但速度不够一直占不住的区间。

顺便说一句,扩散做文本不是 Google 拍脑袋的新发明,学术圈磨这个方向好几年了,DeepMind 自己之前也有 Gemini Diffusion 的研究在前面铺路,这次是头一回有大厂把它做成开源权重放出来让所有人随便下。想看原理细节的,有人写了一篇图解 DiffusionGemma,拆得挺清楚,比啃论文舒服。

最后说点我自己的看法,不一定对。

单看这一个模型,它大概率不会出现在你明年的生产环境里,实验品的帽子戴得明明白白。但它捅破的那层窗户纸比模型本身重要,文字生成从左到右这件事,原来不是物理定律,只是路径依赖。

打字机统治了一百多年,大家就默认了文字是线性长出来的。现在有人造出了印刷机,第一版印刷机糙一点,字没那么漂亮,没关系。

重要的是它证明了整版印刷这条路走得通。

接下来的剧本不难猜,社区会拿它微调出各种奇怪的玩具,做数独只是开始,蛋白质序列、数学结构这种「天生不是线性」的领域估计很快有人跟进。再往后,说不定哪天你本地编辑器里那个秒回的补全,背后就是某个扩散模型的后代。

到那时候回头看,2026 年 6 月这个糙糙的实验模型,可能就是那台第一次咣当一声印出整版的古登堡机器。

字歪一点,没事,能印就行。