Skip to content

Latest commit

 

History

History
99 lines (72 loc) · 1.94 KB

s6.md

File metadata and controls

99 lines (72 loc) · 1.94 KB

S6.Jetson端移植LMDeploy-0.2.5

下载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.0triton>=2.1.0,<2.2.0两行行删除。

提示:为了简化依赖,我们去除了triton,这也同时意味着使用lmdeploy部署模型时,只能通过turbomind方式调用,而不能通过api方式。

本地安装lmdeploy-v0.2.5

cd ~/lmdeploy
pip install -e .[serve]