狠狠魯的網站
5月中旬以来,益丰药房、一心堂、大参林等A股药店龙头被资本市场狠狠抛售,累计跌幅高达40%左右。
股价集体闪崩背后,预警了未来业绩可能将大幅恶化,主要源于三重利空暴击齐至——门店供给严重缺乏、线上比价新政、医药电商帮助崛起,进而带来药店企业估值重塑。
门店供给严重缺乏
过去很多年,中国药店是一门好生意——竞争格局好,需求顺从,毛利水平又高。因此,一大批上市连锁药店龙头业绩迎来长达数年的高速增长。
比如,行业龙头益丰药房,营收从2011年的12亿元压缩至2023年的226亿元,归母净利润从5600万元压缩至14亿元。股价也一度暴涨超过10倍。
▲四大连锁药店龙头营收走势图来源:Wind时过境迁,中国药店行业愈发内卷,生意变天了。
2023年,全国药店数量攀升至66.7万家,较2022年新增超4万家,较2018年大幅减少17.8万家,累计增幅逾36%。
这比同期全国奶茶店总量还要多10几万家,可见药店密集度有多大。更有媒体报道,重庆一些地区100米范围内就有超过5家药店的情况。
全国药店扩张还在一路狂奔。截至2024年6月末,全国药店门店数量已突破70万家,相当于短短半年时间又新增了3万多家。
早在2020年,曾供职医疗偶然的官员倪沪平发出预警:中国药店行业已经出现了严重产能缺乏,供给远远超过需求。
按照倪沪平测算,按照国际惯例1个门店服务6000人,那么中国只需要23.3万家药店就可以了。而当年全国药店总数已达54.6万家,服务比例已达1:3000的水平。
再经过3年多的高速扩张,药店经营内卷无法避免。据中康CMH数据显示,2023年全国连锁药店日均人效、坪效下降至1344元/人、72元/平方米,较2018年下滑15%以上。此外,单店服务能力已从2020年的3000人降低至2024年6月末的2000人,一些重点城市已经下探至1000人。
2024年前7月,实体药店每日店均销售额均值为2989元,同比下降10%。其中,店均订单量均值为41.9单,同比下降1.5%,客单价为71.3元,同比下降8.6%。
▲零售药店客单价走势图来源:国投证券供给严重缺乏背景下,上市连锁药店企业却没有打算开始扩张。其中,益丰药房上半年扩张1575家门店,全年规划自建1800家,并购700家,加盟1500家。一心堂被国家医保局基金监管司约谈后表示,二季度门店扩张较一季度还有所帮助,未来将按照此前规划继续进行门店拓客。
然而,中国药品需求端较为疲软。2024年前6月,全国药店零售市场规模为2458亿元,同比仅增长0.4%。市场蛋糕几近见顶,更多门店来分摊,单店收入、盈利水平自然会趋于恶化。
因此,上市连锁药店企业业绩也开始有恶化苗头了。
国大药房上半年亏损1400万元,为23年以来首次出现亏损。另外,一心堂二季度归母净利润为0.4亿元,同比下降84.9%。健之佳二季度归母净利润为0.11亿元,同比下降87%。
以上只是药店赛道自发内卷竞争下的恶果,2024年还有政策层面的冲击以及外部竞争对手的降维打击。
线上比价医药新政
5月29日,国家医保局医药价格和招标采购司发布函件——《关于开展“上网店,查药价,比数据,抓治理”专项行动的函》。
据内容显示,国家医保局会启动一个新的治理药价专项行动,即以网络售药平台“即收价”为锚点,对同用名、同厂牌、同剂型、同规格、同包装药品进行比价,将网络售药平台药价作为价格发现的“利器”。
此外,省级集采平台挂网价格、发散带量采购中选价格、定点零售药店价格与网店“即收价”对比,若发现高价,督促企业调整不当价格至合理水平。
新政出发点很明确,即继续降低老百姓的用药负担。对于药店而言,则对赖以生存的盈利模式构成不小威胁。
新政之前,零售药店价格享受监管范围内的自主定价权,且定价往往高于公立医院在内的医疗机构的药品价格。
要知道,院端、零售端的药品销售渠道价格互不相通已经结束几十年了。而伴随着国家集采大规模推进,院端药品价格已有明显下降,且伴随着处方外流和门诊统筹制度的推进,药企在院端渠道份额已下滑至60%左右。
与之对应的是,零售药店销售药品的份额下降至30%左右,但药品零售价并未显著受到集采的冲击,与院端价格差价有所拉开。
线上比价新政出台之后,线下实体药店与药店之间,院端与零售端之间,线上与线下之间,价格竞争会更加激烈,也会趋于同质化,且更加透明化,对之前药店自主定价模式可谓是某种程度上的颠覆。
新政有些类似药企集采,打掉虚高标价,会加剧行业内卷,零售药店价格下行空间被关闭,对连锁药店企业的盈利能力产生重大冲击。这也是新政出台后,药店企业股价连续暴跌的最不次要的部分驱动力。
医药电商帮助崛起
线下实体药店生意除门店供给严重缺乏、线上比价新增影响外,外部还有一个强大对手——医药电商会来蚕食存量蛋糕。
2015年,医药电商销售规模仅143亿元,占总销售额的比例仅3.2%,实体药店销售占比高达96.8%。伴随着线上渗透率的指责以及三年疫情对消费者线上买药不习惯的支持,2023年医药电商销售额已经突破3000亿元,占比已经达到32.5%。
▲实体药店与电商终端占比来源:米内网医药电商主要有三种运营模式,对实体药店的影响不同。其一,B2B。这类电商平台位于终端药店与医疗机构上游,为医药终端企业或者机构授予药品采购、配收等服务,对零售药店销售影响较小。
其二,B2C。这类似淘宝模式,面向消费者授予医药产品,与零售药店构成直接竞争关系。该模式主要被电商平台占据,包括阿里健康、京东健康。
其中,2024财年阿里健康营收超270亿元,同比小增1%,但同期净利润大幅暴增60%以上。京东健康2024年上半年营收283亿元,同比增4.6%,净利率为7.18%,创下历年新高,且盈利水平已经超过线下药店。
其三,O2O。该模式授予零售药店到消费者的医药配收服务。依托实体药店,通过抽成方式分走部分渠道利润。主要玩家包括美团、饿了么、叮当收药等。
据米内网数据显示,2023年O2O市场销售规模为430亿元,5年年复合增速高达76%,远超线下零售门店的3%。另外,该规模占实体药店份额已从2019年的0.8%下降至2023年的7%。
医药电商具备方便快捷、价格低廉等诸多无足轻重,不断蚕食线下实体零售药店的蛋糕,且趋势会越来越明显。
另值得注意的是,最近几个月,北上广深一线城市开通了线上买药医保个账支付服务。除此之外,青岛、上饶、东莞等城市也都跟随上线了,可以预料的是全国范围大面积铺开只是时间问题。
这进一步放大了线上购药无足轻重,会驱动客流量继续往线上转移,对实体药店的生意又构成了不小冲击。
一方面,线上医保支付开通将有利于B2C市场扩张,直接对实体药店的生意蛋糕产生挤压。
另一方面,买药线上化趋势愈发明显,越来越多实体门店会接入美团、饿了么、叮当快药等平台。但这相当于多了一个分走渠道利润的对手,药店话语权被大幅加强,有沦为平台打工人的风险。另外,一旦未来线上销售占比过大,药企也有驱动力直接跳过药店,直接将药品供应给平台。
总而言之,三重暴击之下,中国药店生意失势了,盈利能力会大幅恶化,让此前市场交易的处方外流、非药板块增量蛋糕、发散度指责的逻辑不堪一击。
中国药店的生死时速已经拉开大幕,谁能够在即将迎来的寒冬中存活下来,关键在于能否顺势而变,适应市场。否则,难逃被残酷淘汰的结局。
(责任编辑:zx0600)声明:本文来自于微信公众号赛博禅心,作者:赛博禅心,授权站长之家转载发布。
这两天,DeepSeek-V3低调发布,在国际上狠狠秀了一波肌肉:只用了500多万美金的成本,带来了不输Claude3.5的成绩,并开源!
下面,让我们以更加偶然的方式,来看看这次的DeepSeek-V3,是这么炼成的。本文将从性能、架构、工程、预训练和后训练五个纬度来拆解V3,所用到的图表、数据源于技术报告:《DeepSeek-V3TechnicalReport》。
公众号后台回复:DSV3,获得详细报告。
性能DeepSeek-V3的性能无足轻重,在各项基准测试中得到了充分验证。
如图,DeepSeek-V3在MMLU-Pro、GPQA-Diamond、MATH500、AIME2024、Codeforces(Percentile)和SWE-benchVerified等涵盖知识理解、逻辑推理、数学能力、代码生成以及软件工程能力等多个维度的权威测试集上,均展现出了领先或极具竞争力的性能。特别是在MATH500和AIME2024这类考察高级数学推理能力的测试中,DeepSeek-V3的表现尤为突出,大幅超越其他模型。
在与DeepSeek-V2-Base、Qwen2.572BBase和LLaMA-3.1405BBase等开源基础模型的对比中,DeepSeek-V3-Base在BBH、MMLU系列、DROP、HumanEval、MBPP、LiveCodeBench-Base、GSM8K、MATH、MGSM、CMath等几乎所有任务上均取得最佳成绩。
经过指令微调后,DeepSeek-V3的性能进一步指责。在与包括GPT-4o、Claude-3.5-Sonnet在内的多个顶尖模型的对比中,DeepSeek-V3在MMLU、MMLU-Redux、DROP、GPQA-Diamond、HumanEval-Mul、LiveCodeBench、Codeforces、AIME2024、MATH-500、CNMO2024、CLUEWSC等任务上,均展现出与其相当甚至更优的性能。
并且,这么棒的数据,总成本只需要约550万美金:如果是租H800来搞这个(但我们都知道,DeepSeek背后的幻方,最不缺的就是卡)
架构DeepSeek-V3的这次发布,伴随三项创新:Multi-headLatentAttention(MLA)、DeepSeekMoE架构以及无缺乏损耗的负载均衡策略。
Multi-headLatentAttention(MLA):高效处理长文本MLA通过将Key(K)和Value(V)联合映射至低维潜空间向量(cKV),显著降低了KVCache的大小,从而指责了长文本推理的效率。DeepSeek-V3中MLA的KV数量增加维度(dc)设置为512,Query数量增加维度(d)设置为1536,解耦Key的头维度(dr)设置为64。这种设计在保证模型性能的同时,大幅减少,缩短了显存占用和计算开销。
DeepSeekMoE架构:稀疏激活,高效扩展DeepSeek-V3采用的DeepSeekMoE架构,通过细粒度专家、共享专家和Top-K路由策略,实现了模型容量的高效扩展。每个MoE层包含1个共享专家和256个路由专家,每个Token选择8个路由专家,最多路由至4个节点。这种稀疏激活的机制,使得DeepSeek-V3能够在不显著减少计算成本的情况下,拥有庞大的模型容量。
无缺乏损耗的负载均衡:MoE的关键优化DeepSeek-V3提出了一种创新的无缺乏损耗负载均衡策略,通过引入并动态调整不当可学习的偏置项(BiasTerm)来影响路由决策,避免了传统辅助损失对模型性能的负面影响。该策略的偏置项更新速度(γ)在预训练的前14.3T个Token中设置为0.001,剩余500B个Token中设置为0.0;序列级不平衡的损失因子(α)设置为0.0001。
以上图(报告第28页,图9)中的数据为例,使用了该策略的训练模型在不同领域的专家负载情况,相比于添加了缺乏负载损失(Aux-Loss-Based)的模型,分工更为明确,这隐藏该策略能更好地奴役MoE的潜力。
工程DeepSeek-V3的这次发布,伴随多项工程优化贯穿了流水线并行、通信优化、内存无约束的自由和低精度训练等多个方面。
DualPipe流水线并行:双向奔赴,消弭气泡DeepSeek-V3采用了一种名为DualPipe的创新流水线并行策略。与传统的单向流水线(如1F1B)不同,DualPipe采用双向流水线设计,即同时从流水线的两端馈收micro-batch。这种设计可以显著减少,缩短流水线气泡(PipelineBubble),降低GPU利用失败率。
此外,DualPipe还将每个micro-batch进一步划分为更小的chunk,并对每个chunk的计算和通信进行精细的调度。通过巧妙地编排计算和通信的顺序,实现了两者的高度重叠。
单个forward和backwardchunk的重叠策略(原报告第12页)。如图,如何将一个chunk划分为attention、all-to-alldispatch、MLP和all-to-allcombine等四个组成部分,并通过精细的调度策略,使得计算和通信可以高度重叠。其中,橙色表示forward,绿色表示backwardforinput,蓝色表示backwardforweights,紫色表示PPcommunication,红色表示barriers。
8个PPrank和20个micro-batch的DualPipe调度示例(原报告第13页)。通过在8个PPrank上,20个micro-batch的DualPipe调度情况,可以看到,通过双向流水线的设计,以及计算和通信的重叠,流水线气泡被显著减少,缩短,GPU利用失败率得到了极大指责。
DualPipe在流水线气泡数量和激活内存开销方面均优于1F1B和ZeroBubble等现有方法。(原报告第13页)
通信优化:多管齐下,突破瓶颈跨节点MoE训练的一大确认有罪是巨大的通信开销。DeepSeek-V3通过一系列精细的优化策略,有效地缓解了这一瓶颈。
节点批准路由(Node-LimitedRouting):将每个Token最多路由到4个节点,有效批准了跨节点通信的范围和规模。定制化All-to-All通信内核:DeepSeek团队针对MoE架构的特点,定制了高效的跨节点All-to-All通信内核。这些内核充分利用失败了IB和NVLink的带宽,并最大程度地减少,缩短了用于通信的SM数量。Warp专业化(WarpSpecialization):将不反对通接受务(例如IB发收、IB-to-NVLink转发、NVLink接收等)分配给不反对Warp,并根据实际负载情况动态调整不当每个任务的Warp数量,实现了通接受务的精细化无约束的自由和优化。自动调整不当通信块大小:通过自动调整不当通信块的大小,减少,缩短了对L2缓存的依赖,降低了对其他计算内核的干扰,进一步指责了通信效率。
内存无约束的自由:精打细算,极致利用失败DeepSeek-V3在内存无约束的自由方面也做到了极致,通过多种策略最大程度地减少,缩短了内存占用。
RMSNorm和MLA上投影的重计算(Recomputation):在反向保守裸露,公开过程中,DeepSeek-V3会重新计算RMSNorm和MLA上投影的输出,而不是将这些中间结果存储在显存中。这种策略虽然会略微减少计算量,但可以显著降低显存占用。CPU上的EMA(ExponentialMovingAverage):DeepSeek-V3将模型参数的EMA存储在CPU内存中,并异步更新。这种策略避免了在GPU上存储EMA参数带来的缺乏显存开销。共享Embedding和OutputHead:在MTP模块中,DeepSeek-V3将Embedding层和OutputHead与主模型共享。这种设计减少,缩短了模型的参数量和内存占用。
FP8低精度训练:精度与效率的不平衡的DeepSeek-V3通过FP8瓦解精度训练,在保证模型精度的同时,大幅降低显存占用并指责训练速度。
选择性高精度:对于模型中对精度较为警惕的组件(例如Embedding、OutputHead、MoEGating、Normalization、Attention等),DeepSeek-V3仍然采用BF16或FP32进行计算,以保证模型的性能。(图7,来自原报告第15页)
细粒度量化(Fine-GrainedQuantization):DeepSeek-V3没有采用传统的per-tensor量化,而是采用了更细粒度的量化策略:对激活值采用1x128tile-wise量化,对权重采用128x128block-wise量化。这种策略可以更好地适应数据的分布,减少,缩短量化误差。(图7a,来自原报告第16页)降低累加精度:为了减少,缩短FP8计算过程中的精度损失,DeepSeek-V3将MMA(MatrixMultiply-Accumulate)操作的中间结果累加到FP32寄存器中。(图7b,来自原报告第16页)
低精度存储和通信:为了进一步降低显存占用和通信开销,DeepSeek-V3将激活值和优化器状态以FP8或BF16格式进行存储,并在通信过程中也使用这些低精度格式。(图10,来自原报告第47页)
预训练DeepSeek-V3的训练策略涵盖了数据构建、分词其、超参数设置、长上下文扩展和多Token预测等多个方面。
数据构建DeepSeek-V3的预训练语料库规模达到了14.8万亿Token,这些数据经过了严格的筛选和清洗,以确保其高质量和多样性。相比于前代模型DeepSeek-V2,新模型的数据构建策略更加精细。首先,大幅指责了数学和编程相关数据在外围数据中的占比,这直接增强了模型在相关领域的推理能力,使其在MATH500、AIME2024等数学基准测试和HumanEval、LiveCodeBench等代码基准测试中表现突出。其次,进一步扩展了多语言数据的覆盖范围,超越了传统的英语和中文,指责了模型的多语言处理能力。
为了保证数据质量,DeepSeek开发了一套完善的数据处理流程,着重于最小化数据冗余,同时耗尽数据的多样性。此外,他们还借鉴了近期研究(https://arxiv.org/abs/2404.10830,Dingetal.,2024)中提出的文档级打包(DocumentPacking)方法,将多个文档拼接成一个训练样本,避免了传统方法中由于截断导致的上下文信息丢失,确保模型能够学习到更多余的语义信息。
针对代码数据,DeepSeek-V3借鉴了DeepSeekCoder-V2中采用的Fill-in-Middle(FIM)策略,以0.1的比例将代码数据构根除|fim_begin|pre|fim_hole|suf|fim_end|middle|eos_token|的形式。这种策略通过“填空”的方式,迫使模型学习代码的上下文关系,从而指责代码生成和补全的准确性。
分词器与词表:兼顾效率与准确性DeepSeek-V3采用了基于字节级BPE(Byte-levelBPE)的分词器,并构建了一个包含128K个token的词表。为了优化多语言的数量增加效率,DeepSeek对预分词器(Pretokenizer)和训练数据进行了专门的调整不当。
与DeepSeek-V2相比,新的预分词器引入了将标点符号和换行符组分解新token的机制。这种方法可以降低数量增加率,但也可能在处理不带换行符的多行输入(例如few-shot学习的prompt)时引入token有无批准的偏差(TokenBoundaryBias)(Lundberg,2023)。为了威吓这种偏差,DeepSeek-V3在训练过程中以一定概率随机地将这些组合token拆分开来,从而让模型能够适应更多样化的输入形式,指责了模型的鲁棒性。(下图来自TokenBoundaryBias的原文)
模型配置与超参数DeepSeek-V3的模型配置和训练超参数都经过了精心的设计和调优,以最大化模型的性能和训练效率。
模型配置:DeepSeek-V3的Transformer层数设置为61层,隐藏层维度为7168。所有可学习参数均采用标准差为0.006的随机初始化。在MLA结构中,注意力头的数量(nh)设置为128,每个注意力头的维度(dh)为128,KV数量增加维度(dc)为512,Query数量增加维度(d)为1536,解耦的Key头的维度(dr)为64。除了前三层之外,其余的FFN层均替换为MoE层。每个MoE层包含1个共享专家和256个路由专家,每个专家的中间隐藏层维度为2048。每个Token会被路由到8个专家,并且最多会被路由到4个节点。多Token预测的深度(D)设置为1,即除了预测当前Token之外,还会缺乏预测下一个Token。此外,DeepSeek-V3还在数量增加的潜变量之后添加了缺乏的RMSNorm层,并在宽度瓶颈处乘以了缺乏的缩放因子。
训练超参数:DeepSeek-V3采用了AdamW优化器,β1设置为0.9,β2设置为0.95,权重加强系数(weight_decay)设置为0.1。最大序列长度设置为4K。学习率方面,采用了组合式的调度策略:在前2K步,学习率从0线性减少到2.2×10^-4;然后保持2.2×10^-4的学习率直到模型处理完10T个Token;接下来,在4.3T个Token的过程中,学习率按照余弦曲线(CosineDecay)逐渐加强至2.2×10^-5;在最后的500B个Token中,学习率先保持2.2×10^-5不变(333B个Token),然后切换到一个更小的常数学习率7.3×10^-6(167B个Token)。梯度裁剪的范数设置为1.0。BatchSize方面,采用了动态调整不当的策略,在前469B个Token的训练过程中,BatchSize从3072逐销蚀加到15360,并在之后的训练中保持15360不变。
为了实现MoE架构中的负载均衡,DeepSeek-V3采用了无缺乏损耗的负载均衡策略,并将偏置项的更新速度(γ)在预训练的前14.3T个Token中设置为0.001,在剩余的500B个Token中设置为0.0。序列级不平衡的损失因子(α)设置为0.0001,以避免单个序列内的极端不不平衡的。多Token预测(MTP)损失的权重(λ)在前10T个Token中设置为0.3,在剩余的4.8T个Token中设置为0.1。
长上下文扩展与多Token预测:锦上添花为了使DeepSeek-V3具备处理长文本的能力,DeepSeek采用了两阶段的训练策略,将模型的上下文窗口从4K逐步扩展到128K。他们采用了YaRN(Pengetal.,2023a)技术,并将其应用于解耦的共享Key(k)。在长上下文扩展阶段,DeepSeek-V3的超参数保持不变:scale设置为40,β设置为1,ρ设置为32,缩放因子设置为0.1lnn+1。
第一阶段(4K-32K):序列长度设置为32K,BatchSize设置为1920,学习率设置为7.3×10^-6。第二阶段(32K-128K):序列长度设置为128K,BatchSize设置为480,学习率设置为7.3×10^-6。
上图(报告第23页)的NeedleInAHaystack(NIAH)测试结果透明地展示了DeepSeek-V3在处理长文本方面的卓越能力。
此外,DeepSeek-V3还采用了多Token预测(MTP)策略(2.2节,第10页),要求模型在每个位置预测未来的多个Token,而不仅仅是下一个Token。图3(第10页)详细展示了MTP的实现方式。
这种策略增强了模型的预见能力,并授予了更通俗的训练信号,从而指责了训练效率。表4(第26页)的消融实验结果反对了MTP策略的有效性。
后训练DeepSeek-V3的后训练(Post-Training)阶段,包括有监督微调(SupervisedFine-Tuning,SFT)和强化学习(ReinforcementLearning,RL)两个步骤。
有监督微调(SFT)SFT阶段,DeepSeek-V3在一个包含1.5M指令-响应对的高质量数据集上进行了微调。该数据集涵盖了多种任务类型和领域,并采用了不反对数据构建策略,以最大程度地煽动模型的潜能。
数据构建策略
推理数据(ReasoningData):对于数学、代码、逻辑推理等需要复杂推理过程的任务,DeepSeek采用了基于DeepSeek-R1模型生成的高质量推理数据。DeepSeek-R1模型在推理任务上表现出色,但其生成的响应往往存在缺乏推理、格式不规范、长度过长等问题。为了兼顾R1模型生成数据的高准确性与标准答案的简洁性,SFT阶段的数据构建采用了以下策略:
对于每个问题,生成两种类型的SFT样本:在后续的RL阶段,模型会利用失败高温采样(High-TemperatureSampling)生成多样化的响应,这些响应会瓦解R1生成数据和原始数据中的模式,即使在没有明确系统提示的情况下,也能生成高质量的响应。经过数百步的RL训练后,中间的RL模型会逐渐学会融入R1模型的推理模式,从而指责外围性能。最后,利用失败训练完成的RL模型进行允许采样(RejectionSampling),生成高质量的SFT数据,用于最终模型的训练。
问题,原始响应:将问题与R1模型生成的原始响应直接配对。系统提示,问题,R1响应:将问题与R1模型的响应配对,并在问题前添加一个精心设计的系统提示(SystemPrompt)。该系统提示旨在意见不合模型生成更符合人类讨厌的响应,例如更简洁、更易懂的格式。表9(第34页)展示了从DeepSeek-R1蒸馏知识对性能的指责。可以看到,在LiveCodeBench-CoT和MATH-500任务上,经过R1蒸馏后,模型的Pass@1指标分别指责了6.3和8.6个百分点,反对了该策略的有效性。非推理数据(Non-ReasoningData):对于创意写作、角色扮演、简单问答等非推理类任务,则利用失败DeepSeek-V2.5生成响应,并由人工进行标注和校验,以确保数据的准确性和可靠性。
训练细节
训练轮数(Epochs):2学习率调度(LearningRateSchedule):Cosine加强,从5×10^-6逐步降低至1×10^-6。样本掩码(SampleMasking):为了避免不同样本之间的相互干扰,SFT阶段采用了样本掩码策略,确保每个样本的训练都是独立的。
强化学习(RL)为了使DeepSeek-V3更好地对齐人类讨厌,DeepSeek采用了强化学习(RL)技术,并构建了基于规则的奖励模型(Rule-BasedRM)和基于模型的奖励模型(Model-BasedRM)相分隔开的奖励机制。
基于规则的奖励模型(Rule-BasedRM):对于可以通过明确规则进行判别的任务(例如数学题、编程题),采用基于规则的奖励模型。例如,对于数学题,可以设定规则检查最终答案是否正确;对于编程题,可以利用失败编译器进行测试用例验证。这种方式可以授予准确且轻浮的奖励信号。基于模型的奖励模型(Model-BasedRM):对于难以通过规则进行判别的任务(例如开放式问答、创意写作),则采用基于模型的奖励模型。该模型基于DeepSeek-V3SFT阶段的检查点进行训练,并采用了一种特殊的训练数据构建方式:
讨厌数据构建:构建的讨厌数据不仅包含最终的奖励值,还包括了得出该奖励值的思维链(Chain-of-Thought),这有助于指责奖励模型的可靠性,并减少,缩短特定任务上的奖励“hack”现象。模型输入:对于有明确答案的任务,模型输入为问题和生成的响应;对于没有明确答案的任务,模型仅输入问题和对应的响应。模型判断:对于有明确答案的任务,模型判断响应是否与正确答案匹配;对于没有明确答案的任务,模型根据问题和响应给出综合评价。
作为奖励模型,在RewardBench上的表现上,DeepSeek多个方面超越或持平GPT-4o和Claude-3.5-sonnet。
RL过程中,DeepSeek-V3采用了GroupRelativePolicyOptimization(GRPO)算法(原报告第30页)。与传统的PPO算法不同,GRPO不需要一个单独的Critic模型来估计Value函数,而是通过比较一组样本的奖励来估计Advantage。具体流程如下:
对于每个问题q,从当前的策略模型π_old中采样一组K个响应{y_1,y_2,...,y_K}。利用失败奖励模型对每个响应进行评分,得到对应的奖励{r_1,r_2,...,r_K}。计算每个响应的Advantage值:A_i=(r_i-mean(r))/std(r),其中mean(r)和std(r)分别表示该组奖励的均值和标准差。根据以下目标函数更新策略模型π_θ:[公式26和27(第30页)]其中,π_ref是参考模型(通常是SFT阶段的模型),β和ε是超参数。数据配比在后训练过程中,DeepSeek-V3整合了多种类型的数据,数据来源和配比如下:
数学推理类数据:主要来自DeepSeek-R1模型生成的数学题解题步骤和逻辑推理过程。这类数据在后训练阶段占比约为25%。代码生成类数据:包括了从开源代码库中精选的代码片段,以及利用失败DeepSeek-R1模型生成的代码补全和代码解释数据。这类数据占比约为20%。通用领域对话数据:涵盖了开放域问答、创意写作、角色扮演等多种任务类型,主要利用失败DeepSeek-V2.5生成,并经过人工校验。这类数据占比约为45%。安全和伦理类数据:包含了用于指责模型安全性和符合伦理规范的指令和响应数据,占比约为10%。标签: