Большие пункты знаний о тонкой настройке модели, которые может понять даже новичок
Большая модельная тонкая настройка всего процесса

Рекомендуется строго следовать вышеуказанному процессу в процессе тонкой настройки, чтобы избежать пропуска этапов, что может привести к неэффективному труду. Например, если набор данных построен неадекватно и в итоге выяснится, что плохой эффект от тонкой настройки модели обусловлен качеством набора данных, то предварительные усилия пойдут насмарку и будут потрачены впустую.
Сбор и обобщение данных
Исходя из доступности наборов данных, их можно разделить на два типа: общедоступные и труднодоступные.
Как получить доступ к общедоступным наборам данных?
Самый простой способ получить доступ к общедоступным наборам данных - искать и загружать их через соответствующие платформы с открытым исходным кодом. Например, такие платформы, как GitHub, Hugging Face, Kaggle, Magic Hitch и т. д., предоставляют большое количество открытых наборов данных. Кроме того, вы можете попробовать получить данные с некоторых сайтов с помощью технологии краулеров, например, с сайтов Posting, Zhihu, отраслевых вертикальных сайтов и т. д. Использование краулеров для получения данных обычно требует определенной технической поддержки и соблюдения соответствующих законов и правил.
Что делать, если нужные данные недоступны или их сложно получить по сети?
Если существующие общедоступные наборы данных не удовлетворяют требованиям, другой вариант - создать набор данных самостоятельно. Однако создание сотен и тысяч наборов данных вручную часто бывает утомительным и отнимает много времени. Как же эффективно создавать наборы данных? Ниже описаны две распространенные идеи для быстрого создания наборов данных:
1. использование возможностей платформы Big Model по "расширению данных"
В настоящее время многие платформы больших моделей предоставляют функцию улучшения данных, которая может эффективно помочь нам расширить набор данных. Например, открытая платформа масс-спектрометрии, открытая платформа Xunfei, открытая платформа вулканов и т. д. могут быть использованы для быстрого создания большего количества образцов на основе исходных данных с помощью функции расширения этих платформ. Сначала вручную подготавливается небольшой объем данных (например, 50 элементов данных) и загружается на эти платформы. Платформы расширяют данные с помощью технологии улучшения данных, чтобы быстро реализовать расширение набора данных.

2. Генерация данных с помощью больших моделей
Еще один эффективный способ генерирования данных - с помощью большой модели. Сначала подготавливается небольшое количество данных (например, несколько десятков), которые подаются в качестве примеров в большую модель. На основе этих примеров большая модель может генерировать аналогичные данные. Для обеспечения качества генерируемых данных рекомендуется не генерировать сразу слишком много данных в первом раунде генерации, а подготовить 20 фрагментов данных и тщательно просмотреть их, чтобы выявить типичные ошибки, которые может допустить Большая модель. Эти примеры ошибок затем возвращаются в большую модель для улучшения генерации.
示例Prompt: 参照以下示例,输出20个类似的“近期运气”问题。请注意,语言要生活化、不要过于夸张,避免使用诸如“在活动中”、“在比赛中”等定语或状语,语句尽量简洁,避免多余修饰。示例: 我这个季度顺利吗? 我这个季度会发财吗? 最近有哪些事情在等着我? 最近会发生什么事情? 近期我能否被幸运之神垂青?
Очистка данных и тонкая настройка набора данных
Сырые наборы данных обычно несовместимы с обучением модели, поэтому их необходимо очистить и обработать, чтобы они стали совместимы с форматом, в котором обучалась модель. В большинстве случаев наборы данных с тонкой настройкой обычно создаются с использованием формата AIpaca.
Знакомство с форматом AIpaca
Формат AIpaca имеет простую структуру и особенно подходит для таких задач, как генерация текста, перевод, обобщение и, в частности, для однораундовой тонкой настройки инструкций, ориентированной на конкретные задачи. Ниже приводится подробное описание его основных компонентов:
- инструкция: инструкция к задаче, аналогичная пользовательскому вводу (обязательному), которая явно указывает модели, что делать.
- input: ввод, требуемый заданием. Обычно может быть пустой строкой, если задание не требует явных вводных данных.
- выход: желаемый выход, который модель должна сгенерировать с учетом инструкций и входных данных, т.е. эталонный ответ (требуется).
- система: может рассматриваться как предварительная подсказка для модели, используемая для настройки поведения модели, обычно некоторые начальные подсказки (необязательные) для модели.
- история: информация из исторического диалога, которая помогает модели установить контекстные связи. В многораундовом задании модель генерирует ответы (необязательно) на основе диалога по истории.
Например, формат данных AIpaca выглядит следующим образом:
[ { "instruction": "用‘梦想’、‘坚持’和‘成功’这三个词组成一个句子。", "input": "", "output": "只有坚持追逐梦想,才能最终取得成功。" }, { "instruction": "对《三国演义》做一个简短的介绍。", "input": "", "output": "《三国演义》是中国古典四大名著之一,描写了从东汉末年到西晋初年近百年的历史,讲述了东汉末年的群雄割据混战及魏、蜀、吴三国之间的政治和军事斗争,塑造了一批英雄人物。" } ]
Методология построения набора данных
Чтобы сделать набор данных для тонкой настройки, нам обычно нужно преобразовать данные в JSON-файл, соответствующий формату AIpaca. Ниже приведены два распространенных способа создания наборов данных:
- Ручное построение наборов данных: после организации необходимых данных и построения их в соответствии с форматом AIpaca наборы данных можно построить вручную, написав код на Python. Этот метод подходит для простых сценариев и небольших наборов данных.
- Автоматизированное построение с использованием макромоделей: автоматическая генерация наборов данных путем вызова интерфейсов макромоделей. Этот подход подходит для больших наборов данных, особенно когда задача имеет относительно фиксированный шаблон инструкций и выходов.
Полный формат набора данных
Ниже показан полный формат AIpaca, содержащий команды задачи, входы, выходы, слова системной подсказки и историческую информацию о диалоге:
[ { "instruction": "人类指令(必填)", "input": "人类输入(选填)", "output": "模型回答(必填)", "system": "系统提示词(选填)", "history": [ ["第一轮指令(选填)", "第一轮回答(选填)"], ["第二轮指令(选填)", "第二轮回答(选填)"] ] } ]
Такой формат помогает модели изучить связь между инструкциями и результатами, подобно тому, как если бы вы давали модели практические задачи, где инструкция + вход = вопрос, а выход = ответ.
Выбор базовой модели
- Выбор типа модели: выберите базовую модель, например GPT, LLaMA или BERT, в зависимости от требований задачи.
- Размер и параметры: определите размер модели (например, 7B, 13B или 65B параметров), принимая во внимание вычислительные ресурсы, время обучения и скорость вывода.
- Модели с открытым исходным кодом и коммерческие модели: проанализируйте необходимость выбора между моделями с открытым исходным кодом (например, LLaMA, Falcon) и коммерческими моделями с закрытым исходным кодом (например, семейство OpenAI GPT).
- Используя тестовые данные, проведите сравнительный тест, чтобы найти наилучшее соответствие среди нескольких выбранных моделей.
Описание параметров модели

Пять вопросов души
I. Что такое тонкая настройка?
Тонкая настройка - это процесс дальнейшего обучения уже предварительно обученной модели на новом наборе данных. Эти предварительно обученные модели, как правило, уже имеют богатые характеристики и знания на больших наборах данных и обладают определенными общими возможностями. Основная цель тонкой настройки - перенести эти общие знания на новую, более конкретную задачу или область, чтобы модель могла лучше решать конкретную проблему.
II. Зачем нужна тонкая настройка?
1. Экономия вычислительных ресурсов
Обучение большой модели с нуля требует много вычислительных ресурсов и времени и является очень дорогостоящим. Тонкая настройка использует предварительно обученные модели в качестве отправной точки и требует меньше тренировок на новых наборах данных для достижения хороших результатов, что значительно сокращает вычислительные затраты и время.
2. Повышение производительности модели
Предварительно обученные модели, обладая обобщенными возможностями, могут плохо справляться с конкретными задачами. Тонкая настройка повышает точность и эффективность за счет корректировки параметров модели с помощью данных, специфичных для конкретной области, чтобы сделать ее более искусной в решении целевой задачи.
3. Адаптация к новым районам
Общие предварительно обученные модели могут плохо понимать характеристики данных в конкретной области, поэтому тонкая настройка может помочь моделям адаптироваться к новым областям и лучше справляться с данными в конкретных задачах.
III. Что дает тонкая настройка?
Тонкая настройка позволяет получить оптимизированную и настроенную модель. Эта модель основана на структуре исходной предварительно обученной модели, но ее параметры были обновлены, чтобы лучше адаптироваться к новым задачам или требованиям области.
Примеры:
Предположим, что существует предварительно обученная модель классификации изображений, которая распознает обычные объекты. Если необходимо распознать конкретные типы цветов, модель можно точно настроить с помощью нового набора данных, содержащего различные изображения цветов и метки. После тонкой настройки параметры модели обновляются для более точного распознавания этих типов цветов.
IV. Как внедрить отлаженную модель в производство?
1. развертывание в производственной среде
Интеграция моделей в веб-сайты, мобильные приложения и другие системы может быть осуществлена с помощью серверов моделей или облачных сервисов, таких как API, предоставляемые TensorFlow Serving, TorchServe или Hugging Face.
2. задачи на рассуждение
Используйте точно настроенную модель для выводов, например, для предсказания исходных данных или для анализа результатов.
3. постоянное обновление и оптимизация
На основе новых требований или обратной связи модель дополнительно настраивается или добавляется больше данных для обучения, чтобы поддерживать оптимальную производительность модели.
V. Как выбрать метод тонкой настройки?
- LoRA: низкоранговая адаптация для уменьшения размера точно настраиваемых параметров в средах с ограниченными ресурсами.
- QLoRA: количественная оптимизация на основе LoRA для более эффективной работы с точной настройкой больших моделей.
- P-tuning: техника обучения по подсказкам, подходящая для задач с малой выборкой или небольшим количеством помеченных данных.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...