mcpField
A
axolotl

axolotl

github.com/kalarislabs开发9657 次安装3 天前更新
代码仓库

关于 axolotl

面向 axolotl 开发者的文档型技能,提供功能指导、实现模式和调试参考。它整理了快速示例与参考资料,帮助配置训练及相关工作流。

主要功能

  1. 01Axolotl API 与功能指导
  2. 02训练配置模式
  3. 03数据集格式参考
  4. 04代码示例与 API 参考
  5. 05故障排查流程

适用场景

  1. 01配置 FSDP 训练
  2. 02检查 GPU 传输瓶颈
  3. 03调试 axolotl 代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill axolotl

安装后在 Claude Code 中输入/axolotl确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api.md
dataset-formats.md
index.md
other.md

详细介绍

Axolotl 技能

根据官方文档生成的 Axolotl 开发综合助手。

何时使用此技能

在以下情况下应触发此技能:

  • 使用 Axolotl
  • 询问 Axolotl 功能或 API
  • 实现 Axolotl 解决方案
  • 调试 Axolotl 代码
  • 学习 Axolotl 最佳实践

快速参考

常见模式

模式 1: 要验证训练任务的数据传输速度是否足够,可以运行 NCCL Tests 来帮助定位瓶颈,例如:

./build/all_reduce_perf -b 8 -e 128M -f 2 -g 3

模式 2: 在 Axolotl yaml 中配置模型以使用 FSDP。例如:

fsdp_version: 2
fsdp_config:
  offload_params: true
  state_dict_type: FULL_STATE_DICT
  auto_wrap_policy: TRANSFORMER_BASED_WRAP
  transformer_layer_cls_to_wrap: LlamaDecoderLayer
  reshard_after_forward: true

模式 3: context_parallel_size 必须是 GPU 总数的因数。例如:

context_parallel_size

模式 4: 例如:- 使用 8 个 GPU 且不启用序列并行:每个步骤处理 8 个不同的批次 - 使用 8 个 GPU 且 context_parallel_size=4:每个步骤只处理 2 个不同的批次(每个批次拆分到 4 个 GPU 上)- 如果每个 GPU 的 micro_batch_size 为 2,全局批次大小会从 16 降至 4

context_parallel_size=4

模式 5: 在配置中设置 save_compressed: true,即可将模型以压缩格式保存,从而:- 减少约 40% 的磁盘空间占用 - 保持与 vLLM 的兼容性,以加速推理 - 保持与 llmcompressor 的兼容性,以便进一步优化(例如:量化)

save_compressed: true

模式 6: 注意:无需将集成放在 integrations 文件夹中。它可以位于任何位置,只要安装在 python 环境中的某个软件包里即可。请参阅此仓库中的示例:https://github.com/axolotl-ai-cloud/diff-transformer

integrations

模式 7: 兼容单条和批量数据。- 单条数据:sample[‘input_ids’] 是 list[int] - 批量数据:sample[‘input_ids’] 是 list[list[int]]

utils.trainer.drop_long_seq(sample, sequence_len=2048, min_sequence_len=2)
示例代码模式

示例 1(python):

cli.cloud.modal_.ModalCloud(config, app=None)

示例 2(python):

cli.cloud.modal_.run_cmd(cmd, run_folder, volumes=None)

示例 3(python):

core.trainers.base.AxolotlTrainer(
    *_args,
    bench_data_collator=None,
    eval_data_collator=None,
    dataset_tags=None,
    **kwargs,
)

示例 4(python):

core.trainers.base.AxolotlTrainer.log(logs, start_time=None)

示例 5(python):

prompt_strategies.input_output.RawInputOutputPrompter()

参考文件

此技能在 references/ 中包含全面的文档:

  • api.md - API 文档
  • dataset-formats.md - 数据集格式文档
  • other.md - 其他文档

需要详细信息时,使用 view 阅读相应的参考文件。

使用此技能

初学者

从 getting_started 或 tutorials 参考文件开始学习基础概念。

特定功能

使用相应类别的参考文件(api、guides 等)获取详细信息。

代码示例

上方的快速参考部分包含从官方文档中提取的常见模式。

资源

references/

从官方来源提取并整理的文档。这些文件包含:

  • 详细说明
  • 带语言标注的代码示例
  • 指向原始文档的链接
  • 便于快速导航的目录
scripts/

在此处添加用于常见自动化任务的辅助脚本。

assets/

在此处添加模板、样板或示例项目。

备注

  • 此技能由官方文档自动生成
  • 参考文件保留了源文档的结构和示例
  • 代码示例包含语言检测,以便更好地进行语法高亮
  • 快速参考模式摘自文档中的常见用法示例

更新

要使用更新后的文档刷新此技能:

  1. 使用相同配置重新运行 scraper
  2. 技能将使用最新信息重新构建

Agent 操作流程

  1. 检查环境。 检查 GPU 类型、内存以及驱动/CUDA 版本(nvidia-smi)、框架版本,以及数据集的位置和大小。
  2. 明确输入。 根据数据或用户确认格式、标识符和参数。任何会影响结果的值都应询问,不要猜测。
  3. 先运行小规模版本。 进行冒烟测试:使用小型模型或子集,运行少量步骤,并确认损失下降且检查点已保存。
  4. 按照上述说明和参考资料执行完整任务。
  5. 验证结果。 在留出数据上跟踪指标,与基线对比,并记录随机种子、配置和硬件。
  6. 汇报。 说明运行了什么(版本、命令、参数)、检查了什么,以及仍有哪些不确定之处。
如果出现这种情况请这样做
CUDA 内存不足减小批次大小,启用梯度累积/检查点或混合精度,或者对模型进行分片。
损失为 NaN 或发散降低学习率,检查数据中是否有无效值,并启用梯度裁剪。
已安装版本中缺少这些说明里提到的函数、标志或端点查看已安装版本自己的文档(help()、--help、官方文档),调整做法并告知用户。切勿编造 API。
必需的输入、标识符或参数含义不明确询问用户,或在运行前明确说明所采用的假设。

诚信规则

  • 切勿捏造结果、参数、标识符、引用或统计数据。如果无法运行或验证某项内容,请如实说明。
  • 没有日志就切勿声称取得了训练结果;启动大型任务前应估算计算成本。
  • 此处与版本相关的细节可能已过时:请对照已安装版本的官方文档进行确认。
  • 涉及费用、占用共享 GPU 或云配额、访问个人或患者数据,或无法撤销的操作,执行前必须先询问。

相关技能

  • llama-factory:介绍如何使用 LLaMA-Factory 微调大模型,涵盖 WebUI 无代码界面、在 100 多种受支持模型上进行训练……
  • unsloth:提供使用 Unsloth 微调大模型的指南。Unsloth 是一个用于更快、更省内存地训练模型的库,支持 LoRA 和 QLoRA,基础……
  • peft-fine-tuning:使用 Hugging Face PEFT 微调 LLM,采用 LoRA、QLoRA、IA3、AdaLoRA、前缀调优和提示词调优,使参数量低于 1%……

评论

支持 Markdown