[ PROMPT_NODE_22404 ]
axolotl
[ SKILL_DOCUMENTATION ]
# Axolotl 技能
基于官方文档生成的 Axolotl 开发综合辅助。
## 何时使用此技能
当出现以下情况时应触发此技能:
- 使用 Axolotl 进行工作
- 询问 Axolotl 功能或 API
- 实现 Axolotl 解决方案
- 调试 Axolotl 代码
- 学习 Axolotl 最佳实践
## 快速参考
### 常见模式
**模式 1:** 为验证训练任务是否存在可接受的数据传输速度,运行 NCCL 测试有助于查明瓶颈,例如:
./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):
python
cli.cloud.modal_.ModalCloud(config, app=None)
**示例 2** (python):
python
cli.cloud.modal_.run_cmd(cmd, run_folder, volumes=None)
**示例 3** (python):
pytho