Scripts de LLM Pré -Trerendo e Finiques (SFT)
Lora & DeepSpeed suportado
O repositório é baseado em Tatsu-Lab/Stanford_alpaca.
Antes de iniciar o LLM de pré-treinamento contínuo, você deve fornecer o nome do modelo (Huggingface) ou o caminho do modelo local.
Prepare os dados de treinamento, você pode usar o texto simples no formato de Markdown ou TXT para pré -treinamento. O exemplo é um guia para escrever a declaração de impacto dos neurips. Você pode adicionar mais corpus de texto na pasta de dados.
Lançar
pip install -r requirements.txt
cd llm_pretrain
./pretrain_llama.sh
Observe que algumas configurações de parâmetros desses modelos são diferentes.
Antes de iniciar o Tuneing LLM, você deve fornecer o nome do modelo (Huggingface) ou o caminho do modelo local.
Prepare dados de treinamento, você pode adicionar seus próprios dados de tarefas como o exemplo em sft_examples.json, que é semelhante ao alpaca_data.json
O formato é o seguinte:
{
"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."
},
...
],
...
}
Observe que, se você colocar o alpaca_data.json na pasta de dados, o script o usará como parte dos dados de treinamento.
LLAMA-2 : Como não há pad_token em llama-2, é recomendável que você possa adicionar 'tokenizer.pad_token = tokenizer.unk_token' ao tokenizer.
pip install -r requirements.txt
cd llm_sft
./train_llama.sh
pip install -r requirements.txt
cd llm_sft
./train_baichuan_LORA.sh
Você pode ajustar as configurações no trens_lora.py. Em nossos experimentos, para Baichuan, a versão dos Transformers deve> = 4.29.0 e <4,34.0.
Observe que algumas configurações de parâmetros desses modelos são diferentes.
Se você deseja usar o DeepSpeed, use o seguinte comando:
--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