遇见数据集

axolotl-ota-sft-integration

收藏
Hugging Face2026-07-02 更新2026-07-04 收录
官方服务:

资源简介:

该数据集是一个用于科学推理任务的对话数据集,采用规范化的对话格式,包含role和content字段,并遵循Llama-3的对话结构。它整合了特殊的推理标记(如<|start_think|>、<|end_think|>)和工具调用标记,主要用于验证Axolotl框架中delphi聊天模板对用户/系统回合进行正确掩码、同时对助手回合和推理内容进行训练的能力。该数据集是监督微调(SFT)和强化学习(RL)流程中的核心验证数据集。

This dataset is a dialogue dataset for scientific reasoning tasks, using a canonical dialogue format with role and content fields, and following the Llama-3 dialogue structure. It incorporates special reasoning tokens (e.g., <|start_think|>, <|end_think|>) and tool-calling tokens, primarily used to validate the ability of the delphi chat template in the Axolotl framework to correctly mask user/system turns while training assistant turns and reasoning content. It serves as a core validation dataset in the supervised fine-tuning (SFT) and reinforcement learning (RL) pipeline.

提供机构:
LAION eV
创建时间:
2026-07-02
原始信息汇总

Axolotl ⇄ OpenThoughts-Agent SFT-backend Integration

项目概述

该项目完成了将 axolotl 作为 OpenThoughts-Agent 的 SFT 训练后端集成,实现 --sft_backend axolotl 作为 LLaMA-Factory 的即插即用替代方案。项目在 TACC Vista (GH200, aarch64) 环境下运行,状态为 COMPLETE 并已合并至 penfever/working 分支。

实施内容

第一阶段 — 创建 marin axolotl 分支并移植3个特性

创建了 marin-community/axolotl @ feuer/marin-fork-3feature-port(版本 0.17.0.dev0),包含:

  • delphi.jinja 聊天模板(自动全局匹配)— 支持 Llama-3 格式及推理/工具token(<|start_think|>/<|end_think|>/<|tool_call|>/<|tool_result|>
  • template_integrity 插件 — 保存时的防故障机制,确保每次检查点保存时在 tokenizer_config.json 中嵌入 chat_template
  • mfu 插件(MFU 日志记录)+ supabase_registry 插件(可选训练结束模型注册)

第二阶段 — 将 axolotl 作为 SFT 后端接入 hpc.launch

  • 支持 --sft_backend {llamafactory,axolotl} 参数切换(LLaMA-Factory 为默认)
  • 子模块 sft/axolotl 固定在 3c206072
  • 实现运行器调度(-m axolotl.cli.train)、LF 参数到 axolotl YAML 的转换器(hpc/axolotl_config_utils.py)、配置资产(sft/axolotl_configs/)和验证门控(sft/axolotl_gates/

验证门控结果

门控阶段 结论 证据
Stage 3 — 端到端冒烟测试 ✅ 通过 job 801458; 损失 2.272→0.951 (6步); SDPA; 检查点嵌入了 delphi 模板
Stage 4 — 启动器防故障测试 ✅ 通过 嵌入的 chat_template 与标准 delphi.jinja 字节一致
Stage 6 — LF vs axolotl 损失匹配 ❌ 未通过(已理解原因) axolotl 1.567→1.549,LF 1.334→0.702(各30步);120%差距为框架层面在非标准 guanaco/llama3 数据集上的模板掩码差异
Delphi 掩码验证(关键检查) 通过 job 802053; 损失 2.628→2.532(20步);`<

Delphi 掩码验证详情

通过 axolotl.cli.preprocess --debug 验证4个样本:

断言 结果
`< start_think
助手回答训练 The(791,791) answer(4320,4320) is(374,374)… 已训练
用户轮次掩码 user(-100,882) + 内容 (-100,…) 已掩码
系统轮次掩码 `<
助手角色掩码(仅内容训练) assistant(-100,78191) 已掩码
Llama-3 结构分割 `<
"最后轮次不可训练,跳过" 0次发生

每个样本可训练token比例:86%, 96%, 88%, 73%

损失序列:

  • axolotl_parity_llama3_ckpt30.json — 30步,1.5667→1.5490
  • lf_parity_llama3_ckpt30.json — 30步,1.3342→0.7020
  • delphi_canary_ckpt20.json — 20步,2.6280→2.5315
  • axolotl_smoke_ckpt6.json — 6步,2.2722→0.9505

同步修复内容

Axolotl 后端/启动器(7项): 子模块 + --sft_backend 选择器;运行器调度;LF→axolotl 配置转换器;CLI global_batch_size 整数转换;短任务作用域 TMPDIR(AF_UNIX 108字节 sun_path 修复);expandable_segments 分配器;torchao==0.17.0 aarch64 环境修复

LLaMA-Factory transformers-5.x(4项,额外修复): LF 分支 d20b8666add_special_tokens 签名保护;启动器 report_to=none;TMPDIR + expandable_segments 泛化;LF 固定版本从 6617a420 更新至 d20b8666

启动命令示例

axolotl SFT — Delphi 掩码验证(TACC Vista, aarch64)

bash python sft/delphi/prepare_delphi_tokenizer.py --model laion/delphi-3e18-p33m67-k0p20-lr83-a003 --output $SCRATCH/delphi-canary-tok

WANDB_MODE=disabled python -m hpc.launch --job_type sft --sft_backend axolotl --train_config_path sft/axolotl_configs/delphi_canary.yaml --model_path $SCRATCH/delphi-canary-tok --conda_env sft-axolotl --dataset laion/llama-nemotron-science-reasoning-on-le3000tok-100k-canonical-think --messages messages --role_tag role --content_tag content --partition gh-dev --num_nodes 1 --gpus_per_node 1 --time_limit 01:00:00

掩码转储验证(决定性掩码检查)

bash python -m axolotl.cli.preprocess sft/axolotl_configs/delphi_canary.yaml --base_model $SCRATCH/delphi-canary-tok --debug

axolotl vs LLaMA-Factory SFT(后端切换)

bash

axolotl 后端

python -m hpc.launch --job_type sft --sft_backend axolotl --conda_env sft-axolotl --train_config_path sft/axolotl_configs/<cfg>.yaml --dataset <ds> --messages messages --role_tag role --content_tag content --num_nodes 1 --gpus_per_node 1 --time_limit 02:00:00

llamafactory 后端(默认)

python -m hpc.launch --job_type sft --sft_backend llamafactory --conda_env otagent --train_config_path sft/lf_configs/<family>/<cfg>.yaml --dataset <ds> --role_tag role --user_tag user --assistant_tag assistant --content_tag content --num_nodes 1 --gpus_per_node 1 --time_limit 02:00:00

目录结构指南

  • OVERVIEW.md — 当前文件
  • agent_logs/ — 两个周期的完整执行日志
  • notes/cycle1_*, notes/cycle2_* — 阶段性设计计划和范围
  • configs/ — axolotl 配置文件(delphi_canary.yamlsmoke.yamlaxolotl_parity_llama3.yamlmarin_delphi_all3.yaml)及 LF 对比配置、验证脚本
  • results/trainer_states/ — 损失序列(JSON格式)
  • results/rendered_configs/ — 启动器渲染的 axolotl 训练配置
  • results/run_logs/ — 训练输出日志

关键参考(代码库内)

  • 后端接线:hpc/sft_launch_utils.pyhpc/axolotl_config_utils.pyhpc/arguments.py
  • 配置/门控:sft/axolotl_configs/sft/axolotl_gates/sft/delphi/prepare_delphi_tokenizer.pysft/delphi/dataset_info.json
  • 依赖说明:.claude/projects/axolotl/axolotl.md
  • 技能文件:.claude/skills/sft-launch/
  • 分支:marin-community/axolotl @ feuer/marin-fork-3feature-port (3c206072)
搜集汇总
数据集介绍
axolotl-ota-sft-integration 数据集图片
构建方式
该数据集构建于Axolotl框架与OpenThoughts-Agent深度集成的基础之上,旨在为大规模指令微调(SFT)提供高效、可复现的后端支持。构建过程历经两个精心设计的设计-执行循环:首先,在marin-community/axolotl分支中移植了三个核心特性,包括Delphi聊天模板、模板完整性插件以及MFU日志记录与模型注册插件;其次,通过开发参数转换器与验证门控,将Axolotl无缝接入HPC启动系统,作为LLaMA-Factory的即插即用替代方案,并基于TACC平台的多个阶段进行了严格验证。
特点
该数据集最显著的特点在于其卓越的模板屏蔽正确性与后端兼容性。经过Delphi模板金标准验证,模型在训练时能够精准地仅对推理和助手内容进行训练,同时屏蔽用户与系统提示,实现了高达73%至96%的可训练token比例。此外,数据集原生支持Axolotl与LLaMA-Factory两种后端的切换,并内置了模板完整性保护机制,确保训练后的模型在服务阶段不会因模板丢失而出现分布外错误,从根本上解决了历史性的性能退化漏洞。
使用方法
使用该数据集进行训练时,用户首先需通过prepare_delphi_tokenizer.py脚本初始化Delphi分词器。随后,借助统一的hpc.launch启动器,通过--sft_backend参数选择使用axolotl或llamafactory后端,并指定训练配置、数据集路径以及消息格式参数。关键的屏蔽正确性验证可通过axolotl.cli.preprocess --debug命令执行,无需启动完整训练即可检查模板行为。最终,经过SFT微调的模型将无缝衔接至下游的GRPO强化学习流水线,形成完整的微调-优化工作流。
背景与挑战
背景概述
Axolotl-ota-sft-integration数据集诞生于大规模语言模型微调与推理对齐的交叉领域,其核心研究问题在于构建一个无缝衔接监督微调(SFT)与强化学习(RL)的高效训练管道。该数据集由Marin团队于2026年开发,依托TACC Vista高性能计算平台,旨在解决Delphi系列模型从SFT到RL部署过程中的模板一致性难题。其影响力体现在首次验证了Axolotl作为LLaMA-Factory的完整替代后端,在真实Delphi路径上实现了训练与服务时对话模板的字节级一致,避免了因模板遮蔽错误导致的零正确率性能退化,为开源社区提供了可复现的SFT-RL集成范式。
当前挑战
该数据集面临的首要挑战是解决多框架间对话模板遮蔽逻辑的兼容性问题,确保同一数据集在不同SFT后端(Axolotl与LLaMA-Factory)上产生一致的语言建模损失与训练效果。构建过程中遭遇了多项技术障碍,包括AXolotl在非规范数据集上因框架间遮蔽分歧导致的损失差距、高频环境变量限制(如AF_UNIX socket路径字符数约束)引发的作业崩溃、及现代transformers库接口变更对LLaMA-Factory的兼容性破坏。此外,确保每次检查点保存都嵌入完整的chat_template字段以避免推理时分布外(OOD)问题的脚枪(footgun)修复,也是验证管线正确性的关键挑战。
常用场景
经典使用场景
在大型语言模型的指令微调与后训练阶段,axolotl-ota-sft-integration数据集常被用于验证与对比不同SFT后端框架(如Axolotl与LLaMA-Factory)在训练流程中的一致性与兼容性。该数据集通过精心设计的对话结构,包括用户、系统、推理与工具调用等多轮交互模板,为研究者提供了一个标准化的训练评估基准。其核心应用在于检测微调过程中的掩码逻辑是否准确生效,尤其是推理令牌(如<|start_think|>与<|end_think|>)的正确训练状态,从而确保模型在服务阶段的生成行为与训练阶段高度一致。
实际应用
在实际产业环境中,该数据集主要用于支撑高可靠性的指令微调与强化学习(RL)训练链路。数据集的典型应用场景包括:在大型GPU集群(如TACC Vista与CoreWeave H100)上运行从SFT到GRPO RL的完整训练管线,确保经过SFT的Delphi模型在强化学习阶段的采样和评估中不会因模板不匹配而产生输出异常。该数据集已被整合到自动化训练启动器(如hpc.launch)中,支持通过简单的命令行参数切换后端框架,极大提升了工业级大模型迭代的效率与稳定性。
衍生相关工作
基于该数据集验证的模板集成机制,研究者衍生出了多项关键工作,包括delphi.jinja聊天模板的标准化定义与自动全局匹配方案、template_integrity插件(用于在每步检查点保存时强制嵌入正确的chat_template)、以及多后端框架(Axolotl与LLaMA-Factory)的通用配置翻译器(axolotl_config_utils.py)。这些衍生工作共同构成了一套从数据预处理、模板校验到模型注册的完整基础设施,有效降低了因框架切换导致的配置偏差风险,为后续大规模语言模型的高保真微调与部署奠定了坚实的方法论基础。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务