摘要:我做AI产品经理这几年,天天跟工程师聊模型优化,其实Transformer没那么复杂,今天就用几个小故事,把它讲清楚。
很多人每天用GPT聊天、让文心一言总结文档,却不知道这些大模型为啥能“看懂”人的话。
Self-Attention、位置编码这些词一出来,更是直接让人打退堂鼓。
我做AI产品经理这几年,天天跟工程师聊模型优化,其实Transformer没那么复杂,今天就用几个小故事,把它讲清楚。
之前听工程师聊过一个老模型的糗事。
在Transformer出现前,AI处理语言靠的是RNN和LSTM,你可以把它们想成一个只会逐字读课文的学生。
读“天空是蓝色的”这种短句子还行,一碰到长文本就露怯。
有次测试时,模型处理“我在法国长大,在那里度过了童年,后来去巴黎读了大学,所以我法语很流利”这句话,读到“流利”时,居然忘了前面“法国”这个关键信息,最后得出“我英语很流利”的结论。
说实话,这种“记不住远信息”的问题,在技术上叫“梯度消失”,放到实际用里特别致命,咱们写文章、聊事情,哪能离得开上下文衔接?
更麻烦的是,这个“学生”不仅记性差,效率还低。
要是让它处理一本十万字的小说,它得从第一个字读到最后一个字,中间不能停。
我刚入行时,见过工程师用LSTM训练一批日常对话语料,三十万条数据,硬生生跑了快两天。
对于参数动辄上亿的大模型来说,这种速度根本撑不起大规模训练。
很显然,AI处理语言的方式,必须得有一次彻底的改变。
2017年,Transformer横空出世时,我正好在做一款智能客服的模型调研。
当时工程师拿着谷歌那篇论文跟我说,这东西能“一口气读完整句话”,我还不太信。
后来看实际测试才发现,同样是三十万条对话语料,Transformer半天就训练完了,准确率还比LSTM高了不少。
它的核心秘密就是“并行处理”,不像RNN那样逐字啃,而是像咱们快速翻书一样,一眼扫过去就能抓住不同句子、段落的关联。
如此看来,从“顺序”到“并行”的转变,不光是快了一点,更是给大模型的发展打开了一扇门,要是没有这个突破,后来的GPT、BERT这些能理解复杂语言的模型,可能还停留在实验室里。
Transformer真正厉害的地方,是它能像人一样“抓重点”,这背后靠的是“注意力机制”。
之前参加行业沙龙,有个算法师举的例子特别形象:你在嘈杂的派对上,能自动忽略背景噪音,只听清对面人的说话声。
Transformer处理句子时也这样,会给每个词标上“重要性”。
比如分析“猫坐在沙发上,它很可爱”这句话,它会给“猫”和“可爱”更高的关注权重,“沙发”的权重就低很多。
老实讲,这点比老模型强太多,老模型对所有词一视同仁,就像看文章时把标点符号和核心观点同等对待,怎么可能准确理解意思?
本来想找个更专业的说法解释自注意力,后来发现用排队的故事最清楚。
自注意力让句子里的每个词,都能“回头”跟其他词打招呼、要信息。
你可以把每个词看成排队的人,手里拿着自己的字。
“它”想知道自己指代谁,就会大声问“谁是我的指代对象?”,这在技术上叫“Query”。
其他词会拿出自己的“个人简介”,也就是“Key”,比如“猫”的Key上写着“可作为代词‘它’的指代主体”。
符合条件的“猫”,就会把自己的信息包“Value”传给“它”。
这样一来,每个词都能拿到全句的上下文信息,再也不会出现“认不出指代对象”的情况。
光问一个问题还不够全面,所以Transformer又加了“多头注意力”。
就像排队的人同时问好几个问题,一个问“谁是主语”,一个问“发生了什么动作”,一个问“在什么时候发生的”。
我之前看GPT-3的技术文档,发现它用了96个“注意力头”,分别抓语法、情感、逻辑这些不同维度的信息,最后把所有信息拼起来。
毫无疑问,这种多维度关注的能力,让模型对句子的理解变得特别细致,比如处理“虽然今天下雨,但我还是很开心”,它既能抓住“转折”关系,又能get到“开心”的情感,不会像老模型那样只看到“下雨”就判断句子是负面的。
有人可能会问,都“并行读”了,词的顺序不乱吗?其实Transformer早想到了这点,给每个词都发了“座位号”,也就是“位置编码”。
不管这些词是同时被处理,只要一看“座位号”,就知道谁在前谁在后。
比如“猫追狗”和“狗追猫”,“猫”和“狗”的“座位号”不一样,模型就不会搞反语义。
我第一次知道这个设计时,觉得特别巧妙,既没丢了顺序信息,又保住了并行的速度,算是把两个核心需求都兼顾到了。
把这些模块拼起来,就成了能“读长文”的Transformer。
它的架构像叠积木,多个“注意力层”堆在一起,浅层处理基础语法,比如分辨主谓宾;中层整合语义,判断句子讲的是“宠物”还是“工作”;深层再抓抽象逻辑,比如整篇文章的主旨是“分享经验”还是“提出建议”。
我之前用GPT-4总结过一篇五千字的科技论文,它不光把每个章节的核心观点列了出来,还能说清章节之间的逻辑关系,这就是多层注意力堆叠的效果,要是只有一层,根本做不到这么深入的理解。
更让人意外的是,Transformer的能力早就超出了语言领域。
它的核心是“捕捉序列里的关系”,而世界上很多东西都是“序列”,DNA是碱基的序列,蛋白质是氨基酸的序列,图像是像素的序列。
之前看生物领域的新闻,DeepMind用Transformer做的AlphaFold2,能预测蛋白质的3D结构,本来科学家解析一个结构要好几年,现在几天就能搞定,这对新药研发帮助太大了。
还有DALL-E这类能根据文字生成图像的模型,也是靠Transformer把文字序列转换成了像素序列。
说实话,能打破语言、图像、生物这些领域的边界,大概就是好技术的魅力吧。
讲了这么多,其实Transformer的核心思路特别朴素:像人一样理解语言。
它没有什么玄乎的魔法,就是靠“注意力机制抓重点”“位置编码记顺序”“多层堆叠深理解”这些简单模块,解决了AI处理语言的老难题。
我做产品这么久,最欣赏的不是它的技术多复杂,而是它把复杂问题拆成简单模块的思路,每个模块做好一件事,最后拼起来就能解决大问题。
要是你之前也搞不懂大模型为啥能看懂话,希望这些小故事能帮你弄明白。
下次再用GPT聊天时,或许你就能想到,它背后其实是Transformer在“认真读”你说的每一句话,然后用最直接的方式回应你。
来源:知夏Pro