Тонкая настройка модели LLaMa на основе peft

1. Модель и подготовка данных

Используемая большая модель: https://huggingface.co/decapoda-research/llama-7b-hf, которая уже является моделью float16.

Набор данных тонкой настройки: https://github.com/LC1332/Chinese-alpaca-lora/blob/main/data/trans_chinese_alpaca_data.json

Код тонкой настройки загружен на github: https://github.com/jiangxinyang227/LLM-tuning/tree/master/llama_tuning .

2. Тонкая настройка навыков

1) тонкая настройка лора. Модель float16 просто хранится на графическом процессоре 16G, а памяти для хранения таких параметров, как градиенты и оптимизаторы, не так много, поэтому здесь мы используем lora для тонкой настройки некоторых параметров.

2) Обучение со смешанной точностью, потому что llama-7b имеет 27g, если вы хотите загрузить его на одиночный V100, вам нужно преобразовать его в float16, а параметр lora использует float32, поэтому вам нужно использовать обучение со смешанной точностью. В то же время будет ускорена тренировка смешанной точности.

3) Накопление градиента.После того, как один графический процессор сохраняет параметры модели, параметры lora, градиенты, оптимизатор и другие параметры, остается лишь небольшой объем видеопамяти для промежуточных переменных, таких как ввод и вывод.После тестирования предел одного графического процессора V100 составляет примерно размер пакета = 1, длина последовательности = 200, и только накопление градиента может использоваться для достижения мини-пакетного обучения.

4) Когда есть несколько карт, вы можете

Guess you like

Origin blog.csdn.net/u013250861/article/details/131724933