☰
HyLo-Llama-6MLA22GDN-8K-SFT两阶段训练配方全拆解:Enhanced-ILD到长上下文蒸馏SFT的完整流程
2026/10/19 1:53:44 网站建设 项目流程

【免费下载链接】HyLo-Llama-6MLA22GDN-8K-SFT

项目地址:https://ai.gitcode.com/hf_mirrors/amd/HyLo-Llama-6MLA22GDN-8K-SFT
点击查看免费下载

HyLo-Llama-6MLA22GDN-8K-SFT 是 AMD 开源的混合架构长上下文大模型:它把 Llama-3.2-3B-Instruct "改造"成 6 层 MLA + 22 层 Gated DeltaNet 的混合结构,KV cache 只占基础模型的 2.0%,并在 8,192 tokens(8K)上下文下保持精度。本文完整拆解它的两阶段训练配方:第一阶段用 Enhanced-ILD 把新增层"对齐"回基础模型,第二阶段用 Llama-3.1-8B-Instruct 做教师模型,完成 8K 长上下文蒸馏 SFT。📌

一、这个模型做了什么?先看懂 HyLo 混合架构

传统做法是"从零预训练一个混合模型",代价极高。HyLo 的思路是upcycling(升级再造):拿一个现成的 Transformer,把每一层改造成两种类型之一:

层类型数量工作方式KV cache 贡献
MLA 层(Multi-head Latent Attention)6 层保留注意力,但只缓存低秩潜变量(kv_lora_rank=128),不再缓存完整的 K/V少量
Gated DeltaNet 层22 层线性注意力块,维护固定大小的循环状态零

两层类型加起来,总 KV cache 被压到基础模型的2.0%——这就是长上下文推理省显存的关键。

⚠️ 注意:层的摆放不是固定间隔,而是按"基础模型在哪一层最不能丢完整注意力"来安排。MLA 层位于索引[0, 5, 10, 16, 21, 26],完整布局记录在 hybrid_config.json 中;而 config.json 只是保留基础模型配置供参考。

模型速览

项目值
基础模型Llama-3.2-3B-Instruct(28 层)
蒸馏教师Llama-3.1-8B-Instruct
层结构6 MLA + 22 Gated DeltaNet
参数量4.27B
KV cache基础模型的 2.0%
训练上下文8,192 tokens(YaRN factor 4.0,从 2,048 扩展)
训练配方Enhanced-ILD → 长上下文蒸馏 SFT

二、两阶段训练配方全拆解 🧪

这是全文的核心。整个配方可以概括为:先用"逐层对齐"救活新结构,再用"教师蒸馏"拉长上下文。

2.1 第一阶段:Enhanced-ILD —— 先把"新零件"对齐

结构改造之后,MLA 和 Gated DeltaNet 这些"新零件"是重新初始化的,它们的内部表示和基础模型完全对不上——如果直接开训,损失会大得无法收敛。

Enhanced-ILD(隐式逐层蒸馏)做的事情是:逐层(layer-wise)让新初始化的 MLA / 线性块去逼近基础模型对应位置的内部表示,相当于给模型做一次"接骨手术",让它在新结构下先恢复基础模型的"手感"。

超参数第一阶段取值
上下文长度2,048(基础窗口,不拉长)
学习率2e-4
数据只用 SFT 混合数据的20%

💡 细节用意:第一阶段刻意用短上下文 + 高学习率 + 少数据,目标是快速对齐表示,而不是学任务本身。

2.2 第二阶段:8K 长上下文蒸馏 SFT —— 教师模型全程带飞

结构对齐之后,进入真正的目标训练:在8,192 tokens上下文长度下,端到端地用教师模型 Llama-3.1-8B-Instruct 做蒸馏。

损失函数是纯蒸馏:KL 散度度量学生与教师下一 token 分布的差异,kl_weight = 1.0、ce_weight = 0.0——即完全不直接对文本标签算交叉熵,学生"跟教师走"。

超参数第二阶段取值
上下文长度8,192 tokens
学习率4e-5(比第一阶段低 5 倍,进入精调)
数据完整 SFT 混合
全局 batch16 条序列
训练轮数1 epoch
调度cosine,warmup 比例 0.01
精度bfloat16 混合精度
硬件8× AMD Instinct MI300X,FSDP

🔥 一个工程亮点:蒸馏时用了融合 KL kernel,避免把完整 logit 张量显式落显存,在 8K 长序列 + 大词表(128K)场景下省下了大量显存——长上下文蒸馏的常见痛点被直接绕开。

2.3 训练数据混合

第二阶段使用了 5 个公开数据集的混合(AMD 在训练前做了子集筛选、按 chat 模板重排、并针对评测集做了去污染处理):

数据集许可证
JunxiongWang/sftdatasetv3apache-2.0
nvidia/OpenMathInstruct-2cc-by-4.0
open-thoughts/OpenThoughts-114kapache-2.0
open-r1/OpenR1-Math-220kapache-2.0
nvidia/ChatQA2-Long-SFT-datacc-by-nc-2.0

数学/推理类数据占大头,这也解释了它 GSM8K 68.1 的数学成绩;长文本数据则来自 ChatQA2-Long,为 8K 上下文能力打底。

三、训练之后:成绩如何?📊

评测取自主论文 Table 3(0-shot,lm-evaluation-harness),核心数字如下:

常识推理(平均分 59.0)

任务分数
ARC-Challenge45.4
HellaSwag69.3
PIQA76.6
WinoGrande67.6
…(共 7 项)平均 59.0

长上下文 RULER(13 项任务平均)

上下文8K16K32K64K
分数71.245.027.114.1

这张表其实是最重要的"避坑指南":8K 是训练长度,表现最佳;一旦超出 8K,分数断崖式下跌(16K 只剩 45.0)。官方明确说明 8K 与 64K 是两个独立发布的模型,需要更长上下文请用同门 64K 版本。

数学方面,GSM8K 得分68.1。

⚠️ 一个容易踩的坑:config.json 里max_position_embeddings是 131,072,但那是继承自基础模型的字段,不代表支持长度。部署时务必显式设--max-model-len 8192,否则推理框架会按 131K 分配 KV cache。

四、本地跑起来:最短路径 🚀

  1. 下载模型(约 17GB 的 float32 权重,建议按 bfloat16 加载):
git clone https://gitcode.com/hf_mirrors/amd/HyLo-Llama-6MLA22GDN-8K-SFT
  1. 安装 AMD 混合模型推理代码:混合层类型不在transformers里,AutoModelForCausalLM无法直接加载,需要先安装 AMD 官方的 Hybrid-Models 仓库(进入其HyLo目录按说明配置环境)。

  2. 最小推理示例:

import torch from transformers import AutoTokenizer from hybrid.hybrid_wrapper import HybridModelWrapper ckpt = "amd/HyLo-Llama-6MLA22GDN-8K-SFT" model = HybridModelWrapper.from_pretrained(ckpt, torch_dtype=torch.bfloat16).cuda() tokenizer = AutoTokenizer.from_pretrained(ckpt) ids = tokenizer.apply_chat_template( [{"role": "user", "content": "用五点总结上面的文档"}], add_generation_prompt=True, return_tensors="pt").cuda() out = model.generate(ids, max_new_tokens=256, do_sample=True, temperature=0.6, top_p=0.9) print(tokenizer.decode(out[0], skip_special_tokens=True))

五、新手避坑清单 ✅

坑正确做法
权重是 float32(训练直接写出的)用torch_dtype=torch.bfloat16加载,评测数字就是按此精度测的,float32 白白翻倍显存
prompt 超过 8,192 tokens保持输入在 8K 以内;超出部分质量不保证
用 Llama 3.2 基础模型的 chat 模板必须用本仓库自带的 chat_template.jinja(Llama 3 风格 header 格式,与基础模型不完全相同),special_tokens_map.json 中 EOS 为<\|eot_id\|>
当作生产模型直接用这是研究用途产物(LICENSE 为 AMD 研究专用 RAIL-MS 许可,部分训练数据非商用),未做安全对齐,请勿直接面向用户暴露
忽略"需要教师模型"这一前提复现该配方本身就要一个 8B 教师模型,这也是配方成本的一部分

六、关键文件索引

文件说明
README.md完整文档:架构、训练配方、评测与用法
hybrid_config.json混合布局权威配置:MLA 层索引、MLA 维度、GDN 头数、YaRN 参数
config.json基础模型配置(仅参考,max_position_embeddings非支持长度)
chat_template.jinja训练所用对话模板,部署时必须使用
model.safetensorsfloat32 权重文件
LICENSEAMD 研究专用许可(RAIL-MS)

一句话总结:HyLo-Llama-6MLA22GDN-8K-SFT 的训练配方就是"手术 + 跟练"两步——Enhanced-ILD 逐层对齐新结构(2K 上下文、高学习率),随后 8K 长上下文下用 8B 教师做纯 KL 蒸馏 SFT(低学习率、全量数据、1 epoch),最终以 2.0% 的 KV cache 拿到 RULER 8K 71.2 的长上下文成绩。这套"先对齐、后拉长"的两阶段思路,对任何想改造混合架构模型的朋友都是可以直接参考的模板。🎯

【免费下载链接】HyLo-Llama-6MLA22GDN-8K-SFT

项目地址:https://ai.gitcode.com/hf_mirrors/amd/HyLo-Llama-6MLA22GDN-8K-SFT
点击查看免费下载
上一篇:MAA 明日方舟自动化助手下载安装完整指南:5 条渠道 + 3 大平台路线,一次装对
下一篇:PUBG 罗技压枪宏 Lua 脚本指南:3 个灵敏度变量把准星压稳

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询