打开 arXiv 编号 1706.03762,提交日期是 2017 年 6 月 12 日。作者是 Vaswani、Shazeer、Parmar、Uszkoreit、Jones、Gomez、Kaiser、Polosukhin,当时多在谷歌大脑。年底这篇论文进了 NIPS 2017 正式论文集,会议论文页现在还挂着同一标题。
他们当时要解决的不是聊天机器人,是机器翻译里的序列到序列。循环网络必须按时间一步一步看过去,训练很难把整句铺开到很多芯片上一起算。论文把循环拿掉,留下缩放点积注意力,再做成多头,让每个位置可以同时看整句。位置信息用正弦位置编码补上。标题写得很满:注意力就够了。
公开实验主要是英德、英法新闻翻译。论文表格里的基准模型和参数量,以 PDF 为准,大约是一亿参数这一档,不是后来动辄千亿的东西。BLEU 分数当时好看,但 2017 年的读者把它当成一篇翻译结构论文,不会当成操作系统。
后来的分叉很具体。GPT 家族主要留下解码器,从左往右生成;BERT 留下编码器,双向读完再微调;再往后的 Llama、Gemini、Claude,骨架仍是这一族。残差、层归一化、前馈层的摆法各有改动,但「用注意力代替循环」这一步,日期就钉在 6 月 12 日。
不要把这一天读成 ChatGPT 的生日。中间还隔着 GPT-1(2018)、GPT-2(2019)、GPT-3(2020)和人类反馈对齐。也没有谷歌在 6 月 12 日举行产品发布会。能核对的是预印本、作者名单和会议论文。没有这篇结构,后面那些模型的算力用法会完全不一样:并行训练变得划算,规模才有地方堆。
