OpenAI核心创始成员Andrej Karpathy 深度分享AI大模型发展及Elon管理法则。
近日,OpenAI核心创始成员Andrej Karpathy(已于24年2月离职)在红杉资本进行了一场精彩的分享。
Andrej分享了他关于大模型发展趋势的思考,包括LLM OS、新一代算法架构、如何降低大模型的功耗、AI时代下的创业机会等重要话题,干货满满,值得细品。
还有一个彩蛋,Andrej分享了此前在Tesla负责FSD时,对Elon管理哲学的观察与思考,也非常有趣。
我给大家解读一下这场讲座的精华内容,感兴趣的朋友也可以去亲自听一遍
我喜欢把大模型看成一个操作系统(OS),而不只是一个模型。
在传统操作系统中,你需要围绕CPU构建一堆外设,比如鼠标和键盘、磁盘存储、以及缓存空间等。
而在LLM OS中,大模型本身就是中央处理器。I/O外设也不再是鼠标和键盘,因为LLM可以兼容更多模态的数据输入和输出。同时大模型调用的外部工具也将从传统软件升级为智能体工具。
传统操作系统中的缓存RAM,对应为LLM OS中的上下文窗口。传统操作系统中的文件存储,对应LLM OS中的向量数据库。
从LLM OS的角度来观察大模型生态,会得到很多有趣的结论。
在传统操作系统时代,微软的Windows和Apple的Mac OS占据了主要市场份额,它们都是闭源操作系统。
但是Linux作为一股开源力量,催生出了一个庞大的开源操作系统生态。人们基于Linux构建了无数商业发行版,包括Ubuntu、CentOS、Redhat等。
大模型时代的操作系统也有类似的发展倾向。
以OpenAI和Anthropic为首的人工智能公司,提供的是全球顶级的闭源大模型服务。
与此同时,Meta开源的Llama模型已经成为一股开源力量,催生了开源大模型的生态体系,其中就包括Alpaca、Vicuna等著名开源模型。
我们不能单纯的把大模型分成“开源大模型”和“闭源大模型”,还需要一种分类:开放权重大模型。
Llama和Mistral就属于“开放权重大模型”,而不是真正意义上的“开源大模型”。
目前真正完全开源的大模型,包括Pythia、LLM360、OLMo等。这些模型不只是开放了权重参数,而且开源了编译整个模型所需的基础设施。
如果大模型只开放了二进制权重文件,你虽然可以对模型进行微调,但能微调的空间其实是有限的。因为你微调得越多,模型会在其他方面开始回归。
如果你想在保持模型现有能力不回归的同时,给模型增加新的能力,你需要将旧的训练数据分布和新的训练数据分布进行混合,再喂给模型进行训练。
如果你只拿到了模型的权重文件,你是无法做到这一步的。除了权重文件之外,你还需要训练数据集,以及训练代码。
因此,人们在使用“开放权重大模型”上是受到限制的。
我认为人们需要能够区分Open Source Model、Open Weights Model、Proprietary Model。这三类模型构成了整个基础大模型生态。
现在就算你有足够的资金,和足够的数据,要想训练出一个优秀的大模型还是相当困难的。
这是因为训练大模型所需的基础设施架构仍然很不完善,它是一个非常复杂的分布式优化问题,这方面的人才极其稀缺。
你可以把大模型理解为一个运行在数万块GPU上的怪物,它随时可能在任意节点发生报错。
因此对整个系统进行实时监测并快速解决问题,是一项重要且艰巨的挑战。
训练ChatGPT的过程中,我能感受到整个基础设施一直是“摇摇欲坠”的。LLM训练基础设施层面的提升是行业亟待解决的重要问题。
我认为下一代算法架构的突破口已经出现端倪。
自回归模型和扩散模型都取得了巨大成功,它们都是表达概率分布的方式。
但是,这两种模型擅长处理的数据模态不同,而且算法结构迥异。
这是很奇怪的一件事。想象一下,在一个模型空间中,有两个点的性能表现都非常优秀,而且它们之间没有任何关系。
我认为可能存在某种算法架构,能够统一这两种优秀的模型,让我们得以构造出一个复合架构,能够兼容自回归模型和扩散模型的优势。
另一个让我彻夜难眠的问题在于大模型的功耗。
人类大脑的功耗约20瓦,而Jensen(黄仁勋)在GTC大会上公布的超级电脑的功耗是以兆瓦为单位的。
从这个角度来说,大模型的功耗有着百万数量级的提升空间。
这背后的原因在于,我们所设计的计算机架构与人类处理问题的workload相去甚远。
比如我们的大脑并不是像CPU这样序列计算的,而是类似GPU这样大规模并行计算的。
比如我们的大脑并不会在海马体和前额叶之间传输巨量数据,并且运算只发生在前额叶中。
因此,降低功耗的第一种途径,在于设计出新的计算机架构,来适应新的data workflow。
英伟达在这个领域迈出了重要的一步,但仅仅是一个开始。
可以预见的是,AI时代需要全新的计算机系统架构,这种架构完全不同于传统的冯诺依曼架构,而是更接近人类大脑的运作方式。
此外,数据精度和稀疏性,也是降低功耗的关键。
我们看到大模型的参数精度已经从最开始的64位浮点数,通过量化算法大幅压缩。
为了避免歧义,大模型中的“量化”指的是挑选模型中的部分参数,降低精度表示的方法。
数据精度的下降,是处理功耗问题的一个重要杠杆。
稀疏性是另一个重要杠杆。人类的大脑并不是时时刻刻都完全激活的,大模型也理应如此。
MoE模型在提升大模型的稀疏性上迈出了重要的一步,每次选择性的激活部分参数来处理特定任务,从而在保障性能表现的同时大幅降低功耗。
首先,Elon喜欢小而精,高技术性的团队,取消任何中层非技术管理人员。
在公司内部,Elon是抵抗公司人员规模增长的重要力量。你必须恳求Elon进行招聘,否则他会默认将团队规模控制在最小。
与此同时,Elon对淘汰低绩效员工没有心理负担,没有大公司对员工的“溺爱”倾向,他总是会快速淘汰不合适的员工,保持团队精简且优秀。
第二,Elon善于营造将办公室营造成一个充满活力的地方。
人们来回走动,研究着令人兴奋的事情,他不喜欢死气沉沉的氛围。
Elon不喜欢大型会议,他鼓励员工一旦发现会议没有价值可以主动离开。
It's a large meeting. If you are not contributing and you are not learning, just walk out. This is fully encouraged.
第三,他与团队的紧密互动,以及挥舞大锤消除瓶颈的方式,也是独一无二的特征。
通常来说,一线工程师和CEO之间相隔着若干层中间管理层。但是Elon会直接走到办公室,和工程师直接交流。
Elon不喜欢和管理层交流,而是和工程师直接对话。
在一个小而精的团队中,真相掌握在工程师手中,而非在某个经理手中。
If the team is small and strong, then engineers and code are the source of truth.
比如当他和某个工程师交流,得知目前的主要瓶颈在于GPU资源不够。
如果听到几次相同的反馈,他会直接打电话给负责GPU集群的经理,让他现在马上把GPU集群加倍。从现在开始,每天给我发送更新邮件,直到GPU集群完成加倍为止。
这时经理往往会反击,比如说采购谈判需要时间,英伟达说GPU供货需要6个月等等。
这时Elon会扬起眉毛并说:好的,那我直接打电话给Jensen。
Elon就是这样通过这样的方式,从业务一线获取真相,通过缩短沟通链路层层消除瓶颈,从而构建出一个具备强大战斗力的组织。
当前我们在LLM上做的工作,约等于AlphaGo训练的第一阶段,即模仿学习的部分。
AlphaGo训练的第二阶段,是强化学习。而这一部分是让模型变得Superhuman的关键。
现在ChatGPT的数据标注更多依赖于人类标注员。
想象这么一个场景,人类标注员针对一道数学题,给出计算过程和答案,并且把标注的数据喂给ChatGPT做训练。
问题在于,人类的心理活动和机器的心理活动存在着本质的差异。
The problem is that human psychology is fundamentally different from model psychology.
对人类来说问题的难易程度,和对模型来说问题的难易,是截然不同的。
人类标注数据的解题步骤中,有些步骤对模型来说是微不足道的细节,而有些步骤对模型来说是难以理解的巨大飞跃。
因为人类无法像模型一样思考,人类标注的数据中会缺失模型需要学习的重要细节,这会导致其他训练集被污染。
为了从根本上解决这个问题,我们需要让模型能够自我学习,自我迭代。模型需要自己弄明白哪些数据对它而言是有效的,哪些数据是无效的。
也许模型会发现它并不擅长4位数加减法,应该用计算器来完成这类任务。
这里的关键是,模型需要按照自己的能力特点来学习,而不是照着人类提供的“教科书”来学习。
当前,我们是通过Human Feedback来进行的强化学习。
这可以说是强化学习中最弱的形态,甚至不能被称为强化学习。
如果把RLHF对应到AlphaGo的训练过程中的话,可能对应的只是奖励模型,因为它们做的事情都类似于vibe check。
模仿学习很蠢,RLHF是一个小小的改进,但依然很蠢。如果要让模型变得真正聪明起来,就需要让模型经历真正的强化学习,自我迭代,这是实现AGI的关键。
我认为相比某家具体的AI公司而言,整个人工智能生态更为重要。
我希望它像美丽的珊瑚礁一样,充满着各种炫酷、令人兴奋的创新,由各种创业公司构成,它们构建的产品及服务满足各个垂直领域的需求。
这就是我喜欢创业公司的原因,我希望它们能够组成一个充满活力的生态系统。
反过来说,随着AGI即将来临,如果最先进的人工智能技术被掌握在全球前五大巨头手中,很难想象社会将变成怎样。
可以说,人工智能产业生态究竟是“一超多强”还是“百花齐放”,某种意义上决定了人类的未来。
本文来自微信公众号“Alpha Engineer”,作者:费斌杰
【开源免费】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
【开源免费】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
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner