HOME
BLOG
训练自己的alpaca
Apr 12 2023

部署自己的Alpaca对话模型(基于LLaMA的Alpaca-LoRA)

1.搭建步骤

创建虚拟环境,这里叫alpaca

1
conda create --name alpaca python=3.9

接着安装alpaca-lora

1
git clone https://github.com/tloen/alpaca-lora.git

进入项目,激活虚拟环境安装依赖

1
2
3
conda activate alpaca
cd alpaca-lora
pip install -r requirements.txt

下载数据(先用它这个中文的)

1
wget https://github.com/LC1332/Chinese-alpaca-lora/blob/main/data/trans_chinese_alpaca_data.json

这是个alpaca json data的gpt翻译版

来源于https://github.com/LC1332/Chinese-alpaca-lora

训练:8张v100

1
2
3
4
5
6
7
cd /nas-alinlp/pengcheng.spc/alpaca-lora
source activate /nas-alinlp/pengcheng.spc/conda_envs/envs/alpaca
WORLD_SIZE=8 CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --nproc_per_node=8 \
--master_port=1234 finetune.py \
--base_model 'decapoda-research/llama-7b-hf' \
--data_path '/nas-alinlp/pengcheng.spc/alpaca-lora/trans_chinese_alpaca_data.json' \
--output_dir './lora-alpaca-zh'

遇到一个坑:原始代码finetune使用int8量化会导致loss起飞,必须改掉

在finetune.py中去掉model = prepare_model_for_int8_training(model)这行,并且将load_in_8bit=False,这样设置后loss就正常了。

2.进展

[✅] finetuning alpaca with lora on 中文alpaca json data