当前位置:   article > 正文

叫板李彦宏、Llama 3 发布,大模型的开源闭源到底在争什么?_大模型continous training

大模型continous training

最近两周,有关开源 PK 闭源的讨论吸引了许多人的关注。

事情是这样的:

在不久前的百度 create 大会上,李彦宏放出观点:开源模型的能力会被闭源远远甩在身后。一时间,周鸿祎、傅盛等创业者纷纷表达了反对的观点。

紧接着,在北京时间 3 月 15 日凌晨 2 点,大洋彼岸,Meta 的开源大模型 Llama3 发布,它被视作全球开源大模型的「顶配」,也是国内众多大模型的「奶妈」——许多模型都是基于 Llama3 预训练而来。

尤其值得注意的是,Llama 3 发布了 8B 和 70B 的两个版本,一些方面的性能已经超越了一部分闭源模型,还有一个 400B 的大参数模型正在来的路上(尚未发布),但据称,其性能将直逼 GPT-4。

看起来,李彦宏被打脸了。但事实真的如此吗?

为了厘清大模型开源的一系列问题,更生动、直观地理解这些(对于普通人来说)略显艰深的技术,我访谈了全球最大的开源 AI 社区 Hugging Face 的中国区负责人王铁震,试图还原:开源在全球创新、以及在中国的发展历史。内容还包括:

如何理解 Llama 3 发布的意义?

大模型的开源究竟怎么个「开」法?

开发者训练模型、改模型的过程是什么样的?

在当下火热的 AI 浪潮中,开源、闭源的选择对大模型创业者来说,究竟意味着什么?

由于本次访谈涉及的技术概念较多,为了将学习成果更好地分享给大家,我专门整理了一份精炼版笔记,足够新手友好,希望能服务所有想了解、学习大模型知识的朋友。

以下是访谈后整理的笔记:

什么是开源?

如果从国内互联网历史看,那时就有了许多独特的开源文化,比如字幕组就是一种开源。

字幕本身它就是一个 SRT 文件——一个文档上上有时间线对应不同的文本。志愿者贡献做字幕的过程和现在的开源几乎一样:比如会有人先在论坛里公布:现在有某部电影需要配字幕,接下来,一些志愿者就会报名,报名之后会有分工,水平高一些的人会负责审核——需要对齐所有人的工作、并检查错误、最后压片发布。审核这个角色需要有协调组织的能力、耐心和责任心,任务相对较重,影响力也更大。

如果类比到开源项目里,审核的角色叫做 maintainer(维护者)。ta 是项目里最核心的负责人,负责把大家交过来的所有代码审核过之后,合并到主干任务里。而分领不同任务的这些开发者就叫 contributor(贡献者)。

大致是这么个流程:maintainer 定任务、分工给 contributor、maintainer 对齐、发布。

在这里插入图片描述

开源的价值与贡献

过去一年,大模型的推理成本实际上下降了 100 倍。这其中很多工作都是开源社群推动的。

因为在开源的机制和社区下,每一个推动工作的开发者,他可以不需要知道深度学习的所有数学原理,不需要自己有很多卡,只要有爱好、有想法,都可以参与贡献自己的力量。

这大大降低了参与门槛和迭代周期,也是技术飞速发展的要素之一。

开源的信仰,即相信:众人拾柴火焰高。

Hugging Face 的创始人 Clam 曾说过,「如果没有开放科学,没有开源,比如说谷歌没有分享他们「 attention is all you need」 的论文、Bert 论文、原生扩散论文,我们可能要过 30、40、 50 年才能够达到今天的水平。」

而事实上,今天我们已经被开源包围了:我们所使用的安卓系统、网页浏览器如 Chrome 和 Firefox,都是著名的开源项目。以及区块链领域——所有 web3 相关的工作都是开源。开源意味着流程、分工、贡献全都透明化,更能群策群力,也更能确保数据使用的安全性。

开源的「乌托邦」主义:氛围更好,更公开透明,更能调动大家的积极性

