关于 axolotl
axolotl 是面向 axolotl 开发者的文档技能,提供 API 指引、常见训练配置示例和参考资料,支持实现与调试。
主要功能
- 01API 与功能指引
- 02训练配置示例
- 03数据集格式参考
- 04调试与实践建议
适用场景
- 01配置 FSDP 或上下文并行
- 02检查训练数据处理方式
- 03了解 axolotl API 行为
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ orchestra-research/ ai-research-skills --skill axolotl安装后在 Claude Code 中输入/axolotl确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api.mddataset-formats.mdindex.mdother.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/
在此处添加模板、样板代码或示例项目。
备注
- 此技能由官方文档自动生成
- 参考文件保留源文档的结构和示例
- 代码示例包含语言检测,以便更好地进行语法高亮
- 快速参考模式取自文档中的常见用法示例
更新
要使用更新后的文档刷新此技能:
- 使用相同配置重新运行 scraper
- 技能将使用最新信息重新构建