
Felafax-это структура для дальнейшего обучения и тонкой настройки LLM с открытым исходным кодом с использованием времени выполнения XLA . Мы позаботимся о необходимой настройке времени выполнения и предоставляем ноутбук Jupyter, чтобы просто начать работу.
Наша цель в Felafax состоит в том, чтобы создать инфра, чтобы упростить запуск рабочих нагрузок искусственного интеллекта на аппаратном обеспечении Non-Nvidia (TPU, AWS Tradium, AMD-графические процессоры и графические процессоры Intel).
Добавьте свой набор данных, нажмите «Запустить все», и вы запустите бесплатный ресурс TPU в Google Colab!
| Felafax поддерживает | Бесплатные блокноты |
|---|---|
| Llama 3.1 (1b, 3b) |
LlaMa-3.1 JAX реализация
Llama-3/3.1 Pytorch xla
Начните с точной настройкой ваших моделей, используя CLI Felafax в нескольких простых шагах.
Начните с установки CLI.
pip install pipx
pipx install felafax-cliЗатем сгенерируйте токен автора:
Наконец, аутентификация вашего сеанса CLI с помощью вашего токена:
felafax-cli auth login --token < your_token > Во-первых, генерируйте файл конфигурации по умолчанию для точной настройки. Эта команда генерирует файл config.yml в текущем каталоге со значениями гиперпараметра по умолчанию.
felafax-cli tune init-configВо -вторых, обновите файл конфигурации с помощью гиперпараметров:
Ручки объятия:
Параметры трубопровода и обучающих наборов данных:
batch_size , max_seq_length для использования для настройки данных.null , если вы хотите, чтобы Trainig запустил весь набор данных. Если num_steps установлен на число, обучение остановится после указанного количества шагов.learning_rate и lora_rank для использования для точной настройки.eval_interval - это количество шагов между оценками.Запустите команду Follow, чтобы увидеть список базовых моделей, которые вы можете точно настроить, мы поддерживаем все варианты Llama-3.1 на данный момент.
felafax-cli tune start --help Теперь вы можете запустить процесс точной настройки с выбранной модели из вышеупомянутого списка и названия набора данных из Huggingface (например yahma/alpaca-cleaned ):
felafax-cli tune start --model < your_selected_model > --config ./config.yml --hf-dataset-id < your_hf_dataset_name >Пример команды, чтобы заставить вас начать:
felafax-cli tune start --model llama3-2-1b --config ./config.yml --hf-dataset-id yahma/alpaca-cleanedПосле того, как вы запустите работу с тонкой настройкой, Felafax CLI позаботится о том, чтобы раскрутить TPU, пропустив обучение, и он загружает тонкую модель в концентратор Huggingface.
Вы можете транслировать журналы в реальном времени, чтобы отслеживать прогресс вашей точной настройки:
# Use `<job_name>` with the job namethat you get after starting the fine-tuning.
felafax-cli tune logs --job-id < job_name > -fПосле завершения точной настройки вы можете перечислить все ваши тонкие модели:
felafax-cli model listВы можете начать интерактивный сеанс терминала, чтобы поболтать с вашей тонкой моделью:
# Replace `<model_id>` with model id from `model list` command you ran above.
felafax-cli model chat --model-id < model_id > CLI разбит на три основные командные группы:
tune : запустить/остановить точную настройку.model : управлять и взаимодействовать с вашими тонкими настроенными моделями.files : загрузить/просмотреть файлы yourDataset. Используйте флаг --help , чтобы узнать больше о любой группе команд:
felafax-cli tune --helpНедавно мы настраивали модель Llama3.1 405B на графических процессорах 8xAMD MI300X с использованием JAX вместо Pytorch. Усовершенствованные API -интерфейсы JAX позволили нам добиться отличной производительности. Проверьте наш пост в блоге, чтобы узнать о настройке и уловке Sharding, которые мы использовали.
Мы сделали Лору тонкую настройку со всеми весами модели и параметрами LORA в точке BFLOAT16, и с рангом Лоры 8 и Лора Альфа из 16:
Графики использования GPU и использования VRAM можно найти ниже. Тем не менее, нам все еще нужно вычислить использование модельных флопов (MFU). Примечание: мы не могли запустить JIT-компилированную версию модели 405B из-за инфраструктуры и ограничений VRAM (нам нужно исследовать это дальше). Весь тренировочный запуск был выполнен в режиме JAX Ager, поэтому существует значительный потенциал для улучшения производительности.


Если у вас есть какие -либо вопросы, пожалуйста, свяжитесь с нами по адресу [email protected].