前言
MLC LLM 是近期最新开源的大语言模型,需求算力较低,号称甚至可以手机原生本地运行。大多数消费级显卡自然也能顺畅运行起来,那么就让我们尝试在 NAS 上快速部署并亲自测试一下吧。
根据项目部署说明,部署前,我们需要先准备好 Conda 环境及 Vulkan 驱动。
创建 VM 并直通显卡
如果读者基于其他系统平台进行部署,可跳过本节
首先,准备好 AlmaLinux 9.1 系统镜像(可以在 这里 寻找一个合适的下载点),在 Unraid 中如下创建虚拟机,将你的 GPU 设置为第二显卡。这里笔者保险起见,分配了 15G 内存,读者可以根据实际需要自行调整。虚拟机创建后,直接连接 VNC 安装系统即可,建议直接选择最小安装。
需要注意的是,Unraid 直通显卡前,需先在「工具-系统设备」处勾选,然后点击下方的「在引导时绑定」按钮,重新启动机器后再进行配置。
安装 AMD GPU 驱动
系统安装完成后,首先更新一遍所有软件包:
dnf update
然后,安装需要用到的软件包和依赖:
dnf install epel-release pciutils wget tar nano mlocate qt5 xinput libXinerama
执行以下命令检查是否已检测到直通的 GPU:
lspci | grep -i vga
看到你的显卡后,到 AMD 官网 (https://www.amd.com/en/support/linux-drivers) 找到适合你系统的最新 Linux 驱动下载链接。AlmaLinux 等红帽系系统选择「for RHEL」,在本例中,笔者选择「for RHEL 9.1」的驱动,复制下载链接,执行以下命令将它下载到 /opt 目录:
cd /opt && wget -c https://repo.radeon.com/amdgpu-install/22.40.3/rhel/9.1/amdgpu-install-5.4.50403-1.el9.noarch.rpm
下载完成后,执行安装:
dnf install ./amdgpu-install-5.4.50403-1.el9.noarch.rpm && dnf update
然后,执行以下指令安装驱动(有关 amdvlk 和 pro 的区别,可以参考 AMD 的文档,保险起见,可以两个都安装好):
amdgpu-install --vulkan=amdvlk,pro --accept-eula
如果遇到 404 错误提示 Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried,请编辑 /etc/yum.repos.d/amdgpu-proprietary.repo 文件,将 baseurl 中的 5.4 改为 5.4.3,重新执行安装即可。
安装 Vulkan SDK
到 Vulkan 官网 (https://vulkan.lunarg.com/sdk/home) 右侧的 Linux SDK Installer 处找到最新的 SDK 下载链接,执行以下命令,将其下载至 /opt/vulkan:
cd /opt && mkdir vulkan && cd vulkan && wget -c https://sdk.lunarg.com/sdk/download/1.3.243.0/linux/vulkansdk-linux-x86_64-1.3.243.0.tar.gz
下载完成后,解压:
tar xf vulkansdk-linux-x86_64-1.3.243.0.tar.gz
然后设置好相关环境变量:
source /opt/vulkan/1.3.243.0/setup-env.sh && echo "source /opt/vulkan/1.3.243.0/setup-env.sh" >> ~/.bash_profile
完成后,可以执行 vulkaninfo 验证安装。
安装 Miniconda
到 Miniconda 文档页 (https://docs.conda.io/en/latest/miniconda.html) 找到适合平台环境的最新下载链接,执行以下命令,将其下载至 /opt:
cd /opt && wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
执行以下命令运行安装脚本:
bash Miniconda3-latest-Linux-x86_64.sh
安装成功后,重新连接 SSH 或重新登录即可自动进入到 Conda 的 base 环境(如果不希望登录时自动进入 Conda 环境,执行 conda config –set auto_activate_base false),执行以下命令,创建一个新的环境用于部署MLC LLM:
conda create -n mlc-chat
随后激活 Conda 环境:
conda activate mlc-chat
安装 Git 用于拉取模型:
conda install git git-lfs
安装 Chat CLI app:
conda install -c mlc-ai -c conda-forge mlc-chat-nightly
下载模型:
cd /opt && mkdir -p dist
git lfs install
git clone https://huggingface.co/mlc-ai/demo-vicuna-v1-7b-int3 dist/vicuna-v1-7b
git clone https://github.com/mlc-ai/binary-mlc-llm-libs.git dist/lib
开始对话
完成后,执行以下指令即可开始对话:
mlc_chat_cli
参考资料
[1] https://github.com/mlc-ai/mlc-llm
[2] https://mlc.ai/mlc-llm/
[3] https://amdgpu-install.readthedocs.io/en/latest/install-script.html
[4] https://vulkan.lunarg.com/doc/sdk/1.3.243.0/linux/getting_started.html
[5] https://conda.io/projects/conda/en/stable/user-guide/install/linux.html