资讯-虎嗅网 ( ) • 2024-04-26 13:27

本文来自微信公众号:卫诗婕 商业漫谈(ID:Jane_shijie),作者:卫诗婕,原文标题:《叫板李彦宏、Llama 3发布,什么是大模型的开源闭源之争?》,头图来自:视觉中国

本文探讨了AI开源和闭源之争对大模型创业者的影响,以及开源在全球创新和在中国的发展历史。作者访谈了Huggingface的中国区负责人,解析了开源的定义、意义以及对技术发展的贡献。

• 💡 开源社区的力量和作用,以及开源与闭源并存的发展趋势

• 🌐 开源模型的训练、微调和继续预训练的过程,以及如何科学、经济地使用开源模型

• 🚀 Llama 3发布的影响和未来大模型发展的趋势,以及模型差异化的重要性

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

事情是这样的:

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

紧接着,在北京时间 3 月 15 日凌晨 2 点,大洋彼岸,Meta 的开源大模型 Llama3 发布,它被视作全球开源大模型的“顶配”,也是国内众多大模型的“奶妈”——许多模型都是基于 Llama3 预训练而来。尤其值得注意的是,Llama 3 发布了 8B 和 70B 的两个版本,一些方面的性能已经超越了一部分闭源模型,还有一个 400B 的大参数模型正在来的路上(尚未发布),但据称,其性能将直逼 GPT-4。

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

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

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

什么是开源?

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

字幕本身它就是一个 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 技术出身,但是看到大模型的能力,希望将其与自己领域的一些应用结合起来。

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

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

2. 如果闭源解决不了,或者调用闭源模型成本太高,再去尝试开源模型,先从小参数的开始,用专门领域的语料去训练,此时,第一阶段积累的用户需求会是优势,因为你更了解用户的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. 它是由24.  000 块 GPU 组成的定制集群上使用 15 万亿个 token 训练的。国内有哪些公司能够拥有这个级别的算力和数据?

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

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

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

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

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

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做得更好。

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

作者简介:卫诗婕,独立商业作者,金字节奖年度新锐作者、网易非虚构文学奖年度作者、全球真实故事奖TSA(True Story Award)中文报道十佳,前极客公园执行总编。代表作有《ofo的终场战事》(阅读量全网百万+)、《罗永浩:薛定谔的理想主义》(全网百万+)、《朱一旦的枯燥生活》、底稿对话CEO系列等。

多年深耕科技商业报道领域,曾就职于《人物》、GQ报道、字节跳动、极客公园。十年间对话了众多科技圈领军人物以及一系列科技独角兽CEO(包括苹果联合创始人沃兹尼亚克、前奈飞CHO Patty Mccord、知名作家凯文凯利、智源研究院理事长张宏江、XbotPark 创始人李泽湘、字节跳动梁汝波、细红线科技罗永浩、地平线创始人余凯、影石Insta360 刘靖康、蓝晶微生物张浩千、百川智能王小川、面壁智能李大海等……)。现开设一档商业IP《卫诗婕|商业漫谈Jane's Talk》(含播客、公众号、视频号、即刻等渠道)

本文来自微信公众号:卫诗婕 商业漫谈(ID:Jane_shijie),作者:卫诗婕