MLC-MiniCPM
基于MLC-LLM,我们在Android设备上运行MiniCPM和MiniCPM-V。
Android APK
-
安装MiniCPM 1.2B和MiniCPM-V 2.0 APK(旧版本可在此处找到:MiniCPM和MiniCPM-V APK)
-
接受相机和照片权限:这些权限是为MiniCPM-V提供的,它可以处理多模态输入(文本+图像)
-
下载模型:(1) 按下载按钮 (2) 等待进度条填满 (3) 开始聊天
注意:由于下载bug,目前两个模型无法同时下载。
-
与MiniCPM聊天:(1) 等待模型初始化,直到"准备聊天"弹出 (2) 输入并发送问题
-
与MiniCPM-V聊天:(1) 等待模型初始化,直到"准备聊天"弹出 (2) 上传图片 (3) 等待"图片处理完成"显示 (4) 输入并发送问题
注意:图片处理可能需要一些时间。
-
演示:
请注意,在Android上运行的模型已被量化为4位,可能会损失一些性能。 未量化的模型可以在这里找到。
准备环境
按照https://llm.mlc.ai/docs/deploy/android.html准备所需环境。
对于从HuggingFace编译PyTorch模型部分,使用我们的GitHub仓库并按照以下说明安装我们修改版的mlc_chat。
mkdir -p build && cd build
# 生成构建配置
python3 ../cmake/gen_cmake_config.py && cd ..
# 构建`mlc_chat_cli`
cd build && cmake .. && cmake --build . --parallel $(nproc) && cd ..
# 安装
cd python && pip install -e . && cd ..
编译模型
将从HuggingFace下载的模型检查点放入dist/models
。
对于MiniCPM
MODEL_NAME=MiniCPM
QUANTIZATION=q4f16_1
MODEL_TYPE=minicpm
mlc_chat convert_weight --model-type ${MODEL_TYPE} ./dist/models/${MODEL_NAME}-hf/ --quantization $QUANTIZATION -o dist/$MODEL_NAME/
mlc_chat gen_config --model-type ${MODEL_TYPE} ./dist/models/${MODEL_NAME}-hf/ --quantization $QUANTIZATION --conv-template LM --sliding-window-size 768 -o dist/${MODEL_NAME}/
mlc_chat compile --model-type ${MODEL_TYPE} dist/${MODEL_NAME}/mlc-chat-config.json --device android -o ./dist/libs/${MODEL_NAME}-android.tar
cd ./android/library
./prepare_libs.sh
cd -
对于MiniCPM-V(视觉版本)
MODEL_NAME=MiniCPM-V
QUANTIZATION=q4f16_1
MODEL_TYPE=minicpm_v
mlc_chat convert_weight --model-type ${MODEL_TYPE} ./dist/models/${MODEL_NAME}-hf/ --quantization $QUANTIZATION -o dist/$MODEL_NAME/
mlc_chat gen_config --model-type ${MODEL_TYPE} ./dist/models/${MODEL_NAME}-hf/ --quantization $QUANTIZATION --conv-template LM --sliding-window-size 1024 -o dist/${MODEL_NAME}/
mlc_chat compile --model-type ${MODEL_TYPE} dist/${MODEL_NAME}/mlc-chat-config.json --device android -o ./dist/libs/${MODEL_NAME}-android.tar
cd ./android/library
./prepare_libs.sh
cd -
--sliding-window-size
仅为手机设置以限制内存使用,可以根据您的手机情况设置更小或更大。
构建Android应用
进入android/
目录并使用Android Studio构建应用。(按照https://llm.mlc.ai/docs/deploy/android.html操作)