新闻详情

新闻详情

首页 / 资讯中心 / 详情

MindSpeed LLM流式推理实战:分布式在线生成完全指南

发布时间:2026/9/25 3:35:53来源:尧图网络
MindSpeed LLM流式推理实战:分布式在线生成完全指南
MindSpeed LLM流式推理实战分布式在线生成完全指南【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLMMindSpeed-LLM是面向昇腾 NPU 的 LLM 分布式训练框架除训练外它还内置了一套开箱即用的流式推理能力把千亿参数的大模型切分到多张 NPU 上实现边生成、边输出的打字机式在线对话。本文将手把手带你跑通 MindSpeed-LLM 流式推理的完整流程并拆解其中的关键工程细节。为什么需要流式推理 大模型生成是逐 token进行的非流式接口要等几百个 token 全部算完才返回用户体感就是卡住十几秒而流式推理Streaming Inference让每个新 token 一经生成就立刻吐给前端首 token 延迟和交互体验都有质的提升。难点在于分布式场景当模型被 FSDP 切分到 16 张甚至 32 张 NPU 上时如何保证所有卡步调一致、输入同步、输出不重复这正是 MindSpeed-LLM 流式推理引擎要解决的问题。上图展示了 FSDP2 的分片执行流程每张卡只保存自己的参数分片Shard计算前通过 ALL-GATHER 临时聚合完整权重算完立即释放FREE FULL WEIGHTS。推理时直接复用这套机制无需额外转换。架构速览流式推理的 4 层调用链MindSpeed-LLM 的流式推理入口是根目录的 inference_fsdp2.py整体是一条清晰的分层调用链层级类职责1️⃣ 启动层AutoInferencer解析参数、初始化 NPU 与 HCCL 分布式环境、构建 Tokenizer、加载 FSDP 分片模型2️⃣ 交互层Inferencer交互式聊天循环负责多卡输入同步与流式打印3️⃣ 桥接层ChatModel在后台线程跑 asyncio 事件循环把异步引擎包装成同步生成器4️⃣ 引擎层HuggingfaceEngine调用model.generateTextIteratorStreamer逐段吐出文本核心源码可以沿这条链阅读入口与启动inference_fsdp2.py聊天循环与多卡输入同步mindspeed_llm/fsdp2/inference/inferencer.py异步桥接mindspeed_llm/fsdp2/inference/chat_model.py流式生成引擎mindspeed_llm/fsdp2/inference/engine/hf_engine.py流式的实现很巧妙HuggingfaceEngine._stream_chat把model.generate放进一个后台守护线程执行主线程则通过TextIteratorStreamer迭代器不断next()取已生成的文本片段——生成与输出天然并行打字机效果就此而来。一键启动跑通分布式流式推理以仓库内置的 GLM 744B MoE 模型2 节点 × 16 NPU 32 卡为例示例脚本 examples/fsdp2/glm52/chat_glm52_744b_fsdp2_A3.sh 的启动方式只有两步source examples/fsdp2/env_config.sh torchrun --nproc_per_node 16 --nnodes 2 --node_rank 0 \ --master_addr localhost --master_port 6060 \ inference_fsdp2.py ./examples/fsdp2/glm52/glm52_744b_4k_fsdp2_A3.yaml \ --model.model_name_or_path your hf model path \ --parallel.fsdp_size 16 \ --parallel.ep_size 8 --parallel.ep_fsdp_size 2 \ --inference.infer_backend huggingface \ --inference.max_new_tokens 512模型与并行配置写在 examples/fsdp2/glm52/glm52_744b_4k_fsdp2_A3.yaml 中fsdp_size控制模型按层切分的规模MoE 模型的专家部分再叠加ep_size/ep_fsdp_size两级专家并行744B 的权重正是这样被摊到每张 NPU 上的。启动后终端进入交互模式输入问题即见流式回答输入exit退出 Entering Interactive Chat Mode. Type exit to quit. User: 什么是FSDP Assistant: FSDPFully Sharded Data Parallel是一种把模型参数、梯度 和优化器状态都分片到多卡上的并行策略可以显著降低单卡显存占用…… ----------------------------------------关键参数速查表 推理相关超参都集中在InferenceArguments中源码见 mindspeed_llm/fsdp2/utils/arguments.py通过--inference.xxx覆盖参数默认值说明infer_backendhuggingface推理引擎后端当前支持 HuggingFacegenerate流式引擎max_new_tokens512单次回复最多生成的 token 数do_sampleFalse是否采样。注意分布式下建议保持贪心解码随机采样各卡结果不一致容易触发 FSDP 集合通信死锁parallel.fsdp_size-FSDP 分片规模决定模型切到多少张卡parallel.ep_size/ep_fsdp_size-MoE 模型专家并行规模3 个不容错过的工程细节 只有 Rank 0 收键盘输入其余卡靠广播。多卡环境下只有 Rank 0 能读 stdinInferencer._get_sync_input会用dist.broadcast_object_list把输入广播到所有 Rank确保每卡拿到完全相同的 Prompt避免集合通信错序卡死。输出只打印一次。流式分片在Inferencer中逐块累积但打印逻辑包在if self.rank 0里——所有卡都在说话但只有 Rank 0 开口避免文字重复输出。推理时强制关闭重计算。AutoInferencer会把recompute设为False推理没有反传重计算只会白白浪费时间。延伸阅读训练侧 Megatron 推理入口inference.pyuse_kv_cache模式下的生成任务FSDP2 训练与参数体系examples/fsdp2/ 下的各模型脚本与配置框架整体架构可参考 docs/zh/pytorch/introduction.md跑通这一步你就拥有了在昇腾集群上对超大模型进行在线流式对话的能力——接下来可以尝试调大max_new_tokens、接入自己的 chat template或基于ChatModel的异步接口开发 Web 服务。【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