大厂的工程师都是经过非常严格的筛选,按理来说技术实力都很强,但他们却不如开源社区里的开发者们有激情——开源社区里,开发者们可能一开始并不是特别厉害,但因为能够参与到一些重要的开源项目,极有活力,效率也高,合作氛围极其融洽。

与之相对的,是在科技大厂里常常因为组织架构调整,导致 A 做了很久的项目被 B 接手了,最后项目黄了。

开源社区更容易让人参与到一个事情里面,因为所有的事情都是公开透明的,全世界对这个事情感兴趣的人都会加入进来。尤其是项目早期,因为参与者少,每一个人的贡献都是珍贵的。

同时,因为参与门槛被降到最低,开源社区能实现更好的资源利用。

在公司里,往往需要押注(或者说赌)技术发展的方向——有人认为要做 a 技术,有人认为该做 b 技术,但最后得选定一个方向将资源集中。

但在开源社区,因为大家基于爱好自由选择, a 和 b 两个方向都会得到发展。

大模型时代,第一次出现了开源和闭源「齐头并进」

像 Linux、MySQL、云架构等开源技术,历史上都一定滞后于当时最先进的技术。大模型是第一次出现开源和闭源齐头并进的状态。

原因在于,开源技术,需要感兴趣的开发者能在一起能够有效地去协作,这需要一些基础条件加持:比如高速网络、开源平台等。在 Linux 刚开始发展的那个时代,这些条件都不健全(比如能够访问到 Linux 代码的人也比较少、没有好的管理工具等)。

那时,开源技术只属于少部分极客。现在,网络、开源平台和各类管理工具已经发展得很完备,所以当下的开源时代,更多人是可以参与建设的,甚至普通人。

全世界都在反对李彦宏?开源、闭源并不绝对对立

李彦宏在百度 create 大会上发言称,「开源模型的能力会被闭源远远甩在身后。」一时间,周鸿祎、傅盛等创业者都表达了不同的看法。

这并不是一个「开源一定会赢、或者闭源一定赢」的问题。

Robin 的话更多是基于企业价值观和战略选择的一种输出。在 ChatGPT 出来之前,其实百度在开源领域的工作是非常非常好的,百度自己做了一个深度学习的框架叫 PaddlePaddle,它在 NLP 领域的一个库叫 paddlenlp,当时也是获得了非常大的影响。

ChatGPT 出现之后,可以看到百度在开源上的投入逐渐变小——也许闭源能给百度带来更多优势。

其实,开源、闭源是可以互相转化的,其中的光谱非常宽。比如 OpenAI 最早也是做开源的,比如发了 whisper 这些开源的模型,只是后来他选择了把大语言模型闭源。再比如,Meta 也做了很多开源的工作,但其内部也有模型是不开源的,另外,开源模型和闭源模型也可以互相转化——比如有一个开源模型,一家企业用自己的语料去微调它,这基础上再做一些优化,最终形成的这个模型是闭源的,可能产生商业价值——这最后一公里(优化)是收费的,这仍然算闭源。

这道光谱很宽,光谱的最右侧,是只有少数机构和公司才会做的全流程开源。

所谓全流程开源是指:模型数据集是什么、怎么洗、怎么构建、如何做模型架构的选择、如何去训练这个模型(包括训练日志)、推理代码和权重、部署——这些全部公开。

即,只要你有算力,就可以参照这整个流程,把你的数据用起来,然后训练一个自己的模型。

将权重也公开的这类开源,叫 open source;而只发布权重供访问,而不告诉你权重是怎么来的,这类叫 open access。这类可能会会和商业应用捆绑在一起——想要商业应用的话,需要购买授权。除非是用于学术研究。

光谱再往左一点,可能是开放一个小一版的模型,如果想用更好的模型则需要采购更大的模型组。这相当于拿开源做一个引流,我让你先试用一下,如果你觉得效果不错,我还有更好的,你要不要?

许多开源项目的最后一公里是闭源,是为了更好地复制商业化。

硬件公司一般都很拥抱开源:比如英伟达,通过更好地支持整个开源社区,它可以卖更多的硬件;再比如说阿里巴巴,通过开源,大家能更好地采购它的云服务。再比如 Meta,能通过开源去解决它元宇宙(或者说游戏)里交互不足的问题,对它的股价也有好处。

往往,能产生商业模式的开源项目才能够走得更远。

如果按盈利模式来分,开源的商业化可以大致分为两类:

通过开源为产品或付费服务导流(for 销售)

通过开源建立企业良好的技术品牌形象(for 招聘)

大模型具「黑盒效应」,不可编码、不可解释,所以无法开源?

如果把开源视作:把一个搭成的积木模型共享给大家,每个人都可以复制一份带回家,然后自己重新优化组装。

那么有另外一种观点认为,大模型它并不是传统意义上的软件开源,因为模型是有黑盒效应的,它不可编码,不可解释,是没有办法真正开源、让大家一起做贡献的。

这种说法对吗?

其实,模型的可解释性和是否能被全部开源无关。就好像炒菜,食物上发生的化学反应是非常复杂且难以理解的,但我们可以分享菜谱、让大家可以重复地制作这道菜 (open source),并基于此,作一些个人口味上的调整,而不仅仅是免费让别人来吃这个菜(open access)。

如何在开源模型上,去训一个自己的模型?

在 open access 的模型上训练的过程:1. import Transformers(将模型载入tranformers 库)——2. 喂数据、模型输出完成推理——3. 微调(SFT)——4. 继续预训练( Continuous Pre-training)

可以将微调的过程简单理解为:模型就像一个刚进大学的大学生,微调的目的是将他变成某个领域的专家。怎么做呢?搜集这个领域的知识(是它从前没见过的),教给他,再给他一套测试题,使其通过测试题后,就完成了微调的训练,接下来他就可以上岗工作、解决现实问题了。

再举个例子,微调还要解决「模型是谁」的问题:比如你的模型是用 llama 3 微调出来、要解决企业客服的需求。那么,当用户问「你是谁」时,它不能回答「我是 llama3」,而要回答,「我是 XX 企业的智能客服 XX。」相当于告诉这个大学生,你的社会身份是什么。

而 open source 的模型所公布的、open access 没公布的那些过程,则相当于一个孩子从入学到大学毕业,整个过程经历了什么。

可以将继续预训练的过程简单理解为:让一个数学系学生,解决化学问题——修双学位、成为复合型人才、解决复杂问题。

创业者、开发者如何更科学、经济地使用开源模型?

有许多人并非传统做 AI 技术出身,但是看到大模型的能力,希望将其与自己领域的一些应用结合起来。

通常,给这类开发者的建议是:

先拿最好的闭源模型去试,看它是否解决你的问题。如果通过 prompting 就能解决问题,那么不需要微调。而且早期使用闭源能使产品很快上线,可以积累一波原始用户数据和需求。

如果闭源解决不了,或者调用闭源模型成本太高,再去尝试开源模型,先从小参数的开始,用专门领域的语料去训练,此时,第一阶段积累的用户需求会是优势,因为你更了解用户的 query(需求)是什么样子,那么就能更好地准备对应语料,将语料喂给模型完成微调,然后在私有环境部署。看一下模型效果,如何效果可以,就足够了。

如果微调的效果还是不如意,接下来则需要继续预训练( Continuous Pre-training)。这相当于将一个初级行业应用者培养成一个行业专家。但需要注意的是,这个过程中需要知道原厂在训练模型时,数据配比是什么样,要将这些数据配比信息加入的 continuous pretrain 的过程中,否则性能会有损失。

做微调(SFT)、继续预训练(Continuous Pre-Training)分别需要具备哪些条件?

微调:需要算力、语料、数据。

(微调对算力的要求比推理高得多,调一个非常小的模型至少需要一个 A100 或者 8 个 H100。以及数据的处理也是一个经验活——整理语料对并不难,随着工具的成熟,只需要勾选、配对就好了,相当于用 word 、excel,很容易;但难点在于:1,对需求场景的洞察 2,如何判断模型生成的质量好坏,这是专家才能做的;)

但微调的成本,国内大部分创业公司都能负担得起。

继续预训练:成本在微调的基础上要再上升一个量级,难度也更大。

改模型是什么?有哪些方法?

