速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

一群顶尖搜索人才如何 2 个月出货,还把 GPU 利用率干到 60%!揭秘百川智能研发大模型这一年

  • 2024-06-27
    北京
  • 本文字数:5356 字

    阅读完需:约 18 分钟

大小:2.60M时长:15:09
一群顶尖搜索人才如何2个月出货,还把GPU利用率干到60%!揭秘百川智能研发大模型这一年

去年的大模型之战讲究一个“快”字:入场快、发布快、迭代快。


王小川在去年 4 月份宣布成立“百川智能”的两个月后,就迅速对外推出了 70 亿参数量的中英文预训练大模型 Baichuan 7B。一年多后的今天,百川智能已经将大模型迭代到了 Baichuan 4。


曾担任搜狗搜索研发总经理的陈炜鹏如今在百川智能负责模型研发,这对他来讲也是一次挑战。“搜索与模型研发有很大的不同,研发经验不一定能完全复刻,比如两者对数据的定义可能完全不一样。”


但陈炜鹏也表示,做搜索和大模型也有共性,就是它们都是系统性工程。“在大模型之前,被认为系统性工程的算法问题只有三个:搜索系统、推荐系统和广告系统。以前的搜索经验让我知道怎么样解决一个系统性的问题。”


实际上,百川智能的技术团队可以分为两部分:一部分是像陈炜鹏这样有很强系统性工程经验的人,他们做过复杂的项目,知道怎样把复杂的问题拆解成为子问题,然后做有效的科学管理;另一部分则是对语言模型本身有很好认知的研发人员。


“大模型的研发不是一个单点问题,而是一个系统问题。解决系统性问题,是我们团队的优势。”陈炜鹏说道。那百川智能(以下简称“百川”)具体是如何解答“大模型研发”这道题的呢?


大模型冷启,分阶段评估


回顾当初,OpenAI 的 GPT-3.5 在全球范围内爆火的时候, 国内对怎么做大模型还没有形成很好的共识。


基于 BloomZ、OPT(Open Pretrained Transformer)、Llama,还是自己设计模型结构,这其实是两种不同的大方向,不同公司的路径都不一样。百川要做的第一个决策也是要选择从零做起的冷启动,还是基于 Llama 训练的热启动。


这个选择其实对百川来说几乎不需要犹豫,答案肯定是要从头开始做起。


逻辑很简单:热启动可能遇到的诸如新数据与之前数据的配比、合并,中英文能力平衡等问题,虽然可以提升团队在数据、模型能力、训练技巧等方面的认知,但是并不能给团队带来价值更高的技术栈认知。对于百川这样的创业技术团队来说,只有自己跑通大模型的整个技术栈,掌握完整的 pipeline,才可以真正把技术沉淀下来。


冷启动是风险更高的选择,百川接下来就是要想办法把研发模型的风险降到最低。


对此,团队的想法是一个小模型的结果能不能映射到大模型上,先用小成本模型验证后再进行大量投入。比如对于数据的多样性、规模和质量哪个更重要的问题,团队就是在提出假设后先用小模型做了验证。


百川技术团队选定了某一模型结构后,做了小、中、大三种参数的模型,然后观察不同参数之间的表现是否存在线性关系,如果符合 scaling law,后续就可以用该结构继续做各种数据实验、训练框架调优等。现在看,这条路百川走通了。


为了提升整体研发的成功率,百川团队把不同阶段的研发问题转化成为了评估问题,具体来讲就是把整个模型的研发过程拆分成了不同的阶段,并在每个阶段完成后用对应的方式进行评估。


在陈炜鹏看来,拆分和评估做得好,意味着团队对整个问题的理解和定义会更好,可以给整体研发带来明确的方向和效率提升。


“如果不能给当下的研发任务进行有效评估,而是通过最后大模型的效果来证明,势必会导致整个研发链条非常长,难以及时将研发工作转化为有效认知,进而导致整个团队的认知迭代非常慢、效率非常低。”陈炜鹏解释道。


好的评价结果意味着团队掌握了这个认知。因此,百川花了很多精力去做模型能力评估。“只有知道怎么评估,才能知道要往哪走、要怎么做。”


在效果评价方面,行业里有各种各样的测评榜单。企业每次发布大模型时都会介绍自己的 Benchmark 结果、对齐结果。实际上,大模型评估也是一个动态发展、跟模型能力强关联的演变过程。


很多 Benchmark 只能阶段性地反映模型能力。去年大家关心 MMLU 这种更偏知识类的测评和侧重数学能力的 GSM8K;去年下半年至今,大模型评测更是深入到了指令跟随、工具调用、多步推理能力、逻辑自洽性,甚至是否具备时间理解能力等方面。


