写在前面
大模型的特点:
显存开销大、需要缓存大量的kv、数据长度不统一(动态shape)、请求数量不固定,token逐个生成
因此,对应的大模型部署挑战有:
硬件设备 | 巨大的存储开销 |
训练推理 | token的加速生成、内存的有效管理利用、动态shape的处理 |
服务 | 系统响应时间的降低、系统吞吐量的提升 |
LMDeploy:
是一个用于压缩、部署、服务 LLM 的工具包,由 MMRazor 和 MMDeploy 团队开发,英伟达设备上部署的全流程解决方案,其包括模型轻量化、推理和服务。
它具有以下核心功能:高效的推理引擎、交互式推理模式、量化。
主要说一下量化,因为后面主要有对量化进行课程实践。
量化的主要目的是减小显存占用,提升运行速度。
这里附上机智流的Llama3教程链接:
1、LMDeploy部署Llama3
按照之前的章节,下载配置好必要的环境、权重等。
# 创建镜像并下载依赖
conda create -n llama3 python=3.10
conda activate llama3
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
# 安装git
mkdir -p ~/model
cd ~/model
apt install git git-lfs -y
# 获取权重模型
git clone https://code.openxlab.org.cn/MrCat/Llama-3-8B-Instruct.git Meta-Llama-3-8B-Instruct
安装 LMDeploy并运行
conda activate lmdeploy
# 安装
pip install -U lmdeploy[all]
# 运行
lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct