
Soup长上下文微调教程YaRN/NTK/LongLoRA扩展到128K上下文【免费下载链接】SoupFine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.项目地址: https://gitcode.com/GitHub_Trending/soup12/SoupSoup 是一款从一份 YAML 出发的 LLM 微调框架它的长上下文微调能力可以让你把模型上下文窗口从 8K 一路扩展到 128K只需在配置里改几个字段。本教程带你用 YaRN、NTK 感知缩放和 LongLoRA 三种主流策略完成 128K 长文训练并附上省显存的实操要点。为什么需要 128K 长上下文微调 普通模型出厂只支持几千到三万 token面对以下场景会截断或失忆 整本合同、论文、代码库的理解与问答️ 多文档检索问答RAG中跨段落推理 超长对话历史下的持续对话长上下文微调的核心是RoPE 位置编码缩放不改模型结构只调整位置嵌入的刻度让模型学会在更长的位置上定位信息。Soup 把这件事压缩成了配置项五种策略内置可选策略配置值适合场景线性插值linear小幅扩展的基线方案NTK 感知动态缩放dynamic较大倍率扩展的通用选择YaRNyarn4-8 倍扩展的质量最优解LongRoPElongrope渐进式扩展、搜索式系数Llama 3.1 NTKllama3Llama 3.1 系模型的官方频带缩放实现细节在 long_context.py 中包含 YaRN 的纯数学内核与配置生成逻辑。三步上手128K 长上下文微调第 1 步获取项目并安装git clone https://gitcode.com/GitHub_Trending/soup12/Soup第 2 步直接使用官方长上下文模板Soup 内置了面向 128K 的模板 longcontext.yaml开箱即用的关键配置字段示例值作用data.max_length131072训练序列长度 128K tokenrope_scaling_typedynamicNTK 感知动态缩放quantization4bit4bit 量化压缩基座模型gradient_checkpointingtrue用重计算换显存长序列必备use_flash_attntrueFlashAttention 加速注意力第 3 步启动训练把模板中data.train指向你的长文数据集运行一条训练命令即可无需手写任何 RoPE 配置代码。三种主流扩展策略怎么选 YaRNyarn按快/慢维度分段插值的位置缩放官方推荐用于 4-8 倍扩展。Soup 提供yarn_factor、yarn_attn_factor、yarn_beta_fast、yarn_beta_slow四个可调参数仅在rope_scaling_type: yarn时生效配置层会直接拒绝非法组合防止配错。NTK 感知缩放dynamic / llama3dynamic是通用 NTK 方案适合大幅度扩展llama3则是 Llama 3.1 的频带缩放scale_factor8、old_context_len8192。如果你在 Llama 3.1 基座上微调干脆不写rope_scaling_typeSoup 加载模型时会自动检测模型配置并选llama3见 peft-and-efficiency.md 的 Long Context 章节。LongLoRA S² 注意力除了改位置编码longlora.py 还实现了 LongLoRA 的移位稀疏注意力S²把 token 分组到局部窗口、让相邻组交换信息进一步省显存。开启use_longlora: true时架构白名单覆盖 Llama / CodeLlama / Mistral / Qwen / Phi 系列Mixtral 除外且需要tasksft与 transformers 后端配置加载时即校验、快速失败。128K 训练的省显存实战 ⚡128K token 的训练对显存极其敏感Soup 默认配置已经做了三层防御4bit 量化 LoRA基座压缩到 4bit只训练少量 LoRA 参数梯度检查点max_length 65536时若没开gradient_checkpointingSoup 会直接报错拦截避免训练中途 OOM层流式Layer StreamingSoup 的看家能力——把 32 层模型的权重存到内存、每次只把 2 层搬进显卡实测单卡显存占用可压到约 225 MB若追求更激进的多卡长序列训练模板中还预留了use_ring_attention: true选项启用 Ring Attention 做序列并行。避坑清单128K 微调最佳实践 ✅倍率决定策略扩 4-8 倍首选yarnLlama 3.1 基座优先llama3或留空自动检测必开梯度检查点64K 以上序列不检查点 大概率 OOMSoup 会替你把关学习率调小模板示例使用lr: 5e-6长序列下小学习率更稳先短后长建议先以 8K-32K 跑通全流程再逐步升到 128K验证数据留出val_split: 0.05的长文验证集观察长距离依赖是否真正学会参考文档 docs/peft-and-efficiency.md — YaRN/LongLoRA 长上下文完整说明docs/training.md — 训练全流程与高级配置docs/performance-and-quantization.md — 量化与性能调优longcontext.yaml — 128K 官方模板templates/longcontext.yaml — 模板目录含 manifest.json 清单只要一份 YAMLSoup 就能把 128K 长上下文微调从工程难题变成配置题。【免费下载链接】SoupFine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.项目地址: https://gitcode.com/GitHub_Trending/soup12/Soup创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考