Llama2大语言模型在云GPU(AutoDL)上进行训练微调(自定义数据集)

Llama2是Meta开源的语言大模型,它经过训练的数据集包含2万亿个token。相比Llama,Llama2的上下文长度已经从2048扩展到4096,这使其能够理解和生成更长的文本。Llama2包括了多个模型,分别是7B、13B和70B的模型。

一、准备工作

  1. 在autodl平台租用实例(直接搜索,有许多租用教程,建议租用显存大于24G的显卡)
  2. 安装需要用的依赖包
Python 3.8+ 
PyTorch 1.13.1+
transformers 4.31.0
peft 0.5.0

二、模型下载

Llama网址:https://github.com/LlamaFamily/Llama-Chinese
下载代码文件,以及Chinese-Llama-2-7b的模型权重,放在项目里。
在这里插入图片描述

1.将模型文件上传AutoDL

将模型文件放在/root/autodl-tmp下
在这里插入图片描述
2.自定义数据集训练微调

在这里插入图片描述
dataset_info.json包含所有数据集的信息,并且需要重新创建一个self_cognition.json文件,self_cognition-base.json为原来的self_cognition.json文件

self_cognition-base.json文件部分数据展示,可以自行修改内容。
在这里插入图片描述

3. 模型微调训练

打开AutoDL终端,切换到你项目根目录下执行以下代码:

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path /root/autodl-tmp/LLaMA-Efficient-Tuning/models/Chinese-Llama-2-7b \
    --do_train \
    --dataset self_cognition\
    --template default \
    --finetuning_type lora \
    --lora_target q_proj,v_proj \
    --output_dir /root/autodl-tmp/LLaMA-Efficient-Tuning/models/My-sft-checkpoint\
    --overwrite_cache \
    --per_device_train_batch_size 4 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 15.0 \
    --plot_loss \
    --fp16

训练结束后
在这里插入图片描述
4. 命令行演示

执行以下代码:

python src/cli_demo.py  --model_name_or_path /root/autodl-tmp/LLaMA-Efficient-Tuning/models/Chinese-Llama-2-7b --template default --checkpoint_dir /root/autodl-tmp/LLaMA-Efficient-Tuning/models/My-sft-checkpoint

效果图,即可完成对话
在这里插入图片描述

6. Web界面演示

执行以下代码

python src/web_demo.py --model_name_or_path /root/autodl-tmp/LLaMA-Efficient-Tuning/models/Chinese-Llama-2-7b --template default --checkpoint_dir /root/autodl-tmp/LLaMA-Efficient-Tuning/models/My-sft-checkpoint

运行结果
在这里插入图片描述
网页上,输入上面的URL
在这里插入图片描述

通过上述进行对话,直接成功部署Chinese-Llama-2-7B!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值