[{"data":1,"prerenderedAt":401},["ShallowReactive",2],{"article:column:/column/llm-to-agent-learning/11":3},{"id":4,"title":5,"body":6,"description":393,"extension":394,"meta":395,"navigation":396,"path":397,"seo":398,"stem":399,"__hash__":400},"column/column/llm-to-agent-learning/11.md","11｜数据、参数与算力：规模为什么有用，也为什么有代价",{"type":7,"value":8,"toc":375},"minimark",[9,13,16,21,24,27,30,33,39,49,53,56,59,62,65,73,77,80,93,96,99,102,105,108,115,118,121,124,127,131,139,142,145,160,163,171,174,177,181,184,187,195,201,204,207,210,214,222,230,233,236,240,243,251,254,257,260,263,267,272,275,280,283,288,291,296,299,302,307,310,315,318,323,326,331,334,337,342,345,350,353,358,361,366,369,372],[10,11,12],"p",{},"假设你有一笔固定的训练预算。可以训练一个参数很多、但只读少量材料的模型，也可以训练一个小些、但读得更充分的模型。应该选哪一个？只比较名字里的“多少B”，并不能回答这个问题。",[10,14,15],{},"前面已经知道，预训练让模型通过预测更新参数。本章把这件事放到资源限制中：容量、学习机会和计算成本怎样互相牵制，为什么规模研究有用，又为什么不能把一条经验关系当成通用配方。只需要乘除法，就能开始算这笔账。",[17,18,20],"h2",{"id":19},"_1先把三个容易混在一起的量分开","1．先把三个容易混在一起的量分开",[10,22,23],{},"参数量记作N，表示模型里可学习数字的数目。它与模型能够表达多少复杂关系有关，却不是“储存了多少条事实”的计数器。增加参数提供更多可调整的自由度；这些自由度能否变成有用能力，取决于如何训练。",[10,25,26],{},"训练token量记作D，表示训练过程中累计处理的token数。同一段材料读两遍，两遍都会消耗计算，也都会计入这里的D，但独特内容没有因此翻倍。读报告时，应区分语料库规模、实际采样量和重复轮次；不同分词器还会把同一文本切成不同数量的token。",[10,28,29],{},"计算量记作C，可以用FLOPs计数，即浮点运算的次数。它描述完成训练要做多少数值工作。“有多少张卡”描述设备，“每秒能做多少运算”描述速率，“用了多少小时”描述时间，不能互相替换。理论工作量相同，设备利用率不同，也可能耗时不同。",[10,31,32],{},"对于常见稠密，也就是dense Transformer的训练，主要计算量常粗估为：",[10,34,35],{},[36,37,38],"strong",{},"C ≈ 6ND",[10,40,41,42],{},"把乘法与加法各计一次，主要矩阵前向乘加可粗估为每token约2N次运算，处理D个token便约2ND。反向既要传输入梯度，也要求参数梯度，这类矩阵计算粗估约为前向的两倍，即4ND；合起来得到6ND。这个6来自计数口径与近似，不是模型天然必须走六遍。它省略了结构和实现细节，注意力随序列长度变化的开销也不能永远忽略。这是训练计算粗估，不能直接算推理显存、实际电费或服务价格。",[43,44,48],"a",{"href":45,"rel":46},"https://arxiv.org/html/2203.15556v1#A6",[47],"nofollow","Chinchilla原论文，计算量说明",[17,50,52],{"id":51},"_2为什么只增大一项会遇到瓶颈","2．为什么只增大一项会遇到瓶颈",[10,54,55],{},"先想一份需要同时学习语言、事实和多步关系的材料。如果模型能调整的结构太有限，它可能无法把这些模式都表达好；增加训练量有帮助，但未必能替代容量。反过来，一个容量很大的模型如果训练不足，很多潜力也没有被可靠地学出来。",[10,57,58],{},"这不是说存在两只可以单独测量的“知识桶”。真实学习过程里，结构、数据和优化会一起作用。这个比喻只是提醒我们：增大模型和延长训练解决的是不同限制，不能认定其中一项总比另一项划算。",[10,60,61],{},"所谓scaling law，通常是研究者在一系列受控实验中发现的规模与表现之间的经验关系。先训练若干较小模型，改变参数量与数据量，测量损失，再拟合趋势，用来估计更大预算下值得尝试的配置。它的价值是减少昂贵试错，不是免除验证。",[10,63,64],{},"假设每次资源翻倍，都能按某个比例缩小尚可降低的损失，那么曲线会继续改善，但同样大小的改善可能越来越贵。这提供了“收益递减”的直觉。真实指数必须由实验估计；语言平均损失的平滑下降，也不能推出某一道推理题会按同样比例变准。",[10,66,67,68],{},"更要注意实验条件。换数据分布、架构、优化设置或计算量口径，原来拟合的关系可能需要重新校准。研究者对不同规模研究的差异作过复查，指出末层计算、预热时长和优化器调参等会改变结论。经验规律可以很有用，同时保留适用条件。",[43,69,72],{"href":70,"rel":71},"https://arxiv.org/abs/2406.19146",[47],"规模规律差异研究",[17,74,76],{"id":75},"_3在纸上分配一笔固定预算","3．在纸上分配一笔固定预算",[10,78,79],{},"下面所有数字都是教学假设，不是真实训练建议。B表示十亿。我们比较三种方案：",[81,82,83,87,90],"ul",{},[84,85,86],"li",{},"A：2B参数，训练80B token",[84,88,89],{},"B：4B参数，训练40B token",[84,91,92],{},"C：8B参数，训练20B token",[10,94,95],{},"三者的ND都是160×10¹⁸；乘以6，粗估训练计算都是9.6×10²⁰ FLOPs。参数翻倍时，把训练token减半，就能在这个简化式里维持相同预算。到这里还没有得出谁更好，因为预算等式没有包含效果。",[10,97,98],{},"为了让比较可解释，暂时固定架构家族、分词与token口径、数据分布、训练目标和评测集；允许变化的是N与D。若另一个方案改变了上下文长度、数据质量或优化配置，6ND相同仍不足以声称“除了大小以外完全公平”。真实试验也要给各规模合理的调参机会，并说明这些试验成本是否在预算内。",[10,100,101],{},"为了亲手体会两种瓶颈，再人为定义一个教学分数。令n＝N÷2B，d＝D÷20B，分数S＝1/n＋1/d，越低越好。第一项代表容量不足的惩罚，第二项代表训练量不足的惩罚；这两个惩罚都是我们刻意设定的。",[10,103,104],{},"A的n＝1、d＝4，分数是1＋0.25＝1.25；B的n＝2、d＝2，分数是0.5＋0.5＝1；C的n＝4、d＝1，分数是0.25＋1＝1.25。中间方案获胜，是因为我们写下了这种对称关系，不是因为4B有特殊魔力。",[10,106,107],{},"预算约束在这组单位下就是nd＝4，因此d＝4/n。代入教学分数，得到S＝1/n＋n/4：n越大，第一项下降，第二项上升。把两项画在同一坐标里，才看得见“折中”从哪里来。",[10,109,110],{},[111,112],"img",{"alt":113,"src":114},"11｜数据、参数与算力：规模为什么有用，也为什么有代价：图1","/collections-assets/llm-to-agent-learning/41b1c9dedfc11494918d6dd5d5c4602f8836b7138054777f46b6f0b02f316f61.png",[10,116,117],{},"图1｜上方分解6ND的计数近似，下方画固定nd＝4时的人工目标S＝1/n＋n/4。三点为A（1，1.25）、B（2，1）、C（4，1.25），B仅在这些教学假设下领先；曲线不是实测损失或Chinchilla拟合。",[10,119,120],{},"你可以再把第一项改成2/n。A、B、C的分数就变成2.25、1.5、1.5，原来唯一领先的方案不再唯一。这个改动说明，认为哪种瓶颈更严重，会改变预算选择。真实研究不能随意填系数，要用实验估计，再在新规模上检验。",[10,122,123],{},"把纸笔分数换成真实实验时，应给每种方案相同的评测机会。例如，事先留出一组从未参与训练的新闻、说明文和数学题，记录语言损失，也记录各类任务的表现。若A在平均损失上最好，却在你最关心的数学题上落后，选型仍不能只看一个平均数。这是假设评测安排，没有暗示三种方案的实测名次。",[10,125,126],{},"还可以问预算增加一倍该怎么办。在6ND近似中，保持N不变、把D翻倍是一种方法；保持D不变、把N翻倍是另一种；两者都乘约1.414，乘积也约翻倍。三条路都满足算术，却沿着不同方向探索能力。原来的最优点只回答原来的预算，不能因此把新预算全部投入同一项。",[17,128,130],{"id":129},"_4chinchilla真正改变了什么问题","4．Chinchilla真正改变了什么问题",[10,132,133,134],{},"2022年的Chinchilla研究强调：固定训练计算预算下，模型不应只追求更大，还要获得足够训练。论文用大量不同配置拟合关系，并训练了70B参数、1.4T训练token的Chinchilla；在与280B的Gopher相当的训练计算预算下，它在所报告的多项评测中表现更好。T表示万亿。",[43,135,138],{"href":136,"rel":137},"https://arxiv.org/html/2203.15556v1",[47],"Chinchilla原论文",[10,140,141],{},"这支持了“预算分配很重要”，并没有证明小模型永远胜出。两者除了规模和训练量，还有数据配比、优化器等差别；应结合论文中的系列实验理解结论，而不是把最后两个模型当成只改变一个变量的完美对照。",[10,143,144],{},"一条经验律需要经历：先定评价目标与预算口径，设计多个可比配置，测量留出损失，拟合关系，再用尚未参加拟合的规模检验外推。拟合的是特定实验中的趋势；即使曲线平滑，也不能跳过最后一次验证。",[146,147,148,152],"details",{},[149,150,151],"summary",{},"选读：把真实拟合与教学评分分开",[10,153,154,155],{},"一种研究用的表达式是L≈E＋A/N^α＋B/D^β。E表示该拟合中的不可约部分，另两项表示与有限参数和训练量相关的损失项；A、B、α、β需要从实验估计。本章人工设置的S没有这些实测依据，更不能拿它的最优点替代真实训练配置。给N或D换单位时，系数也需对应调整。",[43,156,159],{"href":157,"rel":158},"https://arxiv.org/html/2203.15556v1#S3.SS3",[47],"Chinchilla参数化拟合",[10,161,162],{},"用1.4T除以70B，得到每个参数约20个训练token。这个数字常被简化成口令，但它不是每个参数只需读二十次的内部机制，也不是达到这个比例就自动学完。它属于特定研究条件下的规模量级，不能跨架构、跨数据、跨目标直接照搬。",[10,164,165,166],{},"“计算最优”还必须问：最优的是哪笔账？若目标是固定预训练计算下的预测效果，就比较这一阶段的配置。若一个模型以后要被调用很多次，则可以考虑训练得更久，让较小模型达到目标质量，再节省长期服务资源。相关研究专门考察了这种超出训练计算最优配比的更长训练。",[43,167,170],{"href":168,"rel":169},"https://arxiv.org/abs/2403.08540",[47],"更长训练与推理成本研究",[10,172,173],{},"这里的“更长训练”不等于第5章说的过拟合。前者描述相对于某种预算最优点的训练量，后者描述对训练数据贴合却不能泛化；二者需要分别看，不能只凭一个“过”字混为一谈。",[10,175,176],{},"如果一个固定模型继续训练时，训练损失下降而独立验证表现停滞，就应检查重复、覆盖和过拟合，而不是仅凭“规模规律仍向下”继续加码。若训练和验证都还在稳定改善，也只能说明当前区间有收益，不能证明剩余预算怎样花都值得。每一次外推都需要新的证据；范围越远，不确定性越大。",[17,178,180],{"id":179},"_5数据很多为什么仍可能不够用","5．数据很多，为什么仍可能不够用",[10,182,183],{},"拿十张等长纸卡，分别写A、A、A、B、B、C、D、E、F、G，每个字母代表一张完整内容。你处理了十张，但只见到七种内容。去掉三个重复副本，再把七张读两遍，累计处理十四张，独特内容仍是七种。",[10,185,186],{},"现实训练里，重复并非必然没用。模型可能尚未学会这段材料，多读一次还会改善；某类稀缺材料也可能被有意提高采样频率。但重复一千次同一答案，不能替代一千种新问题。重复还会改变数据的实际权重，让某些措辞或主题被异常强调。",[10,188,189,190],{},"精确去重查找相同内容，近似去重尝试发现改写、转载或模板重复。还要检查训练材料和测试题之间的重叠，否则“读得更充分”可能只是见过试题。去重研究在其实验中发现，减少重复有助于降低记忆性复述和训练测试重叠；这并不意味着所有数据集都会获得同样收益。",[43,191,194],{"href":192,"rel":193},"https://arxiv.org/abs/2107.06499",[47],"数据去重研究",[10,196,197],{},[111,198],{"alt":199,"src":200},"11｜数据、参数与算力：规模为什么有用，也为什么有代价：图2","/collections-assets/llm-to-agent-learning/52ed028a53968430460054fe88a1c9e2de6b346ace72ffc426c4263d21156219.png",[10,202,203],{},"图2｜十张等长卡有七种内容；去重后读两轮产生十四次处理，独特内容仍为七种。图中同源改写放在同组，分开记录数据处理量与评测隔离。真实训练还要按token长度与采样次数计数。",[10,205,206],{},"质量也不是一把永远正确的筛子。只保留语法工整的长文，可能丢掉口语、方言或真实用户的残缺输入；只增加考试题，可能让其他用途的覆盖变差。数据处理需要同时考虑可信度、任务覆盖、多样性、隐私和授权，不能把“看起来像教科书”当作唯一质量标准。",[10,208,209],{},"合成数据同样要问这些问题。机器可以生成大量练习，但若错误没有被识别，或者只是反复改写已有套路，数量增加不等于新知识增加。哪些题需要准确答案、哪些步骤可以验证、哪些分布原本就缺失，都影响它能否补上真正的瓶颈。",[17,211,213],{"id":212},"_6把三个量放回公开模型报告","6．把三个量放回公开模型报告",[10,215,216,217],{},"以2025年公开的Qwen3报告为例，团队描述了约36T token的预训练数据，包含多语言和合成内容，并通过教育价值、领域等维度的标注帮助过滤和配比。这说明报告里的数据工作不仅是“再多收一些网页”。这里引用它作为可核查的代表案例，不表示它是目前最新版本。",[43,218,221],{"href":219,"rel":220},"https://arxiv.org/html/2505.09388v1#S3.SS1",[47],"Qwen3技术报告，预训练数据",[10,223,224,225],{},"DeepSeek-V3报告则列出14.8T token，并说明提高数学、编程材料比例，同时减少冗余、保持多样性。它采用MoE架构，报告671B总参数、每token激活37B。把671B直接塞进面向稠密训练的6ND式子，会混淆“总共拥有多少参数”和“每次实际走过多少计算”。",[43,226,229],{"href":227,"rel":228},"https://arxiv.org/html/2412.19437v2#S4",[47],"DeepSeek-V3报告，数据与结构",[10,231,232],{},"也不能据此断言36T一定优于14.8T。分词器、数据内容、采样方式、架构和训练目标不同，这两个总数不是同一条件下的对照实验。报告若没有公开某项细节，正确做法是保留未知，而不是用参数量补出一个貌似精确的成绩。",[10,234,235],{},"读报告时还可以做一张很小的记录卡：模型版本、参数口径、token口径、数据处理、评测条件。某份报告给的是原始收集量，另一份给的是训练实际消耗量，先把两个栏位分开。若总成本只含一次正式训练，也不要当成包含前期试验、数据处理和长期服务的完整成本。数字本身可能准确，口径错配仍会让比较失真。",[17,237,239],{"id":238},"_7大规模的收益也要带着代价一起读","7．大规模的收益，也要带着代价一起读",[10,241,242],{},"计算次数只是资源的一部分。权重、训练状态和中间激活需要存储；设备之间要交换数据；长时间任务需要处理故障、保存检查点。更大集群不保证按设备数量线性加速，等待通信和读写时，算术单元可能没有充分工作。",[10,244,245,246],{},"用一个串行教学任务算清这种限制：原来数值计算花6秒，随后读写与通信花4秒，两部分不能重叠，共10秒。若只把数值计算速度提高到原来的2倍，任务仍需6÷2＋4＝7秒，整体加速比只有10÷7≈1.43。即使把计算时间压得很小，那4秒仍会留下来。真实系统可能把通信与计算重叠，不能照抄这个加法；需要测量完整任务中各部分的实际耗时，再判断瓶颈。这与软件性能分析面对的是同一个约束：优化了局部，不代表整体按同一比例改善。",[43,247,250],{"href":248,"rel":249},"https://docs.pytorch.org/tutorials/recipes/recipes/profiler_recipe.html",[47],"PyTorch性能分析工具的计时说明",[10,252,253],{},"还应把硬件上限与数据上限分开。买到更多计算资源，并不自动获得更可信或覆盖更广的材料；已有更多材料，也可能受限于时间，来不及充分处理。若稀缺的是某个专业领域的可靠示例，把无关网页堆得更多，未必补上那块空缺。所谓扩规模，始终需要说明扩了什么，以及它是否正好对准当前瓶颈。",[10,255,256],{},"对使用者来说，关键还包括响应时间、可部署设备、领域可靠性和总成本。一个通用模型在平均评测上更强，不代表它在你的工作中更划算。若问题只是缺少最新资料，增加参数也不如提供正确资料直接；若必须输出可靠字段，仍需要明确任务和检验结果。",[10,258,259],{},"因此，看到一份“更大”的发布说明，可以依次问：增大的是总参数、激活参数还是训练量？比较时固定了什么？效果用什么任务验证？成本指训练、部署还是长期服务？这些问题比记住一个规模阈值更有用。",[17,261,262],{"id":262},"本章练习",[264,265,266],"h3",{"id":266},"题目",[10,268,269],{},[36,270,271],{},"问题1｜预算相同意味着什么",[10,273,274],{},"分别计算2B×80B、4B×40B、8B×20B的6ND；列出两项还需固定或报告的比较条件。它能证明效果或墙钟时间相同吗？",[10,276,277],{},[36,278,279],{},"问题2｜改变目标，重算排序",[10,281,282],{},"在nd＝4、S＝1/n＋1/d的教学目标下，计算n＝1、2、4的分数。若容量项改为2/n，三点各多少？哪种结论必须随之改变？",[10,284,285],{},[36,286,287],{},"问题3｜材料量与处理量",[10,289,290],{},"十张等长卡为A、A、A、B、B、C、D、E、F、G。去重后读两遍，累计处理与独特内容各多少？训练超过每参数20个token是否必然浪费？",[10,292,293],{},[36,294,295],{},"问题4｜局部加速能省多少时间",[10,297,298],{},"一个任务依次花6秒计算、4秒读写与通信，两部分不能重叠。如果只把计算速度提高到原来的3倍，总耗时和整体加速倍数各是多少？把计算继续提速，为什么仍不能任意缩短总耗时？",[264,300,301],{"id":301},"思考提示",[10,303,304],{},[36,305,306],{},"提示1｜对应问题1",[10,308,309],{},"分开计算次数、训练质量和硬件速度，并检查D的定义是否一致。",[10,311,312],{},[36,313,314],{},"提示2｜对应问题2",[10,316,317],{},"先由预算求d，再分别代入两个评分函数。",[10,319,320],{},[36,321,322],{},"提示3｜对应问题3",[10,324,325],{},"处理次数可以重复累计，独特内容不能；经验配比还依赖目标是哪笔成本。",[10,327,328],{},[36,329,330],{},"提示4｜对应问题4",[10,332,333],{},"只缩短被优化的那一段，再加上不变部分；整体加速倍数用旧总耗时除以新总耗时。",[264,335,336],{"id":336},"参考答案与解析",[10,338,339],{},[36,340,341],{},"答案1｜对应问题1",[10,343,344],{},"三者ND均为160×10¹⁸，6ND均为9.6×10²⁰ FLOPs。可接受的条件包括架构、tokenizer与计数口径、数据分布、序列长度、优化设置、评测集或调参预算。该近似只说明主要训练运算量可比，不能证明效果相同；设备利用率、通信等也会改变墙钟时间。",[10,346,347],{},[36,348,349],{},"答案2｜对应问题2",[10,351,352],{},"d依次为4、2、1；原S为1.25、1、1.25，B领先。改后分数为2.25、1.5、1.5，B与C并列，因此“B唯一领先”必须撤回。这里的系数和目标均人工规定，不是真实最优规模结论。",[10,354,355],{},[36,356,357],{},"答案3｜对应问题3",[10,359,360],{},"去重后七种内容，读两遍累计十四份；若卡片不等长，还需逐份按token计数。超过20并不必然浪费：该比例有特定研究条件，为节省长期推理成本也可能训练更久；是否值得要看目标质量、验证表现与总成本。",[10,362,363],{},[36,364,365],{},"答案4｜对应问题4",[10,367,368],{},"总耗时为6÷3＋4＝6秒，整体加速为10÷6≈1.67倍。只优化计算时，总耗时仍受不变的4秒限制；计算时间趋近0，整体加速也只趋近10÷4＝2.5倍。这些结论依赖两段串行、不重叠且读写与通信耗时不变的题设。",[17,370,371],{"id":371},"下一章",[10,373,374],{},"如果模型拥有的参数，不必在每个token上全部执行，这张稠密预算表还够用吗？下一章沿着MoE的一条实际路径，分开统计总参数、激活参数、整批负载与存储。",{"title":376,"searchDepth":377,"depth":377,"links":378},"",3,[379,381,382,383,384,385,386,387,392],{"id":19,"depth":380,"text":20},2,{"id":51,"depth":380,"text":52},{"id":75,"depth":380,"text":76},{"id":129,"depth":380,"text":130},{"id":179,"depth":380,"text":180},{"id":212,"depth":380,"text":213},{"id":238,"depth":380,"text":239},{"id":262,"depth":380,"text":262,"children":388},[389,390,391],{"id":266,"depth":377,"text":266},{"id":301,"depth":377,"text":301},{"id":336,"depth":377,"text":336},{"id":371,"depth":380,"text":371},"从信息表示和学习出发，用可核算的例子与白板图逐步理解大模型、后训练、推理和Agent系统。","md",{},true,"/column/llm-to-agent-learning/11",{"title":5,"description":393},"column/llm-to-agent-learning/11","df5V_X05x0Es9BTSq9nM2mNU-OsTjWmqOqUyTEkNdRA",1791935828762]