Alpaca-LoRA 是一个开源项目,由 tloen 开发,旨在使用低秩适应(LoRA)技术在消费级硬件上复现斯坦福大学的 Alpaca 模型效果。该项目提供了一个类似于 text-davinci-003 质量的指令遵循模型,甚至可以在树莓派上运行(用于研究目的),代码可以轻松扩展到 13B、30B 和 65B 模型。
# 克隆项目
git clone https://github.com/tloen/alpaca-lora.git
cd alpaca-lora
# 安装依赖
pip install -r requirements.txt
# 基础训练命令
python finetune.py \
--base_model 'decapoda-research/llama-7b-hf' \
--data_path 'yahma/alpaca-cleaned' \
--output_dir './lora-alpaca'
# 自定义超参数训练
python finetune.py \
--base_model 'decapoda-research/llama-7b-hf' \
--data_path 'yahma/alpaca-cleaned' \
--output_dir './lora-alpaca' \
--batch_size 128 \
--micro_batch_size 4 \
--num_epochs 3 \
--learning_rate 1e-4 \
--cutoff_len 512 \
--val_set_size 2000 \
--lora_r 8 \
--lora_alpha 16 \
--lora_dropout 0.05 \
--lora_target_modules '[q_proj,v_proj]' \
--train_on_inputs \
--group_by_length
# 启动推理服务
python generate.py \
--load_8bit \
--base_model 'decapoda-research/llama-7b-hf' \
--lora_weights 'tloen/alpaca-lora-7b'
# 构建镜像
docker build -t alpaca-lora .
# 运行容器
docker run --gpus=all --shm-size 64g -p 7860:7860 \
-v ${HOME}/.cache:/root/.cache --rm alpaca-lora generate.py \
--load_8bit \
--base_model 'decapoda-research/llama-7b-hf' \
--lora_weights 'tloen/alpaca-lora-7b'
项目提供了与 Stanford Alpaca 和 text-davinci-003 的详细对比结果:
指令示例:告诉我关于羊驼的信息
技术任务测试:
Alpaca-LoRA 项目代表了 AI 民主化的重要一步,它使得高质量的大语言模型微调变得触手可及。通过 LoRA 技术,该项目成功地将企业级的 AI 能力带到了个人开发者和研究者手中。