На этой странице Axolotl: YAML-тонкая настройка LLM (LoRA, DPO, GRPO).
Метаданные навыка¶
| |
|---|---|
|Источник| Встроенный (устанавливается по умолчанию) |
|Путь| skills/mlops/training/axolotl |
|Версия| 1.0.0 |
|Автор| Orchestra Research |
|Лицензия| MIT |
|Зависимости| axolotl, torch, transformers, datasets, peft, accelerate, deepspeed |
|Теги| Fine-Tuning, Axolotl, LLM, LoRA, QLoRA, DPO, KTO, ORPO, GRPO, YAML, HuggingFace, DeepSpeed, Multimodal |
Справочник: полный SKILL.md¶
info Ниже приведено полное определение навыка, которое Hermes загружает при активации этого навыка. Агент видит эти инструкции, когда навык активен.
Навык Axolotl¶
Что внутри¶
Экспертное руководство по тонкой настройке LLM с помощью Axolotl — YAML-конфиги, 100+ моделей, LoRA/QLoRA, DPO/KTO/ORPO/GRPO, поддержка мультимодальности. Всесторонняя помощь по разработке с axolotl, сгенерированная из официальной документации.
Когда использовать этот навык¶
Этот навык следует активировать, когда: * Вы работаете с axolotl * Вы задаёте вопросы о возможностях или API axolotl * Вы реализуете решения на основе axolotl * Вы отлаживаете код axolotl * Вы изучаете лучшие практики axolotl
Краткий справочник¶
Типовые паттерны¶
Паттерн 1: Чтобы убедиться, что скорость передачи данных достаточна для вашей задачи обучения, запуск NCCL Tests поможет выявить узкие места, например: [code] ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 3
[/code]
Паттерн 2: Настройте вашу модель на использование FSDP в YAML-файле Axolotl. Например:
[code]
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
[/code] Паттерн 3: Значение context_parallel_size должно быть делителем общего количества GPU. Например: [code] context_parallel_size
[/code] Паттерн 4: Например: - С 8 GPU и без параллелизма последовательностей: 8 разных батчей обрабатывается за шаг - С 8 GPU и context_parallel_size=4: только 2 разных батча обрабатывается за шаг (каждый разделён на 4 GPU) - Если ваш micro_batch_size на GPU равен 2, глобальный размер батча уменьшается с 16 до 4 [code] context_parallel_size=4
[/code] Паттерн 5: Установка save_compressed: true в вашей конфигурации включает сохранение моделей в сжатом формате, что: - Сокращает использование дискового пространства примерно на 40% - Сохраняет совместимость с vLLM для ускоренного инференса - Сохраняет совместимость с llmcompressor для дальнейшей оптимизации (например, квантование) [code] save_compressed: true
[/code] Паттерн 6: Примечание: Нет необходимости размещать вашу интеграцию в папке integrations. Она может находиться в любом месте, главное, чтобы она была установлена как пакет в вашем Python-окружении. Смотрите пример в этом репозитории: https://github.com/axolotl-ai-cloud/diff-transformer [code] integrations
[/code] Паттерн 7: Обрабатывайте как одиночные примеры, так и батчированные данные. - одиночный пример: sample[‘input_ids’] — это list[int] - батчированные данные: sample[‘input_ids’] — это list[list[int]] [code] utils.trainer.drop_long_seq(sample, sequence_len=2048, min_sequence_len=2)
[/code]
Примеры кода¶
Пример 1 (python): [code] cli.cloud.modal_.ModalCloud(config, app=None)
[/code] Пример 2 (python): [code] cli.cloud.modal_.run_cmd(cmd, run_folder, volumes=None)
[/code]
Пример 3 (python):
[code]
core.trainers.base.AxolotlTrainer(
_args,
bench_data_collator=None,
eval_data_collator=None,
dataset_tags=None,
*kwargs,
)
[/code] Пример 4 (python): [code] core.trainers.base.AxolotlTrainer.log(logs, start_time=None)
[/code] Пример 5 (python): [code] prompt_strategies.input_output.RawInputOutputPrompter()
[/code]
Справочные файлы¶
Этот навык включает подробную документацию в references/:
* api.md — Документация по API
* dataset-formats.md — Документация по форматам наборов данных
* other.md — Прочая документация
Используйте view для чтения конкретных справочных файлов, когда требуется детальная информация.
Работа с этим навыком¶
Для новичков¶
Начните со справочных файлов getting_started или tutorials для освоения фундаментальных концепций.
Для конкретных функций¶
Используйте соответствующий категорийный справочный файл (api, guides и т.д.) для получения подробной информации.
Для примеров кода¶
Раздел краткого справочника выше содержит типовые паттерны, извлечённые из официальной документации.
Ресурсы¶
references/¶
Организованная документация, извлечённая из официальных источников. Эти файлы содержат: * Подробные объяснения * Примеры кода с аннотациями языка * Ссылки на оригинальную документацию * Оглавление для быстрой навигации
scripts/¶
Добавляйте вспомогательные скрипты для типовых задач автоматизации.
assets/¶
Добавляйте шаблоны, заготовки или примеры проектов.
Примечания¶
- Этот навык был автоматически сгенерирован из официальной документации
- Справочные файлы сохраняют структуру и примеры из исходных документов
- Примеры кода включают определение языка для лучшей подсветки синтаксиса
- Паттерны краткого справочника извлечены из типовых примеров использования в документации
Обновление¶
Чтобы обновить этот навык с новой документацией: 1. Запустите парсер повторно с той же конфигурацией 2. Навык будет перестроен с актуальной информацией