在人工智能的世界,有一群人正深耕于推动通用人工智能(AGI)从科幻走向现实。CSDN、《新程序员》特别策划“AGI 技术 50 人”访谈栏目,挖掘 AI 背后的思考,激荡 AGI 的智慧,走近那些在 AI 领域不断探索、勇于创新的思想领袖和技术先锋们的心路历程。
本期主角张奇,十岁学编程,他回顾了自然语言处理领域从规则方法到统计学习再到深度学习和大模型的技术演变,分享了实验室在多模态、推理能力等方面的研究方向,以及与企业合作的经验。同时,张奇也讨论了大模型时代面临的挑战,包括开源与闭源的权衡、算力需求等问题。他强调 NLP 是一门应用导向的学科,研究应该对工业界有所助益,表示自己更关注短期内可实现的具体问题,而非追求遥远的 AGI。
作者 | 唐小引、王启隆
在此之前,中国的 NLP 研究主要集中在基于规则的方法上,国内有许多优秀的研究人员致力于开发基于规则的学习系统。随着统计机器学习的兴起,整个领域开始面临着「危」与「机」的并存。到了 2010 年,深度学习来了,让张奇记忆深刻:“这与我们之前的方法有很大不同。以前我们要自己提规则,做句法分析,构造特征,然后在 SVM、CRF 这个层面工作。但深度学习的出现几乎推翻了所有前面的方法。你不需要做任何特征工程,只需要专注于模型本身。” 这场技术革命使得模型能够自动从大规模数据中学习特征,大大简化了 NLP 任务的处理流程。
2018 年,BERT 模型的出现又带来了翻天覆地的变化。“这次连网络结构都不需要改了,你只需要做预训练。” 张奇认为,BERT 引入了预训练和微调的范式,极大地提高了模型在各种 NLP 任务上的表现。
但是,技术的演进速度仍远超人们的想象。“仅仅四年后,我们发现,可能连预训练都不用做了,整体的认知发生了巨大变动。”
回顾 NLP 领域的发展历程,张奇说:“自然语言处理的整个过程都是在这种快速的一轮轮'危'与'机'中不断演进的。” 然而,当前大模型时代带来的独特挑战,与前面又有很大不同。站在时代的风口,已经成为了复旦大学计算科学技术学院教授、博士生导师的张奇,加入复旦大学 NLP 实验室担当核心成员,他积极推动产学研结合,致力于解决短期内可实现的具体问题,而非追求遥远的 AGI。在开源与闭源模型的争论中,他保持着审慎的态度,认识到大模型时代带来的机遇与挑战。
在《AGI 技术 50 人》对张奇教授的采访中,我们将深入探讨他的技术成长之路,以及他对当前 AI 发展的思考:从早期的规则方法到统计学习,再到深度学习和大模型,NLP 技术经历了怎样的变迁?面对快速发展的 AI 技术,中国的 NLP 研究应该如何定位?在大模型时代,NLP 研究者们又该如何应对新的机遇与挑战?
十岁就开始做大学生的编程题目
《新程序员》:听过张奇老师许多科研技术上的分享,却鲜少看到您的技术人生的分享,您最初是如何接触计算机,后来又是如何踏上人工智能之旅的?
张奇:其实跟计算机结缘是件非常巧的事情。我是 1981 年出生,到我三年级左右的时候,经济条件也逐渐好起来了,所有家庭的孩子都在学东西。当时周围的人都在学钢琴之类的,而我父母就说,咱们也不能闲着,得看看学什么。经过一番测试父母发现,让我学习琴类乐器是没什么指望了。这时候我的叔叔出了个主意:“北京的孩子都在学计算机。”
我们完全不知道计算机是什么。我母亲算了算,觉得学计算机的钱好像跟钢琴差不多,所以最终还是想尝试去北京买一台计算机回来。这大概是我在十岁的时候(1991 年),8086 机型的计算机,还需要使用 360K 的大软盘启动。于是,我母亲自己一个人去北京扛回来了一台计算机,由于她自己对这个新鲜玩意也不懂,所以在火车上还找了很多人帮忙,最终将主机和显示器一起安全带回。于是,我在小学四年级时就开始接触计算机。
《新程序员》:您十岁就开始接触计算机,这和网传 Sam Altman 八岁开始编程的时间差不多,都是相对较早的。
张奇:那时候我们家里也没什么其他选择,于是就开始学习编程。我找到了一位大学里的老师,他平时会教授大学生课程。由于没有教过这么小的学生,他直接给了我一套大一新生使用的编程教材。在一个暑假的时间里,他教了我 Basic 语言的基础知识,并让我完成了大学期末考试的试卷。
《新程序员》:一上手就是大学级别的编程教育?
张奇:编程主要是学习基本的语法,例如变量的定义、赋值操作、条件语句等。对于十岁的孩子来说,这些内容并不难理解。现在的孩子甚至更早就能接触到编程。从那时起,我逐渐走上了编程的道路,并开始参加各种竞赛。到了本科阶段,我参加信息学奥林匹克竞赛,拿到了国家级二等奖,被保送到山东大学,继续深造计算机相关专业。
《新程序员》:当时为什么会选择山东大学?
张奇:我是山东人,我们一般会选择相对风险小的路径。再就是山东大学当时提前近一年发出了录取通知书,因此我在高中最后一年就没有投入太多精力好好学习。
《新程序员》:那您和自然语言处理(NLP)的结缘是始于何处?
张奇:是在复旦大学。2003 年,我考上了复旦大学的研究生,当时需要提前做一些方向选择,因此我就开始在那些热门的方向里面挑选。而我的导师吴立德教授则推荐了自然语言处理,实验室的研究方向主要是文本处理,具体说是大规模文本处理。我当时虽然不懂 NLP 究竟是做什么的,但对这一领域感到好奇,尤其是当我看到教材上的副标题“让计算机理解人类语言”时,觉得非常有趣。
“各执己见”的复旦天团
《新程序员》:您现在在复旦 MOSS 团队,关于这个命名曾在去年引起过网络上的热议,与科幻电影《流浪地球》中的人工智能 MOSS 同名。而后来又推出了大模型“眸思”(MouSi)。请问这次改名背后的思考和典故是什么?
张奇:MOSS 最初是由实验室的邱锡鹏老师主导的工作,他率先将从预训练语言模型到监督微调(SFT)的整个流程打通。在此之前,人们对于如何实现这一流程还不是很清楚。邱锡鹏老师主导完成了这项工作,并在此基础上,我们开始着手 MOSS 2 等后续项目。
此外,我们还计划开发多模态模型。MOSS 开源时,GPT-4 已经展示了强大的多模态理解能力,因此我们考虑如何将多模态理解能力集成到新的模型中。同时,我们还考虑到 MOSS 名称在国内引起的一些担忧,因此决定更换一个中文名称。这个新名称与 MOSS 很接近,但加入了“眼睛”的元素,象征着该模型既能看也能思考,成为了一个多模态模型。
《新程序员》:最初考虑更名为“眸思”时,是否已经有了多模态的想法?我注意到你们为视障人群做了相关工作,还以为可能会更偏向于垂直应用方向。
张奇:眸思模型是一个通用模型,我们利用它验证了多模态理解的技术。之所以为视障人群服务,是因为模型在训练过程中使用了大量自然界中的图片数据,因此它在识别自然界的物体方面表现良好。拍照后,模型能够轻松描述周围的场景。我们思考这款模型可以用来做什么,如果是针对垂直领域,比如财经领域,模型需要解决的是识别报表图表等问题,而非简单的物体识别。
当然,针对这些领域,我们还需要做额外的工作。另一种应用方向是解决工业场景中的问题,比如识别划痕和安全性等。在考虑这些应用的过程中,我们意识到这款模型能够解释世界并进行语言输出,但与视障人士的需求还有一定距离。因此,我们考虑对该模型进行定制化改造,使其在导航、查找物品或描述周围环境时对视障人士更加友好。
《新程序员》:现在 MOSS 团队以及复旦大学 NLP 实验室的角色分工和规模是怎样的?
张奇:复旦大学 NLP 实验室的团队规模大约是这样:黄萱菁老师、邱锡鹏老师、我(张奇)、周雅倩老师、桂韬老师、魏忠钰老师以及郑骁庆老师,魏老师在大数据学院,桂老师在语言学研究院。实验室学生人数接近两百人。
《新程序员》:这个规模在高校实验室中应该是属于较大的,不知对比诸如清华大学的 NLP 实验室如何?
张奇:清华的规模没有这么大。因为他们的研究生招生名额较少,尤其是专业硕士(电子信息专业)的名额。复旦大学前几年专业硕士的名额较多,但大致分为三个组,或者说四个组。四个组在很多研究方向上有一些交叉。在“眸思”多模态方面,现在大概有十多个人参与。从底层到顶层,都在同步进行工作。
《新程序员》:在模型方面团队的分工是怎样的?
张奇:像多模态主要是由桂韬老师负责,我的核心工作集中在模型的解释评测、监督微调(SFT)以及文本处理这部分。而桂老师的工作则集中在多模态和类人对齐上。其实我们实验室在分工上并没有完全划分清楚,不像公司在划分职责时那样泾渭分明。每个人的科研兴趣点不同。例如,我可能不太想做推理,因为我个人不太相信推理的有效性,所以我专注于前面的部分。而桂老师认为类人对齐可以覆盖整个过程,多模态是对文本的重要补充,因为它能提供更多的信息。桂老师将多模态与类人对齐相结合,更加关注这部分内容。但实际上,一个任务或项目往往需要大家共同努力完成。例如,在与荣耀的合作项目中,桂老师、我以及黄老师都在该项目中,我们各自支撑着项目的不同方面,共同推动项目向前发展。
想真正实现卓越的智能体,模型必须具备推理和规划能力
《新程序员》:近几年 ChatGPT 问世前后,我们见证了人工智能领域对大模型(LLM)参数量的狂热追求,期间甚至出现过对小模型(SLM)的否定。但现在,小模型又重新掀起了热潮。此外,近期的趋势表明,通用模型能够在多数任务上达到较好的表现,但在特定任务上可能需要更加专业的训练。这种不断推翻旧观念的现象,使很多 AI 开发者感到有些迷茫。
张奇:确实,我们对此也感到迷茫。这种反复主要由几个关键因素导致。首先是 OpenAI 当初发表的关于 Scaling Law 的论文(Scaling Laws for Neural Language Models)强调了模型大小与能力之间的正相关性,其次是 Jason Wei 等人提出的“能力涌现”概念(Emergent Abilities of Large Language Models)。这两篇论文推动了业界对大型模型的追求。起初,人们对这些概念的理解并不深入,表现为只需少量数据就能使模型展现出众多能力,这种现象激发了人们的无限想象。然而,随着研究的进展,我们发现这些现象大多可以通过统计机器学习理论来解释。
在统计机器学习中,模型将语言转换为高维空间中的向量表示,随后通过分类面进行区分。后来,谷歌推出的 BERT 模型改进了这种表示方法,但分类方法依然相同。在大型模型中,虽然我们尚缺乏完整的解释,但认为其背后的机制类似于“打点”。这意味着模型能够以较少的训练数据实现良好的性能,因为其内部表示非常接近,这使得后续的学习方法可以相对简单。尽管如此,这一领域仍缺乏统一的认识和全面的分析报告。
今年,我希望能够完成这样一份报告,以解释为何少量训练数据足以使模型在多个任务上表现出色。这看起来像是能力涌现,但如果完全不提供训练数据,则模型无法执行任务。这份报告将有助于界定模型能力的边界。
《新程序员》:相对应的问题是,为什么少量的数据或细微的数据改变会导致模型性能急剧下降?例如,您去年分享的那个百亿参数大模型的案例。
张奇:那个案例其实体现的是对模型内部参数的一种解释或认知。我们认为这些参数肯定记录了某些信息。从表象上看,语义和语言是分离的。在我们的工作中,我们试图证明语义存储在哪里,语言又存储在哪里。最终,我们将这两个区域区分开来,并进一步探索是否可以将语义进一步细分,比如将计算机相关的知识与财经相关的知识分开存储。但我们去年仅实现了语言与语义的分离。
具体而言,我们在模型中发现了一个小区域,它负责语言层面的工作,能够生成语言。语言与语义分离之后,词形变得不再那么重要,因为不同的语言进入模型几层之后就被统一表示了。在输出时,模型会将语义还原为具体的词形。这就是为什么现在的多语言和跨语言任务变得更加简单的原因。在这个过程中,我们还发现了一些有趣的现象,即单个参数的变化能够影响到整个参数序列。虽然只涉及单个参数,但影响的却可能是数百甚至上千个参数。在论文中我们指出,这个单个参数是一个范数(norm),它可以影响到 NLP 层的一整列参数。
《新程序员》:那到了今年,NLP 实验室当前的研究重点以及目前分析报告的进展是什么样的?
张奇:我们实验室在整个研究领域都有所推进,具体有几个主要的方向。
一是模型评测方面,当前模型的评测机制采用选择题来评估模型表现,这并不合理。因为基础语言模型主要是进行下一个词的预测(Next Token Prediction, NTP),而选择题的形式并不适合这种任务。我们正在开发一套更细致的评测方法,从模型补全知识的能力及从基础模型到监督微调(Supervised Fine-Tuning, SFT)的表现等多个角度进行考量。在 SFT 阶段,我们关注模型如何混合以及混合模式,包括专家混合(Mixture of Experts, MOE)在预训练阶段和SFT阶段的加入方式,以及为何少量数据即可完成某些任务等问题。通过控制这些变量来观察模型的行为。
二是,我们发现大模型通过预训练和指令微调获得能力。Meta AI 研究所的研究表明,通过大量重复同一知识点和使用高知识密度的高质量训练数据,模型可以达到 2 bit/参数的知识存储能力。如果每个知识点的曝光次数较少,则这一能力可能会下降至 1 bit/参数。我们正在进行相关研究,旨在确定模型能够记住的信息量,这取决于曝光次数和词汇的特异性。例如,“华为的总裁”这个词容易被模型记住,因为它具有独特性;而“荣耀的总裁”则较难记住,因为“荣耀”一词有其他含义,还可以是形容词。我们正在构建一个公式,该公式将包含曝光次数和特异性等因素,用于预测模型记住特定知识的概率。这将有助于指导数据准备的过程,包括数据类型、数量、形式以及质量要求等。OpenAI 在 GPT-4 报告中曾提到过一句话,“我们在训练之前就知道结果”,这意味着他们在一定程度上掌握了模型的认知能力,所以这也是我们当前在 SFT 预训练阶段的重点工作之一。
三是模型的推理能力,推理能力对于实现通用人工智能(Artificial General Intelligence, AGI)至关重要。去年我们在推理方面并未取得积极成果。今年我们继续推动这一领域的研究,包括工具学习,去年我们未能成功让模型使用未见过的 API,因此今年我们正在探索如何提升模型的泛化能力,使其能够有效地使用工具。此外,我们考虑采用强化学习结合 SFT 中的动态数据变化等方法来提高泛化能力。
最后,我们也在大力推动多智能体(Agent)之间的进化,探索从弱到强的发展路径。虽然 OpenAI 前首席科学家 Ilya Sutskever 发布的报告也表明他们在这一领域遇到挑战,但我认为这是一个值得研究的领域。许多传统的自然语言处理任务在未来几年内可能将达到很高的水平,剩下的问题可能更多是推理型和认知型的,这些难题短期内难以攻克,但对于研究机构而言,正是我们应当关注的长期目标。
《新程序员》:智能体实际上是 2024 年人工智能领域的关注焦点。根据我的观察,尽管很多人在从事智能体相关的工作,但在实际应用层面,似乎并没有太多实质性的进展。我的理解是,目前大家可能还处于摸索尝试的阶段。
张奇:确实如此,智能体这个话题激起了人们的无限想象。单个智能体完成任务,并与其他智能体协同工作,理论上可以替代企业里的许多工作。然而,这里存在几个问题。首先,在单智能体场景下,智能体需要调用多种工具来完成任务。关键在于当面对新 API 时,智能体是否能够理解并泛化使用这些 API。目前来看,这一点很难实现,这对单智能体的实际应用构成了限制。
如果我们限定 API 的数量不变,并且任务集也是固定的,那么可以达到较高的完成度,但这本质上更像是一种 RPA(机器人流程自动化)。过去需要程序员编写规则的地方,现在由模型根据输入输出结果调用相应的步骤,这可以看作是对 RPA 的升级——但这样就不太浪漫了,不够有想象力。
纯粹的统计机器学习无法实现因果逻辑
《新程序员》:您曾多次强调推理与 AGI 之间的关系。考虑到您既拥有学术研究背景,又有产业实践经验,是否能分享一些初步的想法或启示,帮助我们更好地理解这一领域?
张奇:推理问题相当复杂。例如,Ilya 认为,只要模型能够输出正确的结果,就意味着它进行了推理。在他的访谈和论文中,他提出了类似的观点,即模型无需像传统推理机那样明确展示推理步骤。只要模型的下一个 token 预测(Next Token Prediction)是正确的,那么推理过程就被视为完成。
在大模型出现之前,我们曾开发了一些旨在增强模型稳健性(Robust)的工具集,试图从另一个角度探讨这个问题。当时的许多数据集,如 LogiQA,并非专为大模型设计,而是适用于较小规模的模型,如 BERT 时代的模型。尽管这些模型在特定任务上的表现接近 95% 甚至更高,但稍作变动,性能就会大幅下降。因此,统计机器学习方法是否能真正解决推理问题一直是我关注的一个根本性问题。要证明这一点相对容易——如果模型能在各种情况下都表现出高完成率并实现知识融合,那么我们可以认为它具备了推理能力。然而,要说服人们统计机器学习能够实现推理,则是一个难以解决的问题,这几乎是一个哲学层面上的思考。
从数据角度来看,让模型直接发现推理型的原因和归因结果是非常困难的。以数据挖掘中的经典例子为例:在美国的一些路边超市,尿布与啤酒的联合销量很高,这是一种统计相关性而非因果关系。背后的因果逻辑是,由于夜间外出购物不太安全,购买者往往是男性,他们在买尿布的同时顺便购买啤酒是很自然的行为。模型能否从数据中学会因果关系,这是一个重大的哲学问题,目前尚未达成共识。
《新程序员》:您先前提到,在实验室里经常围绕某个话题展开争议性的讨论,比如您不想要研究推理,而桂韬老师更相信类人对齐。那么推理问题就是你们最大的争议吗?
张奇:现在我们已经不再讨论这个问题了,因为这类讨论很容易“伤感情”。在 2023 年的夏天,我们对此讨论较多,但很难说服对方。目前,实验室内部存在两派观点:一部分人坚信大模型具备推理能力,只是我们目前尚未找到方法来提升这一能力;另一部分人则认为实现推理的可能性很小。鉴于此,我们选择在多个方向上进行探索。
这种情况与 2020 年 GPT-3 发布后的情况类似:2021 年,人们开发了更大规模的模型,参数接近 1.8 万亿;但到 2022 年初,许多人认为这些模型的实际应用价值不大,从而停止了相关研究。推理问题也可能经历类似的过程,虽然我个人认为可能性很小,但不排除未来会出现像 ChatGPT 这样的突破性进展,使得问题再次变得可行。因此,从研究角度看,我们支持各个方向的尝试,只要有足够的资源支撑。
《新程序员》:既然实验室内部形成了两派观点,那您更倾向于哪一方?从您的回答来看,似乎您秉持着一种中庸的态度。
张奇:我个人倾向于认为纯统计机器学习无法解决因果问题,因此也无法真正解决推理问题。我更倾向于研究大模型中的其他问题,如语义表示、长文本处理以及多语言解释等,这些问题是统计机器学习可以着手解决的确定性部分。至于推理问题,我个人涉猎较少。此外,关于智能体,我的学生在智能体方面的研究比我深入得多,而我自己没有阅读太多关于智能体的工作。
《新程序员》:我还记得去年关于涌现现象曾引起了广泛关注,而现在学术界也不再谈论涌现。我想了解,一方面,在您实验室内部争议最大的情况是什么?另一方面,从学术界的视角来看,有哪些是您认为当前对开发者来说值得关注的话题?特别是对于 CSDN 的开发者群体,他们更多地关注工程实践方面,比如关于 Transformer 架构的一些疑问。我想请您就此谈谈您的看法。
张奇:我们并非不讨论推理问题。虽然从技术角度和相关论文的角度其实还会进行讨论,但我们不再争论它是否可行。如果学生选择了这个题目,他们就需要相信这个方向;如果不感兴趣,还有其他很多领域可以选择。我们不再争论其可行性,因为这样没有意义,大家只需去做就好了。
从开发者角度来看,自 2017 年 Transformer 模型问世以来,BERT 模型在 2018 年出现,一直到 2021 年前,出现了大量的架构变体。每一层的每个位置都有大量的研究工作。然而,人们认为 Transformer 在计算上存在很大浪费,因为自注意力机制的时间复杂度为 O(n2·d),这使得处理长文本变得困难,计算量也非常大。因此,人们试图改进模型架构,使其更适合实际应用。
但对于普通研究人员甚至是小型独角兽公司来说,这可能难以实现。他们每次改变架构都需要重新训练模型,从 7B 参数起步,到 13B、30B、70B 参数,甚至更高,这需要巨大的成本。例如,训练一个 70B 参数的模型,使用 3T 的 tokens 数据集,成本可能高达数千万美元。此外,更改架构可能会影响训练逻辑,需要调整训练过程中的许多参数,这些都是经过大量资金投入才能摸索出来的。更改架构后,这些过程都需要重新进行。因此,我认为大多数公司可能都没有资源来做这样的事情。
想要大规模开源,只能指望大公司的生态
《新程序员》:我从您身上感受到的是,您与一般的学术研究者有所不同,特别注重成本和商业方面的考量。我记得您最初与搜狗等业界伙伴合作,现在还在兼任工业界的工作,并且之前您也提到过与荣耀公司的合作。我想听听您背后的思考是什么?
张奇:我认为自然语言处理(NLP)是一个非常应用导向的学科。在学校里,最优秀的学科通常是那些既能“顶天”(解决根本性问题),又能“立地”(应用于实际工程项目)的学科。顶天的学科专注于解决基础科学问题,如物理学中的 E=mc²,这类问题的解决能够推动一系列相关领域的进步;而立地的学科则致力于开发对国家有用的大型工程系统。相比之下,NLP 既非纯粹理论也非纯粹工程,它的工程规模不大,理论突破也较为困难,因为它主要依赖于统计机器学习,而这在数学领域被视为应用数学的一部分。
鉴于此,NLP 与工业界的合作应该更为紧密。我们所做的研究应该对未来两到五年内的工业界具有指导意义。我们的目标是领先于工业界的需求,并解决因具体项目和应用场景限制而未能深入探索的问题。完成这些研究后,成果应能够迅速应用于企业界。
为此,我们需要与企业界保持紧密联系,了解它们的真实需求,而非仅凭想象构建场景。例如,在半监督微调方面,我一直认为传统的 N-way-K-shot(一种机器学习方法)并不实用。现实中,我们通常面临的是拥有大量其他领域数据的情况,但在迁移至新领域时仅有少量的数据可用。这才是真正的半监督微调的应用场景,也是 Transformer 学习应当关注的方向。因此,我们一直引导学生专注于这类应用场景。
《新程序员》:荣耀此前发布了自研的端侧 AI 大模型,这与你们的合作是否有联系?
张奇:我们与荣耀建立了一个联合实验室,并输出了一些技术。其中一些技术是我们共同开发的,包括监督微调(SFT)阶段的具体实施方法以及模型规模的选择。
荣耀的场景定义非常明确。他们需要确定在特定终端上达到何种程度的性能,这可以反推出所需模型的大小和实现方式。研究的重点在于如何将模型部署在手机等设备上。此外,荣耀定义了多种应用场景,例如在最新发布的手机中,任意门功能需要完成导航任务,这意味着需要识别起始时间和结束时间,或者导航中的起点和终点。在这些场景中,期望大模型能够达到高水平的表现。
因此,从预训练模型的设计到上层应用场景的实施,以及如何加入多模态能力等方面,都成为可以进行学术探讨的点。我们负责其中的一部分工作,而更多的工程化实施和技术落地则由荣耀自行完成。我们提供了我们的见解和核心技术。
《新程序员》:与荣耀的合作模式是否具有可复制性?特别是在智能手机之外的领域,比如智能汽车和其他边缘设备,是否存在类似的合作机会?
张奇:从技术角度来看,这种合作模式是可复制的。车载环境和手机环境在硬件条件、软件条件以及应用场景方面都非常相似。两者的需求、要求以及芯片选择也极为相近。然而,从商业角度而言,可能情况会有所不同,因为技术不可能无限次销售。从技术层面来说,荣耀的态度较为开放,我们已经合作发表了一些论文。因此,我认为其他公司可以通过论文了解到我们采用的方法和技术。
《新程序员》:我还想请教您关于开源与闭源模型的问题,最初我甚至没有预料到现在还会存在这样的争议。比如,斯坦福大学的李飞飞团队发布的报告表明,在当前的数据结果上,闭源模型的表现优于开源模型。
随后,我们也看到了 Llama-3 等开源模型的出现。在我与深耕开源 AI 领域的人士交流时,他们普遍提到了开源 AI 发展中的一些痛点,包括天然存在的技术阶段碎片化问题、商业模式的模糊以及产品化过程中遇到的挑战。我想听听您对于 AI 模型开源与闭源方面的最新见解和思考。
张奇:我认为在大模型阶段,开源变得更加困难。在大模型出现之前,几乎所有论文都开源了代码和数据,这对技术生态的发展是有利的,尤其是在深度学习兴起之后。早期的代码不太易于复用,但 PyTorch 的出现使得代码开源变得更加容易。代码变得简洁,无需手动求导,数据和代码的开源成为自然而然的事,每篇论文都会附带代码和数据集。
然而,在大模型时代,很少有人会开源训练阶段的信息。最好的情况也只是开源模型本身,再加上使用模型的教程。至于训练过程和使用的数据集,则鲜有提及。即使是 Llama-3 这样的开源模型,其训练细节和过程也是保密的,比如 Chat 版本是如何制作的,以及强化学习与人类反馈(RLHF)部分是如何实现的,这些都未对外公布。
我认为大模型阶段的主要问题之一是:以往的算法论文与商业化落地之间存在巨大差距,你只能做其中的一小部分任务,而这部分任务必须与其他模型和工程组件结合才能构成一个完整的产品或项目。因此,开源其中一个小的技术点对公司和个人的影响有限,同时也能带来一定的声誉和影响力,所以公司愿意开源。
但现在情况不同了,模型距离商业化只有一步之遥。即使架构不够优秀,使用 vLLM 或其他方法也能解决问题,即使速度较慢,消耗的 GPU 更多,只要能解决用户问题即可。这就导致大家在开源方面变得非常谨慎,甚至在论文分享方面也变得谨慎,因为实现的关键可能只是一个简单却有效的技巧。在大模型的开源层面,这构成了一个巨大的挑战,或许未来只能依靠大公司的生态建设来实现大规模的开源。这是我认为的一个问题。
其次,闭源模型不仅仅是单一模型。当我们与 GPT-4 进行比较时,GPT-4 是否真的只是一个模型在工作?例如,输入一个查询,它是否进行了意图识别?还是说单一模型处理了所有结果?在其基础上,后端又进行了哪些处理?这些都是未知的。我们看到的只是一个模型与整个 ChatGPT 系统之间的比较。因此,很难得出闭源模型一定优于开源模型的结论。
我认为未来的开源非常重要。如果没有包括百川、智谱、阿里在内的这些开源模型,国内的大模型发展会非常缓慢。这些开源模型促进了大量研究,并进一步推动了领域的发展。但在这个过程中,如何找到合适的商业模式是一个需要仔细思考的问题。从学术界的角度,我们希望有更多的开源内容,但我们自己也存在一些疑虑,比如训练数据可能涉及版权问题。OpenAI 首席技术官 Mira Murati 曾在接受采访时,被问及 Sora 是否使用了 YouTube 数据,她既不敢确认也不敢否认,这就是个很好的例子。
《新程序员》:我感觉您看到了挑战,同时也感到有些无奈,不知道如何解决当前的状况。
张奇:确实如此,我认为这很难解决。正如李飞飞教授所说,学术界已经难以承担高昂的研究经费,该怎么办呢?现在撰写一篇论文往往需要数十万元的计算费用,这不是我们单凭一己之力能够解决的问题。有些事情受到诸多限制,我们只能在现有条件下尽可能地做好自己的工作。我们会尽可能地开源,但有些部分确实存在困难,即便版权问题得以解决,仍然会有一定的顾虑。一旦公开,可能会引发不必要的麻烦。比如,我们为盲人开发的“听见世界”应用,目前还未正式上线,没有完成备案手续,这给用户带来了不便。我们正在走备案流程,在此期间,我们必须遵守相关规定。
《新程序员》:您刚才提到的一个可能的解决方案是大公司构建生态,但回想操作系统时代,Android 的兴起伴随着让开发者头疼的碎片化问题,当前环境下可能也会遇到类似的问题,但似乎没有什么解决办法。
张奇:的确,我认为越是底层的技术,越适合开源。很多技术都是从开源开始的,比如我们的调度系统、操作系统,以及大模型的基础模型。这些底层技术更适合开源。越往上层,技术越接近具体的场景应用,也就越接近商业应用,开源的难度也随之增加。基础模型和聊天模型距离商业应用还有一定距离,这些部分公司可能会开源一个中等水平的模型,以便进行商业推广。对于大公司而言,这样做有一定的吸引力。但对于高校和小公司来说,难度就相当大了。
AGI 的核心在于取代人类的所有脑力劳动
《新程序员》:在自然语言处理(NLP)的发展过程中,我们可以感受到人工智能领域在国内经历了许多摸索和试错。当国外的研究机构,如 OpenAI 从 ChatGPT 到 Sora 等模型的进展时,我们的前期研究工作有时会显得有些徒劳无功,这种情况在过去很常见,但我们似乎仍缺乏有效的方法来避免这种命运。
张奇:我认为这是一个难题,因为试错本身就是一种成本。OpenAI 从 GPT-3 到 ChatGPT 的过程中,也经历了大量的试错。在 GPT-3 发布之后,OpenAI 一直强调 few-shot learning,即利用少量示例数据来解决问题,通过 prompt 的形式而不改变模型本身(module at service)来解决问题,不进行微调。
这一理念一直坚持到 2022 年 InstructGPT 的发布,他们加入了不同任务的大量训练数据进行微调,从而取得了显著的效果。这个过程中有两年左右的试错期。InstructGPT 的重要性在于指明了从 GPT-3 到 ChatGPT 的路径,这是一个耗资巨大的探索过程。从 ChatGPT 发布之后,到 GPT-4,OpenAI 就不再发表与此相关的论文了。
因此,在这条路径上进行探索是非常痛苦的,而且需要大量的资金支持。既然公司投入了巨额的资金,他们自然不愿意将最关键的部分公开,这就产生了矛盾。如何解决这个问题,我认为可能需要更高层次的商业智慧和政治智慧来应对。
《新程序员》:您实验室在算力方面目前处于什么样的状态?
张奇:在算力方面,我们采取了几种策略。首先,实验室自购了一些计算设备,在 GPT-3 出现后,我们通过借贷购买了一些计算资源。这是第一部分。其次,复旦大学拥有 CFFF 集群,在美国未实施出口管制之前,复旦购置了一个包含 1024 张 A100 显卡的集群。这套集群为我们提供了支持,虽然需要付费使用,但相比市场价便宜得多。
《新程序员》:这套集群的成本是多少?
张奇:使用这套集群的成本相当于市场价格的一半。例如,市场上租用配备 A800 显卡的八卡集群一个月的价格约为六万元人民币,而在内部使用集群的成本仅为这个价格的一半,大约两三万元。因此,我们能够以较低的价格获取计算资源。此外,对于日常的小型实验,实验室自身拥有的约十几台计算设备组成的集群可以提供支持。对于更具挑战性的项目,我们通常需要与企业合作,利用企业的计算资源来完成。
《新程序员》:我常听业界开发者面临的最大问题是数据和算力不足,那您所说的与企业合作是如何实现的?
张奇:例如,我们与荣耀合作,共同开发信息提取技术。在这个过程中,我们需要利用荣耀提供的资源进行研究,因为最终输出的技术将在荣耀的产品中应用。在这个合作过程中,我们也会有自己的见解,可以利用自身的资源尝试一些通用模型的混合。但是,对于监督微调(SFT)的数据量和具体实施方案,都是在项目执行过程中逐步明确的。因此,我们非常感激与企业合作的机会,因为只有通过这样的合作,我们才能深入了解如何将任务的完成度从 70 分提升到 95 分的过程。
《新程序员》:最后关于 AGI(Artificial General Intelligence,即通用人工智能)的未来之路,我想听听您的答案。因为之前我听到了张钹院士的观点,他在清华大学最近的一次分享中提到,大语言模型是一步,但可能后面还有更多的步骤,比如多模态、智能体和具身智能等。此外,图灵奖得主 Yann LeCun 认为语言模型可能不是直接通往 AGI 的路径。基于您广泛阅读和了解的研究及实践,我想听听您的思考是什么样的?
张奇:他们,包括张钹院士和 Yann LeCun,都是站在较高层面思考 AGI 的问题。坦率地说,我个人并没有深入思考 AGI,因为我认为 AGI 的核心在于取代人类的所有脑力劳动。而要做到这一点,AGI 必须具备强大的推理能力,这本身就是非常危险的。一旦 AGI 能够进行推理,它可能会首先考虑人类是否还有存在的意义,甚至可能认为只需要留下世界上的一部分人从事基本的体力劳动。
另外,我认为还有很多现实问题尚未解决。在大模型的角度,或者整个自然语言处理领域,有许多具体的场景和技术难题需要进一步研究。我个人更多是从统计机器学习的角度来思考问题,探讨它可以解决什么问题,解决问题的界限在哪里,以及在解决问题过程中会遇到哪些难点。基于这些问题,我会考虑接下来的研究方向。我个人关注的是短期目标,而不是未来几十年的事情。我认为 AGI 也许最终会实现,但具体的时间表尚不清楚。
因此,我更多地从具体应用场景出发,考虑如何通过统计机器学习解决实际问题。我会思考解决这些问题的痛点所在,并据此规划研究的方向。我的目标是实现一种模式,使得模型能够在非常少量的训练数据下完成多种任务。例如,如果我们正在做的信息抽取任务,原本需要数万条训练数据,现在我们可能只需要几十条或几百条数据即可,这就足以解决特定场景的问题,并带来大量的应用价值。
从这个角度来看,解决问题的步骤相对明确。解决了信息抽取之后,我们可以继续探讨生成和翻译等问题。“信”“达”“雅”是翻译中的三个标准,我们可以先解决“信”的问题,但“达”和“雅”可能更为困难。为了应对这些挑战,我们已经开始使用强化学习等方法。然而,当解决了某些问题后,我们发现其他方面又会出现新的问题,比如如何处理只有少量训练数据的小语种翻译。从这个角度继续推进研究,我相信未来五年内都有足够的工作要做,所以我并未过多思考 AGI 如何实现的问题。
大模型刷新一切,让我们有着诸多的迷茫,AI 这股热潮究竟会推着我们走向何方?面对时不时一夜变天,焦虑感油然而生,开发者怎么能够更快、更系统地拥抱大模型?《新程序员 007》以「大模型时代,开发者的成长指南」为核心,希望拨开层层迷雾,让开发者定下心地看到及拥抱未来。
读过本书的开发者这样感慨道:“让我惊喜的是,中国还有这种高质量、贴近开发者的杂志,我感到非常激动。最吸引我的是里面有很多人对 AI 的看法和经验和一些采访的内容,这些内容既真实又有价值。”
能学习到新知识、产生共鸣,解答久困于心的困惑,这是《新程序员》的核心价值。欢迎扫描下方二维码订阅纸书和电子书。