MLLM SDK与CLI工具使用指南:轻松实现模型部署与推理
MLLM SDK与CLI工具使用指南轻松实现模型部署与推理【免费下载链接】mllmFast Multimodal LLM on Mobile Devices项目地址: https://gitcode.com/gh_mirrors/ml/mllmMLLMFast Multimodal LLM on Mobile Devices是一款专为移动设备优化的快速多模态大语言模型工具包提供了强大的SDK和便捷的CLI工具帮助开发者轻松实现模型部署与推理。本文将详细介绍MLLM SDK与CLI工具的安装、配置及使用方法让你快速上手移动设备上的AI模型部署。 核心功能与架构概览MLLM架构涵盖从算法优化到硬件加速的完整栈支持通过量化、剪枝和投机解码等技术实现了在移动设备上高效运行大语言模型的能力。MLLM架构概览左侧为OP执行工作流右侧为IR执行工作流展示了模型从模块到任务再到调度执行的完整流程MLLM支持多种硬件加速方案包括Ascend、Arm CPU、Qualcomm NPU和X86 CPU等同时集成了CANN、Kleidiai、Qnn和MLIR等AI编译器与运行时为不同硬件平台提供最佳性能支持。MLLM技术栈展示了算法层、AI推理框架、AI编译器与运行时以及加速器的完整技术架构 SDK安装与环境配置1. 准备工作首先克隆MLLM仓库到本地git clone https://gitcode.com/gh_mirrors/ml/mllm cd mllm2. 安装依赖MLLM提供了便捷的安装脚本可快速安装所需依赖# 安装pymllmPython绑定 bash ./scripts/install_pymllm.sh默认情况下SDK会安装到mllm项目的根目录。若需自定义安装路径可在任务的YAML文件中修改-DCMAKE_INSTALL_PREFIX选项。3. 构建项目MLLM使用任务脚本进行项目构建根据目标平台选择相应的构建任务# 构建X86平台版本 python task.py tasks/build_x86.yaml # 构建Android平台版本 python task.py tasks/build_android.yaml 模型转换与量化1. 获取模型资产从Hugging-Face或ModelScope下载原始模型典型文件包括config.jsontokenizer.json/tokenizer.modelPyTorch / Safetensors检查点.bin.safetensors以Qwen3-0.6B为例git clone https://www.modelscope.cn/Qwen/Qwen3-0.6B.git2. 转换为MLLM格式使用mllm-convertor工具将Hugging-Face/PyTorch模型转换为MLLM内部格式mllm-convertor \ --input_path ./Qwen3-0.6B/model.safetensors \ --output_path ./Qwen3-0.6B/w4a32.mllm \ --cfg_path ./Qwen3-0.6B/quant_config.json \ --pipeline w4a32_kai_pipeline3. 模型量化可选MLLM提供mllm-quantizer工具支持在设备上进行量化特别适用于Android设备mllm-quantizer \ -i ./Qwen3-0.6B/model.mllm \ -c ./Qwen3-0.6B/quant_config.json \ -iv v2 \ -o ./Qwen3-0.6B/w4a32.mllm \ -ov v2支持的量化类型包括GGUFCPU跨平台和KAIARMApple Silicon可根据目标硬件选择合适的量化方案。MLLM工作流程展示了从PyTorch/SafeTensors模型到MLLM量化模型再到运行时推理的完整流程⚙️ SDK使用示例以下是使用MLLM SDK在C中加载并运行Qwen3模型的示例代码#include mllm/mllm.hpp #include mllm/models/qwen3/modeling_qwen3.hpp #include mllm/models/qwen3/tokenization_qwen3.hpp #include mllm/models/qwen3/configuration_qwen3.hpp int main(int argc, char* argv[]) { mllm::init(); std::string config_path path/to/config.json; std::string tokenizer_path path/to/tokenizer; std::string prompt Once upon a time; auto cfg mllm::models::qwen3::Qwen3Config(config_path); auto tokenizer mllm::models::qwen3::Qwen3Tokenizer(tokenizer_path); auto model mllm::models::qwen3::Qwen3ForCausalLM(cfg); auto inputs tokenizer.convertMessage({.prompt prompt}); for (auto step : model.chat(inputs)) { std::wcout tokenizer.detokenize(step.cur_token_id) std::flush; } return 0; }配置文件示例config.json{ architectures: [Qwen3ForCausalLM], bos_token_id: 151643, eos_token_id: 151645, attention_bias: false, hidden_size: 1024, head_dim: 128, intermediate_size: 3072, num_attention_heads: 16, num_key_value_heads: 8, num_hidden_layers: 28, max_position_embeddings: 40960, rms_norm_eps: 1e-06, vocab_size: 151936, max_cache_length: 2048, rope_theta: 1000000.0, tie_word_embeddings: true, linear_impl_type: KaiLinear_f32_qai8dxp_qsi4c32p_mxk_nxk_qai8dxp1x8_qsi4c32p8x8_1x8x32 }️ CLI工具使用指南MLLM提供了基于Golang构建的mllm-cli命令行工具实现了与MLLM C SDK的无缝集成。虽然目前详细使用文档正在完善中但基本使用流程如下1. 模型推理# 使用CLI进行模型推理 mllm-cli infer --model_path ./Qwen3-0.6B/w4a32.mllm --prompt Hello, world!2. 模型转换# 使用CLI进行模型转换 mllm-cli convert --input ./Qwen3-0.6B --output ./Qwen3-0.6B/mllm_model --quantization w4a323. 性能评估# 评估模型性能 mllm-cli benchmark --model_path ./Qwen3-0.6B/w4a32.mllm --iterations 100 高级功能QNN后端支持MLLM支持QNN后端可在Qualcomm NPU上实现高效推理。以下是QNN后端的执行流程QNN跟踪执行序列展示了从示例应用到模型加载、创建操作、跟踪IR、图重写和执行的完整流程使用QNN后端需进行以下步骤配置QNN环境编译模型为QNN格式使用QNN后端加载并执行模型详细配置可参考官方文档docs/qnn_backend/setup_env.rst 张量存储与内存优化MLLM采用高效的张量存储策略通过TensorStorage和TensorViewImpl实现内存共享和高效访问减少内存占用并提高性能。张量存储结构展示了张量如何通过Storage、TensorStorage和TensorViewImpl进行存储和访问 总结MLLM SDK与CLI工具为移动设备上的大语言模型部署提供了完整的解决方案从模型转换、量化到推理执行覆盖了整个生命周期。通过本文的指南你可以快速上手MLLM在移动设备上实现高效的AI模型部署与推理。无论是开发移动AI应用还是进行边缘计算研究MLLM都能为你提供强大的支持。立即尝试体验移动设备上的高性能AI推理【免费下载链接】mllmFast Multimodal LLM on Mobile Devices项目地址: https://gitcode.com/gh_mirrors/ml/mllm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2415969.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!