田渊栋:2024年AI年终总结

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
田渊栋:2024年AI年终总结
6847点击    2025-01-02 14:06

一转眼2024年又接近尾声了,该是写总结的时候了。


学术研究


这一年我们还是做了一些比较有趣的工作,主要围绕两个要点:其一是提高大语言模型(LLM)在一些困难推理和规划(reasoning & planning)问题上的能力,其二是如何提升LLM的训练与部署的效率,此外作为业余爱好,我继续做一些理论工作来理解网络学习的本质。


更好的LLM推理和规划。尽管大语言模型在许多任务上表现出色,但在应对复杂的推理规划问题时,相比传统符号搜索算法,仍然不尽如人意,像旅行规划问题(Travel Planning, ICML'24 Spotlight)就是一个例子。今年我们围绕这一难题展开了一系列研究。在年初的Searchformer中,我们将A*搜索的符号推理过程中的中间步骤(如搜索、展开下一步节点、从死路中回溯等)记录下来,并作为模型的思维链,针对一些传统规划问题进行训练。用十分之一参数和十分之一数据,我们的模型性能相当于直接预测答案的模型,在此基础上再用自身好的合成数据进行微调,优化其性能(相当于某种程度的蒸馏),结果发现推理链变得更短,而模型的性能却不断提升。现在回过头来看,这与广泛讨论的o1的思路有一定相似之处。


在SearchFormer的基础上,我们的Dualformer通过随机移除推理链中的部分token和步骤(有时甚至完全移除),来缩短模型的推理链条,同时优化其推理能力。有意思的地方是通过这种方式,DualFormer实现了快思考(fast thinking)与慢思考(slow thinking)的动态切换。面对简单问题时,模型能够快速得出答案,而在复杂问题上,它会自动切换到更深入的推理模式。


田渊栋:2024年AI年终总结


年末的Coconut利用了连续隐空间(Continuous Latent Space)来减少推理链的长度,从最初的离散思维链(CoT)开始,使用课程学习(curriculum training)的方法,我们逐步将其中的每一句话压缩成一个连续的隐空间表示。通过这种方式,推理链的长度大幅缩短。Coconut在一些需要搜索回溯, 有大量岔路和陷阱的数据集上,效果比CoT要好——因为不带反思的CoT是贪心搜索的,会掉进死胡同,然后出现幻觉得到错误的答案;而连续隐空间推理链似乎会以广度优先方式同时搜索所有可能的下一步,从而得到正确的答案。我有种感觉,连续隐空间相当于量子力学希尔伯特空间里的叠加态,而将它离散化采样成一些token相当于通过观测,让叠加态塌缩到一个确定的答案,如果不离散化,在连续空间计算可能更有效率。关于这个方向,我们还会继续探索。


让LLM在推理和规划上变强的另一条路线是调用已有组合优化工具来解决困难的优化问题。像旅行规划(Travel Planning)可以通过先用LLM把自然语言的提问转化成符号表示,然后调用已有的一些符号求解工具,比如说混合整数规划(MILP),来直接得到最优解,再转回自然语言。整个过程保证最优解的质量并且输出接近实时。我们的一篇EMNLP Demo paper就是这么做的,之后针对多轮对话,还可以用Agent Constitution的方式进行优化,以让大模型能在最小的对话轮数内问到关键的问题,收集最优先的信息。


最后LLM本身也可以用来加速离散空间的组合搜索过程。一个例子是如何生成看起来像自然语言的对抗性提示词(Adversarial Promp)来攻破大模型的安全机制。这个问题并不容易,因为提示词是一个长的离散token序列,其搜索空间十分巨大,而且还要有各种复杂的自然语言约束。我们上半年的AdvPrompter通过微调一个LLM来生成对抗性提示词,使得目标模型输出危险句子的概率变大,这样兼顾语言的自然性和攻击的有效性,同时训练也较有效率。实验表明用开源模型生成的对抗性提示词,迁移到闭源模型同样有效。


提高LLM训练及部署的效率。上半年的GaLore(ICML'24 Oral)开发了一种能够减少内存消耗的预训练/微调的方法。与SGD或者Adam把梯度拉长成一个大向量再优化不同,GaLore把模型中的权重视为原本的矩阵,对其梯度进行低维投影,这样就大幅减少了优化过程中所需的计算资源。


梯度的大小变小了,其对应的优化器的状态(Optimizer State)也会变小,进而显著降低内存消耗。这样就不用要求权重本身是低秩的(事实上在预训练一开始时权重因为随机初始化肯定不是低秩的)。用这种做法可以把7B的模型预训练所需内存压缩到24G以内,一张RTX 4090卡可以放下,在20B token以内的训练效果也和全量梯度差不多,之后会有更大规模的结果。


在此基础上,我们联合一些学术实验室推出Q-GaLore(权重采用4比特存储,进一步减少内存消耗)和Tensor-GaLore(低维投影张量梯度,应用于解PDE方程)等后续工作。自发布以来,GaLore这篇工作还是有一定影响力。


田渊栋:2024年AI年终总结


另外我们也有一些模型部署的工作。MobileLLM发现一些直接训练端侧小模型(350M-1B)的有趣技术,SpinQuant优化权重旋转矩阵以减少outlier对于量化模型的影响,在LLaMA 3.2 1B/3B的模型上有应用(见Meta的官方博客)。最近,我们与CMU合作的MagicPIG揭示了Top-K注意力机制的一些本质问题,在模型部署时将KV cache放入CPU内存,并且通过Local Sensitive Hashing (LSH)来提高KV cache载入速度。


从下半年开始,我在Meta AI(FAIR)负责领导一个专注于规划和推理方向的团队。团队规模约为10人,致力于提升模型推理和规划的能力。今年开了个还不错的头,希望明年能做出有更多有意思的东西来。下一年还是希望更加hands-on,对想要实现的目标集中精力去进行深度思考。


小说《破晓之钟》出版


今年我的小说《破晓之钟》终于出版了,也算是第一次破圈的尝试。豆瓣和微信读书上的评分都还不错,也收到很多鼓励的评价。实体书的销量也可以,出版社说打算再印一些。这一切都已经超出我的预期了。


田渊栋:2024年AI年终总结


小说是2020-2021年写的,当时还没有能用的大模型,每个字都是自己敲出来的。接下来的第二部应该会用AI尝试一下辅助写作。目前就算是最好的大模型(如GPT 4o、Claude 3.5 Sonnet和Gemini 2)写出来的东西也是不能用的,需要经过大量的修改,但已经比一年前好太多,特别是Claude 3.5能自动把一些角色联系起来制造有意义的互动,新出的Gemini 2也能主动制造一些情节转折了,当然这些都仅限于千字以内,再长就回到了经典的「迎接任何挑战」,「前途一定光明」,「幸福生活在一起」等等的无聊套路上。期待之后的一些工作流的组合会带来惊喜。


对未来的一些疯狂的想法


马上要2025年了,大模型变得越来越好用,能力也越来越强,它将不再仅仅是劲爆新闻,而会大量渗透进我们每天的生活。举个实际例子,最近我用大模型开发了一个简单的会议管理工具,它会快速生成网页,用户可以在页面上选择时间段并直接安排会议,我在手机上批准后,会自动给双方发会议提醒,并将这个时间段标记为占用。整个开发过程仅花了两个多小时,而以前如果要实现类似功能,可能需要大量时间研究工具文档或API。现在借助大模型,开发变得极为高效。这个工具是我在参加NeurIPS会议前一天临时起意写的,在开会期间发挥了很大作用,尽管还有些bug,但有效减少了额外的沟通协调。


另一个例子是我手机上的一个每天给我推荐arXiv文章的Bot,也是代码写了几个小时就上线,自己点按钮选择喜不喜欢这篇文章,让Bot自己训练模型满足推荐偏好。有了这个Bot之后,相关论文就能第一时间发现,并且能充分利用碎片时间,相当方便。其它的还有ToDoBot等等,不停提醒每天要做的事情,减少无所事事刷手机的时间。


未来的竞争力,将越来越依赖于个人对大模型工具的使用能力,将工具与自身需求相结合,形成高度私人化个性化的工作流程。像这篇博客就是用Whisper听写+大模型整理的,但省不了各种拷贝粘贴操作。


我很期待明年在Agent起来后,做个人项目更加自动化便利化的可能性。以后从「需求」到「实现」的链条会越缩越短,对效率的不懈追求会减少中间的冗余节点,最后的形态可能会出乎所有人的预料。在写代码变成不停写注释按Tab的今天,可能更重要的是想像力,清楚的战略规划,还有立即行动的执行力。有了这些之后,在各类AI满地都是,便宜得如水和空气一样的未来,「言出法随」或者「所思即所得」就不再是科幻小说里描绘的未来,而是活生生的现实了。


什么时候真正会有AGI


与大家通常的定义不同,AGI在我心中的定位是「AI是否达到人类学习的效率」,人可以通过很少一些样本去学习,并且能深入理解问题的本质,并产生深刻的见解。


田渊栋:2024年AI年终总结


但目前的大模型还做不到,需要极大量的数据样本,这些样本让人去看,一百辈子都不够。即便如此,吐出来的文字和分析都浮于表面,处于「外行看起来很高深,但内行看起来很傻逼」的状态。


要做到这一点,我还是觉得AI最终要系统化理论化。这方面的工作并不是公司的核心任务,但我个人认为非常重要。等到scaling laws所需的资源超过能提供的极限,或者进步停滞,那理解模型其内在学习机制的重要性会变得更加突出。


这将是从「炼金术」到「化学」的转变,也是研究者的巨大机遇。今年的这篇CoGO(见田渊栋:求道之人,不问寒暑(十))让我有幸窥见神经表示和符号表示的有趣联系:由梯度下降获得的两层神经网络的解,和代数结构有着深刻的关联。当然这个只存在于比较特殊的情况下,在更加一般化的情况下,两者如何对应,会是一个很有意思的研究课题。


参考资料:


https://zhuanlan.zhihu.com/p/15135181332


文章来自微信公众号“新智元”


田渊栋:2024年AI年终总结

AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI工作流

【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。

项目地址:https://github.com/n8n-io/n8n

在线使用:https://n8n.io/(付费)


【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。

项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file



【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。

项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file

在线使用:https://vectorvein.ai/(付费)

2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

4
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner

5
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0