由于 WebLLM 只涵盖了部分设定好的模型,如果需要自定义模型,则需要借助 MLC-LLM 进行集成
使用的服务器需要确保有 GPU,可以通过命令行 nvidia-smi 确认。如果没有的话,需要更换服务器,不然后续流程会卡住
搭建 Python 环境
创建并激活一个全新的 conda 环境
bashconda create -n mlc-chat-env python=3.11 conda activate mlc-chat-env
安装 pytorch 并验证它是否能与 GPU 通信
bashpip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 python -c "import torch; print(torch.cuda.is_available())" # 需要输出为 true。如果是 false,说明 pytorch 没装对。需要检查 CUDA 环境或使用 --no-cache-dir 强制重装
然后安装 mlc-llm
bashpip install --no-cache-dir --pre -U -f https://mlc.ai/wheels mlc-llm-nightly-cu122 mlc-ai-nightly-cu122
准备模型文件
此处模型使用 gemma-3-270m,请根据自己需要自行更换
先下载模型
bashconda install -c conda-forge git-lfs git lfs install git clone https://huggingface.co/google/gemma-3-270m
过程中可能需要你登录 huggingface,username 就填你的账号名,密码填 access token
获取 access token 的链接:https://huggingface.co/settings/tokens
填好后会获得一个以 hf 开头的 token,这就是我们需要的密码
接下来转换并量化模型权重
bashmlc_llm convert_weight ./gemma-3-270m/ \ --quantization q4f16_1 \ -o ./gemma-3-270m-q4f16_1-MLC
然后生成 chat 配置
bashmlc_llm gen_config ./gemma-3-270m/ \ --quantization q4f16_1 \ --conv-template gemma_instruction \ -o ./gemma-3-270m-q4f16_1-MLC/
启动对话
bashexport LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH mlc_llm chat ./gemma-3-270m-q4f16_1-MLC/ --device cuda
最后一步命令行若出现 >>,说明已加载成功,可以与模型进行交互聊天
Article Index