【免费下载链接】Naive-N0.5-Flash
Naive-N0.5-Flash 是面向编码与 AI R&D 的 309B MoE 大模型(激活 15.5B 参数),以混合滑动窗口注意力(SWA)+ 轻量稀疏注意力(DSA)实现原生 1M 上下文。本文完整还原其 3.25T Token 多阶段训练全程:50B 索引器热身、3T 稀疏注意力精调、200B 学习率衰减,帮助新手理解长上下文大模型的训练逻辑。
📊 3.25T Token 训练全景:三阶段分工一览
架构改造完成后,Naive-N0.5-Flash 在原生 1M Token 上下文设定下完成了 3 个阶段的持续训练(见 README.md 的 Training Overview):
| 训练阶段 | Token 规模 | 核心任务 |
|---|---|---|
| ① 索引器热身(Indexer Warmup) | 50B | 训练轻量索引器,先学会给全部历史 token 打分 |
| ② 稀疏注意力训练(Sparse Attention Training) | 3T | 让模型整体适配 SWA + DSA 混合稀疏注意力结构 |
| ③ 学习率衰减(Learning Rate Decay) | 200B | 低学习率收敛精调,强化编码与 AI 研发能力 |
| 合计 | 3.25T | 全程保持原生 1M 上下文 |
💡 一句话理解:先教会"索引器"挑重点,再让模型习惯"只读重点",最后低温慢炖收敛能力。
🧩 架构背景:为什么要把全局注意力换成稀疏注意力
Naive-N0.5-Flash 基于开源基座 MiMo-V2.5 改造。原架构中少量"全局注意力层"在百万级上下文下是解码性能的主要瓶颈,因此被替换为DeepSeek 稀疏注意力(DSA):
- SWA 层(39 层):只看最近 128 个 token 的滑动窗口,单 token 解码成本不随上下文长度增长;
- DSA 层(9 层):由 16 头轻量索引器(Indexer)给全部历史 token 打分,主干注意力只对Top 2,048个 token 计算;
- 48 层全部为局部或稀疏注意力,没有任何全注意力层。
网络按"6 层模块"组织:标准模块为 5 层 SWA + 1 层 DSA,第一模块首层也替换为 DSA,形成约 5:1 的 SWA–DSA 布局。这些参数可在 config.json 的hybrid_layer_pattern、config.json 的index_top_k: 2048、index_n_heads: 16中逐一核对。
🔍 阶段一:50B Token 索引器热身——先学会"挑 token"
DSA 的关键在于索引器:它用极小的计算量扫一遍全部历史 KV,输出每个 token 的"重要度分数",主干随后只处理分数最高的 2,048 个位置。
- 索引器实现:modeling_naive_n05_flash.py,仅含 1 个 KV 头的 Key 投影与 16 个 Query 头,并支持
fp8_e4m3低精度激活进一步省算力; - Top-K 选择逻辑:modeling_naive_n05_flash.py,按索引分数稳定排序后取前 2,048 个位置参与主干注意力;
- 配置校验强制 DSA 启用且
index_top_k为正数:configuration_naive_n05_flash.py。
热身阶段(50B Token)的作用:索引器是新增模块,初始时并不"会挑重点"。先用 500 亿 Token 让它学会稳定、准确的打分,避免后续大规模训练中"挑错 token"导致信息丢失。这是整个 3.25T Token 训练里规模最大最小、却最关键的一步。
⚡ 阶段二:3T Token 稀疏注意力精调——适配原生 1M 上下文
热身之后进入占绝对主体的 3T Token 阶段,目标是让模型整体适应新的注意力结构:
- 重新学习信息分工——高频局部信息交给 SWA,跨窗口关键信息交给 DSA;
- 全量 KV 缓存仍然保留,但注意力计算与访存大幅下降,解码显著提速;
- 训练全程在原生 1M Token 上下文下进行,直接练出百万级长程信息保持能力,而非后期外推。
🎯 阶段三:200B Token 学习率衰减——收敛出强编码能力
最后的 200B Token 用于学习率衰减:逐步降低学习率,让模型在新稀疏注意力架构上稳定收敛,同时显著提升了编码与 AI R&D(自动科研、系统优化)能力。官方评测中 Naive-N0.5-Flash 在 SWE-Bench Pro、Terminal-Bench、MLE-bench 等任务上表现突出,结果见 README.md。
🚀 训练成果:推理速度与部署要点
- 速度:标准模式单用户约 50 tokens/s,Ultrafast 模式最高 2,000 tokens/s,由 NaiveRT 推理系统(mega-kernel 融合 + PDL + 投机解码)实现;
- 硬件:支持 FP8 混合精度推理,权重约 315 GB,需要支持 FP8 的 NVIDIA GPU;
- 参数:推荐
temperature=1.0、top_p=0.95,见 generation_config.json 与 README.md。
最小部署方式(需transformers>=5.17.0):
pip install "transformers[torch,kernels]>=5.17.0"from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("NaiveAI/Naive-N0.5-Flash-FP8", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("NaiveAI/Naive-N0.5-Flash-FP8", trust_remote_code=True, dtype="auto", device_map="auto")📁 仓库核心文件导航
| 文件 | 说明 |
|---|---|
| config.json | 架构超参数:48 层、SWA/DSA 分布、Top-2048 等 |
| configuration_naive_n05_flash.py | 配置类NaiveN05FlashConfig与结构校验逻辑 |
| modeling_naive_n05_flash.py | 模型实现:DSA 索引器、混合注意力、MoE 路由 |
| README.md | 官方介绍、架构表与评测结果 |
| chat_template.jinja、tokenizer.json | 对话模板与分词器(152,576 词表) |
| model-00001-of-00049.safetensors 等 49 个分片 | BF16 完整权重 |
| LICENSE | MIT 开源协议 |
❓ 新手常见疑问
为什么不用纯稀疏,还要留 SWA?SWA 处理高频局部信息且成本恒定,DSA 处理跨窗口关键信息,约 5:1 的混合比例兼顾质量与速度。
索引器要扫全历史,那还省在哪?省的是主干注意力的计算量与访存:全 KV 保留,但 QK 计算只发生在 Top 2,048 个 token 上,注意力开销不再随上下文线性膨胀。
3.25T Token 是怎么凑出来的?50B(索引器热身)+ 3T(稀疏注意力训练)+ 200B(学习率衰减)= 3.25T,与 README.md 描述完全一致。
【免费下载链接】Naive-N0.5-Flash
相关推荐
SGLang SubBlock 稀疏注意力:为 MiniMax-H3 视频 DiT 提供免训练块稀疏加速
SGLang SubBlock 稀疏注意力:为 MiniMax H3 视频 DiT 提供免训练块稀疏加速 SubBlock(子块)稀疏注意力是 SGLang 多
模型推理服务推理引擎人工智能大模型本地部署多模态developer-roadmap代码进阶指南:编写高质量可维护代码的20个技巧
developer roadmap代码进阶指南:编写高质量可维护代码的20个技巧 在软件开发中,编写高质量可维护的代码是每个开发者追求的目标。developer
后端文档教程知识库PaddleNLP BigBird 模型实战指南:从块稀疏注意力原理到预训练权重使用
PaddleNLP BigBird 模型实战指南:从块稀疏注意力原理到预训练权重使用 本篇技术指南围绕 PaddleNLP 中 BigBird 模型的支持情况展
人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLP
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考