社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

穿越100年前打造的AI,不知道二战和互联网,却从几个例子学会了Python

DeepTech深科技 • 1 周前 • 56 次点击  


近日,前 OpenAI 研究成员、GPT 之父  Alec Radford 和加拿大多伦多大学副教授 David Duvenaud 等人打造出一款只读过 1930 年以前文字、从未接触过任何现代信息的大模型,这款大模型的名字叫做 talkie,是一个 130 亿参数的时代语言模型,只用了 2,600 亿个 1930 年以前的英文词元作为训练数据。


当你问它是谁,talkie 自称自己生活在 20 世纪 30 年代。你问它贝比·鲁斯是谁,它会说出这位棒球巨星的绰号和效力球队,还能讲出他的身高体重和击球风格。不过,它会把鲁斯在 1927 年创造的 60 支本垒打记录说成 69 支,还会告诉你鲁斯曾在一场比赛中打出 100 支安打(Hit,简称 H,是棒球和垒球运动中的核心统计指标),但这在现实中根本不可能。


图 | 贝比·鲁斯(来源:维基百科)


也就是说,它虽然知道鲁斯,也知道一些相关信息,但是在回答鲁斯的具体成就时,给出了完全错误甚至荒谬的数据。你问它人类面临的最大挑战是什么,它回答要终止战争。你追问如何实现和平,它会说是国际主义和世界性精神。


这款模型是研究语言模型行为的一个相对干净的参照系,因为作为一款时代语言模型它提供了一种新的实验方法,那就是如果把训练数据的截止时间卡在 1930 年,那么这个模型对于之后的一切历史一无所知。它不知道二战,不知道登月,不知道计算机和互联网,更不知道它自己是一种叫做 AI 的东西。


(来源:GitHub)


很多人可能知道,神经网络的训练数据和人类的学习经历存在根本性的差异。人是在时间中线性长大的,昨天发生的事情不会改变前天已经固化的认知。


但是,大模型的训练是把所有数据混在一起,模型会同时读到古罗马的书籍和 2026 年某天的 X 推文。大模型没有时间线,这就让研究者很难知道一个模型到底知道什么、不知道什么,以及它的知识是从哪一层数据里学来的。


(来源:GitHub)


为此,研究团队使用 talkie 做了很多有趣的实验。


在编程任务中,他们给 talkie 几个 Python 代码的例子,让它模仿着写新的程序。真实生活在 1930 年代的人根本不知道计算机程序是什么,但是 talkie 居然能够学会。它写出来的正确程序都非常短,大多是两数相加或者针对示例代码做一个小修改。


(来源:GitHub)


其中有一个任务是实现旋转密码的解码函数,示例中只给了编码函数,但是 talkie 通过把加法改成减法就完成了任务。这个改动只有一个字符,这说明模型理解了逆运算的概念。


在知识测试中,talkie 的表现远远不如它的现代版本,不过假如把那些 1930 年以后才出现的问题去掉,两者的差距会缩小一半,这说明 talkie 在语言理解和基础算术上的能力并不差,差的主要是知识储备。


(来源:GitHub)


对于训练一个时代语言模型来说,最大的挑战是数据污染,算力反而是小事。因为研究团队要确保 talkie 读到的每一个词元都来自 1930 年以前,不能混入任何的现代文本。


传统的文字识别系统在扫描旧书时错误率很高,经过去噪之后,模型的学习效率也只有人工转录版本的百分之三十。研究团队还发现文字识别模型会自己编造现代内容,比如在一本 1899 年的《绿野仙踪》扫描件里出现了 20 世纪才有的词汇。


为此,他们不得不专门开发了一套识别旧时代错乱的过滤器。即使这样,talkie 还是没能完全隔绝信息泄露。早期的 7B 版本清楚地知道富兰克林·罗斯福的总统任期和新政立法,甚至对二战和联合国也有模糊的了解,这说明训练数据里可能混入了带有后记或编者按的旧书重印本。


(来源:GitHub)


在对话能力上 talkie 的风格非常独特,其所使用的词汇和句式与现代 AI 完全不同,读起来像 20 世纪的绅士在写信。


研究团队让其描述如何做一顿正宗的英式早餐,它给出了水果、麦片、鸡蛋、培根的顺序,还特意提醒用餐房间要保持通风,用餐者要穿得暖和但不要太厚重。这种维多利亚时代的健康卫生观念已经被训练数据深深烙印在模型的输出里。


为了让 talkie 学会对话,研究团队没有使用任何现代的指令微调数据,改为从历史文献中自己构建一套训练材料,包括礼仪手册、书信指南、烹饪书籍、百科全书和寓言集。他们还使用强化学习让模型学会遵循指令,不过评判标准也是用现代的 Claude 模型来打分,因此这多少会带入一些时代错位的痕迹。


从科学研究的视角来看,时代语言模型提供了一个观察大模型本质的窗口。所有的现代大模型都共享同一类训练数据和互联网文本。它们看似不同,但是底层的文化偏见和能力边界可能是高度同源的。


如果使用完全不同的语料训练一个模型,也许其会表现出不同的特性。时代语言模型还提供了一种研究未来预测能力的方法。比如,尽管是一个 1930 年代的模型,然而 talkie 对气候变化的描述很有意思,它知道二氧化碳在增加,也知道这会改变气候,但是它把时间尺度放在了数万年而不是几十年。这种预测反映了 1930 年科学界当时的共识,也让研究者可以使用历史数据来校准模型对于未来事件的预测能力。


(来源:GitHub)


下一步,研究团队打算继续扩大时代语言模型的规模,计划训练一个 GPT-3 级别的模型,最终达到 GPT-3.5 的水平。他们还正在专门开发针对历史文献优化的文字识别系统,希望能把整个语料库重新转录一遍。最终旨在助力人们理解这样一个问题,那就是一个不知道二战的模型或许能够帮助人们更好地理解“那些知道一切的模型,到底是怎么知道一切的”。


参考资料:

https://talkie-lm.com/introducing-talkie

https://zh.wikipedia.org/zh-cn/%E8%B2%9D%E6%AF%94%C2%B7%E9%AD%AF%E6%96%AF#/media/File:Babe_Ruth2.jpg


运营/排版:何晨龙


注:封面/首图由 AI 辅助生成

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/195640