利用OpenVINO™高效推理MiniCPM4系列模型

简介: 面壁智能正式发布端侧MiniCPM 4.0 模型,实现了端侧可落地的系统级软硬件稀疏化的高效创新。

01.模型介绍

面壁智能正式发布端侧MiniCPM 4.0 模型,实现了端侧可落地的系统级软硬件稀疏化的高效创新。

面壁推出的MiniCPM 4.0系列LLM模型拥有 8B 、0.5B 两种参数规模,针对单一架构难以兼顾长、短文本不同场景的技术难题,MiniCPM 4.0-8B 采用「高效双频换挡」机制,能够根据任务特征自动切换注意力模式:在处理高难度的长文本、深度思考任务时,启用稀疏注意力以降低计算复杂度,在短文本场景下切换至稠密注意力以确保精度,实现了长、短文本切换的高效响应。

本文将介绍如何利用openvino-genai工具在本地部署MiniCPM 4.0系列模型。

 

02.内容列表

-环境准备

-模型下载和转换

-模型部署

 

第一步,环境准备

基于以下命令可以完成模型部署任务在Python上的环境安装。

 

该示例在以下环境中已得到验证:

硬件环境:

硬件环境:
-Intel® Core™ Ultra 7 258V
-iGPU Driver:32.0.101.6790
-NPU Driver:32.0.100.4023
-Memory: 32GB
-Intel® Core™ Ultra 9 285H
-iGPU Driver:32.0.101.6790
-NPU Driver:32.0.100.4023
-Memory: 32GB

image.gif

 

操作系统:

操作系统:
-Windows 11 24H2 (26100.4061)
OpenVINO版本: 
-openvino 2025.2.0-dev20250520
-openvino-genai 2025.2.0.0-dev20250520
-openvino-tokenizers 2025.2.0.0-dev20250520

image.gif

 

03.第二步,模型下载和转换

在部署模型之前,我们首先需要将原始的PyTorch模型转换为OpenVINO™的IR静态图格式,并对其进行压缩,以实现更轻量化的部署和最佳的性能表现。通过Optimum提供的命令行工具optimum-cli,我们可以一键完成模型的格式转换和权重量化任务:

optimum-cli export openvino --model <model id> --task text-generation-with-past --weight-format int4 --sym --group-size -1 --backup-precision int8_sym --trust-remote-code <model_dir >

image.gif

 

开发者可以根据模型的输出结果,调整其中的量化参数,包括:

--model: 为模型在HuggingFace上的model id,这里我们也提前下载原始模型,并将model id替换为原始模型的本地路径,针对国内开发者,推荐使用ModelScope魔搭社区作为原始模型的下载渠道,具体加载方式可以参考ModelScope官方指南:https://www.modelscope.cn/docs/models/download
--weight-format:量化精度,可以选择fp32,fp16,int8,int4,int4_sym_g128,int4_asym_g128,int4_sym_g64,int4_asym_g64
--group-size:权重里共享量化参数的通道数量
--ratio:int4/int8权重比例,默认为1.0,0.6表示60%的权重以int4表,40%以int8表示
--sym:是否开启对称量化

image.gif

 

此外我们建议使用以下参数对运行在NPU上的模型进行量化,以达到性能和精度的平衡。

04.第三步,模型部署

目前我们推荐是用openvino-genai来部署大语言以及生成式AI任务,它同时支持Python和C++两种编程语言,安装容量不到200MB,支持流式输出以及多种采样策略。

 

GenAI API部署示例

import argparse
import openvino_genai
def streamer(subword):
   print(subword, end='', flush=True)
   # Return flag corresponds whether generation should be stopped.
   return openvino_genai.StreamingStatus.RUNNING
def main():
   parser = argparse.ArgumentParser()
   parser.add_argument('model_dir')
   args = parser.parse_args()
   device = 'CPU'  # GPU can be used as well
   pipe = openvino_genai.LLMPipeline(args.model_dir, device)
   config = openvino_genai.GenerationConfig()
   config.max_new_tokens = 100
   pipe.start_chat()
   while True:
       try:
           prompt = input('question:\n')
       except EOFError:
           break
       pipe.generate(prompt, config, streamer)
       print('\n----------')
   pipe.finish_chat()
if '__main__' == __name__:
   main()

image.gif

 

openvino-genai提供了chat模式的构建方法,通过声明pipe.start_chat()以及pipe.finish_chat(),多轮聊天中的历史数据将被以kvcache的形态,在内存中进行管理,从而提升运行效率。

chat模式输出结果示例:

image.gif 编辑


image.gif 编辑

05.总结

可以看到,利用openvino-genai,我们可以非常轻松地将转换后的MiniCPM 4.0模型部署在Intel的硬件平台上,从而进一步在本地构建起各类基于LLM的服务和应用。

