LinkedIn以双模蒸馏加速6亿参数职位排序模型训练
LinkedIn为AI职位搜索搭建了一套多教师蒸馏流水线,把多个大型教师模型的能力压缩到一个仅6亿参数的排序模型中。系统重点不只是蒸馏算法,还通过训练基础设施优化,让模型能够更快完成迭代,并在训练循环内直接调用基于SGLang定制的教师模型服务。
在训练学生语言模型时,每个样本都可能需要查询一个或多个大型教师模型,以学习点击、申请等相关性和互动目标。对于每秒处理数十万次查询的职位排序系统,教师模型服务很容易成为瓶颈,也增加了从关键词搜索迁移到大模型监督统一排序器的难度。
为此,LinkedIn实现了在线多教师蒸馏框架,可同时加载不同规模的教师模型,并协调张量并行与数据并行。训练期间,异步客户端向教师模型发送请求、处理返回结果,再将其纳入蒸馏损失;通过在多个节点部署本地教师副本,整体速度提升约3倍,同时维持较低延迟。为降低实时服务开销,团队还提供离线模式,先把教师输出计算并保存到HDFS或NFS,训练时直接读取缓存结果。
完整训练流程还结合了多项优化:使用LiGer降低内存占用并将批次规模扩大至原来的两倍,多节点训练最高带来3.5倍加速,FSDP2进一步提升20%,采用H200多节点集群后又获得最高30%的增益。多项措施叠加后,训练速度约提升8倍。
团队测试发现,FP8混合精度并不适合参数量低于80亿的模型,因为类型转换成本超过了计算节省带来的收益。因此,这套方案在较小模型上并未依赖FP8,而是通过并行、显存和硬件优化获得性能提升。
效果方面,6亿参数学生模型融合了80亿参数相关性教师模型与17亿参数互动教师模型的知识,使职位搜索NDCG@10从0.7583升至0.9432,提升24.48%。推理阶段再结合结构化剪枝和上下文压缩后,单块GPU的排序吞吐量由每秒约290条提升到2000条以上。
该系统已投入生产,为美国用户的自然语言职位搜索提供支持,底层采用开源SGLang服务引擎,而非专有服务技术栈。它在满足实时延迟的同时,力求达到接近交叉编码器的排序质量,并避免每次请求都调用前沿大语言模型,从而控制推理成本。
对于教师模型仍在频繁调整的早期阶段,团队建议采用在线查询;当教师模型趋于稳定且请求量增长后,再切换到离线缓存。LiGer、多节点数据并行、FSDP2和新一代GPU分别贡献了适度收益,参数量低于80亿时也无需默认采用FP8。
本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。
阅读原文