尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

如何用MindSpeed LLM YaRN扩展上下文:长文本训练技巧详解

发布时间:2026/9/25 5:45:24

资讯中心
01
ARTICLE

如何用MindSpeed LLM YaRN扩展上下文:长文本训练技巧详解

如何用MindSpeed LLM YaRN扩展上下文:长文本训练技巧详解
如何用MindSpeed LLM YaRN扩展上下文长文本训练技巧详解【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLMMindSpeed-LLM 是昇腾 LLM 分布式训练框架内置 YaRN 上下文扩展能力让你无需重新预训练仅通过几个参数就能把模型的上下文窗口从 4K 扩展到 160K 甚至更长。本文将带你从零理解 YaRN 的原理、配置方法与实测效果掌握大模型长文本训练与推理的关键技巧。为什么需要扩展上下文窗口预训练大模型的上下文长度在训练阶段就已固定。当你要让模型处理 128K、256K 甚至 1M 级别的超长文档在长文本上继续微调如 DeepSeek-V2 从 4K 扩到 160K做 NeedleBench 这类长上下文检索能力评测都会撞上同一个瓶颈——位置编码。MindSpeed-LLM 通过旋转位置编码RoPE的缩放方案解决这一问题官方文档给出了四种可选方案llama3/yarn/longrope/plm其中YaRNYet another RoPE extensioN因精度保持最好而被广泛使用。相关特性参数统一在 mindspeed_llm/features_manager/common/rotary.py 中注册。YaRN 如何工作NTK-by-parts 原理YaRN 的核心思想是分段处理旋转频率对于一个 token 的 embedding旋转位置编码 θ 从低维到高维频率逐渐变低——高频部分周期数远超 1低频部分周期数不到 1。YaRN 的策略是频率区域处理方式对应参数高频r β旋转圈数多直接外推不动--beta-fast默认 32低频r α旋转圈数少线性插值--beta-slow默认 1中间区域线性斜坡平滑过渡自动计算这种高频保留、低频压缩、中间平滑的设计让扩展后的模型在长文本上精度损失极小。核心算法实现非常直观可以阅读mindspeed_llm/tasks/common/yarn_rope.pyYarnRotaryPositionEmbedding中的修正维度计算与线性斜坡函数mindspeed_llm/core/models/common/embeddings/rotary_pos_embedding.pyapply_yarn_scaling对逆频率张量做分段缩放MLA 模型如 DeepSeek-V3 系列会走独立的分支逻辑最快配置方法6 个参数一次到位使用 RoPE 的模型训练/微调/推理时统一通过--rope-scaling-type yarn使能。以官方文档 docs/zh/pytorch/features/mcore/yarn.md 的说明为准参数说明建议值--rope-scaling-type使能 YaRNyarn--rope-scaling-factor上下文扩展倍数 目标长度 ÷ 原长度4K→160K 时为 40--rope-scaling-original-max-position-embeddings预训练时的原始上下文长度如 4096--beta-fast高频旋转周期数阈值32--beta-slow低频旋转周期数阈值1--rope-scaling-mscale/--rope-scaling-mscale-all-dim注意力缩放系数函数yarn_get_mscale的入参通常 1.0关键技巧--rope-scaling-factor一定要按「目标长度 ÷ 原始长度」计算例如 4096 → 163840 就是 40。填错这个值扩展后精度会明显下降。仓库中可直接参考现成脚本例如 DeepSeek-3 的 16K LoRA 微调就完整展示了这组参数examples/mcore/deepseek3/tune_deepseek3_671b_16k_lora_A3_ptd.sh其ROPE_ARGS配置如下节选--beta-fast 32 \ --beta-slow 1 \ --rope-scaling-factor 40 \ --rope-scaling-mscale 1.0 \ --rope-scaling-mscale-all-dim 1.0 \ --rope-scaling-original-max-position-embeddings 4096 \ --rope-scaling-type yarn使用效果精度损失小到可以忽略官方在 DeepSeek-V2 系列上实测 YaRN 扩展后的 MMLU 精度与社区基线对比模型任务MindSpeed-LLM社区DeepSeek-V2-Lite-16BMMLU57.4%58.3%DeepSeek-Math-7BMMLU-STEM56.5%56.5%DeepSeek-V2-236BMMLU78.1%78.5%DeepSeek-V2.5MMLU79.3%80.6%更直观的长文本收益来自 NeedleBench 评测128K 单针检索任务模型任务准确率Qwen2-7B-Instruct128K-Single-Needle-Retrieval70.19%Qwen2-7B-Instruct YaRN128K-Single-Needle-Retrieval87.03%加上 YaRN 后长上下文检索能力提升约17 个百分点这就是长文本训练与推理前开启 YaRN 的价值。详细评测方法见 docs/zh/pytorch/training/evaluation/evaluation_datasets/needlebench-evaluation.md。新手常见疑问Q1MLA 模型如 DeepSeek 系列和普通模型配置有区别吗有。代码中会检测multi_latent_attentionMLA 模型直接使用你传入的--rope-scaling-factor和qk_pos_emb_head_dim计算维度普通模型则根据max_position_embeddings / rope_scaling_original_max_position_embeddings自动推算倍数。详见 rotary_pos_embedding.py。Q2扩展倍数越大精度掉得越多吗会有一定衰减但 YaRN 通过 NTK-by-parts 显著缓解了这一点。建议先跑一次 NeedleBench 或 MMLU 基线确认精度符合预期后再投入大规模训练。Q3训练和推理都要加这些参数吗都要。RoPE 缩放作用于位置编码本身训练侧和推理侧必须保持一致否则长文本会出现错位。总结用 MindSpeed-LLM 做长文本训练YaRN 是最省事的方案确认模型使用 RoPE记录原始上下文长度加上--rope-scaling-type yarn与 5 个配套参数参考 examples/mcore/deepseek3/ 下的现成脚本微调用 NeedleBench / MMLU 验证扩展后的精度。更多上下文扩展方案LongRoPE、PLM 等可查阅官方文档 docs/zh/pytorch/features/mcore/yarn.md结合昇腾集群的分布式能力你的模型也能轻松驾驭百万级长文本。【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。