通常,为了模型达到更好效果、性能、或者成本更经济等目的,也可以使用一系列魔改的方式。魔改通常比微调的工作量更轻量一些。

年初的时候特别火的一种方式是 model merger,把两个架构一样但是权重不一样的模型给混合一下,就好像是:大学里面招了两个高中毕业生,一个特别写擅长写代码,一个特别擅长写小说。model merger 就试图将两个人合二为一。

还有量化(quantization),比如模型的权重一般是 B16,通过魔改,可以用更低的精度让这个模型变得更小(比如把 B16 降到 INT4 后,模型就会有一个四倍的性能和存储上的提升)。

Llama 3 发布,如何理解它在行业中的影响?

Llama 3,它是由 24000 块 GPU 组成的定制集群上使用 15 万亿个 token 训练的。国内有哪些公司能够拥有这个级别的算力和数据?

首先,这个量级的算力是国内大部分人和公司无法拿到的,太烧钱了。海外像 Google、微软、 Meta 这种公司级别驱动的开源项目,才能调动这个惊人级别的算力。

而从纯社区向(背后没有公司支持)角度来说,没有什么开源社区能有这么大的能量。开源社区通常通过捐赠方式获得算力支持,但最多也就是在百卡级别(当然这已经不便宜了),千卡都很少。因为到了千卡级别后,对整个数据中心的 Infra 基础设施已经有了非常高的要求:

比如,如果计算过程中卡烧了怎么办(毕竟要没日没夜地跑)——要换卡,以及在软件上当卡掉了时,能不能把所有的训练状态保存,卡修好之后再重新启动,包括做自动规避、如何让 GPU 的利用率保持在高量级等等。

总之,一旦计算规模到了千卡级别,运营侧就会产生很复杂、很大的问题。更别提万卡甚至 10 万卡级别了。Meta 在训练 Llama 3 时候的算力投入可以算是开源模型中的顶配。

对未来大模型发展趋势的一些判断

1. Llama 3 发布的三个不同参数版本,其中 8B 是对开发者更友好的,400B 值得期待,但能用的人没那么多

同样的模型架构,参数大的模型一定比参数小得模型:1,更智慧 2,知识丰富度更好

但,大模型也会比小模型:1,贵(成本高) 2,慢(输出等待时长更久)3,对硬件适配的要求更高(需要的 GPU 多) 4,难(运营复杂度更高)5,距离端上部署更遥远 6,可玩性更弱(能玩起来的人不够多,比如做各种魔改、定制化等)

2. 训练模型、选择参数时,需要神农尝百草

开发者通常会面临很多种超参数的选择,需要像「神农尝百草」一样,试不同参数的组合,大家一般会先从小的模型开始试,在小的模型上观察到一些现象后,再用这个推测,当模型 scale 变大,是否也符合这种现象,再用大一些的模型去试。

3. 模型会先变大,再变小

模型先变大,指的是先做大模型,把能力做上去,先解决从 0 到 1 的问题。

再变小,指的是解决它的实用性(包括成本、性能、效率等)。

4. 也许很快,模型要拼的就不是单一维度的能力,而是差异化

据传, Llama 3 的 400B 参数可能超越 GPT-4 的部分性能。如果事实的确如此,意味着开源模型的能力也会到达一个基本可用的状态(GPT-4 被认为是基本可用的)。这对很多公司是一个巨大的技术红利。

举个例子,现在很多企业的较难任务的拆解和分派,还是由 GPT-4 完成的,未来这些工作逐步可以被开源模型取代。对于企业而言,使用开源模型也更利于隐私保护。

一旦开源和闭源模型都达到了可用的这一条线,那么后面的竞争可能会是什么?

可能就需要大家在模型上做一个差异化:未来,大家不再用一个榜单来评测,而是在不同的领域去分别看不同模型的特点——比如,写代码方面,ABC 做得更好;创作方面,DEF 做得更好。

很难衡量两个都可用的模型,差距是多少。更可能是在不同生态位上错位竞争。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

123?spm=1001.2014.3001.5501)这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/863245
推荐阅读
相关标签
  

闽ICP备14008679号