GPU云主机

以Llama 2为例进行大模型推理实践

2026-01-27 09:36:53

一. 什么是Llama2

Meta在7月18日发布了可以免费用于学术研究或商业用途的Llama2开源大语言模型。

Llama的训练方法是先进行无监督预训练,再进行有监督微调,训练奖励模型,根据人类反馈进行强化学习。 Llama 2的训练数据比Llama 1多40%,用了2万亿个tokens进行训练,并且上下文长度是Llama 1的两倍。 目前提供7B 、13B、70B三种参数量的版本。

根据Meta公布的官方数据,Llama 2在许多基准测试上都优于其他开源语言模型,包括推理、编程、对话能力和知识测试,在帮助性、安全性方面甚至比部分闭源模型要好。

Llama 2-Chat在Llama 2的基础上针对聊天对话场景进行了微调和安全改进,使用 SFT (监督微调) 和 RLHF (人类反馈强化学习)进行迭代优化,以便更好的和人类偏好保持一致,提高安全性。

Llama 2-Chat更专注于聊天机器人领域,主要应用于以下几个方面:

  • 客户服务:Llama 2-Chat可以用于在线客户服务,回答关于产品、服务的常见问题,并向用户提供帮助和支持。

  • 社交娱乐:Llama 2-Chat可以作为一个有趣的聊天伙伴,与用户进行随意、轻松的对话,提供笑话、谜语、故事等娱乐内容,增加用户的娱乐体验。

  • 个人助理:Llama 2-Chat可以回答一些日常生活中的问题,如天气查询、时间设置、提醒事项等,帮助用户解决简单的任务和提供一些实用的功能。

  • 心理健康:Llama 2-Chat可以作为一个简单的心理健康支持工具,可以与用户进行交流,提供情绪调节、压力缓解的建议和技巧,为用户提供安慰和支持。

二. 在GPU云主机上搭建模型运行环境

步骤一:下载模型并上传

从huggingface官网下载Llama-2-7b-chat-hf模型,如下图所示。下载完成后上传至GPU云主机。          

说明:如何将本地文件上传到Linux云主机请参考本地文件如何上传到Linux云主机

 

步骤二:环境搭建

1. 上传并安装GPU驱动

Nvidia官网下载GPU驱动并上传至GPU云主机,按照如下步骤安装驱动。

# 对安装包添加执行权限

chmod +x NVIDIA-Linux-x86_64-515.105.01.run

# 安装gcc和linux-kernel-headers

sudo apt-get install gcc linux-kernel-headers

# 运行驱动安装程序

sudo sh NVIDIA-Linux-x86_64-515.105.01.run --disable-nouveau

# 查看驱动是否安装成功

nvidia-smi

  

说明:如何选择驱动及相关库、软件版本请参见如何选择驱动及相关库、软件版本

 

2. 安装Nvidia CUDA Toolkit组件

wget http://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run

# 安装CUDA

bash cuda_11.7.0_515.43.04_linux.run

# 编辑环境变量文件

vi ~/.bashrc

# 增加环境变量

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

# 使环境变量生效

source ~/.bashrc

# 查看是否安装成功

nvcc -V


3. 安装Miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 安装Miniconda3

bash Miniconda3-latest-Linux-x86_64.sh

# 配置conda环境变量

vim /etc/profile

# 添加环境变量

export ANACONDA_PATH=~/miniconda3
export PATH=$PATH:$ANACONDA_PATH/bin

# 使环境变量生效

source /etc/profile

# 查看是否安装成功

which anaconda
conda --version
conda info -e
python

# 查看虚拟环境

conda env list

4. 安装cuDNN

cudnn-download下载cuDNN压缩包并上传至GPU云主机,按照如下步骤进行安装。

# 解压

tar -xf cudnn-linux-x86_64-8.9.4.25_cuda11-archive.tar.xz

# 进目录

cd cudnn cudnn-linux-x86_64-8.9.4.25_cuda11-archive

# 复制

cp ./include/*  /usr/local/cuda-11.7/include/
cp ./lib/libcudnn*  /usr/local/cuda-11.7/lib64/

# 授权

chmod a+r /usr/local/cuda-11.7/include/* /usr/local/cuda-11.7/lib64/libcudnn*

# 查看是否安装成功

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

5. 安装依赖

a. 下载Llama模型代码

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

b. 在线安装依赖

python -m pip install --upgrade pip -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# 下载依赖

pip install -e . -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install transformer  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# 下载peft

git clone https://github.com/huggingface/peft.git

# 传到离线服务器上切换分支,安装特定版本peft

git checkout 13e53fc

# 安装peft

pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn


步骤三:镜像打包

为了使您能更快的搭建模型运行环境,在完成步骤一和步骤二的操作后,我们对GPU云主机的系统盘进行了打包,生成了标准的GPU云主机镜像。目前已经上传至天翼云成都4、海口2资源池,您可直接对该镜像进行使用。

镜像打包步骤如下:

echo "nameserver 114.114.114.114" > /etc/resolv.conf
echo "localhost" > /etc/hostname

# 清除 machine-id。

yes | cp -f /dev/null /etc/machine-id

# 若有 /var/lib/dbus/machine-id,则:

# rm -f /var/lib/dbus/machine-id
# ln -s /etc/machine-id /var/lib/dbus/machine-id
 
cloud-init clean -l  # 清理 cloud-init。若此命令不可用,则可尝试:rm -rf /var/lib/cloud
rm -f /tmp/*.log  # 清除镜像脚本日志。

# 清理 /var/log 日志。

read -r -d '' script <<-"EOF"
import os
def clear_logs(base_path="/var/log"):
    files = os.listdir(base_path)
    for file in files:
        file_path = os.path.join(base_path, file)
        if os.path.isfile(file_path):
            with open(file_path, "w") as f:
                f.truncate()
        elif os.path.isdir(file_path):
            clear_logs(base_path=file_path)
 
if __name__ == "__main__":
    clear_logs()
EOF
if [ -e /usr/bin/python ]; then
    python -c "$script"
elif [ -e /usr/bin/python2 ]; then
    python2 -c "$script"
elif [ -e /usr/bin/python3 ]; then
    python3 -c "$script"
else
    echo "### no python env in /usr/bin. clear_logs failed ! ###"
fi

# 清空历史记录。

rm -f /root/.python_history
rm -f /root/.bash_history
rm -f /root/.wget-hsts


三. 使用大模型镜像进行模型快速部署

步骤一:创建GPU云主机

登录天翼云控制台,进入弹性云主机主机订购页,选择计算加速型GPU云主机,在公共镜像中选择大模型镜像 LLaMA2-7B-Chat。

大模型镜像 LLaMA2-7B-Chat最低规格推荐:p2v.2xlarge.4 8vCPU 32GB内存 单张v100 GPU。

步骤二:在线推理

登录GPU云主机,根据如下步骤执行推理任务。

#进入/opt/llama目录并执行sh run.sh命令

cd /opt/llama && sh run.sh

#根据提示在  ”please input your question :” 后输入推理问题