个人虚拟机unbuntu离线全模型Bug调试

249 阅读2分钟

Llama 2配置操作

pipenv虚拟环境目录设置_pipenv设置本地生成目录-CSDN博客 LLama2 本地部署_cecere的博客-CSDN博客

windows 商店unbuntu20
下载miniconda
su root
创建目录
当前用户mkdir /Download
cd /Download

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.9.2-Linux-x86_64.sh
chmod u+x Miniconda3-py38_4.9.2-Linux-x86_64.sh
./Miniconda3-py38_4.9.2-Linux-x86_64.sh

切换base
vim ~/.bashrc
bash ~/.bashrc
. ~/.bashrc
source ~/.bashrc

检查pip,pyton,conda版本
pip换源(最重要,其他随意)
当前用户mkdir /model/模型

清空所有pip list
cd model
pip freeze>all_modules.txt
pip uninstall -r all_modules.txt -y

配置/model/模型:
vim .env
PIPENV_VENV_IN_PROJECT=true

source .env


可使用以下命令安装pipenv:
(环境过大1-2G,建议配置到D盘)
pip3 install pipenv
pipenv --python 3.10
pipenv --python 3.8
激活
pipenv install -e .

pipenv shell

pipenv install msvc-runtime matplotlib ludwig
pip install msvc-runtime matplotlib ludwig
(错误创建虚拟环境后,记得把文件删干净,
包括C盘的环境目录和当前目录下Pipfile  Pipfile.lock)


完整
接下来,通过使用以下命令创建一个新环境,在指定目录下创建虚拟环境, 会使用本地默认版本的python:
pipenv install

如果要指定版本创建环境,可以使用如下命令:
pipenv --two  # 使用当前系统中的Python2 创建环境
pipenv --three  # 使用当前系统中的Python3 创建环境
pipenv --python 3  # 指定使用Python3创建环境
pipenv --python 3.6  # 指定使用Python3.6创建环境
pipenv --python 2.7.14  # 指定使用Python2.7.14创建环境


激活虚拟环境:
pipenv shell

删除虚拟环境:
pipenv --rm

使用exit()退出当前虚拟环境。
bash download.sh
邮箱的链接
版本

6. 实战:微调Llama 2

6.1 下载训练脚本

首先我们从github上下载Llama 2的微调代码:GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model

执行命令:

git clone https://github.com/facebookresearch/llama-recipes .

下载完成之后,安装对应环境,执行命令:

pip install -r requirements.txt

6.2 下载模型

接着我们从HuggingFace上下载模型,可以看到目前有多个版本可供选择,这里我们就选择Llama-2-7b-half。

image.png

可以通过手动下载,也可以通过命令下载:

import huggingface_hub

huggingface_hub.snapshot_download(
        "meta-llama/Llama-2-7b-hf",
        local_dir="./Llama-2-7b-hf",
        token="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"
)

这里的token可以在HuggingFace中获取,如下图所示:

image.png

6.3 下载数据

这里选择GuanacoDataset数据集。数据格式如下:

image.png

可以看到里面包含了各类任务,而且还有其它语言。

6.4 微调模型

数据准备好后,接下来就可以微调模型。如果是单卡,可以使用如下脚本:

#if running on multi-gpu machine
export CUDA_VISIBLE_DEVICES=0

python llama_finetuning.py  --use_peft --peft_method lora --quantization --model_name /patht_of_model_folder/7B --output_dir Path/to/save/PEFT/model

如果是多卡,执行以下命令:

torchrun --nnodes 1 --nproc_per_node 4  llama_finetuning.py --enable_fsdp --use_peft --peft_method lora --model_name /patht_of_model_folder/7B --pure_bf16 --output_dir Path/to/save/PEFT/model

模型微调完成后,就可以在线推理。

可以使用alpaca-lora中提供的脚本generate.py进行推理,启动命令:

python generate.py --base_model ./Llama-2-7b-hf --lora_weights ./lora

接着就可以体验具体效果了。