AgileRL: постобучение и усиленное обучение для языковых моделей
AgileRL — это полный стек для постобучения языковых моделей и решения задач с использованием методов усиленного обучения. Он обеспечивает последовательное развитие моделей от супервайзинга до многоходового RL, включая эволюционную оптимизацию гиперпараметров.
Этот проект может быть полезным как для разработчиков, так и для исследователей, работающих с LLM (large language models) и RL. AgileRL выделяется тем, что объединяет в себе все этапы обучения, что упрощает интеграцию и тестирование различных подходов в одном месте. В отличие от многих существующих решений, AgileRL предлагает как классический подход к RL, так и гибкие инструменты для более современных методов работы с LLM.
Библиотека написана на Python и предоставляет возможность запуска как в облаке, так и локально, что удобно для разнообразных сценариев использования. Обрати внимание, что проект находится в стадии активной разработки, поэтому стоит учитывать возможность нестабильной работы или нехватки документации.
Проект AgileRL представляет собой комплексный стек для постобучения больших языковых моделей (LLM) с использованием методов обучения с подкреплением (RL). С его помощью ты можешь продвигать свою LLM от этапа супервайзед-файнтюнинга (SFT) до предпочтительного тюнинга и многоходового автономного обучения с подкреплением в одной библиотеке. Также AgileRL охватывает классические подходы к RL, включая обучение для отдельных агентов, многопользовательского режима и оффлайн-обучение, с встроенной эволюционной оптимизацией гиперпараметров.
Как установить и запустить
Чтобы установить AgileRL, используй следующую команду в терминале:
pip install "agilerl[llm]" # LLM post-training
pip install agilerl # classic RL + the Arena CLI
Ты также можешь выбрать различные установки, в зависимости от твоих требований:
agilerl[llm]— включает Hugging Face transformers и другие компоненты для постобучения LLM.agilerl[box2d]— включает движок физики Box2D для Gymnasium окружений.agilerl[cpu]— версии PyTorch для работы на CPU.agilerl-arena— CLI и SDK для работы с Arena без использования PyTorch.
Для работы в режиме разработки клонируй репозиторий и запусти:
pip install -e .
Возможности AgileRL
AgileRL позволяет:
- Обучать и развертывать LLM на больших данных с использованием собственных наборов данных и функций вознаграждения.
- Использовать LoRA для обучения небольших адаптеров при замороженной основной модели. Это позволяет значительно снизить потребление памяти.
- Использовать Torch-native параллелизм для обучения на нескольких GPU с оптимизированной памятью.
- Экспериментировать с эволюционной настройкой гиперпараметров во время обучения.
- Запускать обучающие задания на платформе Arena, которая поддерживает распределенные вычисления на GPU.
- Разворачивать LLM и общаться с ней через CLI.
Работа с Arena
Arena позволяет запускать обучающие задания в облаке с управляемыми GPU кластерами. Для работы с Arena используется простой YAML манифест, который позволяет легко настраивать параметры обучения. Ты можешь запускать такие команды:
arena login
arena models list # список поддерживаемых моделей
arena experiments submit my_manifest.yaml --project my-project
arena agent deploy my-experiment # развертывание лучшей контрольной точки
arena agent generate --prompt "What is 17 * 23?"
Ограничения
Несмотря на широкий функционал, AgileRL может требовать значительных ресурсов при обучении больших моделей. Это включает высокие требования к памяти на GPU, особенно для моделей объемом более 100 миллиардов параметров. Также стоит отметить, что некоторые функции могут не работать на определенных конфигурациях системы, особенно если ты используешь CPU-версию.
Заключение
AgileRL — это мощный инструмент для работы с большими языковыми моделями и RL, который объединяет множество методов обучения в одном месте. Подходит как для исследователей, так и для разработчиков, заинтересованных в масштабируемом обучении и оптимизации.
Открыть на GitHub: AgileRL/AgileRL →
RepoRadar