“我们研发期间是想跳出现在的公开评测,自己去定义指标和任务的。”陈炜鹏进一步说到,“参考外部评测主要是为了知道自己在业内大概什么水平,但更重要的是能定义自己的 Benchmark,能够自己定义评估标准代表了一个企业对大模型的理解和技术方向。”


早期,很多评测标准是由高校、头部企业定义的。比如 OpenAI 提出的 GSM8K,就与其对模型能力的定义和想象有关。当 OpenAI 公布自己的测评标准时,自己在内部已经跑通了一段时间,一定程度上这也意味着企业已经有了超越行业的认知。而头部企业对大模型能力的理解也会在业内达成共识。


大模型训练,从效率到成本


“整个大模型研发,其实是一个从经验科学到数据科学的过程。”陈炜鹏说道。


大模型训练上,业内比较依赖 Megatron-LM、DeepSpeed 等分布式训练框架,这方面大家是相似的。而不同公司大模型训练的的差异在于训练框架解决不了的训练效率、稳定性和容错等问题。


训练效率或者推理效率是一种支撑性的技术。提升训练效率主要是提升整个机器的利用率,业内已经做了很多工作,比如并行策略、调优等。


训练效率不同的公司千卡利用率是不同的,百川千卡集群的利用率目前在 60% 以上。而大模型里涉及到很多 pipeline 和不确定性,使用工具做好过程管理非常重要。当集群出现故障时,需要及时发现并恢复。诸如此类才是大模型厂商技术比拼的点。


当然一些工具很大程度上可以起到提效作用,但真正的核心竞争力来自于认知,认知的差异则来自厂商对整个模型关键问题的定义。


比如重点研究多模态的企业,就会重点研发语言能力与不同模态怎么做结合等。因为从语言模型走到多模态模型的不确定性是显著增加的,而整个行业对如何做统一建模并没有确定的答案,需要企业做大量的实验。


与此同时,这一年多以来,大模型训练的重点也在发生变化。


去年的时候,行业更关心训练效率,对于推理成本没有特别多关注。“我觉得,去年整个竞争并没有非常激烈,因为当时模型的效果是最大的障碍,这种情况下,大家并没有非常关注推理成本。”


到了今年,业内显然开始更加关注推理成本。核心的原因是当前的模型能力已经在很多场景中具备较好可用性。这种情况下,当大模型开始落地时,大家的焦点自然就会转移到成本上。


百川团队现在也在探索如何在相同的推理成本下提升模型能力上限。比如对齐阶段遇到的能力平衡问题,研发团队要做的是围绕不同的能力方向,训练好几个模型,然后再把多个模型整合成一个模型。在选择哪个模型回答问题上,百川没有使用粗暴投票的方式,因为这会显著增加推理成本。


整个大模型推理加速优化上,Infra 层很难有数量级的优化,这个可能性几乎不存在,所以很多优化都是算法层面的优化。在这些优化措施中,效果加速度最大的方式是在模型结构不变的情况下提升模型的能力上限,其次是改变模型结构,获得与之前差不多的效果,但成本比之前更低;最后则是算子层或框架层的优化。


这与之前机器学习成本优化方面的规律一样,算法提升带来的成本下降比工程层面的要更显著,但技术实现也更难。


提升模型本身的能力是降低推理成本效率最高的方式,比如以前用千亿的模型,可能未来百亿的模型就能得到千亿模型相同的效果。较小参数规模的模型能够媲美更大参数模型的原因在于对数据质量的提升,比如 1 篇文章能讲清楚 10 篇文章论述的事情,就是更高质量的数据。


大模型训练是基于现在看到的数据分布建模,而所有数据内容是我们对整个世界的投射,也可以说是对整个世界“打点”,打的这个“点”存在大量重复的内容,如果能够找到一种方式,用最少的数据把整个世界描述清楚,那效率一定是更高的。


现在采样数据还是用已有的知识描述整个世界,能用最小的篇幅把整个世界描述清楚,也是合成数据的价值之一。对于合成数据可能带来的数据噪声问题,陈炜鹏认为,数据存在噪声不一定是灾难性的,正确数据的规律性比错误数据的规律性更强,大模型能够学习到这个规律,所以存在一定的抗噪能力。


“核心的问题是现在的数据构建方式并没有产生新的智能。”陈炜鹏指出。大部分数据合成的工作,都是在让小模型更接近大模型。但是很少有人提出数据合成的方法能给大模型能力带来显著提升。


