LLM Pretrain SFT
1.0.0
LLM預處理和修訂的腳本(SFT)
洛拉和深速支持
存儲庫基於tatsu-lab/stanford_alpaca。
在開始連續培訓LLM之前,您應該提供模型名稱(擁抱面)或本地模型路徑。
準備培訓數據,您可以使用Markdown或TXT格式的純文本進行預處理。該示例是編寫神經影響聲明的指南。您可以在數據文件夾中添加更多文本語料庫。
發射
pip install -r requirements.txt
cd llm_pretrain
./pretrain_llama.sh
請注意,這些模型的某些參數設置不同。
在開始微調LLM之前,您應該提供模型名稱(擁抱面)或本地模型路徑。
準備培訓數據,您可以添加自己的任務數據,例如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.ink_token'到Tokenizer。
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,您的變形金剛版本應> = 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