Use Qlora para ajustar el modelo chino de idiomas grandes.
Use Qlora para Tune Baichuan-7b, y el código es más conciso: https://github.com/taishan19994/baichuan-qlora tuning
numpy == 1.24 . 2
pandas == 2.0 . 0
nltk == 3.7
transformers == 4.30 . 0. dev0
accelerate == 0.20 . 0. dev0
deepspeed == 0.9 . 2
peft == 0.4 . 0. dev0
datasets == 2.12 . 0
evaluate == 0.2 . 2
sentencepiece == 0.1 . 97
scipy == 1.10 . 1
icetk
cpm_kernels
mpi4py == 3.1 . 4 - - output #训练保存lora权重
- - - - chatglm
- - - - alpaca
- - - - bloom
- - data
- - - - msra
- - - - - - instruct_data
- - - - - - - - train . json #指令数据
- - model_hub
- - - - BELLE - 7 B - 2 M #bloom权重
- - - - chatglm - 6 b #chatGLM权重
- - - - 7 B : #英文LLaMA原始权重
- - - - 7 B - hf : #英文权重转换为hugging face格式权重
- - - - chinese - llama - plus - lora - 7 b : #中文llama-7b的lora权重
- - - - chinese - alpaca - plus - lora - 7 b : #中文alpaca-7b的lora权重
- - - - chinese - alpaca - 7 b : #合并lora后的最终的模型
- - - - tokenizer . model : #原始llama的7B文件
- - - - convert_llama_weights_to_hf . py #llama转换为hugging face格式
- - - - merge_llama_with_chinese_lora . py #合并lora到预训练模型
- - tools
- - - - get_version . py #获取python包版本
- - - - get_used_gpus . py #循环打印使用的GPU显卡
- - chat . py # 闲聊
- - qlora . py # 4bit训练
- - process . py # 测试处理数据Dirección de descarga de chatglm-6b: Tsinghua University Cloud Disk (tsinghua.edu.cn)
python qlora . py - - model_name = "chatglm" - - model_name_or_path = "./model_hub/chatglm-6b" - - trust_remote_code = True - - dataset = "msra" - - source_max_len = 128 - - target_max_len = 64 - - do_train - - save_total_limit = 1 - - padding_side = "left" - - per_device_train_batch_size = 8 - - do_eval - - bits = 4 - - save_steps = 10 - - gradient_accumulation_steps = 1 - - learning_rate = 1e-5 - - output_dir = "./output/chatglm/" - - lora_r = 8 - - lora_alpha = 32El modelo LLAMA publicado oficialmente por Facebook está prohibido por el uso comercial, y el funcionario no tiene pesos oficiales de modelos de código abierto (aunque ya hay muchas direcciones de descarga de terceros en Internet). Para seguir el permiso correspondiente, actualmente es imposible publicar los pesos del modelo completo. Por favor, comprenda (lo mismo es cierto en el extranjero en la actualidad). Busque la dirección de descarga usted mismo.
python convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./7B-hf . Si se informa un error: If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0 , puede pip install --upgrade protobuf==3.20.1 , y luego: python convert_llama_weights_to_hf.py --input_dir ./ --model_size tokenizer_only --output_dir ./7B-hf . Finalmente podemos obtener 7B-HF.python merge_llama_with_chinese_lora.py --base_model "./7B-hf" --lora_model "./chinese-llama-plus-lora-7b,chinese-alpaca-plus-lora-7b" --output_type "huggingface" --output_dir "./chinese-alpaca-7b" . Finalmente podemos obtener chino-alpaca-7b. python qlora . py - - model_name = "chinese_alpaca" - - model_name_or_path = "./model_hub/chinese-alpaca-7b" - - trust_remote_code = False - - dataset = "msra" - - source_max_len = 128 - - target_max_len = 64 - - do_train - - save_total_limit = 1 - - padding_side = "right" - - per_device_train_batch_size = 8 - - do_eval - - bits = 4 - - save_steps = 10 - - gradient_accumulation_steps = 1 - - learning_rate = 1e-5 - - output_dir = "./output/alpaca/" - - lora_r = 8 - - lora_alpha = 32Belle-7B-2M Dirección de descarga: BelleGroup/Belle-7B-2M en Main (Huggingface.co)
python qlora . py - - model_name = "chinese_bloom" - - model_name_or_path = "./model_hub/BELLE-7B-2M" - - trust_remote_code = False - - dataset = "msra" - - source_max_len = 128 - - target_max_len = 64 - - do_train - - save_total_limit = 1 - - padding_side = "left" - - per_device_train_batch_size = 8 - - do_eval - - bits = 4 - - save_steps = 10 - - gradient_accumulation_steps = 1 - - learning_rate = 1e-5 - - output_dir = "./output/bloom/" - - lora_r = 8 - - lora_alpha = 32 python chat . py - - model_name "chatglm" - - base_model "./model_hub/chatglm-6b" - - tokenizer_path "./model_hub/chatglm-6b" - - lora_model "./output/chatglm/adapter_model" - - with_prompt - - interactive¿Cómo entrenar sus propios datos? El formato de datos es:
{
"data" : [
{ "instruction" : "" , "input" : "" , "output" : "" },
{ "instruction" : "" , "input" : "" , "output" : "" },
...
]
}Luego agregue su propio conjunto de datos en el lugar donde los datos se definen en qlora.py. Finalmente, defina los parámetros relevantes cuando ejecute el comando.
liucongg/chatglm-finetuning: basado en el modelo ChatGlm-6b, se llevan a cabo tareas específicas aguas abajo, que implican congelación, lora, p-ajuste, etc. (github.com)
Thudm/ChatGlm-6b: ChatGlm-6b: un modelo de lenguaje de diálogo bilingüe abierto | Modelo de lenguaje de diálogo bilingüe de código abierto (github.com)
Huggingface/Peft :? PEFT: ajuste fino eficiente de los parámetros de última generación. (github.com)
YMCUI/Chinese-llama-Alpaca: Llama chino y alpaca Modelo de lenguaje grande + Despliegue de capacitación local de CPU/GPU (chino Llama & Alpaca LLMS) (github.com)
Lianjiatech/Belle: Belle: Be el motor de modelos de idiomas grandes de todos (modelo de diálogo chino de código abierto) (github.com)
Artidoro/Qlora: Qlora: Finetuning eficiente de LLM cuantizados (github.com)
¿Qué persona de buen corazón, Kado, puedes probar el efecto final? Alquilar autodl no es suficiente para llegar a fin de mes