SonarQube自定义规则开发实战:从AST到质量门禁的Java插件指南 2026/9/25 4:11:39

SonarQube自定义规则开发实战:从AST到质量门禁的Java插件指南

简介:压缩包内是一套面向SonarQube平台的Java自定义规则集,供有定制代码检测诉求的开发人员与质量保障人员参考使用。规则覆盖编码规范、潜在缺陷、复杂度等专项检查,能在标准分析之外筛出需人工关注的代码点,配合持续集成流水线中…

阅读更多 →
VSCode配置C语言开发环境:MinGW-w64实战指南 2026/9/25 4:11:32

VSCode配置C语言开发环境:MinGW-w64实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
切比雪夫阶梯阻抗变换器设计:从理论推导到ADS仿真全流程 2026/9/25 4:11:32

切比雪夫阶梯阻抗变换器设计:从理论推导到ADS仿真全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
PowerBuilder程序部署与OLEDB跨机连接问题排查实战 2026/9/25 4:11:32

PowerBuilder程序部署与OLEDB跨机连接问题排查实战

简介:一套面向 PowerBuilder Windows 桌面开发者的 VDN 系统测试版安装包,集中演示了消息推送、微信接口、加密解密函数与二维码生成解析等企业级功能模块。项目基于 PowerBuilder 事件驱动模型,借助 PBL 对象库、PBNI 与 .NET 互操作完成扩展…

阅读更多 →
免登录积分商城系统:设备指纹+行为校验的身份锚定方案 2026/9/25 4:11:26

免登录积分商城系统:设备指纹+行为校验的身份锚定方案

简介:这是一套开箱即用的免登录积分兑换商城系统源码,面向中小型商户、社区服务项目及适老化数字产品开发者,解决传统电商需注册登录带来的使用门槛问题,特别适合面向老年用户的轻量级积分激励场景。资源包共2010个文件&#xff0…

阅读更多 →
微信小程序云开发健身房预约系统:从并发控制到完整交付 2026/9/25 4:11:26

微信小程序云开发健身房预约系统:从并发控制到完整交付

如果你正在为课程设计、毕业设计或者实习项目发愁,想找一个业务逻辑完整、能在手机上直接演示、又方便写文档交差的选题,健身房预约系统是个非常合适的切入点。我这两年帮不少同学做过类似的项目,自己也把"基于微信小程序云开发的健身房…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