合成数据只是做到这种程度的话,只能是提效。只有构建的数据能够超越现在的质量、超越现在的分布,合成数据才有可能带来智能的进一步提升。不过,合成数据能不能创造更高的智能,如今还是一个比较开放的问题,虽然重要,但大家都没有找到通用解法。


“整个大模型的发展还挺有意思的,它既是一个 infra 问题,也是一个算法问题。”陈炜鹏说道。


行业之前取得的大的进展,本质上都是在工程上突破,而不是在算法上。很大程度上,当模型结构确定后,infra 层的价值可能比算法层的价值更大。


在 scale up 假设下,大模型越来越大,国内一些企业选择万卡互联,这对 infra 层面的挑战非常大。而像语言与多模态之间结合等没有达成高度共识的实现方式上,算法还有很大的探索空间。


对于大模型更高的算力要求,陈炜鹏是比较乐观的。“现在有三股力量在解决这个问题,一是芯片层,他们自身的动力是非常强的。另外就是在 infra 层和算法层,infra 层跟芯片层配合、算法层就是在模型结构里面做一些工作。”


迭代的本质:智力、应用


与百川一样,市面上其他模型也都进行了多次大版本迭代,但大家在发布的时候,还是围绕各种基本能力的提升,业内的人可能能够更好理解提升数据,但行业外的人对于代际的差异比较后知后觉。


陈炜鹏对此解释道,基座模型最关注是本身的智能水平,具体表现上没有特别多可差异化的点,真正产生代差的是模型之间的智力水平。


以 GPT-4o 为例,GPT-4o 比 GPT-4V 在应用层的想象空间打开了很多,但 GPT-4o 并没有被命名为 GPT-5,因为它们的智力水平某种程度上还在同一个水平。


对于热门的长窗口、推理优化等,陈炜鹏认为,这些只能带来短时间的差异化,在半年以上的周期里,这些差异都会抹平。“整个行业里,我觉得大家某种程度上把长文本窗口这个事情‘神话’了。”陈炜鹏提到,“在我的理解里,上下文窗口大家更多的工作是工程上的,算法层的突破非常有限。”


另外,大模型厂商在基座模型的迭代期间,其实也已经考虑到了未来自家大模型可能的应用方向。


“大家既要在智力水平上拉开差距,还要在应用上找到差异。这就是守正出奇的逻辑,‘守正’就是我能不能够在智力水平上跟别人产生代差,‘出奇’就是出于对技术成熟度和产品的判断,来决定我差异化的功能是哪些。”陈炜鹏表示。


陈炜鹏举了一个比较形象的例子。大家要制造一个 super man,首先要知道它要具备什么样的能力,然后从 AI 本质出发需要怎样的底层支持,类似有没有比现在 token predict 更超前的方式等非常本质的问题。


这之后,人们会考虑 super man 除了有一个非常强大的大脑外,还需要具备哪些能力。到了这一步,大家就会有各种各样的定义。实际上,这时大家已经转换到了另外一个视角,即应用层,从应用层获得各种对应的能力。


也就是说,相同的智力水平下能够做出什么样的产品,这与企业对应用的想象有关。比如企业重视长文本能力的应用就会在上下文窗口上投入更多。


因此,总的来看,很多大模型研发决策是 AGI 视角和应用视角交错下的产物,只是不同的公司在不同视角里的投入有所差别。


以百川为例,Baichuan 3 的定位虽然还是基座模型, 但在医疗方面做了加强。


一方面,百川团队发现模型训练过程中,语言能力、知识能力的提升是快收敛的,逻辑推理能力的提升也比较慢,且周期较长。而医疗是一个既包含知识,又包含复杂推理过程的场景,可以很好地衡量大模型能力。


另一方面,百川也很在意医疗场景里模型的表现,这个就与其对模型应用的想象有关系。模型是要面向应用的,大模型厂商认为哪些场景重要,就会希望模型这方面的能力达到业内领先,带来应用优势。


为此,百川增强了大模型在医疗这个垂直场景的能力。百川团队先是深入到这个领域里做行业理解,之后花了很多精力解决场景的数据构建和数据配比的问题。


但有一点是毋庸置疑的,就是未来信仰 scaling law 的大模型厂商,发布节奏可能不会像去年那么快了。


就像王小川说的,“如果想达到智能,从现在的路径来说我们必须 scale up ,但 scale up 不一定会带来智能。不管怎样,这个事情我们得做。”而随着模型规模的增加,整个计算的复杂性、所需的数据量、背后依赖的算力资源等都要有数量级增加,这无疑是会拉长研发周期的。