06.参考资料

-openvino-genai 示例:https://github.com/openvinotoolkit/openvino.genai/blob/master/samples/python/text_generation/chat_sample.py
-llm-chatbot notebook示例: https://github.com/openvinotoolkit/openvino_notebooks/tree/latest/notebooks/llm-chatbot
-openvino-genai仓库:https://github.com/openvinotoolkit/openvino.genai
-魔搭社区OpenVINO™专区:https://www.modelscope.cn/organization/OpenVINO
-OpenVINO™ Model Hub:https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/model-hub.html

image.gif

 

 


目录
相关文章
|
11月前
|
API 开发者 异构计算
实战 | Intel OpenVINO™ Day0 实现 Qwen3 快速部署
实战 | Intel OpenVINO™ Day0 实现 Qwen3 快速部署
1022 10
实战 | Intel OpenVINO™ Day0 实现 Qwen3 快速部署
|
存储 开发工具 数据库
搭建zotero到obsidian的工作流
所谓“工欲善其事,必先利其器”(差生文具多),想要针对一个领域研究出成果,首先需要建立其对于这个领域完善的知识体系,即形成属于自己的知识库。现在有非常多的笔记软件,例如Notion、语雀、Obsidian等等,对于建立知识库非常有帮助,下面我就来谈谈我个人探索出来的一套从zotero管理文献,到阅读文献做笔记再到obsidian中形成阅读笔记的丝滑工作流。
2515 0
|
8月前
|
存储 缓存 资源调度
# Qwen3-8B 的 TTFT 性能分析:16K 与 32K 输入 Prompt 的推算公式与底层原理详解
Qwen3-8B 是通义实验室推出的 80 亿参数大模型,支持最长 32,768 token 上下文,适用于长文本处理场景。通过 FP8 量化、CUDA Kernel 优化及 RoPE 位置编码技术,提升推理效率与稳定性。模型在 16K 输入下 TTFT 约 150-200ms,32K 输入下约 250-300ms,适用于文档摘要与长对话交互。
2368 8
|
10月前
|
缓存 编解码 Android开发
Android内存优化之图片优化
本文主要探讨Android开发中的图片优化问题,包括图片优化的重要性、OOM错误的成因及解决方法、Android支持的图片格式及其特点。同时介绍了图片储存优化的三种方式:尺寸优化、质量压缩和内存重用,并详细讲解了相关的实现方法与属性。此外,还分析了图片加载优化策略,如异步加载、缓存机制、懒加载等,并结合多级缓存流程提升性能。最后对比了几大主流图片加载框架(Universal ImageLoader、Picasso、Glide、Fresco)的特点与适用场景,重点推荐Fresco在处理大图、动图时的优异表现。这些内容为开发者提供了全面的图片优化解决方案。
409 1
|
9月前
|
缓存 监控 JavaScript
HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查
本文深入解析HarmonyOS Next中应用无响应的卡死问题,涵盖THREAD_BLOCK_6S、APP_INPUT_BLOCK与LIFECYCLE_TIMEOUT三种常见类型,结合日志分析与实战案例,手把手教你快速定位并解决主线程阻塞、输入事件卡顿及生命周期超时问题,适用于Stage模型开发者学习使用。
|
机器学习/深度学习 人工智能 监控
DiffuEraser:阿里通义实验室推出的视频修复模型,支持高清修复、时间一致性优化
DiffuEraser 是阿里通义实验室推出的基于稳定扩散模型的视频修复工具,能够生成丰富的细节并保持时间一致性,适用于电影修复、监控增强等场景。
1088 27
DiffuEraser:阿里通义实验室推出的视频修复模型,支持高清修复、时间一致性优化
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)
【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)
508 1
【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)
|
机器学习/深度学习 人工智能 安全
智能之网:探索AI在物联网中的应用与挑战
随着科技的飞速发展,人工智能(AI)已经渗透到我们生活的方方面面,特别是在物联网(IoT)领域的应用日益广泛。本文将探讨AI技术如何在物联网中发挥作用,提升设备智能化水平,优化数据管理,以及在实现这一过程中遇到的技术、安全和伦理等挑战。通过分析具体案例,我们将揭示AI和物联网结合带来的创新机遇及其对未来社会可能产生的影响。
|
存储 缓存 JSON
Transformers 4.37 中文文档(十三)(3)
Transformers 4.37 中文文档(十三)
727 1
|
人工智能 文字识别 物联网
新一代端侧模型,面壁 MiniCPM 2.0开源,魔搭社区最佳实践
MiniCPM-V 2.0 不仅带来优秀端侧多模态通用能力,更带来惊艳的 OCR 表现。通过自研的高清图像解码技术,可以突破传统困境,让更为精准地识别充满纷繁细节的街景、长图在端侧成为可能。

热门文章

最新文章