AgileRL: постобучение и усиленное обучение для языковых моделей

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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте