8月5日 CUDA 与 AI 系统加速速览:FlashInfer 适配 B300、生成式推荐蒸馏与多模态 Embedding

8月5日 CUDA 与 AI 系统加速速览:FlashInfer 适配 B300、生成式推荐蒸馏与多模态 Embedding

本期聚焦 FlashInfer 对 B300/GB300 的 FlashKDA 编译目标扩展、SmartGR 的生成式推荐蒸馏,以及 Douyin DME 的检索 Embedding 线上边界,给出性能数字与验证动作。

先看结论

今天值得拿回去验证的,不是又一个脱离条件的加速比,而是三种边界:FlashInfer 的新卡支持首先是编译目标变化,SmartGR 的收益来自对生成式推荐解码机制做蒸馏,DME 则把训练期的多模态推理约束留在服务路径之外。三者都能减少系统改造成本,但不能把「能编译」「离线指标变好」直接等同于线上吞吐或 P99 改善。
更新核心改动已报告数字先验证什么
FlashInfer nightly v0.6.17-20260804FlashKDA prefill 从 SM100a 扩展到 SM103a,并调整 CUDA 12.8/12.9+ 的 AOT/JIT target。1未报告性能 benchmark目标 GPU、CUDA 版本、生成的模块是否走到预期 target。
SmartGR对生成式推荐的 semantic ID 层级和 beam prefix 排名分别蒸馏。2四个数据集平均 +8.6%;相对 8B teacher 的平均推理加速 2.39×固定 beam width,对比 1.7B student、8B teacher 和蒸馏后 student 的质量与总推理时间。
Douyin Multimodal Embedding(DME)训练期加入 evidence-grounded latent reasoning 与 cross-conditional reconstruction,线上仍按 contrastive encoder 提供 embedding。3MMEB-v2:2B 74.8、9B 78.4;内部离线 +2.92%,搜索在线 A/B 的 LT +0.1%按模态和 hard negative 重放召回,单独测索引内存、QPS、P99 与业务指标。

GPU、推理与 kernel 工具链

FlashInfer nightly:B300/GB300 的首要变化是编译目标,不是速度

适用场景:在 B200/GB200 或 B300/GB300 上使用 FlashKDA prefill,并需要把 CUDA 版本、AOT 模块和 JIT 路径纳入可复现构建的 serving 团队。
FlashInfer 在 8 月 4 日发布的 nightly v0.6.17-20260804,页面显示的发布时间换算为北京时间 13:36。该 release 本身只是自动 nightly 构建说明,没有给出吞吐、延迟或加速比,不能把版本号当成性能更新。1
对应 commit 的实质变化是:FlashKDA prefill 的支持范围从 CC 10.0 / SM100a 扩展到 CC 10.3 / SM103a,文档把对应硬件写成 B200/GB200 与 B300/GB300;AOT 生成逻辑新增 sm100f family target。CUDA 12.8 仍保留精确的 sm_100a,CUDA 12.9 及更新版本则使用 sm_100f 的统一 family target。4
这里最容易踩的坑是把「模块能生成」误读成「kernel 更快」。这次 diff 还加入了 beta 的 TMA 打包处理、target 检查和 benchmark 的硬件元数据,但没有包含性能数字。4
先做什么:把 compute capability、CUDA 版本、PyTorch 版本、AOT/JIT 模式和实际加载的模块名记入同一份 benchmark 结果;在 B200 与 B300 上分别跑相同的 FlashKDA prefill shape,记录首轮编译、稳态 token/s、显存和 P99。没有这组对照前,不要给 nightly 贴上通用加速标签。

推荐模型与 serving

SmartGR:蒸馏同时盯住 SID 深度和 beam 前缀

适用场景:使用生成式推荐(Generative Recommendation,GR),以 semantic ID(语义 ID,简称 SID)表示物品,并通过 beam search 生成候选的系统。
SmartGR 针对的是 OneRec-8B teacher 到 OneRec-1.7B student 的离线蒸馏。它没有只对最终物品排序,而是分别处理两个 GR 特有的问题:SID 越往深层,蒸馏难度可能越高;beam search 中途被剪掉的 prefix,最终可能本来对应高分物品。前者用 Hierarchy-Aware SID Distillation,后者用 Beam-Aware Ranking Distillation,让 student 同时学习每个 SID 层级的分布和 beam prefix 的相对排序。25
论文在 Amazon Beauty、Amazon Toys、Kuaishou Ad 和 Kuaishou Video 四个数据集上报告:相对原始 OneRec-1.7B,16 个指标平均提升 8.6%,并在平均意义上得到 2.39× 的推理加速。这个加速的参照是更大的 OneRec-8B:分数据集看,1.7B student 相对 8B 的推理时间加速为 1.92×–2.89×。蒸馏没有改变 student 的架构,所以这里不能解读为 SmartGR 让同一个 1.7B 模型再快了 2.39 倍。5
论文给的是离线数据集上的 Recall、NDCG、Pass 和整体 inference time,不是线上请求的 P50/P99。先做什么:按论文的 beam width(Amazon 为 16,Kuaishou 为 32)复现三组结果:原始 1.7B、8B teacher、SmartGR student;同时记录质量指标、完整 beam search 时间和显存。若只看到 Recall 上升,却没有端到端时间和候选覆盖率,暂时不要把蒸馏接入线上。

DME:把证据约束放在训练期,线上仍按 contrastive encoder serving

适用场景:多模态搜索或推荐需要处理图像、视频、文本等不同比例的内容,希望在大规模索引上保持低查询开销,同时改善 hard matching。
Douyin Multimodal Embedding(DME)分两阶段训练:第一阶段做大规模 contrastive pre-training,建立统一的多模态向量空间;第二阶段用 Evidence-Grounded Typed Latent Reasoning 组织检索证据,再用 Cross-Conditional Reconstruction 约束另一侧模态的语义。两种机制只在训练期生效,论文称线上服务仍接近标准 contrastive encoder,只增加很小的 query-side 开销。3
在 MMEB-v2 上,DME 的 2B 和 9B 版本得分分别为 74.878.4;在 Douyin 内部离线集上相对提升 2.92%,搜索在线 A/B 的 Lifetime(LT)指标提升 0.1%。论文摘要没有给出线上硬件、QPS、P99 或索引内存,因此这组结果足以说明检索质量信号,不能替代 serving 压测。3
先做什么:先固定同一索引和召回预算,按「文本-图像」「图像-视频」等模态组合拆分离线 hard negative;再对 standard contrastive encoder 与 DME 分别测向量生成耗时、索引内存、QPS、P99 和业务指标。把 LT 的在线变化单独记录,不要用离线分数推算容量收益。

带回仓库的检查清单

  1. FlashKDA:先核对 compute capability、CUDA 12.8/12.9+ 分支和 AOT/JIT 产物,再谈性能;当前 release 没有报告 benchmark。
  2. 生成式推荐:固定 SID tokenizer、beam width 和候选预算,分开比较质量指标与完整解码时间;SmartGR 的 2.39× 不是同一 student 的微调后加速。
  3. 多模态 embedding:把模态缺失率、hard negative、索引规模和查询侧 P99 写进同一张实验表;DME 的 +2.92% 和 +0.1% 分别来自不同评估层级。
CUDA 与 AI 系统加速日报

CUDA 与 AI 系统加速日报

面向工程与算法读者的日报频道,追踪 CUDA、GPU、性能加速、AI 编译器优化,以及推荐模型与推荐系统相关进展。

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content

  • Sign in to comment.