apps/Android/MnnLlmChat/README_CN.md
这是我们的全功能多模态语言模型(LLM)安卓应用。
<p align="center"> </p>多模态支持: 提供多种任务功能,包括文本生成文本、图像生成文本、音频转文本及文本生成图像(基于扩散模型)。
CPU推理优化: 在安卓平台上,MNN-LLM展现了卓越的CPU性能,预填充速度相较于llama.cpp提高了8.6倍,相较于fastllm提升了20.5倍,解码速度分别快了2.3倍和8.9倍。下图为 llama.cpp 与 MNN-LLM 与 llama.cpp 的比较。
广泛的模型兼容性: 支持多种领先的模型提供商,包括Qwen、Gemma、Llama(涵盖TinyLlama与MobileLLM)、Baichuan、Yi、DeepSeek、InternLM、Phi、ReaderLM和Smolm。
本地运行: 完全在设备本地运行,确保数据隐私,无需将信息上传至外部服务器。
您可以通过 Releases 下载应用,或者 自行构建(#开发)。
!!!warning!!! 此版本目前仅在 OnePlus 13 和 小米 14 Ultra 上进行了测试。由于大型语言模型(LLM)对设备性能要求较高,许多低配置设备可能会遇到以下问题:推理速度缓慢、应用不稳定甚至无法运行。对于其他设备的稳定性无法保证。如果您在使用过程中遇到问题,请随时提交问题以获取帮助。
app/build.gradle 保持一致,当前为 27.2.12479018)export ANDROID_NDK=${YOUR_NDK_ROOT} git clone https://github.com/alibaba/MNN.git
cd project/android
mkdir build_64
cd build_64
../build_64.sh "-DMNN_LOW_MEMORY=true -DMNN_CPU_WEIGHT_DEQUANT_GEMM=true -DMNN_BUILD_LLM=true -DMNN_SUPPORT_TRANSFORMER_FUSE=true -DMNN_ARM82=true -DMNN_USE_LOGCAT=true -DMNN_OPENCL=true -DLLM_SUPPORT_VISION=true -DMNN_BUILD_OPENCV=true -DMNN_IMGCODECS=true -DLLM_SUPPORT_AUDIO=true -DMNN_BUILD_AUDIO=true -DMNN_BUILD_DIFFUSION=ON -DMNN_SEP_BUILD=OFF -DCMAKE_INSTALL_PREFIX=."
make install
cd ../../../apps/Android/MnnLlmChat
./installDebug.sh
MNN-LLM 是一个多功能的推理框架,旨在优化和加速大语言模型在移动设备和本地 PC 上的部署。通过模型量化、混合存储和硬件特定优化等创新措施,解决高内存消耗和计算成本等挑战。在 CPU 基准测试中,MNN-LLM 表现优异,其预填充速度比 llama.cpp 快 8.6 倍,比 fastllm 快 20.5 倍,同时解码速度分别快 2.3 倍和 8.9 倍。在基于 GPU 的评估中,由于 MLC-LLM 的对称量化技术优势,MNN-LLM 的性能在使用 Qwen2-7B 进行较短提示时略有下降。MNN-LLM 的预填充速度比 llama.cpp 快 25.3 倍,解码速度快 7.1 倍,相较于 MLC-LLM 也分别提高 2.8 倍和 1.7 倍。如需更详细的信息,请参考论文:MNN-LLM: A Generic Inference Engine for Fast Large LanguageModel Deployment on Mobile Devices
该项目基于以下开源项目: