Сценарии предварительной подготовки и конфигурации LLM (SFT)
Lora & Deepspeed поддерживают
Репозиторий основан на Tatsu-lab/stanford_alpaca.
Прежде чем начать постоянное предварительное обучение LLM, вы должны предоставить имя модели (Huggingface) или локальный путь модели.
Подготовьте данные обучения, вы можете использовать простой текст в формате Marckdown или TXT для предварительной подготовки. Примером является руководство по написанию заявления о воздействии Neurips. Вы можете добавить больше текстового корпуса в папку данных.
Запуск
pip install -r requirements.txt
cd llm_pretrain
./pretrain_llama.sh
Обратите внимание, что некоторые параметры параметров этих моделей различны.
Прежде чем начать тонкую настройку LLM, вы должны предоставить имя модели (Huggingface) или локальный путь модели.
Подготовьте данные обучения, вы можете добавить свои данные собственных задач, как пример в sft_examples.json, который похож на Alpaca_data.json
Формат заключается в следующем:
{
"binary_selection": [
{
"instruction": "Does the following text violate the law?nText: OH MY FUCKING GOD",
"output": "No"
},
...
],
"another_task_name": [
{
"instruction": "How are you?",
"output": "Not bad."
},
...
],
...
}
Обратите внимание, что если вы поместите Alpaca_Data.json в папку данных, сценарий будет использовать его как часть учебных данных.
LLAMA-2 : Поскольку в Llama-2 нет PAD_TOKEN, рекомендуется добавить «tokenizer.pad_token = tokenizer.unk_token» в токенизатор.
pip install -r requirements.txt
cd llm_sft
./train_llama.sh
pip install -r requirements.txt
cd llm_sft
./train_baichuan_LORA.sh
Вы можете настроить конфигурации в Train_lora.py. В наших экспериментах, для Baichuan, ваша версия Transformers должна> = 4.29.0 и <4.34.0.
Обратите внимание, что некоторые параметры параметров этих моделей различны.
Если вы хотите использовать DeepSpeed, используйте следующую команду:
--deepspeed "./configs/default_offload_opt_param.json"
.
├── LICENSE
├── README.md
├── llm_pretrain_clean
│ ├── data
│ │ └── A_Guide_to_Writing_the_NeurIPS_Impact_Statement.md
│ ├── evaluation
│ │ └── inference_single.py
│ ├── generate_pretrain_data.py
│ ├── pretrain.py
│ ├── pretrain_baichuan2.sh
│ ├── pretrain_llama.sh
│ ├── pretrain_mistral.sh
│ ├── requirementsX.txt
│ └── utils.py
└── sft_model_clean
├── README.md
├── configs
│ └── default_offload_opt_param.json
├── data
│ ├── alpaca_data.json
│ └── sft_examples.json
├── evaluation
│ └── inference_single.py
├── generate_sft_data.py
├── requirementsX.txt
├── train.py
├── train_baichuan.sh
├── train_baichuan_LORA.sh
├── train_llama.sh
├── train_lora.py
├── train_mistral.sh
└── utils.py