王小川在 Baichuan 4 的发布会上就表示,以后的发布不会再以月为单位,而是季度,要把时间放到长线做事情。

结束语


时代的浪潮终归会落到每个技术人身上,包括但不只是像陈炜鹏这样的大模型厂商里的技术负责人。


大模型时代,技术人才的画像发生了很大的变化。比如之前的产品经理对用户端的理解非常重要,但现在要做一款好的产品,就不能只关注用户端,还要对当前技术能力的边界、成熟阶段有较好的预判。


现在的大模型技术不像之前的技术那样成熟,历史的经验不一定能够非常好转化为生产力。一个人有很强的发现新问题、定义新问题、解决新问题是更重要的能力。因此,百川也会倾向招聘新人、年轻人,“因为我们本身就在做一个很新的事情、要解决新问题,所以很多过去的具体算法经验,在如今场景下并没有那么重要,研究能力才是最重要的。”


目前,百川中的技术人员占整个公司人数的 70%-80%,其中有经验丰富的前搜狗各个业务线最优秀的干将和其他知名科技公司核心 AI 人才,也有越来越多的研发新星。期待汇集了多样人才的百川未来为我们带来更多惊喜。


2024-06-27 18:176817

评论

发布
暂无评论
发现更多内容

百度亮相全球量子信息处理顶会QIP2021 推动全球量子科技进步

爱极客侠

架构师week11总结

Geek_xq

SDS离全面EC(纠删码)还有多远?

XSKY星辰天合

存储

Spring Boot 微服务性能下降九成!使用 Arthas 定位根因

Java架构师迁哥

团队中的三种成员

熊斌

学习 管理 2月春节不断更

为什么联盟链系统没有“激励”?

CECBC

区块链

【得物技术】AB实验设计实现与分流算法

得物技术

算法 AB AB testing实战 实现 得物技术

日记 2021年2月5日(周五)

Changing Lin

个人感悟 2月春节不断更

盘点:2021年最新、最全、最实用的Java岗面试真题,已收录GitHub

Java 架构 面试

Kubernetes 原生 CI/CD 构建框架 Argo 详解!

字节跳动 Kubernetes 云原生 CI/CD argo

第十一周作业&总结

胡益

阿里新晋 CNCF TOC 委员张磊:“云原生”为什么对云计算生态充满吸引力?

阿里巴巴云原生

云计算 容器 微服务 云原生 cncf

2021年前端趋势预测

阿里巴巴 开源 大前端 Web框架 逻辑编排

iMove 基于 X6 + form-render 背后的思考

阿里巴巴 开源 大前端 Web框架 逻辑编排

【百度技术分享】San介绍以及在百度APP的实践

百度Geek说

Java JavaScript feed

架构师week11 作业

Geek_xq

用 JSX 实现 Carousel 轮播组件

三钻

大前端 组件化 JSX

【LeetCode】尽可能使字符串相等

Albert

算法 LeetCode 2月春节不断更

LoraWan的第一个网关与设备

远鹏

物联网 IoT ChirpStack LoraWan

通过配置开关 Spring Boot 中的 @Scheduled 定时任务

和白白

Java 定时任务 springboot

正点原子DS100拆解全过程-硬件工程师必备

良知犹存

嵌入式

威联通(NAS)应用篇:自建OwnCloud网盘(百度网盘,拜拜~~~)

BigYoung

NAS 威联通 28天写作 2月春节不断更

登上 Github 趋势榜,iMove 原理技术大揭秘!

阿里巴巴 开源 大前端 Web框架 逻辑编排

LeetCode题解:529. 扫雷游戏,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

2021最新发布百度云面经总结:Java并发+Redis+数据库+分布式

比伯

Java 程序员 架构 面试 计算机

因果迷境:为什么我们会问“为什么”?

脑极体

F2C能否让前端像运营配置一样开发?

阿里巴巴 开源 大前端 Web框架 逻辑编排

OpenCV--基本的线条操作

IT蜗壳-Tango

七日更 2月春节不断更

即构发布 LCEP 产品「RoomKit」 ,实现房间内0代码接入

ZEGO即构

产品经理训练营第二章作业2

阿波

所见即所得! iMove 在线执行代码探索

阿里巴巴 开源 大前端 Web框架 逻辑编排

一群顶尖搜索人才如何2个月出货,还把GPU利用率干到60%!揭秘百川智能研发大模型这一年_企业动态_褚杏娟_InfoQ精选文章