下载lmdeploy-v0.2.5:
cd ~/
git clone https://github.com/InternLM/lmdeploy.git
cd lmdeploy
git checkout c5f4014 # 确保为0.2.5版本
进入conda环境:
conda activate lmdeploy
安装编译依赖项:
cd ~/lmdeploy
pip install -r requirements/build.txt
在~/lmdeploy
下新建generate_jetson.sh
,填入以下内容:
#!/bin/sh
builder="-G Ninja"
if [ "$1" == "make" ]; then
builder=""
fi
cmake ${builder} .. \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
-DCMAKE_INSTALL_PREFIX=./install \
-DBUILD_PY_FFI=ON \
-DBUILD_MULTI_GPU=OFF \
-DCMAKE_CUDA_FLAGS="-lineinfo" \
-DUSE_NVTX=ON
赋予权限。
chmod +x generate_jetson.sh
安装Ninja。
sudo apt-get install ninja-build
新建编译文件夹:
cd ~/lmdeploy
mkdir build && cd build
编译LMDeploy:
../generate_jetson.sh
ninja install
编译过程中可能出现内存不足而导致Killed
的现象。可以通过如下方式扩大交换区容量,再重新执行ninja install
。
# 新建6G大小的交换区,大小可自定义,结合硬盘容量
sudo fallocate -l 6G /var/swapfile
# 赋予权限
sudo chmod 600 /var/swapfile
# 建立交换区
sudo mkswap /var/swapfile
# 启用交换区
sudo swapon /var/swapfile
# 设置自动启用交换区
sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
注意:使用vim修改requirements/runtime.txt
,将torch<=2.1.2,>=2.0.0
和triton>=2.1.0,<2.2.0
两行行删除。
提示:为了简化依赖,我们去除了triton
,这也同时意味着使用lmdeploy部署模型时,只能通过turbomind方式调用,而不能通过api方式。
本地安装lmdeploy-v0.2.5
cd ~/lmdeploy
pip install -e .[serve]