← Cloudflare Workers AI / workers-ai / guides / tutorials
Дообучение моделей с помощью AutoTrain от HuggingFace
Дообучение модели ИИ дает возможность добавить в неё дополнительные обучающие данные. Workers AI позволяет Low-Rank Adaptation, LoRA, адаптеры который позволит вам дообучать наши модели.
В этом руководстве мы рассмотрим, как создавать собственные LoRA. Мы сосредоточимся на Дообучение LLM с помощью AutoTrain ↗.
1. Создайте файл CSV со своими обучающими данными
Начните с создания файла CSV (Comma Separated Values, значения, разделённые запятыми). В этом файле будет только один столбец с именем text. Задайте заголовок, добавив слово text на отдельной строке.
Теперь нужно решить, что вы хотите добавить в свою модель.
Примеры форматов приведены ниже:
### Human: What is the meaning of life? ### Assistant: 42.Если строка обучающих данных содержит символы переноса строки, заключите её в кавычки.
"human: What is the meaning of life? \n bot: 42."Разные модели, например Mistral, предоставляют особый шаблон чата/формат инструкций ↗
<s>[INST] What is the meaning of life? [/INST] 42</s>2. Настройте HuggingFace Autotrain Advanced Notebook
Откройте HuggingFace Autotrain Advanced Notebook ↗
Чтобы у AutoTrain было достаточно памяти, потребуется выбрать другую среду выполнения. В меню в верхней части Notebook выберите Runtime > Change Runtime Type и укажите A100.
В этом notebook есть несколько интерактивных разделов, которые нам нужно будет изменить.
Конфигурация проекта
Измените следующие поля
- project_name: выберите содержательное имя, которое будет легко вспомнить позже
- model_name: выберите одну из официальных базовых моделей HuggingFace, которые мы поддерживаем:
mistralai/Mistral-7B-Instruct-v0.2google/gemma-2b-itgoogle/gemma-7b-itmeta-llama/llama-2-7b-chat-hf
Необязательный раздел: Push to Hub
Хотя для использования AutoTrain это не обязательно, создание Аккаунт HuggingFace ↗ поможет вам хранить артефакты дообучения в удобном репозитории, чтобы обращаться к ним позже.
Если вы не выполните настройку HuggingFace, вы всё равно сможете скачать свои файлы из Notebook.
Следуйте инструкциям в notebook ↗ чтобы создать учетную запись и токен, если это необходимо.
Раздел: гиперпараметры
Нам нужно изменить лишь несколько из этих полей, чтобы всё заработало в Cloudflare Workers AI.
- квантование: измените раскрывающийся список на
none - lora-r: измените значение на
8
3. Загрузка CSV-файла в Notebook
У Notebook есть структура папок, перейти к которой можно, нажав на значок папки на левой панели навигации.
Создайте папку с именем data.
Вы можете перетащить файл CSV в notebook.
Убедитесь, что он называется train.csv
4. Выполнение Notebook
В меню Notebook выберите Runtime > Run All.
Он выполнит все ячейки Notebook по порядку: сначала установит необходимые пакеты, затем настроит и запустит вашу сессию AutoTrain.
Это может занять некоторое время в зависимости от размера вашего файла train.csv.
Если вы столкнётесь со следующей ошибкой, она вызвана нехваткой памяти (Out of Memory). Возможно, стоит переключить среду выполнения на более мощный GPU.
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'autotrain.trainers.clm', '--training_config', 'blog-instruct/training_params.json']' died with <Signals.SIGKILL: 9>.5. Загрузка LoRA
Необязательно: HuggingFace
Если вы отправили данные в HuggingFace, новую карточку модели, которую вы назвали, можно найти в project_name выше. По умолчанию карточка модели приватна. Перейдите в раздел файлов и скачайте перечисленные ниже файлы.
Notebook
В своём Notebook вы также найдёте нужные файлы. Новая папка, соответствующая вашему project_name будет там.
Скачайте следующие файлы:
adapter_model.safetensorsadapter_config.json
6. Обновление конфигурации адаптера
Вам нужно добавить одну строку в adapter_config.json который вы скачали.
"model_type": "mistral"
Где model_type это архитектура. Текущие допустимые значения: mistral, gemma, а также llama.
7. Загрузка Fine Tune в ваш аккаунт Cloudflare
Теперь, когда файлы готовы, вы можете добавить их в свою учётную запись.
Вы можете либо использовать REST API или Wrangler.
8. Использование Fine Tune в генерациях
После того как ваш новый fine tune настроен, можно использовать это в своих запросах на инференс.