如果你在看算力互联,却不知道AI 训练 GPU卡和卡之间到底在传什么,那这篇一定要看完,会了解为什么互联非常重要
不论是投资 $NVDA $MRVL 等一众算力互联标的,还是 AI Infra 学习,收藏搞懂我这篇帖子,对你帮助都一定会很大。过程中所有的讲解,我都放到这幅图里了
上一篇我讲了推理的时候 GPU 在干什么,这一篇讲训练。为什么训练一个模型要几百几千张卡?卡和卡之间每一步到底在传什么?这个帖子是我认真整理的多卡训练内部流程,看懂了它,你再看英伟达为什么卖整机柜、卖 NVLink,会更有体感
1/ 我先来说两个词
> NVLink:卡和卡之间的高速通道,不用绕主板上的 PCIe。一台 8 卡 A100 服务器里,8 张卡两两全互联
> NCCL:英伟达的卡间通信库,负责在这条通道上搬数据。它只会搬字节,不认识“这是哪一层的权重”
多卡训练时,卡和卡之间主要搬两样东西。一样是梯度:几张训练卡各算各的,每一步都要凑到一起取平均,这叫 all-reduce。一样是权重:训练卡改完以后,要发给负责写答案的卡,这叫广播
你可以大致粗略地记一句话:训练卡负责改权重,写答案的卡负责用权重,NCCL 负责把改好的权重送过去。送得越快,卡就越不用干等
2/ 那强化学习训练的时候,GPU 到底在干什么?
以现在最主流的 GRPO 为例,每一步就三件事:让模型对一批题写答案;按对错打分、算梯度、改权重;再把新权重交给写答案的那一份模型。我把一张卡和多张卡怎么干这三件事画进了一张动图,分三段
1. 一张卡上,写答案和训练只能轮流来,训练占了八成时间。非常难,训练和推理学(两项任务)会相互阻塞,因此我们需要多看
2. 多卡先分工,一部分卡专门写答案,一部分卡专门训练。卡要加在慢的那一侧:训练这侧加卡几乎线性变快;写答案这侧加卡几乎不变快,因为一批答案要等最长的那份写完。通常我们有一些 tricks,比如轮到下一轮继续生成,或者直接丢弃
3/ 先过一遍第一段:1 张卡 vs 6 张卡
① 单卡:一步要写 128 份答案(8 道题,每题 16 份),再分 8 轮训完,最后把新权重拷给负责写答案的推理引擎 vLLM。显存里同时放着两份权重,一份用来写,一份用来训
② 6 张卡:2 张专门写答案,各写一半;4 张专门训练,每张放一份完整的模型,128 份答案平分,每张只训 32 份。这叫数据并行(DDP)
③ 4 张训练卡喂的答案不一样,算出来的梯度也不一样,就是图里高高低低的红柱子。所以改权重之前,要先经 NVLink 把梯度取平均,4 张卡拿到同一个梯度,改出同一份新权重
④ 新权重只由其中 1 张广播给 2 张写答案的卡,另外 3 张不用重复发
以 1.5B 的小模型为例,这一步可以把单轮训练从 14.85 秒降到 5.68 秒
但是我们从图上来看,在训练的时候推理卡就会停掉,存在潮汐问题。因此,聪明的研究工程师开始想如何让两边并行起来,榨干 GPU 的潜力
4/ 第二段:边训练边生成
训练卡训第 t 批的时候,写答案的卡用手上的旧权重,先把第 t+1 批写出来,这叫“落后一版”
修正办法叫重要性采样:写答案时把每个 token 被抽中的概率记下来,训练时用新权重再算一遍,按两者的比值给每个 token 加权,比值太大的按上限clip,防止偏移太大
5/ 第三段:权重到底是怎么传过去的
① 推理完一批,再接收新请求:写答案的卡把手上这一批写完,不在写到一半的时候换权重
② 权重传递预留:训练主进程先用 HTTP 告诉 vLLM,这次要传 338 个张量,各叫什么、什么形状、什么类型,对方照着清单开好空位。这一步走 CPU
③ NCCL 广播:打包成大块,从 GPU2 的显存经 NVLink 直接进 GPU0、GPU1 的显存,一发两收
④ 权重装载:vLLM 按名字把张量放回去,q、k、v 三块拼成一块,fp32 转成 bf16
⑤ 清缓存,改版本:旧权重算出来的 KV 缓存作废,版本号加一,接着写下一批
其中 NVLink 上真正搬 6.17 GB 只要 0.027 秒,其余时间花在报清单、装载和清缓存上
想搞投资,相信你看到这儿已经差不多都懂了。我们以小模型为例,训练的时候,卡和卡之间每一步都在搬几个 GB:15 亿参数的小模型,传一次权重就是 6.17 GB;大厂的模型大几百倍,要在几千张卡之间搬。微软 MAI 的技术报告里,最大的一次强化学习用了 4,864 张 GB300,4,096 张做推理、768 张做训练。
改成异步以后,新权重每隔几步就得送到整个推理集群,传得慢,推理卡就要闲着,答案也会更旧
想入门训练,我的建议是先把这三段自己画一遍:谁在写答案,谁在训练,权重从哪张卡流到哪张卡。这就是为什么我们说互联非常重要
我会沿着这条主线,结合每天的信息以及具体实践,帮大家搭建起科技到投资中间的这座桥梁
出处
[1] MAI-Thinking-1 技术报告,§3.6.4、§3.6.5 https://t.co/4ifkQ8xHtN
[2] PyTorch 文档,Distributed Data Parallel https://t.co/OjNoKY1ngu
[3] NCCL 文档,Collective Operations https://t.co/CKla8eRxiQ
保存的原文 · 长文
X 阅读
按原发时间浏览 · 时间显示为 Toronto 当地时间
保存说明:除条目另有标注外,正文尚未人工核对 · 图片未保存 · 引用或对话上下文可能不完整。
大盘离新高很近,情绪面却这么低,到底承担了什么样的风险? https://t.co/eUe9PcW1TT
保存的原文
半导体特别是存储 $MU大跌,如何解读这是不是小作文?风险和收益的策略投资如何应对?
一方面是我周报策略中提醒的风险管理问题
当然也有最新报道是下跌之后找原因,因为中国的长鑫技术进步扩产以及SK海力士会长讲话要用扩张建厂来抵抗美光和中国存储厂竞争。
这些新闻都是催化剂,却不能证明所有跌幅都由它造成。媒体网红把复杂的预期变化压缩成“长鑫突破,存储崩了”,容易让投资者误判冲击的性质。
长鑫宣布新架构,不等于明天就能大量交付通过客户认证的服务器内存。良率/成本/可靠性/客户验证,都需要时间。DDR5也不能直接替代HBM,更不能直接拿来解释以NAND为主的SNDK盈利。
但是今天没影响不下调EPS,不等于预期不降低,股票定价看的是未来现金流。如果市场原来相信高毛利能持续四年,现在开始担心只能持续两年,即使下一季度业绩继续创新高,估值也可能先下降。
特别是SK会长讲话更值得关注“需求很强。必须扩产,否则丢份额”
前一句支持当前景气,后一句讲的是供给端不会静止。
对每一家企业而言,扩产保份额都很合理。对整个行业而言,大家同时这么做,就可能逐步缩短稀缺利润的持续时间。资本开支还可能先于新增收入落地,压低自由现金流。
存储投资最容易犯的错误,是把需求的长期增长,直接等同于供应商超额利润的长期延续。
需求决定市场有多大,竞争与资本纪律决定股东能拿走多少。具体颗粒度更细的公司估值区间和投资策略见订阅者内容。搜索 $MU $SNDK
保存的原文 · 长文
最危险的,往往是亏损之后,悄悄改掉自己的投资理由。
短期交易被套,变成“长期投资”。基本面已经改变,变成“耐心持有”。
判断可以修正,但不能为了证明自己正确,不断放宽风险边界。
记录时代记录自己,发了这么多推特,争取把研究与投资中的体会,记成一张图一条原则。
Tigris|买方手记 01 https://t.co/jWweW7bVu3
保存的原文
高处不胜寒,还是空中加油?
空头已回补,场外现金多,牛市未必走完。但场内AI风险敞口集聚,指数不断创新高,市场结构脆弱。
本周三道关口,10月第二周订阅者专享投资策略,已更新
CPI、ASML与台积电财报、Anthropic投资者会。叠加地缘冲突和中期选举博弈,是避险情绪引发高位调整,还是风险释放后出现新的买点?
保存的原文
@aiqinglaide 不信~~
保存的原文
@RYANHINGSHING 手动给你点个赞👍~~
我们研究下雪球😂
保存的原文
就算他是缅A也要定价,我还是觉得中际旭创好
明年将是封装、testing大年。现在过度恐惧政策对中际旭创影响,谁能搓一个我看看?Dr Lin?
保存的原文
诚心请教,感谢感谢🙏
保存的原文
@weihaoandrew 100人都10亿了,绝对不可能那么少
保存的原文
@RYANHINGSHING 😱
保存的原文
@jasonnotes0206 当前credit spread变宽是IR vol上升,然后流动性开始紧缩的结果
保存的原文
撑那么久真的已经是奇迹了
其实他们业务早就全尽量合规,私募基金备案了。只是钱一旦融起来,就没办法脱身了
保存的原文
@huijin253999 @nmctxdy @maxwell_xpp 短期谁敢跟缅A庄去赌缅A啊🤭
保存的原文
@zhuanbull 很多…..
很多……..
保存的原文
@nmctxdy @maxwell_xpp 我赌了5顿饭,周期都是6m-1yr的….
保存的原文
我想请问下推友谁知道国内大概总体零售+ 高净值snowball累计的规模多大么?
大致数量级正确即可(比如对中证1000)
保存的原文
@BernardShaw1985 @Balder13946731 但是你这个还是用静态眼光看问题,比如流媒体150b-200b市场原来也是没有地
视频模型双向飞轮转起来,可以做的事情很多。可以量身定做视频,新的需求就会增加市场规模的
保存的原文
@ThompsonTan1 😂
保存的原文
@StephenNY 而且模型越调试越精准、越到位,可能以后几句简单的形容就能出几分钟甚至更长的全套视频了
这个国产才牛X,搞什么芯片
保存的原文