摘要:Prof. Thomas G. Dietterich:我认为大型语言模型(LLM),比如我们熟悉的ChatGPT,对人工智能领域来说是全新的事物。它是我们第一个拥有广泛知识的系统,更厉害的是,我们可以用日常语言和它交流。想想LLaMA,第一个从Facebook
Prof. Thomas G. Dietterich: 我认为大型语言模型(LLM),比如我们熟悉的ChatGPT,对人工智能领域来说是全新的事物。它是我们第一个拥有广泛知识的系统,更厉害的是,我们可以用日常语言和它交流。想想LLaMA,第一个从Facebook(现在叫Meta)泄露出来的开源权重模型?是的,就是它。之后几个月,相关研究成果如同雨后春笋般涌现,因为大家都可以用它做实验,连业余爱好者都参与进来,取得了非常了不起的成果。当时还有一篇讨论论文,探讨了开放这些模型是否安全等等。
这些开源模型的出现,无疑极大地推动了研究进展, 全球的研究人员都可以参与其中。我们看到更大规模的合作,现在一篇论文的作者也更多了,通常由多个机构(包括公司和大学)以及多个国家的作者共同完成。这真是一个巨大的变化。
以前,这个领域也有单一作者的论文,但现在很少见了。
提问者: 您怎么看待大型语言模型和 ChatGPT 的现状?
Prof. Thomas G. Dietterich: 我认为大型语言模型对人工智能领域来说是全新的事物。多年来,我们的人工智能系统都很“专一”,我们希望它们在特定领域具备深厚的专业知识。在我读研究生的时候,我们就在构建早期的专家系统,这些系统声称能以计算机可以理解的方式,记录人类专家在特定领域的专业知识,比如医疗诊断或某些工程设计。
我认为,正是因为对这些系统“专一性”的局限性感到不满,才促使大家在这些系统不断改进和发展的同时,提出了通用人工智能(AGI)的概念:我们能不能拥有一个像人一样具备通用能力、知识面很广的系统?现在,我们第一次拥有了这样的系统,这对我们来说是全新的体验。它是我们第一个拥有广泛知识的系统,更棒的是,我们可以用自然语言和它交流。
我们可以向它提问,它能流畅地回答,甚至能用押韵的句子来回答。这充满了惊喜。我们本来就知道,如果构建一个足够好的语言模型,它就能回答问题,但我们没想到能做出这么好的模型。当然,把它和指令微调以及基于人类反馈的强化学习(RLHF)结合起来,我们就得到了能够紧扣主题并回答问题的系统。当然,问题是,它们仍然是统计模型,所以它们更擅长回答训练数据里出现过很多次的问题,不擅长回答很少出现的问题。
你知道,我很喜欢普林斯顿大学Thomas Griffiths实验室的那篇名为《自回归的余烬》的论文。Thomas McCoy是第一作者。我们之间有一些邮件交流,名字里全是Thomas,非常容易搞混。那篇论文指出,语言模型(主要评估对象是GPT-4)的性能,取决于问题和答案在训练数据中出现的频率。他们举了个例子:如果你让系统按字母升序排列单词,它做得很好,75%的情况下都能成功。但如果你让它按字母降序排列,它的表现就差多了,准确率大概只有25%(我不记得确切数字了)。他们还研究了其他一些例子,比如数句子里的单词个数或字母个数。结果发现,LLM有一些偏好的数字,这些数字不一定符合实际情况。
我觉得更有趣的是,他们研究了旋转密码。现在的年轻人可能不知道ROT13是什么,但在互联网上出现图片等内容之前的Usenet时代,如果有人想对某些内容发出内容警告或剧透警告,他们会用ROT13代码进行编码。具体来说,ROT13会把每个字母替换成字母表中向后循环13位的字母。你可以用同样的方法还原原文。事实证明,GPT-4接受了大量的ROT13训练数据,它可以很好地进行ROT13的编码和解码。但是,它有一种我喜欢称之为“自动纠正世界”的倾向。
Griffiths、McCoy等人做的是,把英文句子中的一个单词替换成一个非常罕见的单词。根据语言模型,这个句子的概率很低。所以当它解码时,它会用一个更常见的单词替换那个不常见的单词。这就是我所说的“自动纠正世界”。它好像在说,世界应该用这个词才对,即使从算法上来说,这是错的。
对这项工作的一个改进建议是,如果他们要求模型编写代码来实现ROT13,然后执行它会怎么样。因为GPT-4很擅长模拟Python解释器,也很擅长写代码。我们知道,用代码进行训练和编写代码,通常会使模型的思考更系统化。这很有趣,因为写代码的规则,以及如果在真正的Python解释器上运行代码,效果会更好。它会做出正确的事情。他们发现,如果你让它做ROT2或ROT10,它会表现得很差,因为它没有多少这方面的训练数据。但我猜想,如果要求它编写代码,它对所有n(从1到26)都适用。所以,这也告诉了我们一些有趣的事情:当LLM输出英文时,我们是英文的解释器。我们经常会过度解读它写的内容,超出了模型实际知道或理解的范围。
你可以问:如果它输出了正确的答案,而我们正确地理解了它,这真的很重要吗?答案是正确的。也许不重要。但在模拟某事和实际做某事之间确实有区别。Stuart Russell喜欢说,当计算机下棋时,它真的是在下棋,而不是在模拟下棋,因为国际象棋是一种逻辑游戏。但当它模拟,比如说,同理心之类的东西时,它并没有同理心,因为它不是人。它并不真正知道这些感觉的含义,它只是在这些情况下使用统计上合适的词语。
所以,我喜欢说,我们希望大型语言模型是一个知识库。我们希望能够向它们提问并让它们回答。某种程度上,它们做得很好,但在很多情况下它们也会出错。在GPT-4的报告中,他们展示了一些非常有挑战性的问答题的结果。它们往往会产生幻觉(一本正经地胡说八道)。GPT-4是第一个在这类任务上准确率超过50%的模型,但也高不了多少。我不知道其他新模型的表现如何,但我怀疑它们的表现不会好太多。我认为根本问题在于机器学习是一项统计工作,所以我们得到的不是一个真正的知识库,而是一个知识库的统计模型。我把它和25年前机器学习和数据库领域的工作进行类比,当时我们第一次开始研究所谓的统计关系学习。
它的想法是,你的训练数据本质上是关系数据库中的条目,你可以学习,比如说,一个人的年龄和他是否是学生之间的关系,方法是把关于年龄的数据表和关于他们上的课程的数据表关联起来,等等。当然,它们是概率推理,所以并不总是正确的。但事实证明,这些数据库的统计模型在数据库操作中有很多有用的应用。你可以用它们来清理数据,比如检测到某人的年龄是5021岁时,这可能不正确,因为这个年龄出现的概率非常低。
在处理数据库查询时,你可以估计中间结果的大小。你可以很好地估计一个数据表中,有多少行数据会和另一个数据表中的行匹配,然后就可以估计中间结果的大小。所以,你可以用它来优化查询。这些技术对数据库的概率模型来说非常有用。但你永远不会用数据库的概率模型来回答数据库查询,因为它只会生成数据库中相关数据表的貌似合理的条目,而不是真正去查找数据。我认为这和我们在大型语言模型中看到的现象一样,如果它们找不到——类似于数据库中找不到对应的条目——它们在它们的“记忆”里找不到某些东西(无论它们的记忆是什么结构,我们仍在努力理解这一点),它们仍然会生成一个概率很高的句子或短语,但它可能和现实不符。所以我认为这至少是幻觉(胡说八道)产生的一个原因。
我认为现在真正有趣的研究挑战之一(我们在ICML上看到了一些相关的演讲)是,我们能否设法获得LLM对其所谓的“认知不确定性”(也就是它们对自身知识的不确定性)的估计。给定一个问题,它们是否知道答案,它们能否以某种方式评估这一点?在过去的3、4年里,可能有十几篇论文发表,试图评估这一点。
今年春天在arXiv上发表了一篇论文,名字我记得是“LLM测谎仪”,他们评估了这些不确定性估计在预测答案是否正确方面的能力,包括多项选择题和开放式问题。这些评估很难做,但这个团队一直在做这项工作,这是他们第二次发布结果。然而,他们评估的所有方法都没有评估认知不确定性,而是评估了所谓的“偶然不确定性”,也就是模型可能输出的句子的概率分布。
具体来说,有几种方法。最简单的方法是从LLM中获得每个单词的概率(基于前面所有单词),然后把所有概率乘起来,得到整个句子的概率。如果概率很低,你就可以认为不应该相信这个答案;如果概率很高,你就可以认为可以相信这个答案。令人惊讶的是,这种简单的方法和我们目前最好的技术相比也相当有竞争力。但我认为这只是偶然的,因为它本质上是在使用输出层的softmax概率,这可以理解为模型对噪声的理解,或者说对数据概率分布的理解。
不过,这种变化有两个来源。一个是,考虑到前面的文字,人们对接下来用哪个词可能会犹豫不决,所以会有一些词的选择。他们可能会用“to”、“in”或“the”之类的功能词,这些词出现的概率实际上很低,因为有很多类似的选择。但是,如果出现一个专有名词,模型通常会更确定哪个词是正确的。另一个来源是,有很多种表达方式,所以这只是自然的变化,我们可以把它看作是标签噪声,而不是真的有多个可能的答案,而LLM选择了其中一个。
在第二种情况下,LLM应该给出所有可能的答案,并说明它不确定哪个是正确的,而不是只给出一个答案。现在人们的做法是在温度高于0的情况下进行多次查询,然后根据语义对结果进行聚类。他们使用自然语言推理技术来判断,如果两个答案基本意思相同,可以互相推断,就把它们归为一类。这样就可以知道有多少个语义不同的答案。然后可以测量这些答案的熵(信息量),并用它来衡量不确定性。这比只用单词概率的效果更好,因为现在可以把同义词合并起来,而我们不想把它们算作不同的答案。
如果我没记错的话,最好的方法是一种叫做“塑造相关性”(SAR)的技术,但我记不清“A”代表什么了。总之,他们会找出哪些词对答案很重要,并降低它们的概率。否则,他们会重新调整概率,然后计算句子的概率。这实际上是开放式问答的最佳方法。
这些方法都很好,但不幸的是,我认为这些系统仍然会犯很多错误。这些指标并没有告诉我们,如果我们用它们作为置信度阈值,并拒绝回答不确定的问题,我们需要放弃多少才能获得95%甚至100%的正确率。从一些论文来看,我们可能只能回答大约60%的问题。我不认为常见问题的幻觉率有那么高,也许只有一些难题才会这样。但我认为我们还有很长的路要走,才能在LLM中获得足够好的不确定性量化,从而减少幻觉,同时不损失太多正确答案。部分原因是我们没有测量不确定性的另一个来源——认知不确定性。
传统上,机器学习中测量认知不确定性有两种方法。一种是看查询与训练数据的距离。这需要访问海量的训练数据(数万亿个单词)。你需要用某种类似RAG的方式,索引训练数据,并查看训练数据点有多远。如果它们很远,模型可能就不知道答案。我们希望在某个嵌入空间中做到这一点,而且我们知道怎么做。问题是,除了艾伦人工智能研究所,没有人真正公开所有这些训练数据。我不知道有谁在实践中尝试过这样做。
另一种标准方法是训练多个模型,并看它们是否对答案达成一致。如果它们的意见分歧很大,我们就认为模型不知道答案。这就是贝叶斯思想。你有一个后验概率分布,它是分散的,你就无法确定答案。但是,训练一个LLM已经非常昂贵了,更不用说训练10个LLM并让它们投票了,这太不现实了。所以最近有很多论文试图解决这个问题,但我还没来得及读,所以不知道它们做得怎么样。
但我乐观地认为,在未来一两年内,我们将获得更好的方法来评估这些模型的认知不确定性和偶然不确定性。如果幻觉是由于这些不确定性造成的,我认为我们可以在减少幻觉方面取得很大进展。也许再加上更好的提示和检索增强技术,我们就能在解决幻觉问题上取得突破。我的回答太长了,我都忘记问题是什么了。
提问者: 不,不,这很好,这是一次精彩的论述。我看到了认知不确定性和偶然不确定性之间真正的对比。
提问者: 我认为你会同意,大型语言模型有点像伪系统1,而我们真正需要的是推理能力。过去,许多人工智能研究者都在研究逻辑、推理、形式系统、语言和语义等等,而现在人们对大型语言模型非常着迷。很多人相信,这些语言模型在达到一定规模后,就能进行这种推理。您怎么看?我不明白Transformer架构如何进行这种推理。
Prof. Thomas G. Dietterich: 实际上,我觉得形式推理和LLM推理(或者无论你怎么称呼它)各有优缺点,它们的能力是互补的。形式推理的最大问题是它本质上是上下文无关的。基本的推理规则,modus ponens(也叫肯定前件):如果你知道“如果A则B”,并且你知道A为真,那么你就推断出B,并且忘记了原因(虽然你可以保留推理过程的记录)。但关键是,你现在完全相信B。因此,如果任何推理规则中存在任何错误,在形式系统中很容易得出错误的结论,也很容易得出互相矛盾的结论,然后根据定理证明器的结构,判断一切为真或一切为假。
因此,一个很大的挑战是,你运行一个形式推理系统,得到一个答案,然后需要进行常识检查,比如,这个答案合理吗?作为人类,我们会阅读答案并思考它是否合理。如果看起来像个bug,我们得找出哪个规则出错了,然后用调试器进行调试。但在我看来,LLM的优势在于它们拥有丰富的上下文信息,它们能够把所有这些信息都考虑进去。它们不是上下文无关的。
你可以想象,LLM可能会说:“我有一个推理问题需要解决。让我用某种形式语言生成代码,运行一个定理证明器,得到答案,然后用常识检查一下,看看这个答案在我的上下文里是否合理。”这将非常棒。我很高兴我们现在有像CPLEX和Gurobi这样的软件包,可以解决混合整数规划问题和SAT问题。我们有非常强大的推理引擎,还有更高级的定理证明器或定理检查器,比如Lean等等。
我认为它们的能力是互补的。我也很欣赏Talia Ringer等研究者使用LLM生成代码和证明的工作。你可以先生成一个证明,然后从中推导出代码,保证代码的正确性;或者你同时生成代码和证明,然后用形式验证工具检查证明,还可以检查代码的数据流、控制流、死代码等等。我认为你有机会获得比现在更可靠的软件。所以,我认为在这个方向上有很多令人兴奋的事情可以做。有趣的是,现在有很多种不同的配置。
你可以先用系统1,然后调用工具和RAG,或者反过来。你在刚才的演讲中提到了一些有趣的内容,我知道你对知识图谱很感兴趣,比如构建正式的认知架构,进行显式的规划、元认知和推理,并拥有常识、事实和自然语言理解能力,因为现在的语言模型把所有东西都混在一起了。一个很好的例子是,我们可以用语言模型来构建知识图谱。
提问者: 是的,没错。长期以来,我们都有信息提取这个子学科,尤其是开放域信息提取。
Prof. Thomas G. Dietterich: 我最喜欢的项目之一是Tom Mitchell的永无止境的语言学习者(NELL)项目。他们从网上抓取信息,并提取类似“拜仁慕尼黑足球俱乐部位于德国慕尼黑”这样的事实。经过近十年的运行和人工干预,他们构建了一个包含大约8000万条事实的知识图谱。但他们使用的是比较老式、简单的信息提取技术,比如正则表达式。用LLM,你现在可以要求GPT-4阅读一段文本并提取所有的事实,它会做得很好。你还可以指定输出的格式。
当然,你仍然会面临真实性问题。如果你阅读的信息来源充满了谎言,你就会提取出一堆假事实。在Mitchell的项目中,他们假设,如果从足够多的独立来源中找到了对某个事实的相同描述,那么这个事实就是可信的,他们会把它添加到知识图谱中。但这种方法越来越行不通了。
我认为,在我们的社会中,只有少数几个机构负责确定什么是事实,他们是记者、科学家,也许还有法官。还有一群人是做搜索质量的。我以前的一个学生在谷歌的搜索质量团队工作了很长时间,他们的主要工作是区分垃圾网站和优质网站。这是一场与搜索引擎优化者(SEO)之间的对抗性游戏。我们现在比以往任何时候都更需要这种区分能力,因为现在可以大规模地制造垃圾信息。从公开的文献中提取知识图谱的最大问题是,我们是否应该相信这些信息?即使是科学文献,我们也知道存在造假。
所以我们需要考虑如何判断信息的真伪。我们快要可以一键生成某个领域的综述文章了。实际上,我们怀疑arXiv上已经有一些这样的投稿了。它还不是完全一键生成,但人们遵循一个相当标准的流程:选择一组关键词,搜索论文,然后让ChatGPT总结它们,或者把它们分组,然后再总结。这对研究界非常有用。
但是你仍然需要考虑,如果5个不同的研究小组都独立地得到了同样的结果,也许它就是可信的。我想把这些事实放到知识图谱里的主要原因是,知识图谱很容易修改。LLM的弱点是,它们拥有所有这些事实性知识,但这些知识以一种非常隐晦的方式存储在模型的权重中。虽然我们从“非学习”(unlearning)相关的研究中了解到一些这方面的内容(部分原因是受欧洲“被遗忘权”的推动),我们需要能够从LLM中删除事实。
我们如何做到这一点?这需要我们找出事实存储在模型的哪个位置,然后修改相应的权重。如果我们知道事实只存储在知识图谱中,删除它就容易多了,我们只需从知识图谱中删除它,然后检查它是否还能从知识图谱中的其他内容推断出来。这并不简单。在八十年代或九十年代初,人工智能研究人员把知识库的概念形式化了。他们认为知识库是一种抽象的数据类型,支持两种操作:询问和告知。你可以用某种形式语言告知它一些事情,然后用形式逻辑提问,它会查找答案或进行推理,或者说“我不知道”。LLM非常擅长“询问”,但我们不能“告知”它们任何事情,除非使用检索增强技术,我们可以向源文档添加新的事实。
现在有人正在研究如何从知识图谱中进行检索增强,我认为这很有前景。我两年前在演讲中提倡的一些想法正在成为现实。人们正在用LLM构建知识图谱,也从Wikidata等其他来源提取知识图谱。谷歌构建了一个巨大的知识图谱,并且可以从中检索信息,而且这些知识图谱可以立即更新。现在的挑战是确保LLM的答案基于知识图谱,而不是它预训练的知识。我不了解如何约束模型做到这一点的最新技术,但我相信我们最终能够解决这个问题。
提问者: 这很有趣。我非常喜欢您关于确定事实真伪的观点。您能否解释一下您对真理和知识的定义?当然,我们有主观性问题、矛盾问题,您之前还谈到过Cyc项目,这是一个试图捕捉所有世界知识的项目。您能否也评论一下RAG的优势和劣势?
Prof. Thomas G. Dietterich: 我不确定我是不是RAG方面的专家。最早的RAG研究仍然是为了构建语言模型。他们的研究表明,如果LLM使用检索技术来提取相关的短语,然后基于这些短语构建语言模型,那么LLM的规模可以缩小10倍。
所以,模型的任务仍然是预测下一个单词,但预测是基于检索到的信息的。现在,我们更多的是在指令微调的场景下使用LLM,我们想提出一个问题,让它查找答案,就像Bing和谷歌正在做的那样。
据我所知(我可能有点落伍了),Percy Liang和他的学生对RAG系统进行了早期评估,结果表明,大约有一半情况下,模型给出的答案并没有得到检索到的文档的支持,而是来自它预训练的知识。如果答案与检索到的文档一致,那也没关系。但当模型引用一个文档时,我们希望答案确实来自那个文档。不幸的是,有些被引用的文档与答案无关,这是另一个问题。我相信Bing经过一年的实践,可能已经在这方面有了很大改进。如果他们能公布一些数据,或者有人能重复这项研究,那就太好了。
我不太明白的是,大多数RAG模型是在LLM训练完成后才添加的,或者进行了一些后续的微调。但最早的RAG研究是从一开始就使用检索技术的。就像使用工具一样,我们发现我们需要训练模型如何使用工具和RAG。所以我希望看到从一开始就使用检索技术训练的模型,或者在预训练过程中引入检索技术。否则,当你进行微调时,你可能会破坏一些知识。John Schulman说,你在教模型说谎。它在预训练中学到了一些东西,而你却让它输出其他东西。你不想这样误导模型。所以,检索、工具使用以及如何让所有这些东西协同工作,其中有一些非常微妙的问题。
提问者: 太棒了。您对arXiv以及机器学习领域的研究和出版现状有什么看法?
Prof. Thomas G. Dietterich: 我现在大约有一半的时间在arXiv做志愿者。从1998年开始,我一直是机器学习类别的版主。当时很简单,现在我们每天要处理超过100篇投稿。
我认为arXiv促成了这个领域的快速发展。人们在研究成果准备好后就立即发布,我们远在它们出现在ICML或期刊论文上之前就能看到它们。我认为这总体上是件好事,因为我们不需要期刊和会议来把关。我们也不负责质量控制。我们的内部说法之一是:保护你的声誉不是我们的工作。所以我建议大家在把论文上传到arXiv之前,先进行同行评审,获得一些诚实的反馈。当然,很多公司都有发布流程,会进行内部评审。但我认为学术界通常是在截止日期前几个小时才修改论文,可能没有那么严谨。我想提醒大家的是,arXiv上的内容是没有经过审核的。
在疫情期间,我们遇到了一些问题,后来在《科学》或《自然》杂志的一篇文章中被曝光:一些早期的胸部X光数据库存在严重的采样偏差和各种其他问题。很多论文声称可以从胸部X光片中诊断新冠,但它们实际上是发现了图像中的一些文本信息,或者病人是躺着还是站着,是儿童还是成人,或者只是各种各样的虚假相关性。我们最终聘请了一位博士后专门审查这些论文,因为我们担心传播阴谋论或错误信息。我们对证明p=NP或黎曼猜想的论文没有同样的规则。对于这类问题,你只有一次机会尝试证明它。如果你发现自己错了,你可以提交修改后的版本,但不能提交包含新想法的论文。因为我们确实收到很多“民科”的投稿,声称他们解决了著名的数学难题。物理学家也要处理永动机论文之类的东西。再说一次,我们不是为了保护你的声誉而存在的。这就是同行评审在期刊和会议中的作用。
我认为同行评审有它的地位,开放科学也有它的地位。所以,也许最好的办法是在提交之前进行自己的同行评审,然后让期刊在arXiv的基础上进行筛选,将他们认为高质量的论文收集起来,通常需要作者提交修改后的版本。我个人的经验是,在论文的版本号达到2之前,不要阅读arXiv上的论文。因为通常作者自己会发现一些问题,并在第一版发布后的一周内提交第二版。所以,是的,不要像谷歌的Gmail那样,在你按下发送键后的5秒内才真正发送邮件。
提问者: 如果您能改变开放科学项目的一两件事,那会是什么?
Prof. Thomas G. Dietterich: 你可能指的是我的置顶推文。我不认为PDF是科学交流的理想格式(虽然LLM可能会改变我的看法)。在我的置顶推文中,我提出了一个观点:我们可以把科学研究看作是构建一个知识库的过程,这个知识库包含我们认为在某个领域是正确的知识。机器学习论文中一个常见的模式是:我正在研究机器学习问题x(例如正未标记学习),我相信我有一个新方法,要么比以前的所有方法都好,要么在某个方面比以前的方法都好。我使用大家都在用的标准基准来评估它。现在,像Papers with Code这样的网站试图收集所有研究相同问题的论文,但他们做得还不够好。
也许作者应该把结果提交到类似维基百科或知识图谱的地方,说明他们正在研究哪个问题,提出了什么新算法,并提供证据证明他们的算法比其他算法更好。理想情况下,我们应该在一个GitHub仓库里积累这些证据,以便运行所有方法并进行比较,使用标准的基准和指标。当然,随着新的机器学习问题的出现,我们需要不断更新这个“知识图谱”的结构。我们直到2010年左右才出现“正未标记学习”这个问题,但早在1991年就有了“多实例问题”。我们还有其他类型的弱监督学习和各种类型的无监督学习。每次会议上,我们都会看到新的问题出现,需要新的指标和评估方法。
你可以想象在这个图谱中为所有这些东西创建节点。当一个研究生进入一个新领域时,他们可以直接看到这个领域的全貌,而不需要阅读所有论文,然后在脑子里或电子表格里整理这些信息。我认为现在有很多重复性的工作非常耗时。我不知道这是否可行。除了用英语写论文之外,你还需要构建这个图谱,但你需要确保它可以被引用,并且你能够获得相应的学术认可。我们可以参考Reddit、维基百科和Stack Exchange等网站的模式。
现在,反过来想,你可以用LLM来阅读关于正未标记学习的文献,然后让它告诉你最好的方法是什么,不同的技术是什么,以及如何评估它们。我不知道它会做得怎么样,但也许这就是解决这个问题的方法——用我们自己的技术。要是真的可以这样就好了。
提问者: 如果可以的话。我们将慢慢过渡到您在安全工程方面的工作,但首先,您转发了Emily Bender关于OpenAI的超级对齐工作的推文。我不确定这是OpenAI的工作还是Ilya Sutskever新公司的项目,但您似乎在暗示它在某种程度上有点误导。
Prof. Thomas G. Dietterich: 我认为,也许我们应该回到你之前问的问题:什么是真理?显然,存在相互矛盾的真理。Cyc项目(一个试图建立包含所有世界知识的知识库的项目)的教训之一是,他们无法构建一个全局一致的知识库,它必然会包含矛盾。所以他们不得不开发一些内部一致但全局不一致的微理论。我们知道肯定存在这种情况。有很多科学问题我们没有答案。新冠病毒是实验室泄漏还是自然起源?我们有支持两种观点的证据。
我认为一个好的系统不应该只给出“正确答案”,而应该列出不同的假设和支持它们的证据,并说明我们不知道真正的答案。当然,如果涉及到文化或意识形态,就更应该说明在不同的意识形态框架下,什么是重要的或真实的,以及存在哪些其他观点。我们不应该期望系统告诉我们真相,因为它怎么知道真相是什么?我们自己都不知道。
我们在Twitter的社区笔记功能中看到了一些类似的尝试。人们会指出某条推文具有误导性,并提供可信的来源。然后他们会要求其他人评价这些来源是否可信。你可以想象构建这种递归的论证结构。人工智能和哲学领域长久以来都在研究论证的结构,我们可以从中借鉴很多东西。但这并没有回到超级智能、超级对齐等问题上来。我们希望这些系统尊重哪些价值观?这有点像阿西莫夫的机器人三定律。我们希望它们不要伤害我们,并且在满足这个约束的条件下,我们希望它们能够维持自身的功能。我认为很难清晰地表达这些。这就引出了“安全”这个问题,这是一个经常被提起的词。
我刚听完一位嘉宾关于欧盟人工智能法案的演讲,其中提到了很多关于安全和高能力系统的内容。同时,我也参与了美国国家科学院关于机器学习在安全关键型应用中的研究。安全关键型应用指的是航空、汽车、铁路、医疗等领域,在这些领域中,我们关心的危害是生命损失、重伤,以及基础设施的破坏。我认为我们对这些是危害没有异议。令人惊讶的是,社会对不同交通工具的死亡率容忍度不同。我们对汽车事故的容忍度比飞机事故高得多。
我们可以问问自己为什么。如果未来我们有了自动驾驶汽车,我们还会如此宽容吗?或者我们会要求它们比人类驾驶员更安全吗?我们希望它们能够比人类驾驶员更安全,虽然它们可能没那么有趣。传统的安全工程试图预测所有可能出错的事情,并将它们定义为“危害”。所有已知的危害,都会在系统设计中考虑。危害可以定义为系统状态空间中我们不想进入的区域,因为一旦进入那里,很可能就会发生某种损害。然后我们会设计一个控制器,让系统与所有已知的危害保持安全距离。
所以,模型的任务仍然是预测下一个单词,但预测是基于检索到的信息的。现在,我们更多的是在指令微调的场景下使用LLM,我们想提出一个问题,让它查找答案,就像Bing和谷歌正在做的那样。
据我所知(我可能有点落伍了),Percy Liang和他的学生对RAG系统进行了早期评估,结果表明,大约有一半情况下,模型给出的答案并没有得到检索到的文档的支持,而是来自它预训练的知识。如果答案与检索到的文档一致,那也没关系。但当模型引用一个文档时,我们希望答案确实来自那个文档。不幸的是,有些被引用的文档与答案无关,这是另一个问题。我相信Bing经过一年的实践,可能已经在这方面有了很大改进。如果他们能公布一些数据,或者有人能重复这项研究,那就太好了。
我不太明白的是,大多数RAG模型是在LLM训练完成后才添加的,或者进行了一些后续的微调。但最早的RAG研究是从一开始就使用检索技术的。就像使用工具一样,我们发现我们需要训练模型如何使用工具和RAG。所以我希望看到从一开始就使用检索技术训练的模型,或者在预训练过程中引入检索技术。否则,当你进行微调时,你可能会破坏一些知识。John Schulman说,你在教模型说谎。它在预训练中学到了一些东西,而你却让它输出其他东西。你不想这样误导模型。所以,检索、工具使用以及如何让所有这些东西协同工作,其中有一些非常微妙的问题。
我认为一个好的系统不应该只给出“正确答案”,而应该列出不同的假设和支持它们的证据,并说明我们不知道真正的答案。当然,如果涉及到文化或意识形态,就更应该说明在不同的意识形态框架下,什么是重要的或真实的,以及存在哪些其他观点。我们不应该期望系统告诉我们真相,因为它怎么知道真相是什么?我们自己都不知道。
我们在Twitter的社区笔记功能中看到了一些类似的尝试。人们会指出某条推文具有误导性,并提供可信的来源。然后他们会要求其他人评价这些来源是否可信。你可以想象构建这种递归的论证结构。人工智能和哲学领域长久以来都在研究论证的结构,我们可以从中借鉴很多东西。但这并没有回到超级智能、超级对齐等问题上来。我们希望这些系统尊重哪些价值观?这有点像阿西莫夫的机器人三定律。我们希望它们不要伤害我们,并且在满足这个约束的条件下,我们希望它们能够维持自身的功能。我认为很难清晰地表达这些。这就引出了“安全”这个问题,这是一个经常被提起的词。
我刚听完一位嘉宾关于欧盟人工智能法案的演讲,其中提到了很多关于安全和高能力系统的内容。同时,我也参与了美国国家科学院关于机器学习在安全关键型应用中的研究。安全关键型应用指的是航空、汽车、铁路、医疗等领域,在这些领域中,我们关心的危害是生命损失、重伤,以及基础设施的破坏。我认为我们对这些是危害没有异议。令人惊讶的是,社会对不同交通工具的死亡率容忍度不同。我们对汽车事故的容忍度比飞机事故高得多。
我们可以问问自己为什么。如果未来我们有了自动驾驶汽车,我们还会如此宽容吗?或者我们会要求它们比人类驾驶员更安全吗?我们希望它们能够比人类驾驶员更安全,虽然它们可能没那么有趣。传统的安全工程试图预测所有可能出错的事情,并将它们定义为“危害”。所有已知的危害,都会在系统设计中考虑。危害可以定义为系统状态空间中我们不想进入的区域,因为一旦进入那里,很可能就会发生某种损害。然后我们会设计一个控制器,让系统与所有已知的危害保持安全距离。
但“险情”的概念还有一些微妙之处,我希望人工智能研究者能够思考一下。自动驾驶汽车可能有一条规则:与每个行人保持2米的距离。但有一些记录显示,行人在人行横道上,看到自动驾驶汽车径直驶来,于是跳开了。自动驾驶汽车认为自己与行人保持了2米的距离,所以没有问题。但这是一个反事实险情。如果行人没有采取规避行动,就会发生碰撞。其他车辆也可能需要采取规避行动。自动驾驶汽车需要能够判断,如果其他参与者没有采取适当的行动,是否会发生碰撞。这很棘手,因为如果左转的车辆没有等你通过,也会发生碰撞,但这不算是险情。所以这很微妙。当我们部署一个安全关键型系统时,我们需要一个专门的团队,不断地寻找新的故障模式,并改进系统。
我认为我们可以构建AI工具来辅助这项工作。我一直在研究异常检测和新奇检测,但我还没有深入研究险情,我认为这方面有很多工作要做。一旦发现新的故障模式,就需要进行诊断,找出根本原因。人工智能领域对诊断的研究已经有40年的历史,我们有一些相关的想法,但它们依赖于因果模型。最近有很多关于因果AI的研究,主要基于Judea Pearl的因果关系理论。然后是修复。如果修复意味着重新训练计算机视觉系统或其他东西,我们知道如何做。目前的安全性保障主要依赖于人类,但我们可以让人类与AI合作来维护系统的安全。
但你仍然会面临一个挑战:你做得越好,安全团队就越有可能被裁员。对安全最大的威胁通常是预算削减,因为管理层会说:“你们已经两年没有发生事故了,为什么我还要养着这些无所事事的人?”Nancy Leveson指出,这些系统往往会随着时间的推移而变得越来越危险,因为预算削减、人员流动、培训不足,以及缺乏应对灾难的经验,都会导致人们对安全问题变得麻木。所以这很难,但你需要让管理层了解安全的重要性,我们需要某种方法来估算事故的成本以及安全团队带来的收益,因为你不想成为下一个CrowdStrike(指CrowdStrike由于安全漏洞导致数据泄露的事件)。这几乎是一个悖论,如果你做得太好,你的工作就可能被取消。安全工程是一个持续进行的过程,它会随着时间的推移而衰退。这就像欺诈检测,重要的不是你检测到的欺诈数量,而是你阻止的欺诈数量。但你如何衡量呢?
提问者: 确实如此。您这周在ICML上进行的最有趣的对话是什么?
Prof. Thomas G. Dietterich: 我和一些清华大学的研究人员交谈过,他们正在研究如何在商用GPU(例如游戏GPU)上训练LLM。作为学者,他们没有足够的预算购买大量的A100(一种高性能GPU),而且他们也受到美国和欧洲的禁运。所以,需要是发明之母,他们正在研究8位训练(用更低的精度来训练模型,从而减少内存占用)。如果他们成功了,我们这些学者终于可以训练自己的LLM了。我希望他们好运,并希望他们能开源他们的成果。这对学术界来说一直是一个巨大的挑战。
尽管如此,我仍然印象深刻。我们看到更大规模的合作正在出现。论文的作者数量……我觉得这很有趣。这只是我的个人感受,但我感觉单作者论文越来越少,即使是学生和导师共同署名的论文也比较少见。我们现在看到的论文通常由多个机构(包括公司和大学)以及多个国家的作者共同完成。这其中有很多中国作者,但他们通常与欧洲或美国的作者合作。当然,也有很多来自印度的研究人员在这些公司工作。这是一个巨大的变化。过去,这个领域也有单作者论文,但现在非常少见。绅士科学家(指独立进行科学研究的富裕人士)的时代已经结束了。
我和Jeff Dean(谷歌AI负责人)讨论过这个问题,他说,你必须放弃学者可以与公司竞争的想法,这已经不可能了。他举了个例子:在他读研究生的时候,他研究分布式系统。他是最后一批可以做分布式系统博士学位的学者,因为谷歌开始做分布式系统,其规模比任何大学都要大几个数量级。然后,所有重要的研究都转移到了公司。我仍然认为学术界有一些非常有趣的研究,特别是……想想LLaMA,第一个从Facebook(Meta)泄露出来的开源权重模型?是的,就是它。之后短短几个月内,相关研究成果就井喷式地涌现,因为大家都可以用它做实验,甚至业余爱好者也能参与进来,并取得了令人难以置信的成果。我们也看到了各种在不同设备上运行LLaMA的尝试。我非常支持开源。当时有一篇讨论论文,探讨了开放这些模型是否安全等等。这些开源模型的出现无疑极大地促进了研究进展,让全世界的研究者都能参与其中,即使只是在Mac上运行它们。
提问者: 确实。低精度计算对这方面很有帮助。这几乎是LLaMA的权重被公开后立即被发现的。
提问者: 您认为算力和模型性能之间是否总是存在联系?我们需要学者的原因是,我们需要聪明的人从基本原理出发进行研究,深入理解问题,而不仅仅是依赖更大的GPU集群。您认为学术界还有空间吗?
Prof. Thomas G. Dietterich: 我不认为Transformer是最终的架构。它们非常擅长序列到序列的映射,比如把XML转换成JSON。所以,我们不再需要编写那些数据处理脚本、正则表达式等等,因为你可以直接让LLM来做。它们非常擅长这个。但正如我们所讨论的,它们是否擅长推理还不清楚,它们与知识库或形式推理引擎的接口也不清楚。我们还没有讨论系统2和系统1的关系,以及“通过实践学习”的概念。强化学习在很大程度上涉及到将声明式的目标和系统动力学模型编译成低级策略,直接从传感器到动作。这是从系统2(显式推理)到系统1的转换。这也是我们人类学习的过程。当我们学习骑自行车、演奏乐器等等时,我们一开始会慢慢地、笨拙地执行动作,犯很多错误。但随着时间的推移,我们会越来越熟练,最终达到自动化,甚至不需要思考就能完成。这样做的好处是,你知道这些低级系统1的行为是如何从声明式的系统2推导出来的。如果你在系统2的规范中发现了一个bug,你可以重新编译它,得到新的系统1的行为。但很明显,我们并非所有知识都来自阅读和练习。有些东西我们只能通过与世界互动来学习,这些知识完全属于系统1。如何将这两种学习方式结合起来是一个非常有趣的问题。我们是否会为系统1的行为找到事后解释?这是一个迷人的领域。但很明显,我们可以在两种系统之间切换,这似乎是我们能力的来源。
我不认为仅仅扩大数据规模和Transformer的规模就能解决所有问题,因为我们知道,对于某些领域,我们需要指数级的数据,甚至更多。你不可能通过生成所有可能的证明来构建一个定理证明器。但你可以构建一个证明助手,从Lean代码示例中生成Lean代码。所以,现在的情况还很不明朗。
提问者: 非常感谢您今天的参与,Dietterich教授。
Prof. Thomas G. Dietterich: 这是我的荣幸。
来源:趣味王国探秘