[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-alibaba--MNN":3,"tool-alibaba--MNN":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":118,"forks":119,"last_commit_at":120,"license":121,"difficulty_score":122,"env_os":123,"env_gpu":124,"env_ram":125,"env_deps":126,"category_tags":135,"github_topics":136,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":148,"updated_at":149,"faqs":150,"releases":180},6749,"alibaba\u002FMNN","MNN","MNN: A blazing-fast, lightweight inference engine battle-tested by Alibaba, powering high-performance on-device LLMs and Edge AI.","MNN 是由阿里巴巴打造的一款高性能、轻量级端侧推理引擎，专为在移动设备、嵌入式系统等资源受限环境中运行大型语言模型（LLM）和边缘 AI 应用而设计。它有效解决了传统 AI 模型依赖云端算力导致的延迟高、隐私风险大及流量成本高等痛点，让复杂的智能任务能在手机或物联网设备上离线流畅运行。\n\n无论是移动端开发者、AI 研究人员，还是希望构建本地化智能应用的工程师，都能利用 MNN 轻松部署模型。其核心亮点在于极致的运行速度与低内存占用，并全面支持多模态交互，涵盖文本、图像、音频的处理与生成。近期更新更展示了对通义千问（Qwen）系列、DeepSeek 等主流大模型的深度优化，甚至能支撑 3D 虚拟人对话、实时卡通风格图像编辑等复杂场景。通过提供成熟的 Android 与 iOS 示例应用，MNN 降低了端侧大模型落地的门槛，助力开发者高效构建隐私安全、响应迅速的下一代智能应用。","![MNN](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e2f14f1988c0.png)\n---\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Falibaba\u002FMNN)](LICENSE.txt)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-Read-green)](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![簡體中文版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanguage-%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-green)](README_CN.md)\n[![繁體中文版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanguage-%E7%B9%81%E9%AB%94%E4%B8%AD%E6%96%87-green)](README_TW.md)\n[![日本語バージョン](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanguage-%E6%97%A5%E6%9C%AC%E8%AA%9E-green)](README_JP.md)\n[![MNN Homepage](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHomepage-Visit-green)](http:\u002F\u002Fwww.mnn.zone)\n[![zread](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FZread-ask-green)](https:\u002F\u002Fzread.ai\u002Falibaba\u002FMNN)\n\n[![MNN Chat App](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApps-MNN_Chat-blue)](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md)\n[![TaoAvatar](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApps-MNN_TaoAvatar-blue)](.\u002Fapps\u002FAndroid\u002FMnn3dAvatar\u002FREADME.md)\n[![Sana](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApps-Sana_Image_Edit-blue)](.\u002Fapps\u002Fsana\u002FREADME.md)\n\n## News 🔥\n- [2026\u002F03\u002F05] Support Qwen3.5 Series.\n\u003Cp align=\"center\">\n  \u003Cimg width=\"15%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_d26eb2075e6f.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"15%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_59f1b17f6329.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"15%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_d8a048134041.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2026\u002F02\u002F13] MNN-Sana-Edit-V2 is now available at [apps](.\u002Fapps\u002Fsana\u002FREADME.md), offering cartoon-style photo editing based on Sana.\n\u003Cp align=\"center\">\n  \u003Cimg width=\"80%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_af599acc780c.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n\u003Cdetails>\n\u003Csummary> History News \u003C\u002Fsummary>\n\n- [2025\u002F10\u002F16] Support Qwen3-VL Series.\n- [2025\u002F06\u002F11] New App MNN TaoAvatar released, you can talk with 3DAvatar offline with LLM, ASR, TTS, A2BS and NNR models all run local on your device!! [MNN TaoAvatar](.\u002Fapps\u002FAndroid\u002FMnn3dAvatar\u002FREADME.md)\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_d15e2db59d54.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025\u002F05\u002F12] android app support qwen2.5 omni 3b and 7b [MNN Chat App](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md#releases).\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e0715dc6cb92.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_a162775751dd.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e6858575792e.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025\u002F04\u002F30] android app support qwen3 and dark mode [MNN Chat App](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md#releases).\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_8ab9565dc4c0.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025\u002F02\u002F18] iOS multimodal LLM App is released [MNN LLM iOS](.\u002Fapps\u002FiOS\u002FMNNLLMChat\u002FREADME.md).\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_5552e80eed9f.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025\u002F02\u002F11] android app support for [deepseek r1 1.5b](.\u002Fproject\u002Fandroid\u002Fapps\u002FMnnLlmApp\u002FREADME.md#version-021).\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_f79eb8c4abf1.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025\u002F01\u002F23] We released our full multimodal LLM Android App:[MNN-LLM-Android](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md). including text-to-text, image-to-text, audio-to-text, and text-to-image generation.\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e0715dc6cb92.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e8c4cf2f0196.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_a162775751dd.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e6858575792e.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\u003C\u002Fdetails>\n\n## Intro\nMNN is a highly efficient and lightweight deep learning framework. It supports inference and training of deep learning models and has industry-leading performance for inference and training on-device. At present, MNN has been integrated into more than 30 apps of Alibaba Inc, such as Taobao, Tmall, Youku, DingTalk, Xianyu, etc., covering more than 70 usage scenarios such as live broadcast, short video capture, search recommendation, product searching by image, interactive marketing, equity distribution, security risk control. In addition, MNN is also used on embedded devices, such as IoT.\n\n[MNN-LLM](.\u002Ftransformers\u002FREADME.md) is a large language model runtime solution developed based on the MNN engine. The mission of this project is to deploy LLM models locally on everyone's platforms(Mobile Phone\u002FPC\u002FIOT). It supports popular large language models such as Qianwen, Baichuan, Zhipu, LLAMA, and others. [MNN-LLM User guide](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest\u002Ftransformers\u002Fllm.html)\n\n[MNN-Diffusion](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Ftree\u002Fmaster\u002Ftransformers\u002Fdiffusion) is a stable diffusion model runtime solution developed based on the MNN engine. The mission of this project is to deploy stable diffusion models locally on everyone's platforms. [MNN-Diffusion User guide](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest\u002Ftransformers\u002Fdiffusion.html)\n\n![architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_60dd7c6f2589.png)\n\nInside Alibaba, [MNN](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002F5I1ISpx8lQqvCS8tGd6EJw) works as the basic module of the compute container in the [Walle](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FqpeCETty0BqqNJV9CMJafA) System, the first end-to-end, general-purpose, and large-scale production system for device-cloud collaborative machine learning, which has been published in the top system conference OSDI’22. The key design principles of MNN and the extensive benchmark testing results (vs. TensorFlow, TensorFlow Lite, PyTorch, PyTorch Mobile, TVM) can be found in the OSDI paper. The scripts and instructions for benchmark testing are put in the path “\u002Fbenchmark”. If MNN or the design of Walle helps your research or production use, please cite our OSDI paper as follows:\n\n    @inproceedings {proc:osdi22:walle,\n        author = {Chengfei Lv and Chaoyue Niu and Renjie Gu and Xiaotang Jiang and Zhaode Wang and Bin Liu and Ziqi Wu and Qiulin Yao and Congyu Huang and Panos Huang and Tao Huang and Hui Shu and Jinde Song and Bin Zou and Peng Lan and Guohuan Xu and Fei Wu and Shaojie Tang and Fan Wu and Guihai Chen},\n        title = {Walle: An {End-to-End}, {General-Purpose}, and {Large-Scale} Production System for {Device-Cloud} Collaborative Machine Learning},\n        booktitle = {16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22)},\n        year = {2022},\n        isbn = {978-1-939133-28-1},\n        address = {Carlsbad, CA},\n        pages = {249--265},\n        url = {https:\u002F\u002Fwww.usenix.org\u002Fconference\u002Fosdi22\u002Fpresentation\u002Flv},\n        publisher = {USENIX Association},\n        month = jul,\n    }\n\n\n## Documentation and Workbench\nMNN's docs are in place in [Read the docs](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest).\n\nYou can also read docs\u002FREADME to build docs's html.\n\nMNN Workbench could be downloaded from [MNN's homepage](http:\u002F\u002Fwww.mnn.zone), which provides pretrained models, visualized training tools, and one-click deployment of models to devices.\n\n## Key Features\n### Lightweight\n- Optimized for devices, no dependencies, can be easily deployed to mobile devices and a variety of embedded devices.\n- iOS platform: static library size will full option for armv7+arm64 platforms is about 12MB, size increase of linked executables is about 2M.\n- Android platform: core so size is about 800KB (armv7a - c++_shared).\n- Using MNN_BUILD_MINI can reduce package size by about 25%, with a limit of fixed model input size\n- Support FP16 \u002F Int8 quantize, can reduce model size 50%-70%\n\n### Versatility\n- Supports `Tensorflow`, `Caffe`, `ONNX`,`Torchscripts` and supports common neural networks such as `CNN`, `RNN`, `GAN`, `Transformer`.\n- Supports AI model with multi-inputs or multi-outputs, every kind of dimension format, dynamic inputs, controlflow.\n- MNN supports approximate full OPs used for the AI Model. The converter supports 178 `Tensorflow` OPs, 52 `Caffe` OPs, 163 `Torchscripts` OPs, 158 `ONNX` OPs.\n- Supports iOS 8.0+, Android 4.3+, and embedded devices with POSIX interface.\n- Supports hybrid computing on multiple devices. Currently supports CPU and GPU.\n\n\n### High performance\n- Implements core computing with lots of optimized assembly code to make full use of the ARM \u002F x64 CPU.\n- Use Metal \u002F OpenCL \u002F Vulkan to support GPU inference on mobile.\n- Use CUDA and tensorcore to support NVIDIA GPU for better performance\n- Convolution and transposition convolution algorithms are efficient and stable. The Winograd convolution algorithm is widely used to better symmetric convolutions such as 3x3,4x4,5x5,6x6,7x7.\n- Twice speed increase for the new architecture ARM v8.2 with FP16 half-precision calculation support. 2.5 faster to use sdot for ARM v8.2 and VNNI.\n\n### Ease of use\n- Support use MNN's OP to do numerical calculating like numpy.\n- Support lightweight image process module like OpenCV, which is only 100k.\n- Support build model and train it on PC \u002F mobile.\n- MNN Python API helps ML engineers to easily use MNN to infer, train, and process images, without dipping their toes in C++ code.\n\nThe Architecture \u002F Precision MNN supported is shown below:\n\n- S ：Support and work well, deeply optimized, recommend to use\n- A ：Support and work well, can use\n- B ：Support but has bug or not optimized, no recommend to use\n- C ：Not Support\n\n| Architecture \u002F Precision |  | Normal | FP16 | BF16 | Int8 |\n| --- | --- | --- | --- | --- | --- |\n| CPU | Native | B | C | B | B |\n|  | x86\u002Fx64-SSE4.1 | A | C | C | A |\n|  | x86\u002Fx64-AVX2 | S | C | C | A |\n|  | x86\u002Fx64-AVX512 | S | C | C | S |\n|  | ARMv7a | S | S (ARMv8.2) | S | S |\n|  | ARMv8 | S | S (ARMv8.2) | S(ARMv8.6) | S |\n| GPU | OpenCL | A | S | C | S |\n|  | Vulkan | A | A | C | A |\n|  | Metal | A | S | C | S |\n|  | CUDA | A | S | C | A |\n| NPU | CoreML | A | C | C | C |\n|  | HIAI | A | C | C | C |\n|  | NNAPI | B | B | C | B |\n|  | QNN | C | B | C | C |\n\n\n## Tools\n\nBase on MNN (Tensor compute engine), we provided a series of tools for inference, train and general computation.\n\n- MNN-Converter: Convert other models to MNN models for inference, such as Tensorflow(lite), Caffe, ONNX, Torchscripts. And do graph optimization to reduce computation.\n- MNN-Compress: Compress model to reduce size and increase performance \u002F speed\n- MNN-Express: Support model with controlflow, use MNN's OP to do general-purpose computing.\n- MNN-CV: An OpenCV-like library, but based on MNN and then much more lightweight.\n- MNN-Train: Support train MNN model.\n\n## How to Discuss and Get Help From the MNN Community\n\nThe group discussions are predominantly Chinese. But we welcome and will help English speakers.\n\nDingtalk discussion groups:\n\nGroup #4 (Available): 160170007549\n\nGroup #3 (Full)\n\nGroup #2 (Full): 23350225\n\nGroup #1 (Full): 23329087\n\n## Historical Paper\n\nThe preliminary version of MNN, as mobile inference engine and with the focus on manual optimization, has also been published in MLSys 2020. Please cite the paper, if MNN previously helped your research:\n\n\n    @inproceedings{alibaba2020mnn,\n      author = {Jiang, Xiaotang and Wang, Huan and Chen, Yiliu and Wu, Ziqi and Wang, Lichuan and Zou, Bin and Yang, Yafeng and Cui, Zongyang and Cai, Yu and Yu, Tianhang and Lv, Chengfei and Wu, Zhihua},\n      title = {MNN: A Universal and Efficient Inference Engine},\n      booktitle = {MLSys},\n      year = {2020}\n    }\n\n\n## License\nApache 2.0\n\n## Acknowledgement\nMNN participants: Taobao Technology Department, Search Engineering Team, DAMO Team, Youku and other Alibaba Group employees.\n\nMNN refers to the following projects:\n- [Caffe](https:\u002F\u002Fgithub.com\u002FBVLC\u002Fcaffe)\n- [flatbuffer](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fflatbuffers)\n- [gemmlowp](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fgemmlowp)\n- [Google Vulkan demo](http:\u002F\u002Fwww.github.com\u002Fgooglesamples\u002Fandroid-vulkan-tutorials)\n- [Halide](https:\u002F\u002Fgithub.com\u002Fhalide\u002FHalide)\n- [Mace](https:\u002F\u002Fgithub.com\u002FXiaoMi\u002Fmace)\n- [ONNX](https:\u002F\u002Fgithub.com\u002Fonnx\u002Fonnx)\n- [protobuffer](https:\u002F\u002Fgithub.com\u002Fprotocolbuffers\u002Fprotobuf)\n- [skia](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskia)\n- [Tensorflow](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow)\n- [ncnn](https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn)\n- [paddle-mobile](https:\u002F\u002Fgithub.com\u002FPaddlePaddle\u002Fpaddle-mobile)\n- [stb](https:\u002F\u002Fgithub.com\u002Fnothings\u002Fstb)\n- [rapidjson](https:\u002F\u002Fgithub.com\u002FTencent\u002Frapidjson)\n- [pybind11](https:\u002F\u002Fgithub.com\u002Fpybind\u002Fpybind11)\n- [pytorch](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch)\n- [bolt](https:\u002F\u002Fgithub.com\u002Fhuawei-noah\u002Fbolt)\n- [libyuv](https:\u002F\u002Fchromium.googlesource.com\u002Flibyuv\u002Flibyuv)\n- [libjpeg](https:\u002F\u002Fgithub.com\u002Flibjpeg-turbo\u002Flibjpeg-turbo)\n- [opencv](https:\u002F\u002Fgithub.com\u002Fopencv\u002Fopencv)\n- [onnxruntime](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime)\n","![MNN](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e2f14f1988c0.png)\n---\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Falibaba\u002FMNN)](LICENSE.txt)\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-Read-green)](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![简体中文版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanguage-%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-green)](README_CN.md)\n[![繁体中文版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanguage-%E7%B9%81%E9%AB%94%E4%B8%AD%E6%96%87-green)](README_TW.md)\n[![日语版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanguage-%E6%97%A5%E6%9C%AC%E8%AA%9E-green)](README_JP.md)\n[![MNN官网](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHomepage-Visit-green)](http:\u002F\u002Fwww.mnn.zone)\n[![zread](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FZread-ask-green)](https:\u002F\u002Fzread.ai\u002Falibaba\u002FMNN)\n\n[![MNN聊天应用](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApps-MNN_Chat-blue)](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md)\n[![TaoAvatar](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApps-MNN_TaoAvatar-blue)](.\u002Fapps\u002FAndroid\u002FMnn3dAvatar\u002FREADME.md)\n[![Sana](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApps-Sana_Image_Edit-blue)](.\u002Fapps\u002Fsana\u002FREADME.md)\n\n## 新闻 🔥\n- [2026年3月5日] 支持通义千问3.5系列。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"15%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_d26eb2075e6f.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"15%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_59f1b17f6329.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"15%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_d8a048134041.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2026年2月13日] MNN-Sana-Edit-V2现已在[apps](.\u002Fapps\u002Fsana\u002FREADME.md)中上线，提供基于Sana的卡通风格照片编辑功能。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"80%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_af599acc780c.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n\u003Cdetails>\n\u003Csummary> 历史新闻 \u003C\u002Fsummary>\n\n- [2025年10月16日] 支持通义千问3-VL系列。\n- [2025年6月11日] 新应用MNN TaoAvatar发布，您可以在本地设备上通过LLM、ASR、TTS、A2BS和NNR模型与3D虚拟形象进行离线对话！！[MNN TaoAvatar](.\u002Fapps\u002FAndroid\u002FMnn3dAvatar\u002FREADME.md)\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_d15e2db59d54.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025年5月12日] Android应用支持通义千问2.5 omni 3b和7b [MNN聊天应用](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md#releases)。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e0715dc6cb92.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_a162775751dd.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e6858575792e.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025年4月30日] Android应用支持通义千问3及暗黑模式 [MNN聊天应用](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md#releases)。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_8ab9565dc4c0.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025年2月18日] iOS多模态LLM应用发布 [MNN LLM iOS](.\u002Fapps\u002FiOS\u002FMNNLLMChat\u002FREADME.md)。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_5552e80eed9f.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025年2月11日] Android应用支持[DeepSeek R1 1.5B](.\u002Fproject\u002Fandroid\u002Fapps\u002FMnnLlmApp\u002FREADME.md#version-021)。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_f79eb8c4abf1.gif\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\n- [2025年1月23日] 我们发布了完整的多模态LLM Android应用：[MNN-LLM-Android](.\u002Fapps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md)，涵盖文本到文本、图像到文本、音频到文本以及文本到图像生成等功能。\n\u003Cp align=\"center\">\n  \u003Cimg width=\"20%\" alt=\"Icon\"  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e0715dc6cb92.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e8c4cf2f0196.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_a162775751dd.jpg\" style=\"margin: 0 10px;\">\n  \u003Cimg width=\"20%\" alt=\"Icon\" src \"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_e6858575792e.jpg\" style=\"margin: 0 10px;\">\n\u003C\u002Fp>\n\u003C\u002Fdetails>\n\n## 简介\nMNN是一个高效轻量级的深度学习框架。它支持深度学习模型的推理和训练，并在设备端的推理与训练性能上处于行业领先水平。目前，MNN已集成到阿里巴巴集团旗下的30余款应用中，包括淘宝、天猫、优酷、钉钉、闲鱼等，覆盖直播、短视频拍摄、搜索推荐、以图搜货、互动营销、权益发放、安全风控等70余种应用场景。此外，MNN还广泛应用于物联网等嵌入式设备。\n\n[MNN-LLM](.\u002Ftransformers\u002FREADME.md) 是基于MNN引擎开发的大语言模型运行时解决方案。该项目旨在将大语言模型部署到每个人的本地平台（手机\u002FPC\u002FIoT）上。它支持通义千问、百川智能、智普AI、LLAMA等主流大语言模型。[MNN-LLM使用指南](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest\u002Ftransformers\u002Fllm.html)\n\n[MNN-Diffusion](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Ftree\u002Fmaster\u002Ftransformers\u002Fdiffusion) 是基于MNN引擎开发的稳定扩散模型运行时解决方案。该项目的目标是将稳定扩散模型部署到每个人的本地平台上。[MNN-Diffusion使用指南](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest\u002Ftransformers\u002Fdiffusion.html)\n\n![architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_readme_60dd7c6f2589.png)\n\n在阿里巴巴内部，[MNN](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002F5I1ISpx8lQqvCS8tGd6EJw) 作为计算容器的基础模块，被用于 [Walle](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FqpeCETty0BqqNJV9CMJafA) 系统中。Walle系统是首个端云协同的、通用的、大规模生产级机器学习系统，并已在顶级系统会议OSDI’22上发表。MNN的关键设计原则以及与TensorFlow、TensorFlow Lite、PyTorch、PyTorch Mobile、TVM等框架的广泛基准测试结果均可在OSDI论文中找到。基准测试的脚本和说明位于“\u002Fbenchmark”路径下。如果MNN或Walle的设计对您的研究或生产实践有所帮助，请引用我们的OSDI论文如下：\n\n    @inproceedings {proc:osdi22:walle,\n        author = {Chengfei Lv and Chaoyue Niu and Renjie Gu and Xiaotang Jiang and Zhaode Wang and Bin Liu and Ziqi Wu and Qiulin Yao and Congyu Huang and Panos Huang and Tao Huang and Hui Shu and Jinde Song and Bin Zou and Peng Lan and Guohuan Xu and Fei Wu and Shaojie Tang and Fan Wu and Guihai Chen},\n        title = {Walle: An {End-to-End}, {General-Purpose}, and {Large-Scale} Production System for {Device-Cloud} Collaborative Machine Learning},\n        booktitle = {16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22)},\n        year = {2022},\n        isbn = {978-1-939133-28-1},\n        address = {Carlsbad, CA},\n        pages = {249--265},\n        url = {https:\u002F\u002Fwww.usenix.org\u002Fconference\u002Fosdi22\u002Fpresentation\u002Flv},\n        publisher = {USENIX Association},\n        month = jul,\n    }\n\n\n## 文档与工作台\nMNN的文档已发布在[Read the Docs](https:\u002F\u002Fmnn-docs.readthedocs.io\u002Fen\u002Flatest)上。\n\n您也可以阅读docs\u002FREADME来构建文档的HTML版本。\n\nMNN工作台可从[MNN官网](http:\u002F\u002Fwww.mnn.zone)下载，其中提供了预训练模型、可视化训练工具以及一键将模型部署到设备的功能。\n\n## 核心特性\n### 轻量级\n- 针对设备优化，无依赖，可轻松部署到移动设备及各类嵌入式设备。\n- iOS平台：针对armv7+arm64平台的静态库大小约为12MB，链接后的可执行文件大小增加约2MB。\n- Android平台：核心so文件大小约为800KB（armv7a - c++_shared）。\n- 使用MNN_BUILD_MINI选项可将包体积减少约25%，但需固定模型输入尺寸。\n- 支持FP16 \u002F Int8量化，可将模型大小压缩50%-70%。\n\n### 多功能性\n- 支持`Tensorflow`、`Caffe`、`ONNX`、`Torchscripts`格式，并兼容常见的神经网络架构，如`CNN`、`RNN`、`GAN`、`Transformer`。\n- 支持多输入或多输出的AI模型，适应各种维度格式、动态输入及控制流操作。\n- MNN几乎支持所有用于AI模型的核心算子。转换器支持178个`Tensorflow`算子、52个`Caffe`算子、163个`Torchscripts`算子、158个`ONNX`算子。\n- 支持iOS 8.0及以上、Android 4.3及以上，以及具备POSIX接口的嵌入式设备。\n- 支持多设备混合计算，目前支持CPU和GPU。\n\n### 高性能\n- 核心计算部分采用大量优化的汇编代码，充分利用ARM\u002Fx64 CPU性能。\n- 在移动端使用Metal\u002FOpenCL\u002FVulkan支持GPU推理。\n- 在NVIDIA GPU上利用CUDA和Tensor Cores进一步提升性能。\n- 卷积及转置卷积算法高效且稳定。Winograd卷积算法广泛应用于3x3、4x4、5x5、6x6、7x7等对称卷积中。\n- 新架构ARM v8.2支持FP16半精度计算，速度提升两倍；使用SDOT指令时，ARM v8.2和VNNI架构下的性能提升达2.5倍。\n\n### 易用性\n- 支持使用MNN提供的算子进行类似NumPy的数值计算。\n- 提供轻量级图像处理模块，类似OpenCV但仅约100KB。\n- 支持在PC或移动设备上构建和训练模型。\n- MNN Python API帮助机器学习工程师无需接触C++代码即可轻松使用MNN进行推理、训练和图像处理。\n\n以下是MNN支持的架构与精度说明：\n\n- S：支持并运行良好，深度优化，推荐使用。\n- A：支持并运行良好，可以使用。\n- B：支持但存在Bug或未优化，不推荐使用。\n- C：不支持。\n\n| 架构 \u002F 精度 |  | 常规 | FP16 | BF16 | Int8 |\n| --- | --- | --- | --- | --- | --- |\n| CPU | Native | B | C | B | B |\n|  | x86\u002Fx64-SSE4.1 | A | C | C | A |\n|  | x86\u002Fx64-AVX2 | S | C | C | A |\n|  | x86\u002Fx64-AVX512 | S | C | C | S |\n|  | ARMv7a | S | S（ARMv8.2） | S | S |\n|  | ARMv8 | S | S（ARMv8.2） | S（ARMv8.6） | S |\n| GPU | OpenCL | A | S | C | S |\n|  | Vulkan | A | A | C | A |\n|  | Metal | A | S | C | S |\n|  | CUDA | A | S | C | A |\n| NPU | CoreML | A | C | C | C |\n|  | HIAI | A | C | C | C |\n|  | NNAPI | B | B | C | B |\n|  | QNN | C | B | C | C |\n\n\n## 工具\n基于MNN（张量计算引擎），我们提供了一系列用于推理、训练及通用计算的工具。\n\n- MNN-Converter：将其他格式的模型转换为MNN格式，用于推理，例如Tensorflow(Lite)、Caffe、ONNX、Torchscripts等，并进行图优化以减少计算量。\n- MNN-Compress：压缩模型以减小体积并提升性能\u002F速度。\n- MNN-Express：支持带有控制流的模型，使用MNN算子进行通用计算。\n- MNN-CV：一个类似OpenCV的库，但基于MNN，因此更加轻量。\n- MNN-Train：支持训练MNN模型。\n\n## 如何在 MNN 社区讨论并获得帮助\n\n群内的讨论主要使用中文。不过我们也欢迎并会帮助使用英文的用户。\n\nDingTalk 讨论群：\n\n群 #4（可用）：160170007549\n\n群 #3（已满）\n\n群 #2（已满）：23350225\n\n群 #1（已满）：23329087\n\n## 历史论文\n\n作为移动端推理引擎，且以手动优化为重点的 MNN 初版，也已在 MLSys 2020 上发表。如果您之前的研究曾受益于 MNN，请引用该论文：\n\n    @inproceedings{alibaba2020mnn,\n      author = {Jiang, Xiaotang and Wang, Huan and Chen, Yiliu and Wu, Ziqi and Wang, Lichuan and Zou, Bin and Yang, Yafeng and Cui, Zongyang and Cai, Yu and Yu, Tianhang and Lv, Chengfei and Wu, Zhihua},\n      title = {MNN: 一个通用高效的推理引擎},\n      booktitle = {MLSys},\n      year = {2020}\n    }\n\n\n## 许可证\nApache 2.0\n\n## 致谢\nMNN 的参与者包括：淘宝技术部、搜索工程团队、达摩院团队、优酷以及其他阿里巴巴集团的员工。\n\nMNN 参考了以下项目：\n- [Caffe](https:\u002F\u002Fgithub.com\u002FBVLC\u002Fcaffe)\n- [flatbuffer](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fflatbuffers)\n- [gemmlowp](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fgemmlowp)\n- [Google Vulkan 示例](http:\u002F\u002Fwww.github.com\u002Fgooglesamples\u002Fandroid-vulkan-tutorials)\n- [Halide](https:\u002F\u002Fgithub.com\u002Fhalide\u002FHalide)\n- [Mace](https:\u002F\u002Fgithub.com\u002FXiaoMi\u002Fmace)\n- [ONNX](https:\u002F\u002Fgithub.com\u002Fonnx\u002Fonnx)\n- [protobuffer](https:\u002F\u002Fgithub.com\u002Fprotocolbuffers\u002Fprotobuf)\n- [skia](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskia)\n- [Tensorflow](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow)\n- [ncnn](https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn)\n- [paddle-mobile](https:\u002F\u002Fgithub.com\u002FPaddlePaddle\u002Fpaddle-mobile)\n- [stb](https:\u002F\u002Fgithub.com\u002Fnothings\u002Fstb)\n- [rapidjson](https:\u002F\u002Fgithub.com\u002FTencent\u002Frapidjson)\n- [pybind11](https:\u002F\u002Fgithub.com\u002Fpybind\u002Fpybind11)\n- [pytorch](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch)\n- [bolt](https:\u002F\u002Fgithub.com\u002Fhuawei-noah\u002Fbolt)\n- [libyuv](https:\u002F\u002Fchromium.googlesource.com\u002Flibyuv\u002Flibyuv)\n- [libjpeg](https:\u002F\u002Fgithub.com\u002Flibjpeg-turbo\u002Flibjpeg-turbo)\n- [opencv](https:\u002F\u002Fgithub.com\u002Fopencv\u002Fopencv)\n- [onnxruntime](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime)","# MNN 快速上手指南\n\nMNN 是一个高效、轻量级的深度学习推理与训练框架，专为移动端和嵌入式设备设计。它已被广泛应用于淘宝、天猫、钉钉等阿里系应用，支持在 Android、iOS 及各类 IoT 设备上运行大语言模型（LLM）、扩散模型（Diffusion）及传统神经网络。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**：\n  - Linux (推荐 Ubuntu 18.04+)\n  - macOS (10.13+)\n  - Windows (需使用 WSL 或 CMake + Visual Studio)\n  - Android (NDK r20+)\n  - iOS (Xcode 10+)\n- **硬件架构**：支持 ARMv7\u002FARMv8 (Mobile\u002FIoT), x86\u002Fx64 (PC\u002FServer)。\n- **编译器**：GCC 4.9+ 或 Clang 3.8+，支持 C++11 标准。\n\n### 前置依赖\n- **CMake**: 3.10 及以上版本\n- **Git**: 用于克隆代码库\n- **Python**: 3.6+ (如需使用 Python API 或转换工具)\n- **Protobuf**: 模型转换必需 (建议安装 `libprotobuf-dev`)\n\n> **国内加速建议**：\n> 若克隆仓库速度慢，可使用 Gitee 镜像（如有）或配置 Git 代理。\n> Python 依赖安装推荐使用清华源或阿里源：\n> ```bash\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple \u003Cpackage_name>\n> ```\n\n## 2. 安装步骤\n\n### 步骤一：克隆代码库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN.git\ncd MNN\n```\n\n### 步骤二：编译核心库 (Linux\u002FmacOS 示例)\n创建构建目录并运行 CMake 配置。默认开启 CPU 优化，如需开启 GPU (OpenCL\u002FVulkan\u002FMetal) 或量化支持，可添加相应参数。\n\n```bash\nmkdir build && cd build\n\n# 基础编译 (仅 CPU)\ncmake .. -DMNN_BUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release\n\n# 可选：开启更多功能示例 (根据需求选择)\n# -DMNN_OPENCL=ON        # 开启 OpenCL (Android\u002FLinux GPU)\n# -DMNN_METAL=ON         # 开启 Metal (iOS GPU)\n# -DMNN_VULKAN=ON        # 开启 Vulkan\n# -DMNN_SUPPORT_TRANSFORMER=ON # 支持 Transformer\u002FLLM 算子\n# -DMNN_BUILD_QUANTOOLS=ON     # 构建量化工具\n# -DMNN_BUILD_TRAIN=ON         # 开启训练功能\n\nmake -j$(nproc)\n```\n\n编译完成后，核心库位于 `build\u002Flibmnn.so` (Linux) 或 `build\u002FlibMNN.dylib` (macOS)，头文件位于 `include` 目录。\n\n### 步骤三：安装 Python 接口 (可选)\n如果需要直接使用 Python 进行推理或模型转换：\n\n```bash\ncd ..\u002Fpython\npip install -r requirements.txt\npython setup.py install --user\n# 或者构建 wheel 包\npython setup.py bdist_wheel\npip install dist\u002F*.whl\n```\n\n### 步骤四：获取模型转换工具\nMNN 需要将 TensorFlow\u002FCaffe\u002FONNX\u002FPyTorch 模型转换为 `.mnn` 格式。转换工具通常在编译时生成（若开启了相关选项），位于 `build\u002FMNNConvert`。\n\n## 3. 基本使用\n\n### 场景一：模型转换\n将 ONNX 模型转换为 MNN 格式：\n\n```bash\n.\u002FMNNConvert -f ONNX --modelFile your_model.onnx --MNNModel your_model.mnn --bizCode biz\n```\n*注：`--bizCode` 为业务标识符，可随意填写，如 \"test\"。*\n\n### 场景二：Python 推理示例\n以下是最简单的使用 MNN Python API 加载模型并进行推理的代码：\n\n```python\nimport MNN\nimport numpy as np\n\n# 1. 加载模型\ninterpreter = MNN.Interpreter(\"your_model.mnn\")\nsession = interpreter.createSession()\n\n# 2. 获取输入输出 Tensor\ninput_tensor = interpreter.getSessionInput(session)\noutput_tensor = interpreter.getSessionOutput(session)\n\n# 3. 准备数据 (假设输入为 1x3x224x224 的浮点数组)\ndata = np.random.rand(1, 3, 224, 224).astype(np.float32)\ntmp_input = MNN.Tensor((1, 3, 224, 224), data, input_tensor, MNN.DimensionType_Tensorflow)\n\n# 4. 执行推理\ninterpreter.runSession(session)\n\n# 5. 获取结果\noutput_data = output_tensor.getData()\nprint(\"Inference result shape:\", output_data.shape)\n```\n\n### 场景三：运行官方 Demo (Android\u002FiOS)\nMNN 提供了完整的 Android 和 iOS 演示应用，支持本地运行 Qwen、DeepSeek 等大模型及图像编辑功能。\n- **Android**: 查看 `apps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md` 获取 APK 编译或下载指引。\n- **iOS**: 查看 `apps\u002FiOS\u002FMNNLLMChat\u002FREADME.md` 使用 Xcode 打开项目运行。\n\n这些 Demo 展示了 MNN 在多模态（文本、图像、音频）任务上的端到端能力，所有计算均在设备本地完成。","某初创团队正在开发一款面向户外探险者的离线智能助手 App，需要在无网络环境下实现语音交互、图像识别及本地大模型问答功能。\n\n### 没有 MNN 时\n- **依赖云端导致不可用**：所有 AI 推理必须联网调用服务器，一旦用户进入深山或信号盲区，核心功能直接瘫痪。\n- **响应延迟高体验差**：语音和图像数据需上传云端处理再返回结果，弱网环境下延迟高达数秒，无法满足实时对话需求。\n- **隐私泄露风险大**：用户的地理位置、拍摄照片及语音记录必须上传至第三方服务器，引发严重的隐私合规担忧。\n- **运营成本高昂**：随着用户量增长，云端 GPU 推理算力成本呈指数级上升，初创团队难以负担。\n\n### 使用 MNN 后\n- **全场景离线运行**：利用 MNN 轻量级引擎将 Qwen2.5-Omni 等多模态模型部署在手机端，即使无任何网络信号也能流畅完成语音问答与图像分析。\n- **毫秒级实时响应**：借助 MNN 的极致优化性能，本地推理延迟降低至毫秒级，实现了如同面对面交流般的自然语音互动体验。\n- **数据完全本地闭环**：所有敏感数据仅在用户设备内存中处理，无需出网，从根本上解决了隐私泄露问题并满足严格的数据合规要求。\n- **大幅降低运营成本**：推理压力转移至用户终端，团队无需租赁昂贵的云端 GPU 集群，仅需承担极低的带宽与维护成本。\n\nMNN 通过高性能的端侧推理能力，让重型 AI 模型在普通手机上也能离线、实时且安全地运行，彻底打破了智能应用对云端的依赖。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falibaba_MNN_e2f14f19.png","alibaba","Alibaba","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Falibaba_f65f7221.png","Alibaba Open Source",null,"https:\u002F\u002Fopensource.alibaba.com\u002F","https:\u002F\u002Fgithub.com\u002Falibaba",[80,84,88,91,95,99,103,107,111,114],{"name":81,"color":82,"percentage":83},"C++","#f34b7d",89.1,{"name":85,"color":86,"percentage":87},"C","#555555",2.5,{"name":89,"color":90,"percentage":32},"Kotlin","#A97BFF",{"name":92,"color":93,"percentage":94},"Python","#3572A5",1.8,{"name":96,"color":97,"percentage":98},"Assembly","#6E4C13",1.6,{"name":100,"color":101,"percentage":102},"Cuda","#3A4E3A",1.1,{"name":104,"color":105,"percentage":106},"Objective-C++","#6866fb",0.5,{"name":108,"color":109,"percentage":110},"Shell","#89e051",0.4,{"name":112,"color":113,"percentage":110},"Swift","#F05138",{"name":115,"color":116,"percentage":117},"CMake","#DA3434",0.3,14851,2273,"2026-04-11T18:26:54","Apache-2.0",4,"Linux, macOS, Windows, Android, iOS","非必需。支持 NVIDIA GPU (需 CUDA 和 TensorCore)，移动端支持 Metal (iOS), OpenCL, Vulkan (Android)。未明确指定具体显卡型号、显存大小或 CUDA 版本要求。","未说明",{"notes":127,"python":128,"dependencies":129},"MNN 是一个轻量级框架，核心库无外部依赖，易于部署。支持将 Tensorflow、Caffe、ONNX、Torchscripts 模型转换为 MNN 格式。支持 ARMv7\u002FARMv8\u002Fx86\u002Fx64 架构。支持 FP16\u002FInt8 量化以减小模型体积。适用于移动端、嵌入式设备及服务器端。","未说明 (提供 Python API)",[130,131,132,133,134],"无外部重型依赖 (核心库无依赖)","可选：Tensorflow","可选：Caffe","可选：ONNX","可选：PyTorch (Torchscripts)",[14,35,13],[137,138,139,140,141,142,143,144,145,146,147],"mnn","convolution","vulkan","embedded-devices","winograd-algorithm","machine-learning","deep-learning","ml","arm","llm","transformer","2026-03-27T02:49:30.150509","2026-04-12T07:52:06.593032",[151,156,161,165,170,175],{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},30440,"MNN 支持哪些 TensorFlow、TensorFlow Lite 和 ONNX 的算子？缺少算子怎么办？","MNN 持续更新对各类框架算子的支持。常见的已支持或正在支持的算子包括 AddN, Equal, SparseToDense, MirrorPad, OneHot, LogicalAnd\u002FOr (TensorFlow); Mul, Transpose, Fully_Connected, Logistic, AddV2, SUB, RELU (TFLite); Neg, Expand, MaxRoiPool (ONNX) 等。对于 DetectionPostProcess 等特定后处理 API，MNN 有专门的实现（如 CPUDetectionPostProcess），不需要底层 TensorArray 算子支持。如果遇到不支持的算子（如 ConvTranspose 3D, PReLU 等），可以在 GitHub Issue #74 中查看最新列表或提交需求，部分算子已有社区贡献者认领开发。","https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F74",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},30441,"编译 MNN 时遇到错误或行为异常，应该如何排查？","自版本 002ac36 起，MNN 进行了 CMake 构建系统的重大重构。如果遇到编译失败、包体积过大或运行时错误：1. 首先检查 Travis-CI 上相同配置是否构建成功。如果 CI 通过而本地失败，通常是本地环境问题（如编译器版本、依赖库缺失）。2. 确保使用了标准化的 CMake 参数。3. 如果是分离构建（MNN_SEP_BUILD=ON），需要注意手动加载相关动态库。官方建议优先对比 CI 环境来定位问题。","https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F549",{"id":162,"question_zh":163,"answer_zh":164,"source_url":160},30442,"如何正确启用和使用 OpenCL 或 Vulkan GPU 后端？","要使用 GPU 加速（OpenCL\u002FVulkan），需确保编译时开启了相应选项（如 -DMNN_OPENCL=ON 或 -DMNN_VULKAN=ON）。如果采用分离构建模式（MNN_SEP_BUILD=ON），仅仅链接 libMNN 是不够的，必须在代码中手动 dlopen() 加载对应的后端库（如 libMNN_CL.so 或 libMNN_Vulkan.so）。例如在 C++ 代码中调用 dlopen 加载库文件，否则推理可能会回退到 CPU 或报错提示不支持某些类型。",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},30443,"Vulkan 后端推理结果与 CPU\u002FONNX 原模型偏差较大，如何解决？","在某些模型（如类 ResNet50）上，默认 Vulkan 后端可能存在精度误差。解决方案是启用 Vulkan 的 Image 模式进行编译和运行。具体操作是在 CMake 配置中添加参数：-DMNN_VULKAN_IMAGE=ON。测试表明，开启此选项后，Vulkan 后端的推理误差会显著降低至可接受范围，但需注意这可能会带来一定的性能下降。","https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2433",{"id":171,"question_zh":172,"answer_zh":173,"source_url":174},30444,"X86+NVIDIA 平台上 OpenCL 后端结果与 CPU 不一致怎么办？","在 X86 架构配合 NVIDIA 显卡使用 OpenCL 后端时，如果发现 Embedding 层等计算结果与 CPU 后端对不上，这通常是由于特定平台下的 OpenCL 实现差异或 Bug 导致的。此类问题较为复杂，建议：1. 尝试更新到最新的 MNN 版本看是否修复。2. 检查 CMake 编译参数是否正确开启了 CUDA 或 OpenCL 相关选项。3. 如果问题依旧，建议加入 MNN 官方交流群（如三群）直接联系维护者提供复现 Demo（如 demo_embed_debug.zip）进行深入调试。","https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2424",{"id":176,"question_zh":177,"answer_zh":178,"source_url":179},30445,"转换 TensorFlow PB 模型后，推理结果固定在某一个值附近或不准确，原因是什么？","如果使用 exec 中的 pictureRecognition.cpp 测试转换后的 TensorFlow PB 模型，发现输出结果固定在某个小范围内（如 0.5x, 0.4x），通常是因为输入数据的预处理（归一化）设置与原模型训练时不一致。需要检查并调整 mean（均值）和 normals（缩放系数）参数。例如，如果原模型期望输入归一化到 0-1，则 mean 应设为 {0.0f, 0.0f, 0.0f}，normals 设为 {0.00392f, 0.00392f, 0.00392f}（对应 1\u002F255）。同时需确认 sourceFormat 和 destFormat（如 RGB\u002FNHWC）是否与模型要求匹配。","https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F82",[181,186,191,196,201,206,210,214,219,224,228,233,238,242,247,251,255,260,264,269],{"id":182,"version":183,"summary_zh":184,"released_at":185},214721,"3.5.0","# MNN 3.5.0 版本发布说明\n\n**发布日期**: 2026年4月\n\n## 📌 版本概述\n\nMNN 3.5.0 版本聚焦于 **多后端 LLM 推理能力扩展**、**高性能量化与采样优化** 以及 **端侧语音交互体验增强** 三大核心主题：\n\n*   **多后端 LLM 推理**: Vulkan 后端新增 LLM 推理支持；摩尔线程 MUSA 后端全新接入；QNN 后端支持 Attention 算子和更多 LLM 算子；RISC-V 向量扩展（RVV）支持落地。\n*   **高性能量化与采样优化**: 全新 TurboQuant TQ3\u002FTQ4 KV Cache 量化方案；Sampler 重构为 Pipeline 架构并新增 Penalty 支持；多端 TopKV2 算子优化；多轮对话 Prompt Cache 支持。\n*   **端侧语音交互增强**: 异步三阶段 Token2Wav 流水线（DiT ∥ Vocoder）；智能打断（AEC Barge-in）支持；实时视觉语音交互能力；TTS 模型支持（supertonic-tts-mnn）。\n\n---\n\n## 🚀 版本亮点\n\n*   **Vulkan LLM 推理**: Vulkan 后端全面支持 LLM 推理，拓展 GPU 推理覆盖面\n*   **MUSA 后端支持**: 全新接入摩尔线程 MUSA GPU 后端，支持国产 GPU 推理\n*   **RISC-V RVV 支持**: CPU 后端新增 RISC-V 向量扩展支持，拓展 RISC-V 生态\n*   **TurboQuant TQ3\u002FTQ4**: 全新 KV Cache 量化方案，降低内存占用的同时保持推理质量\n*   **Sampler Pipeline 重构**: 采样器重构为流水线架构，支持 Penalty 等高级采样策略\n*   **多轮对话 Prompt Cache**: 文本级别 Prompt Cache，显著加速多轮对话首 Token 延迟\n*   **异步 Token2Wav 三阶段流水线**: DiT 与 Vocoder 并行的三阶段流水线，大幅提升语音合成吞吐\n*   **智能语音打断（AEC Barge-in）**: 支持回声消除的智能语音打断，提升语音交互自然度\n*   **Tokenizer 全面重构**: minja → jinja 模板引擎迁移，二进制 tokenizer 格式（tokenizer.mtok），加载速度 20x+ 提升\n*   **GLM-OCR \u002F LFM 模型支持**: 新增 GLM-OCR 和 LFM（Liquid Foundation Model）模型推理支持\n*   **Metal\u002FCUDA\u002FOpenCL TopKV2**: 多端 TopKV2 算子实现与优化\n\n---\n\n## ✨ 新功能\n\n### LLM\u002FVLM\n*   **多轮对话 Prompt Cache**: 新增文本级别 Prompt Cache，多轮对话场景下显著加速首 Token 生成\n*   **GLM-OCR 支持**: 新增 GLM-OCR 模型推理支持\n*   **LFM 支持**: 新增 Liquid Foundation Model (LFM) 推理支持\n*   **Qwen3.5 Smooth\u002FOmni 导出**: 支持 Qwen3.5 的 Smooth 量化和 Omni 模态导出\n*   **Sampler Pipeline 重构**: 采样器重构为流水线架构，新增 Penalty 机制支持\n*   **异步 Token2Wav 三阶段流水线**: 将 Token 到音频的转换拆分为 DiT 和 Vocoder 并行的三阶段流水线\n*   **异步 Token2Wav 多运行时支持**: Talker 的 LLM 和处理器使用不同运行时时支持异步 Token2Wav\n*   **Tokenizer 重构**: 全面重构 Tokenizer 系统：minja → jinja 模板引擎迁移；新增二进制 tokenizer 格式（tokenizer.mtok）替代文本格式；统一 JSON 处理（ujson.hpp）；加载速度提升 20x+，编解码性能数倍提升；对齐 HuggingFace Transformers 实现\n*   **Linear Attention 磁盘存储**: 支持 Linear Attention 循环状态的磁盘读写\n*   **mmap_size 配置**: 新增 mmap_size 配置项，支持控制内存映射大小\n*   **llm_bench Profile**: llm_bench 新增 Profile 功能\n\n### GPU 后端\n*   **Vulkan LLM 推理**: Vulkan 后端全面支持 LLM 模型推理\n*   **MUSA 后端**: 全新接入摩尔线程 MUSA GPU 后端\n*   **Metal TopKV2**: Metal 后端新增 TopKV2 算子实现\n*   **OpenCL TopKV2**: OpenCL 后端新增 TopKV2 算子实现\n*   **CUDA TopKV2 优化**: 使用堆排序替代插入排序并结合循环展开，大幅提升 TopKV2 性能\n*   **Metal While\u002FBatchMatMul 4x4 分块**: 通过 4x4 寄存器分块优化 While 和 BatchMatMul 算子\n*   **Metal gemv\u002FBinary\u002FScale 优化**: 优化 gemv localsize、Binary 平面调度和 Scale 无偏置路径；移除 defer encoder\n*   **OpenCL LinearAttention 优化**: 优化 OpenCL LinearAttention 算子性能\n*   **Metal LinearAttention 优化**: 优化 Metal LinearAttention 算子性能\n*   **OpenCL 内核创建保护**: 为所有 OpenCL 算子添加内核创建保护机制\n*   **QNN Attention 支持**: QNN 后端支持 LLM Attention 算子，含 max_history_token 配置\n*   **QNN 新增算子**: QNN 后端新增 Transpose\u002FUnPack\u002FPack 算子支持\n*   **CUDA Qwen3.5 优化**: CUDA 后端针对 Qwen3.5 模型进行优化\n\n### CPU 后端\n*   **RISC-V RVV 支持**: CPU 后端新增 RISC-V 向量扩展（RVV）支持\n*   **TurboQuant TQ3\u002FTQ4**: 新增 TQ3\u002FTQ4 KV Cache 量化方案\n*   **LinearAttention NEON 优化**: 使用 NEON 汇编和 FP16 优化 LinearAtt","2026-04-07T12:23:43",{"id":187,"version":188,"summary_zh":189,"released_at":190},214722,"3.4.1","# MNN 3.4.1 版本发布说明\n\n**发布日期**: 2026年3月\n\n## 📌 版本概述\n\nMNN 3.4.1 版本聚焦于 **Qwen3.5 模型支持与 Linear Attention 算子**、**LLM 资源管理优化** 与 **安全性修复** 三大核心主题：\n\n*   **Qwen3.5 支持与 Linear Attention**: 全新实现 Linear Attention 算子，覆盖 CPU、Metal、OpenCL、Vulkan 四大后端(性能待优化)，支持 Qwen3.5 系列混合注意力架构；llmexport 新增对应模型导出能力。\n*   **LLM 资源管理优化**: LLM 实例内置独立 Executor 并在所有公开方法中使用 ExecutorScope，确保计算资源正确作用域化和及时释放，解决 Python 调用场景下的资源泄漏问题。\n*   **安全性与稳定性**: 修复多个 Shape 算子和执行算子中的内存安全漏洞；修复 HQQ 量化 OOM 和大词表 Embedding 溢出；修复多个 LLM 和 GPU 后端缺陷。\n\n---\n\n## 🚀 版本亮点\n\n*   **Qwen3.5 模型支持**: 全新支持 Qwen3.5 及 Qwen3.5-MoE 系列模型，包括导出和推理\n*   **Linear Attention 算子**: CPU\u002FMetal\u002FOpenCL\u002FVulkan 四端实现（性能待优化），支持 Gated Delta Rule 循环状态更新\n*   **Vulkan CoopMat Conv1x1**: Vulkan 后端 Conv1x1 算子支持协作矩阵加速，进一步提升矩阵计算性能\n*   **LLM Executor 内置化**: 每个 LLM 实例自带独立 Executor，Python 绑定下资源释放更可靠\n*   **内存安全修复**: 修复 7 个 Shape\u002F执行算子中的越界访问、零步长、重复索引等安全漏洞\n*   **HQQ 大模型量化修复**: 修复 Qwen3.5-27B 等大模型 HQQ 量化 OOM 问题\n*   **Sana Diffusion 增强**: iOS\u002FAndroid 全面支持 Sana 风格迁移、Omni 音频输出、视频输入等新功能\n*   **Metal 后端增强**: MetalConvolutionDepthwise 支持 Clone；修复 INT8\u002FINT4 Conv2D 计算错误\n\n---\n\n## ✨ 新功能\n\n### LLM\u002FVLM\n*   **Qwen3.5 模型支持**: 支持 Qwen3.5 和 Qwen3.5-MoE 模型的导出与推理，包括混合线性注意力架构\n*   **Linear Attention 算子**: 全新实现，包含 Conv1D + SiLU 激活、QKV 拆分、GQA（分组查询注意力）、L2 归一化和 Gated Delta Rule 循环状态更新\n    *   CPU: 完整实现含卷积状态和循环状态缓冲区管理\n    *   Metal: 三个 Compute Pipeline（conv_silu、conv_state_update、gated_delta_rule）\n    *   OpenCL: Buffer 模式实现含专用 OpenCL 内核\n    *   Vulkan: 三个 GLSL Compute Shader 实现\n    *   以上实现均为功能实现，性能还需优化\n*   **LLM Executor 内置化**: 每个 Llm 实例构造时创建独立 Executor，所有公开方法自动使用 ExecutorScope，析构时确保资源完整释放\n*   新增 Tokenizer Demo（`tokenizer_demo.cpp`）\n\n### GPU 后端\n*   **Vulkan CoopMat Conv1x1**: 新增 `VulkanConv1x1Coop` 实现，包含 C4\u002FCOOP 数据布局转换和 INT4\u002FINT8 权重转换 Shader\n*   **Metal Clone 支持**: MetalConvolutionDepthwise 支持 `onClone()` 操作\n\n### 应用与工具\n*   **Sana Diffusion（iOS）**: 新增风格迁移、Omni 音频输出、视频输入支持；新增批量测试框架\n*   **Sana Diffusion（Android）**: 新增 Sana 原生 JNI 层和 Kotlin 会话封装；新增 Diffusion 设置界面\n*   **Android Debug 工具**: 新增 Benchmark\u002FDownload\u002FMarket\u002FSana\u002FOpenAPI 多个 Stetho Dumper 插件\n*   **Android 冒烟测试**: 新增完整的冒烟测试框架，包含环境检查、安装、UI 捕获、回归测试和报告生成\n*   **Sana 独立应用**: 新增 `apps\u002Fsana\u002F` 独立脚本工具，支持 Android 和主机端 Benchmark\n\n---\n\n## 🔒 安全修复\n\n修复多个算子中的内存安全漏洞：\n\n*   **CPURandomUniform**: 增加 `size \u003C= 0` 边界检查和 `low \u003C high` 验证；增加类型特定处理\n*   **ShapeSliceTf**: 修复负值\u002F越界 `begin` 值导致的越界访问\n*   **ShapeSpaceToBatchND**: 增加 `blockSize + spatialStart` 越界检查和 `blockData \u003C= 0` 验证\n*   **ShapeSpaceToDepth**: 将 `MNN_ASSERT` 替换为正确的错误返回；增加 H\u002FW 对 blockSize 的整除检查\n*   **ShapeSqueeze**: 增加维度数上限检查和轴范围验证\n*   **ShapeStridedSlice**: 增加零步长检查，替换 `MNN_ASSERT` 为优雅失败\n*   **ShapeTranspose**: 增加重复排列索引检测，防止非法内存访问\n\n---\n\n## 🐛 缺陷修复\n\n*   **HQQ 量化 OOM**: 修复 Qwen3.5-27B 等大模型量化时单 GPU 显存溢出，采用分块量化策略\n*   **Embedding 整数溢出**: 大词表（~240K tokens）场景下 DiskEmbedding 偏移量从 `int` 改为 `size_t`\n*   **LLM JSON 合并**: 修复 Jinja 配置中 `merge_and_clear` 的 JSON 递归合并问题\n*   **多模态 OOB 崩溃**: 修复 `llm_bench` 中多模态模型的越界崩溃\n*   **Reranker Demo 崩溃**: 修复","2026-03-05T14:33:44",{"id":192,"version":193,"summary_zh":194,"released_at":195},214723,"3.4.0","# MNN 3.4.0 版本发布说明\n\n**发布日期**: 2026年2月\n\n## 📌 版本概述\n\nMNN 3.4.0 版本聚焦于 **GPU\u002FQNN 后端能力深化**、**Attention 计算及长文本内存优化** 与 **GPU 线上运行稳定性** 三大核心主题：\n\n*   **GPU\u002FQNN 能力深化**: Vulkan 后端新增 LLM 推理支持并引入 CoopMat 矩阵加速指令；Metal 后端支持 TensorAPI 和 Flash Attention；QNN 后端扩展支持 Qwen3 系列和 VL 模型，并新增 Python 直接导出和 OmniQuant 量化能力。\n*   **Attention 与长文本内存优化**: CPU 和 Metal 后端全面支持 Flash Attention；CPU 支持 KV Cache 量化；新增 Prefix KV Cache 支持；新增统一的 `attention_mode` 配置选项，为长文本场景显著降低内存占用。\n*   **GPU 线上运行稳定性**: 新增 iOS 后台检测机制，当 APP 切到后台时 GPU 计算会被系统拒绝，现在会正确返回错误码；修复多个 GPU 后端的稳定性问题。\n\n---\n\n## 🚀 版本亮点\n\n*   **Vulkan LLM 支持**: Vulkan 后端新增 LLM 推理支持，覆盖更多 Android 设备\n*   **Vulkan CoopMat 加速**: Vulkan 支持协作矩阵 (CoopMat) 指令，大幅加速矩阵乘法运算\n*   **Metal TensorAPI 支持**: Metal 后端支持 TensorAPI，M5 芯片性能大幅提升\n*   **Metal Flash Attention**: Metal 后端实现 Flash Attention，显著降低内存占用\n*   **CPU Flash Attention**: CPU 后端支持 Flash Attention，新增 `attention_mode` 统一配置选项\n*   **CPU KV Cache 量化**: CPU Attention 支持 KV Cache 量化，降低内存占用\n*   **Prefix KV Cache**: 支持 Prefix KV Cache，提升长文本推理效率\n*   **投机解码增强**: Metal 支持 Eagle3 和 Lookahead 投机解码；提供 Qwen3 系列 Eagle3 权重\n*   **QNN 增强**: QNN 后端支持 Qwen3 系列和 VL 模型；支持 Python 直接导出；支持 OmniQuant 量化\n*   **混合精度量化**: llmexport 支持通过配置文件进行混合精度量化\n*   **llmexport 重构**: 重构模型导出逻辑，模型抽象更加完善\n*   **Loop 算子 GPU 优化**: OpenCL 和 Metal 优化 Loop 算子，支持纯 GPU 实现无需回退 CPU\n*   **RISC-V Vector (RVV) 优化**: 全面使用向量内置函数优化核心算子\n*   **Vulkan Buffer FP16**: Vulkan buffer 模式完整支持 FP16 计算路径\n*   **KleidiAI 集成**: 新增编译选项，默认启用 KleidiAI fp32 深度卷积内核\n\n---\n\n## ✨ 新功能\n\n### LLM\u002FVLM\n*   **Flash Attention**: CPU 和 Metal 后端支持 Flash Attention，Metal 支持三种模式可选\n*   **KV Cache 量化**: CPU Attention 支持 Query\u002FKey\u002FValue 的 8bit 非对称量化\n*   **Prefix KV Cache**: 支持 Prefix KV Cache，提升长文本推理效率\n*   **投机解码**: Metal 后端支持 Eagle3 和 Lookahead 投机解码；提供 Qwen3 系列 Eagle3 权重\n*   **llmexport 重构**: 重构模型导出逻辑，支持混合精度量化配置和无权重导出\n*   **新增 `attention_mode` 选项**: 统一配置 Attention 行为，废弃 `quant_qkv` 选项\n    *   CPU: `0, 1, 2, 8, 9, 10`（默认 `8`），控制 Flash Attention 和 QKV 量化\n    *   GPU (Metal): `0, 8, 16`（默认 `8`），控制 Flash Attention 实现方式\n*   新增 Fun-Audio-Chat-8B 模型支持；LoRA 支持克隆 LayerNorm；llm_bench 支持 JSON 输出\n\n### GPU、QNN 后端\n*   **Vulkan**: 新增 LLM 推理支持；CoopMat 矩阵加速；buffer 模式完整支持 FP16\n*   **Metal**: TensorAPI 支持（M5 芯片性能提升）；iOS 后台检测机制；Loop 算子优化\n*   **OpenCL**: Loop 算子纯 GPU 实现；mmap 权重存储\n*   **QNN**: 支持 Qwen3 系列和 VL 模型；Python 直接导出；OmniQuant 量化\n\n### 工具与应用\n*   MNNConvert: 新增 dump pass 和 ConvPad 融合优化\n*   mnncli 重构: 增加测试、Linux 构建、QNN 库下载\n*   新增 Supertonic TTS、Sana diffusion、Sherpa-MNN TTS Demo 支持\n*   **MNN Chat (Android)**: 模型市场优化、多图片输入、Debug 工具\n\n---\n\n## ⚡ 性能优化\n\n*   **CPU**: LayerNorm\u002FMatMul\u002F二元广播优化；线程池开销降低；Attention Softmax 缓存优化\n*   **RISC-V Vector**: 全面优化 pack\u002Funpack、转置、数学、卷积、Softmax、CV 等核心函数\n*   **KleidiAI**: 新增编译选项默认启用 fp32 深度卷积内核\n\n---\n\n## 🐛 缺陷修复\n\n*   **核心**: 修复 axis() 返回 nullptr 崩溃；新增 `_SSE_MNNSoftmax` 修复 AVX2 禁用时崩溃\n*   **GPU**: 修复 iOS LLM 后台执行报错；修复 OpenCL\u002FVulkan\u002FMetal 多个计算和稳定性问题\n*   **LLM**: 修复 FastVLM\u002FEagle 导出问题；修复 CPU Attention 量化溢出\n*   **工具**: 修复 M","2026-02-07T06:22:22",{"id":197,"version":198,"summary_zh":199,"released_at":200},214724,"3.3.0","# MNN 3.3 发行说明\n\n## 一、大语言模型（LLM）能力增强\n\n*   **新增模型支持**：\n    \n    *   支持 **Qwen2.5-Omni**、**Qwen3-VL**、**GPT-OSS**、**MiniCPM-4**、**Fast VLM**、**GTE Reranker** 等主流开源模型。\n                \n    *   支持 **Attention Sink**、**Sliding Window Attention**。\n        \n*   **LLM 推理优化**：\n    \n    *   新增 **EAGLE-3 投机解码** 支持，在 Mac CPU 上 Llama3-8B 的解码性能提升达 **2.24倍**。\n        \n    *   完善 **Python 接口**，支持多模态推理、逐步推理、上下文信息获取等能力。\n        \n*   **量化与精度**：\n    \n    *   集成 **HQQ 量化算法**，与 AWQ 算法精度接近，但量化时间远低于 AWQ（Qwen 2.5 - 0.5B 各类量化方案 ppl 数据：原始：17.83；awq：17.08；hqq：**16.85**）。\n        \n    *   支持 **SmoothQuant** 与 **输入 per-tensor 量化**。\n        \n    *   支持 **DiskEmbedding 4\u002F8bit 量化**，并优化缓存读取速度。\n        \n\n## 二、硬件加速与 NPU 支持\n\n*   **CPU 加速**：\n    \n    *   实现 **SME（Scalable Matrix Extension）指令集** 支持，在 Armv9 设备上大幅提升 LLM 与 CV 模型性能。\n        \n        *   Qwen2.5-1.5B 在 SME2 上 Prefill 性能相比 Arm86 提升 **2~3 倍**。\n            \n        *   ResNet50 FP16 单线程推理加速 **3 倍**。\n            \n*   **CUDA 后端支持 LLM**：\n    \n    *   **Cutlass 升级至 4.0.0**（LLM 模式下），并改为编译时下载。\n        \n    *   新增 **CUDA Attention 算子**，支持 LLM 模型运行。\n        \n    *   支持 **int4 \u002F int8 权重低内存计算**，以降低 LLM 显存占用。\n        \n*   **GPU 后端修复**：\n    \n    *   修复 **OpenCL** 运行 Qwen Omni 出错问题，修正 OpenCL 在 MTK 部分芯片上计算 Attention 出错问题。\n        \n    *   新增 **OpenCL Kernel MD5 校验**，避免缓存污染。\n        \n*   **NPU 支持 LLM**：\n    \n    *   支持 **高通 QNN（NPU）** 运行 LLM 与 Vision 模型。\n        \n    *   新增 **联发科（MTK）NPU** 对 LLM 的支持。\n        \n\nNPU 参考性能数据：\n\n小米14 - Qwen3-4B-int4\n\n\u003Cimg width=\"924\" height=\"260\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faa9b39c1-eccf-42d8-a316-a371d797e600\" \u002F>\n\n天玑9300-计算盒 - Qwen3-4B-int4\n\u003Cimg width=\"772\" height=\"252\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F990b699d-ac52-4e26-ae93-0a54452f2907\" \u002F>\n\n## 三、框架功能与稳定性提升\n\n*   **核心框架改进**：\n    \n    *   新增 `set_order` 接口，支持动态修改 VARP 布局。\n        \n    *   修复多个 crash 问题，包括：\n        \n        *   StridedSlice 在 zero shape + 缩轴到 scalar 时崩溃；\n            \n        *   Module 加载输入不足时崩溃；\n            \n        *   Arm82 后端 Resize Error（因 CPUResizeCache 管理问题）。\n            \n*   **Python 兼容性**：\n    \n    *   修复 **PyMNN 在 Python 3.13+ 编译失败** 的问题。\n        \n*   **模型转换优化**：\n    \n    *   修正 RemoveUnuseFul \u002F RemoveCopy Pass 可能导致输入\u002F输出丢失的问题。\n        \n    *   支持 GRU \u002F LSTM 量化：通过分解算子为控制流 + Convolution 实现。\n        \n\n## 四、开源社区与兼容性\n\n*   修复多个社区反馈问题（Issue #3623、#3632、#3690、#3701、#3774、#3780、#3850 等）。\n    \n*   提升跨平台兼容性，包括 Windows ARM、macOS、Android、iOS、鸿蒙等。\n    \n\n---\n\nMNN 3.3 版本持续聚焦 **端侧大模型高效推理** 与 **多硬件平台统一部署**，并积极回馈开源社区。","2025-10-31T05:54:13",{"id":202,"version":203,"summary_zh":204,"released_at":205},214725,"3.2.5","# MNN 3.2.5 发布说明\n\n## 核心功能更新\n\n### 1. 新增HQQ量化算法支持\n- 在MNNConvert工具中集成HQQ量化算法，可通过`--hqq`参数启用\n- HQQ量化支持非对称量化，能显著提升量化模型的精度\n- 支持与分块量化结合使用，进一步优化模型精度\n\n### 2. 支持EAGLE-3推测解码算法\n- 新增EAGLE-3推测解码算法实现，提升大语言模型推理效率\n- 实现了EagleGeneration类，支持基于草稿模型的推测解码\n- 提供了Eagle模型导出工具，支持导出eagle、eagle_fc和eagle_d2t三个组件\n\n### 3. Qwen系列模型增强支持\n- 修复并优化Qwen3-Embedding模型的推理问题\n- 新增对Qwen3-VL多模态大模型的支持\n- 完善了llmexport工具对Qwen系列模型的导出支持\n\n## 详细变更内容\n\n### 模型推理优化\n- 重构了LLM模型加载逻辑，在Llm::load()方法中增加了更完善的错误处理\n- 优化了KV Cache管理器的实现，提升了推理过程中的内存管理效率\n- 改进了Metal后端的注意力机制实现\n- 优化了OpenCL后端的卷积执行效率\n\n### 量化工具改进\n- 在WeightQuantAndCoding.cpp中集成了HQQ量化器，支持更精确的权重量化\n- 优化了量化参数配置逻辑，当启用HQQ时自动设置非对称量化\n- 修复了量化过程中的一些bug，提升了量化稳定性\n\n### 模型导出增强\n- 完善了llmexport工具的错误处理和日志输出\n- 优化了模型导出流程，提升了导出稳定性\n- 修订了压缩工具相关文档，增加了HQQ量化使用说明\n\n---\n\n## 核心功能更新\n\n### 1. 增加了HQQ量化算法的支持\n- 将HQQ量化算法集成到MNNConvert工具中，可通过`--hqq`参数启用\n- HQQ量化支持非对称量化，能够显著提高量化模型的精度\n- 支持与分块量化结合使用，进一步优化模型精度\n\n### 2. 增加了EAGLE-3推测解码算法的支持\n- 实现了EAGLE-3推测解码算法，以提升大语言模型的推理效率\n- 实现了EagleGeneration类，支持基于草稿模型的推测解码\n- 提供了Eagle模型导出工具，支持导出eagle、eagle_fc和eagle_d2t三个组件\n\n### 3. 加强了对Qwen系列模型的支持\n- 修复并优化了Qwen3-Embedding模型的推理问题\n- 新增了对Qwen3-VL多模态大模型的支持\n- 完善了llmexport工具对Qwen系列模型的导出支持\n\n## 详细变更\n\n### 模型推理优化\n- 重构了LLM模型加载逻辑，在Llm::load()方法中增加了更完善的错误处理\n- 优化了KV Cache管理器的实现，提升了推理过程中的内存管理效率\n- 改进了Metal后端的注意力机制实现\n- 优化了OpenCL后端卷积运算的执行效率\n\n### 量化工具改进\n- 在WeightQuantAndCoding.cpp中集成HQQ量化器，实现了更精确的权重量化\n- 优化了量化参数配置逻辑，当启用HQQ时会自动设置为非对称量化\n- 修复了量化过程中的一些bug，提高了量化稳定性\n\n### 模型导出增强\n- 改进了llmexport工具的错误处理和日志输出\n- 优化了模型导出流程，提升了导出的稳定性\n- 修订了压缩工具的相关文档，增加了关于HQQ量化使用的说明","2025-10-16T10:53:48",{"id":207,"version":208,"summary_zh":76,"released_at":209},214726,"3.2.4","2025-09-30T02:10:11",{"id":211,"version":212,"summary_zh":76,"released_at":213},214727,"3.2.2","2025-08-05T01:43:56",{"id":215,"version":216,"summary_zh":217,"released_at":218},214728,"3.2.0","3.2.0 版本更新说明  \n感谢社区和开发团队的努力，MNN 3.2 版本现已正式发布！本次版本在性能优化、功能扩展以及问题修复方面进行了多项改进，尤其针对大语言模型（LLM）的支持和推理加速进行了重点优化。以下是主要更新内容：  \n\n🚀 新特性支持  \n1. LLM 相关  \n   ○ 支持 Qwen Omni 模型运行。  \n   ○ 支持 Qwen3 MoE 模型。  \n   ○ 支持 Gemma3 (4B\u002F1B) 和 InternVL2.5-1B \u002F deepseek vl 模型导出及 GGUF 转换。  \n   ○ 支持 FastVLM 和 SmolVLM 模型。  \n   ○ LLM Export 工具新增其他低比特量化（2, 3, 5, 6, 7 bit）支持。  \n   ○ 新增 jinja 模板引擎，方便 LLM 对话模板管理。  \n   ○ LLM Export 工具中默认量化的Block修改为64 （经测试体积和Q4_1一致，但精度更高）  \n   ○ 支持 GGUF 模型格式转换为 MNN。  \n2. 集成 KlediAI 相关功能更新  \n   ○ 新增 Q4 非对称量化的 Kernel 实现  \n   ○ 新增 FP16 \u002F FP32 的 SME Kernel 实现  \n3. LLM 推理加速  \n   ○ 支持基于用户输入的投机解码 (lookahead算法)，在典型场景如代码补全情况下，可提升2-3倍解码效率。  \n4. 模型转换增强  \n   ○ 支持 ONNX 元数据（metadata）转换及读取，并保持输入顺序一致。  \n5. 硬件加速支持  \n   ○ 新增高通 QNN 后端，目前仅支持 CV 模型运行。  \n6. 库大小裁剪功能  \n   ○ 新增 MNN_REDUCE_SIZE宏，开启后可以关闭部分优化分支，减少库大小  \n\n⚙️ 性能优化及精度优化  \n1. 启动优化  \n   ○ CPU 后端支持 mmap 生成缓存文件后删除原始 weight 文件，以便节省存储空间。  \n   ○ CPU Int8\u002FInt4 模式下优化权重重排和加载时间，LLM加载耗时降低到原来的1\u002F3，低于填充 200 token 的耗时。  \n   ○ OpenCL 后端通过内存免拷贝进一步优化加载时间，减少至原来的50%，同样低于填充 200 token 的耗时。  \n   ○ Metal 后端通过内存免拷贝及Kernel改写，降低Int8\u002FInt4权重重排和加载时间，LLM模型加载耗时降低到原先的1\u002F7  \n2. CPU算子优化  \n   ○ 调整了 Weight Block-wise 量化场景的 Weight 内存布局，并对相关Kernel进行了重写，以减少多线程运行时 GEMV 的 Cache Miss，对应地在 PC CPU 上，LLM 多线程解码性能提升1倍以上。  \n   ○ 新增 input block-wise 量化支持，并且原有的 Weight Block-wise 量化新增对非 1x1 卷积的支持,可较大地提升相关CV模型量化后的精度。比如 Diffusion 场景，CPU生图的效果提升。  \n3. GPU算子优化  \n   ○ Metal 后端针对 CV\u002FDiffusion 模型使用 simdgroup 指令进行加速，提升1倍左右效率。  \n   ○ Metal 后端新增 ScatterND 算子实现（目前只支持无 overlap 的情况）  \n   ○ OpenCL 后端针对 GEMV 扩充场景（[e,l,h]矩阵乘参数中，l, h 很大，但 e>1 且 e \u003C16）进行了优化，提升性能1倍左右，以配合投机解码提速需求。  \n\n🐞 问题修复  \n包括但不限于：  \n1. 修复 Windows 平台上部分情况下模型转换工具 crash 的问题。  \n2. 修复 CUDA 后端运行 BatchMatMul 出错的问题。  \n3. 修复 OpenCL 运行 LLM 时，多模态模型使用 CPU 导致出错的问题。  \n4. 修复 Qwen2\u002FQwen2.5 的 M-RoPE 支持问题。  \n5. 修复 Qwen2-7B-Audio 长语音处理出错的问题。  \n6. 修复 Space2Depth 算子中断言 blockSize > 1 不正确的问题。  \n7. 修复 Armv7a 架构上 LLM 运行出错的问题。  \n8. 修复 ONNX 部分量化模型转换失败的问题。  \n9. 修正 HIAI 部分算子实现错误的问题。  \n\n3.2.0 Release Note  \nThanks to the community and development team's efforts, MNN 3.2 has been officially released! This version introduces significant improvements in performance optimization, feature expansion, and bug fixes, with particular emphasis on enhanced support for Large Language Models (LLM) and inference acceleration. Below are the key updates:  \n\n🚀 New Feature Support  \n1. LLM-related Enhancements  \n   a. Added support for running Qwen Omni models  \n   b. Added support for Qwen3 MoE models  \n   c. Add support for Gemma3 (4B\u002F1B) and InternVL2.5-1B\u002Fdeepseek vl models  \n   d. Added support for FastVLM and SmolVLM models  \n   e. LLM Export tool now supports additional low-bit quantization (2, 3, 5, 6, 7 bits)  \n   f. Implemented jinja2 templating engine for LLM conversation template management  \n   g. Default quantization block size in LLM Export tool changed to 64 (tested to maintain same size as Q4_1 with higher accuracy)  \n   h. Added support for converting GGUF model format to MNN  \n2. KlediAI Integration Updates  \n   a. Added asymmetric Q4 quantization kernel implementation  \n   b.","2025-06-06T02:38:17",{"id":220,"version":221,"summary_zh":222,"released_at":223},214729,"3.1.0","#### LLM 相关更新\r\n##### 应用发布\r\n1. **Android**\r\n    - **新增Android的大模型应用（LLM \u002F Diffusion），详见 apps\u002FAndroid\u002FMnnLlmChat\u002FREADME.md**\r\n2. **iOS**\r\n    - **新增 iOS 的大模型应用，详见 apps\u002FiOS\u002FMNNLLMChat\u002FREADME.md**\r\n\r\n##### 新特性\r\n1. **模型支持**\r\n    - **支持 Qwen2-VL \u002F Qwen2-Audio \u002F Qwen2.5-VL 等多模态大模型的导出和运行。**\r\n    - **支持 DeepSeek-R1-1.5B-Qwen 和 DeepSeek-R1-7B-Qwen**\r\n2. **LLM 单步执行支持**\r\n    - 新增了对 LLM 单步执行的支持，便于调试和优化模型推理过程。\r\n3. **LLM 扩展采样算法支持**\r\n    - 扩展了采样算法的支持，提升了模型推理的灵活性和多样性。\r\n4. **LLM 导出模型时支持输出历史 Token 的概率值**\r\n    - 在导出 LLM 模型时，新增了输出历史 Token 概率值的功能，便于后续分析和优化。\r\n5. **LLM-CPU 支持 mmap 文件缓存**\r\n    - 新增了对 mmap 文件缓存的支持，使二次加载模型时避免内存重排，提升了加载效率。\r\n\r\n##### 性能优化\r\n1. **CPU 多线程性能进一步提升**\r\n    - 对 LLM 多线程性能进行了优化，进一步提升了整体推理速度。\r\n2. **CPU prefill 性能优化**\r\n    - 优化了 CPU 上 prefill 性能，使 1024 token 输入和 512 token 输入的 prefill 性能持平。\r\n3. **GPU 优化 OpenCL AutoTuning 耗时**\r\n    - 优化了 OpenCL AutoTuning 的耗时，避免了首次推理耗时过长的问题。\r\n4. **GPU 优化：Metal \u002F OpenCL 支持 fp16 的 scale\u002Fbias，支持对称量化优化**\r\n    - Metal \u002F OpenCL 后端支持 fp16 的 scale\u002Fbias 和对称量化优化的支持，提升了推理效率。\r\n5. **LLM 加速：Metal \u002F OpenCL 后端支持 scale\u002Fbias 使用 fp16**\r\n    - Metal \u002F OpenCL 支持 scale\u002Fbias 使用 fp16（设置 precision = low 时启用），进一步优化了 GPU 推理性能。\r\n\r\n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8b345acc-bb89-4806-885c-ce38cd57e3a6)\r\n\r\n+ 3.1.0 对比 3.0.0 在 小米14 设备上的性能对比，千问 2.5-7B-Int4-128 ，输入 512 token\r\n\r\n##### Bug 修复\r\n1. **LLM Lora 分离加载的模式存在误差**\r\n    - 修复了 Lora 分离加载模式存在误差的问题\r\n2. **开源反馈 #3091: LLM Export 8Bit 量化出错**\r\n    - 修复了 LLM Export 8Bit 量化出错的问题，确保了量化功能的稳定性。\r\n\r\n##### 重构与改进\r\n1. **LLM 导出模型时支持输出历史 Token 的概率值**\r\n    - 重构了 LLM 导出模型的功能，支持输出历史 Token 的概率值，便于模型分析和优化。\r\n\r\n---\r\n\r\n#### 引擎其他更新\r\n##### 新特性\r\n1. **Pymnn 支持无 numpy 环境安装**\r\n    - 现在 Pymnn 可以在没有 numpy 的环境下安装，解决了之前必须依赖 numpy 的问题。\r\n2. **数字人支持 KV Cache 回溯**\r\n    - 新增了对 KV Cache 回溯的支持，提升了数字人模型的推理效率。\r\n3. **OpenCL 支持大模型分块计算**\r\n    - 新增了对大模型分块计算的支持，避免了渲染卡顿问题。\r\n\r\n##### 性能优化\r\n1. **Vulkan Image 分支性能优化**\r\n    - 在 8Gen 系列芯片上，Vulkan 后端推理性能与 OpenCL 后端持平；在中低端设备上，整体性能提升了 30% 左右。\r\n2. **Convolution3D 转换为 Convolution2D**\r\n    - 将 Convolution3D 转换为 Convolution2D，降低了 Convolution3D 的耗时和内存占用。\r\n3. **OpenCL 降低非对齐情况下申请的内存大小**\r\n    - 优化了 OpenCL 在非对齐情况下申请的内存大小，减少了内存占用。\r\n\r\n##### Bug 修复\r\n1. **Arm v8 架构下 Debug 和 Release 模式 layernorm 计算有微小误差**\r\n    - 修复了 Arm v8 架构下 Debug 和 Release 模式 layernorm 计算存在微小误差的问题。\r\n2. **NNAPI 修正 Binary 不支持 relu fuse 的问题**\r\n    - 修正了 NNAPI 中 Binary 不支持 relu fuse 的问题。\r\n3. **MNN:GPU 模型串联运行时内存访问越界问题**\r\n    - 修复了在模型串联运行时可能出现的内存访问越界问题，原因是 backend 没有调用 onExecuteBegin 和 onExecuteEnd。\r\n4. **ConvTranspose3D 占用内存过大**\r\n    - 通过把 **ConvTranspose3D 转换为 ConvTranspose2D ，**修复了 ConvTranspose3D 占用内存过大的问题。\r\n5. **Onnx 的 Cast 算子输出 fp16 时报 not support type 错误**\r\n    - 修复了 Onnx 的 Cast 算子输出 fp16 时报 not support type 错误的问题，提升了模型转换的兼容性。\r\n\r\n##### 开源反馈修复\r\n1. **开源反馈 #3061: ConvTranspose CPU 运行时占用内存大**\r\n    - 修复了 ConvTranspose CPU 运行时占用内存过大的问题。\r\n2. **开源反馈 #3073: 离线量化工具出错**\r\n    - 修复了离线量化工具出错的问题。\r\n3. **开源反馈 #3076: MNN CV 处理出错**\r\n    - 修复了 MNN CV 处理出错的问题，并进行了相关沟通确认。\r\n4. **开源反馈 #3156: Metal 改变输入形状后仍需要 auto-tuning**\r\n    - 修复了 Metal 改变输入形状后仍需要 auto-tunin","2025-02-24T09:54:27",{"id":225,"version":226,"summary_zh":76,"released_at":227},214730,"3.0.4","2025-01-24T03:41:26",{"id":229,"version":230,"summary_zh":231,"released_at":232},214731,"3.0.0","# 大模型推理相关\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">LLM支持\u003C\u002Ffont>**\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">新增了多模态模型Qwen2VL的支持;\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">优化了LLM模型导出流程，现直接导出 MNN 相比先导出 onnx 再转 MNN 的流程快了十倍以上\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">重构了LoRA支持方案，现支持LoRA动态加载与多LoRA并存\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">新增GPTQ、AWQ量化支持；\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">支持tie_embedding参数加载；\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">多轮对话支持kv cache复用，多轮对话时相应延迟降低10倍；\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">支持python接口，支持ceval, ppl测试；\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">支持混合精度量化，支持指定block size量化；\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">OpenCL与Metal后端支持，OpenCL性能优化；\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">增加了 Arm KleidiAI 库的集成，目前仅支持对称量化的LLM推理\u003C\u002Ffont>\n    - \u003Cfont style=\"color:rgb(44, 44, 54);\">废弃模型分段导出与推理；\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">Stable Diffusion支持\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：实现了标准sd1.5模型的支持以及Attention算子插件。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">ModelZoo\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">: \u003C\u002Ffont>[ModelScope](https:\u002F\u002Fmodelscope.cn\u002Forganization\u002FMNN)\u003Cfont style=\"color:rgb(44, 44, 54);\">与\u003C\u002Ffont>[Huggingface](https:\u002F\u002Fhuggingface.co\u002Ftaobao-mnn)\n\n# \u003Cfont style=\"color:rgb(44, 44, 54);\">新功能与改进\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">架构优化\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：现在支持多个模型串联运行时复用动态内存池。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">动态量化\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：重构了动态量化相关的代码，以支持任意类型的卷积和模型。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">OpenCL 支持\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：增加了对五维 gridsampler 的支持，并提升了大尺寸1x1卷积、batchMatMul的计算性能。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">加载时间优化\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：针对量化模型，对CPU和GPU的加载时间进行了优化。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">Softmax\u002FLayerNorm\u002FGRU算子优化\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：在fp16\u002Fx86模式下运行时优化了Softmax\u002FLayerNorm\u002FGRU内存占用与计算性能。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">几何计算\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：增强了区域合并逻辑，支持裁剪和多对多处理。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">多线程性能提升\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：添加了锁核支持，支持按CPU算力进行多核任务划分，对于大中小核架构的CPU，最高提升2线程性能30%。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">内存管理\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：引入了Mmap模式，在内存不足时可以迁移到磁盘文件。\u003C\u002Ffont>\n+ **\u003Cfont style=\"color:rgb(44, 44, 54);\">编译增强\u003C\u002Ffont>**\u003Cfont style=\"color:rgb(44, 44, 54);\">：提供了Windows-ARM设备的编译支持，基于 SSE4.1 支持编译 WebAssembly 开启 SIMD。\u003C\u002Ffont>\n\n# \u003Cfont style=\"color:rgb(44, 44, 54);\">Bug修复\u003C\u002Ffont>\n+ \u003Cfont style=\"color:rgb(44, 44, 54);\">修复了部分模型量化后在ARM上运行出错的问题。\u003C\u002Ffont>\n+ \u003Cfont style=\"color:rgb(44, 44, 54);\">解决了某些机型如天矶9000上读取cachefile后再重新生成时cachefile大小变化的问题。\u003C\u002Ffont>\n+ \u003Cfont style=\"color:rgb(44, 44, 54);\">修正了ONNX ConvTranspose 带分组属性时(group)转换后的计算错误。\u003C\u002Ffont>\n+ \u003Cfont style=\"color:rgb","2024-11-20T01:43:43",{"id":234,"version":235,"summary_zh":236,"released_at":237},214732,"2.9.0","# MNN-LLM 正式合入\n## 增加Transformer相关算子与对应图优化功能\n- 编译 MNN 时打开宏 MNN_LOW_MEMORY 和 MNN_SUPPORT_TRANSFORMER_FUSE ，增加在线权重反量化、动态量化和Transformer相关算子支持\n   - -DMNN_SUPPORT_TRANSFORMER_FUSE=ON -DMNN_LOW_MEMORY=ON\n- 转换模型时加上 --transformerFuse=1 开启Transformer模型相关图优化\n\n## 新增 LLM 模块\n### 使用方法\n#### 构建 LLM 文件包\n\n- 下载模型，推荐使用魔搭\n   - pip install modelscope\n   - 执行脚本（以千问7b为例）\n```python\nfrom modelscope import snapshot_download\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\n\n# Downloading model checkpoint to a local dir model_dir\nmodel_dir = snapshot_download('qwen\u002FQwen-7B-Chat')\n#model_dir = snapshot_download(\"modelscope\u002FLlama-2-7b-chat-ms\", revision='v1.0.5',\n                              ignore_file_pattern=[r'.+\\.bin$'])\n#model_dir = snapshot_download('qwen\u002FQwen-1_8B-Chat')\nprint(model_dir)\n```\n\n- 使用 MNN 目录下面的 transformers\u002Fllm\u002Fexport\u002Fllm_export.py 进行模型导出，把 torch 模型转换成 onnx \n   - 示例\n      - python3 llm_export.py --embed_bin --embed_bf16 --onnx_path onnx --type Qwen-7B-Chat --path \u002FUsers\u002Fxtjiang\u002F.cache\u002Fmodelscope\u002Fhub\u002Fqwen\u002FQwen-7B-Chat --export_embed  --export_token  --mnn_path mnn --export\n   - 务必加 --embed_bin 参数，将 embeding 层导出成 bin 文件\n   - 完成后会产出两个文件夹\n      - onnx\n         - llm.onnx \n         - tokenizer.txt\n         - 其他外置权重数据，不用关注\n      - mnn\n         - embeddings_bf16.bin\n- 使用 MNNConvert 转换 onnx 模型，并进行量化\n   - .\u002FMNNConvert -f ONNX --modelFile onnx\u002Fllm.onnx llm.mnn --weightQuantBits=4 --transformerFuse=1 --saveExternalData\n   - 一般需要20-30 分钟，请耐心等待\n   - 产出 llm.mnn 与 llm.mnn.weight\n- 建文件夹，组合上述步骤产出的文件，这里以千问7b为例\n   - 文件夹名：qwen-7b-int4\n   - 包含文件\n      - embeddings_bf16.bin\n      - llm.mnn\n      - llm.mnn.weight\n      - tokenizer.txt\n#### 编译LLM引擎并使用\n\n- 编译MNN打开 MNN_BUILD_LLM 宏，编译 transformers\u002Fllm\u002Fengine 目录，产出 libllm 和 llm_demo\n- 使用 llm_demo 运行 llm\n   - 参数：\n      - llm.mnn 文件路径\n      - forwardtype ：0 为 CPU ，3 为 OpenCL \n      - Memory | Precision ：Memory * 4 + Precision ，如果 memory 和 preicsion 都为 low ，即设为 10\n   - 示例：\n      - .\u002Fllm_demo ..\u002F..\u002Fqwen-7b-int4\u002Fllm.mnn 0 10\n         - 【然后进行对话】\n      - .\u002Fllm_demo ..\u002F..\u002Fqwen-7b-int4\u002Fllm.mnn 0 10 prompt.txt ：使用预设的问题进行测试\n\n- CPU \u002F GPU\n### 性能测试\n\n- 8Gen1\n| model | CPU 4线程 |  | OpenCL |  |\n| --- | --- | --- | --- | --- |\n|  | prefill | decode | prefill | decode |\n| qwen-1.8b | 207.56 | 35.58 | 28.58 | 20.40 |\n| qwen-7b | 25.86 | 7.5 | 7.95 | 7.70 |\n| llama3-8b | 22.09 | 5.59 | 内存不足 | 内存不足 |\n\n\n- 8Gen3\n| model | CPU 4线程 |  | OpenCL |  |\n| --- | --- | --- | --- | --- |\n|  | prefill | decode | prefill | decode |\n| qwen-1.8b | 205.70 | 47.07 | 61.25 | 21.56 |\n| qwen-7b | 40.93 | 11.01 | 20.26 | 10.60 |\n| llama3-8b | 36.44 | 7.83 | 19.10 | 2.14 |\n\n- 注：暂未对 llama3-8b 结构支持 Transformer 相关图优化，因此GPU性能较差\n# 形变缓存机制\n## 背景\n对于语音\u002F文本类的模型，往往涉及张量某个维度的逐步变化，这种情况下每次都会进行几何计算、申请内存等操作，导致不可忽略的性能损耗。考虑到输入单个维度变化的情况下，网络中会存在部分算子形状不变，这部分计算是可以去除的。\n为了对这种情况进行优化，MNN新增了形变缓存机制，使模型输入形状变化时，形状不变的算子跳过形变相关操作，以提升性能。\n\n## 原理\n\n- MNN 通过两个状态去优化Resize过程，先在 Check 状态下寻找不变形状的算子，然后切换到 Fix 状态，分离易变形状与不变形状算","2024-05-15T02:15:34",{"id":239,"version":240,"summary_zh":76,"released_at":241},214733,"2.8.1","2023-12-29T08:08:23",{"id":243,"version":244,"summary_zh":245,"released_at":246},214734,"2.8.0","# 1. 新特性\n- MNN支持以JSON文件格式导入量化参数 ([issue-2587](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2587))\n- 支持 MaxPooling with index ([issue-2268](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2268))\n- MNN支持NNAPI中Deconvolution算子\n- MNNConvert支持 Onnx 中 dim \u003C 2 的矩阵乘算子\n- TestConvert 增加测试非 CPU 后端的能力\n- Pymnn支持构建 MNN 训练模型，以支持离线训练模式\n- 优化MNNConvert，大幅降低大模型转换时的内存占用\n- OpenCL 支持 Loop 算子特殊形式，广播 Binary\n- 支持 Unary, Prelu 算子量化\n# 2. 性能优化\n\n- ONNX ScatterND算子性能优化 ([issue-2530](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2530  ))\n- CPUTopKV2算子性能优化，将tflite的实现修改为stl的实现；\n- ARM汇编实现`MNNTranspose16Bit8x8`, 提升fp16的转置性能；\n- ARM\u002FX86使用动态量化方案优化权重量化的矩阵乘、卷积算子；llm模型推理性能大幅提升；\n\n## llm cpu性能测试\n`mnn-llm` 在MNN 2.8.0版本的CPU性能如下，测试均使用4线程， 速度为`prefill \u002F decode`单位为`tok\u002Fs`\n\n| model             | android(f16\u002F32)| macos (f32)   | linux (f32)    | windows (f32)  |\n|:-----------------:|:--------------:|:-------------:|:--------------:|:--------------:|\n| qwen-1.8b-int4    | 100.21 \u002F 22.22 | 84.85 \u002F 19.93 | 151.00 \u002F 35.89 | 117.30 \u002F 33.40 |\n| qwen-1.8b-int8    |  99.95 \u002F 16.94 | 67.70 \u002F 13.45 | 118.51 \u002F 24.90 |  97.19 \u002F 22.76 |\n| chatglm-6b-int4   |  17.37 \u002F  6.69 | 19.79 \u002F  6.10 |  34.05 \u002F 10.82 |  30.73 \u002F 10.63 |\n| chatglm2-6b-int4  |  26.41 \u002F  8.21 | 20.78 \u002F  6.70 |  36.99 \u002F 11.50 |  33.25 \u002F 11.47 |\n| chatglm3-6b-int4  |  26.24 \u002F  7.94 | 19.67 \u002F  6.67 |  37.33 \u002F 11.92 |  33.61 \u002F 11.21 |\n| qwen-7b-int4      |  14.60 \u002F  6.96 | 19.79 \u002F  6.06 |  33.55 \u002F 10.20 |  29.05 \u002F 9.62  |\n| baichuan2-7b-int4 |  13.87 \u002F  6.08 | 17.21 \u002F  6.10 |  30.11 \u002F 10.87 |  26.31 \u002F 9.84  |\n| llama-2-7b-int4   |  17.98 \u002F  5.17 | 19.72 \u002F  5.06 |  34.47 \u002F  9.29 |  28.66 \u002F 8.90  |\n\n测试的系统和设备信息如下，\n\n| os | device | CPU | Memory |\n|:--:|:-------:|:----:|:--------:|\n| android | XiaoMi12 | Snapdragon 8gen1 | 8 GB |\n| macos | MacBook Pro 2019 | Intel(R) Core(TM) i7-9750H CPU | 16 GB |\n| linux | PC | Intel(R) Core(TM) i7-13700K | 32GB |\n| windows | PC | Intel(R) Core(TM) i7-13700K | 32GB |\n\n# 3. Bugfix\n## 3.1 关联 Github Issue 解决\n\n- 修复MNN2.5.3版本后量化模型不能得到正确结果 ([issue-2614](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2614))\n- 修复tflite模型转换到MNN时重复算子检测卡死的问题 ([issue-2573](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2573))\n- 支持Pytorch FX 量化而得的 ONNX 模型转换 ([issue-2548](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2548))\n## 3.2 其他 Bugfix 或优化\n### 工具类：\n\n- 修复Defer Allocator 实际分配内存后未做成功与否的检查\n- 修复量化工具中由index=-1导致的crash问题\n- 修复模型转换工具在转大模型时会crash的问题\n- 修复模型转换工具在转换ONNX模型的Clip算子时不能正确处理 int32_t数据的问题\n- 修复使用OpenCL训练时的内存泄露问题\n- OpenCL单测错误问题修复\n### 编译兼容性问题：\n\n- 修复在X86_x64下SSE指令不兼容导致的编译错误\n- 修复IOS 工程文件中由于局部变量在线程函数外导致的编译错误\n- 修复一些ARM编译器无法识别 \"vmov.f16 q0, #5.0\"导致的编译错误\n### 结果错误(crash)类问题：\n\n- 修复C++版本下Binary函数中（\u003C=,\u003C,>=,>,==)的返回值类型导致的结果错误\n- 修复 1x1 Strassen矩阵在Low Memory时crash问题\n- 修复coreML在deconvolution算子padding!=0时crash问题\n- 修复 ModuleAPI在运行时使用 Defer Allocator来申请内存的问题\n\n","2023-12-05T08:50:54",{"id":248,"version":249,"summary_zh":76,"released_at":250},214735,"2.7.2","2023-12-04T08:21:53",{"id":252,"version":253,"summary_zh":76,"released_at":254},214736,"2.7.1","2023-09-28T07:41:49",{"id":256,"version":257,"summary_zh":258,"released_at":259},214737,"2.7.0","# 1. 新特性\r\n- 新增LayerNorm int8量化算子支持：\r\n- CUDA 后端 新增 TopKV2 算子支持\r\n- 新增 DeferAllocator ，支持延迟分配内存，默认在 CPU Backend 中启用，内部模型测试平均降低内存占用 19.13%\r\n- OpenCL Buffer 模式新增Range\u002FSelect\u002FCast\u002FArgMax 等算子支持\r\n- OpenCL支持用户设置platform_id\u002Fdevice_id\u002Fplatform_num接口，以选择显卡核心，并支持默认优先选用独显(NVIDIA\u002FAMD独显)\r\n- 优化 OpenCL 后端内存分配逻辑，降低ChatGLM模型的内存占用\r\n# 2. 性能优化\r\n\r\n- OpenCL优化Mali-GPU计算量大的卷积运算(image\u002Fbuffer存储混用)。性能提升10%-20%。\r\n- CPU浮点模型优化Winograd卷积的准入条件、1x1Strassen算法。性能提高3%~18%。\r\n- CPU量化模型优化WinogradInt8、DepthwiseInt8。性能提高4%~22%。\r\n\r\n- CUDA优化广播Binary算子性能、Blit算子性能。\r\n- CUDA支持编译CodeGen功能，针对Unary\u002FRaster\u002FBinary算子进行算子在线融合，整体性能提升5%-10%。\r\n# 3. Bugfix\r\n## 3.1 关联 Github Issue 解决\r\n\r\n- Tflite FC + Relu 情况下模型转换到 MNN 未正确解析 Relu [https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2332](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2332)\r\n- Onnx 模型中FP16 常量 转换到 MNN 时不支持[https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2477](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2477)\r\n- Onnx 新的 LayerNorm 算子不支持（目前采用效率较低的算子组合实现）[https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2509](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2509)\r\n- Vulkan Image 模式部分情形下计算错误[https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2433](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2433)\r\n- Yolov8 MNN CUDA 推理出错 [https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2428](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2428)\r\n- OpenCL Codegen 部分 case 下出现编译错误 [https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2523](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2523)\r\n## 3.2 其他 Bugfix 或优化\r\n\r\n- 修正 Vulkan Buffer 模式单元测试 convolution3d 出错的问题\r\n- 修正 ScatterND 算子在 update tensor 长度为空的计算错误问题\r\n- 修正 Onnx EinSum 算子在部分情况下转换到 MNN 出错的问题\r\n- 修正 Onnx Split 算子转换问题\r\n- 支持 Onnx 的 GEMM  + Relu 算子的合并\r\n\r\n","2023-09-04T08:37:05",{"id":261,"version":262,"summary_zh":76,"released_at":263},214738,"2.6.3","2023-09-28T07:42:36",{"id":265,"version":266,"summary_zh":267,"released_at":268},214739,"2.6.0","# 1. 新特性\r\n- 新增int8量化算子支持：\r\n   - Softmax\r\n   - Interp\r\n   - Binary\r\n   - Unary\r\n   - Scale\r\n- OpenCL 支持 Loop 算子特定情形；\r\n   - BatchMatMul\r\n   - Gather\r\n- x86_64支持Gelu-bf16;\r\n- CUDA支持bf16模型推理；\r\n- benchmark 工具支持直接测试模型量化后的性能（不需要先用量化工具量化模型）\r\n- Pymnn Tensor\u002FVar使用Tuple创建时支持混合类型数据；\r\n- 权值量化模型支持低内存推理模式，计算时反量化；\r\n   - 支持ChatGLM-6B模型推理内存占用3G；\r\n   - 支持构建了ChatGLM-MNN Android app;\r\n# 2. 优化\r\n\r\n- OpenCL支持高通reocrd queue ，以降低创建 GPU Command Buffer 所需的时间;\r\n\r\nOneplus 9 机型 Benchmark 测试结果如下\r\n\r\n| **Model** | **unrecord** | **record** |\r\n| --- | --- | --- |\r\n| resnet-v2-50.mnn | 21.254 | 20.160 |\r\n| MobileNetV2_224.mnn | 4.853 | 4.186 |\r\n| mobilenet-v1-1.0.mnn | 6.424 | 5.315 |\r\n| nasnet.mnn | 46.751 | 20.260 |\r\n| SqueezeNetV1.0.mnn | 7.35 | 6.832 |\r\n| squeezenetv1.1.mnn | 3.936 | 3.693 |\r\n| mobilenetV3.mnn | 14.201 | 6.743 |\r\n| inception-v3.mnn | 33.111 | 32.032 |\r\n\r\n- 稀疏卷积内存优化，降低内存占用；\r\n- 减少异构（CPU低精度\u002FGPU）运行 MNN 模型时的常量内存占用；\r\n- CUDA优化int8算子性能；\r\n- 减少Permute几何计算产生的region数量；\r\n- 重新调整ConvolutionInt8及im2col在AVX512-VNNI下的分块大小，提升性能20%-30%；\r\n- X86新增bilinear\u002Fnearest sample的SIMD实现，提升ImageProcess性能 50% 左右；\r\n# 3. Bugfix\r\n## 3.1 关联 Github Issue 解决\r\n\r\n- 修复CUDA Raster错误导致输出为0的问题；[issue-2333](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2333)\r\n- 修复OpenCL Gather算子出错的问题；[issue-2424](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2424)\r\n- 修复ImageProcess出错的问题；[issue-2386](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2386)\r\n- OpenCL支持用户选择device id; [issue-2343](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2343)\r\n## 3.2 其他 Bugfix\r\n\r\n- CUDA CMakeList对未支持架构增加报错信息；\r\n- testMNNFromOnnx脚本在模型测试正确时不启用DEBUG模式；\r\n- load_module_from_file中的shape_mutable默认改为True（存在子图的模型无法在False情形下运行）；\r\n- MNNConvert使用keepInputFormat选项时，也同时将输出Tensor的format转换为原始格式\r\n- 修复log记录时设备为空时Crash的情况；\r\n- 修复BinaryOp单元测试在Windows下无法编译的问题；\r\n- 修复MNN_SUPPORT_DEPRECATED_OP宏不控制OptimizedComputer的问题；\r\n- 修复fp16多线程且分块方向为channel时convolution计算出错的问题；\r\n- 修复deconvolutionInt8访存越界的问题；\r\n- 修复TensorArrayWrite几何计算产生zero region的问题；\r\n- 修复CUDA depthwise conv出错的问题；\r\n- 修复一些文档格式、内容的错误；\r\n- 修复多线程下createRuntime和setGlobalConfig出错的问题；\r\n- 修复Vec.hpp中无用代码导致的编译失败问题；\r\n- 修复OpenCL对gpuDevice的assert失败的问题；\r\n- 修复OpenCL bianry mod出错的问题；\r\n- 修复CUDA argmax出错的问题；\r\n- 修复pymnn\u002Fexample\u002Fmnn_numpy_cv_demo.py中形状不对的问题；\r\n\r\n","2023-07-05T08:11:44",{"id":270,"version":271,"summary_zh":272,"released_at":273},214740,"2.5.0","# 1. 新特性\r\n- MNN OpenCV新增算子：\r\n   - erode\r\n   - convertMaps\r\n   - remap\r\n   - adaptiveThreshold\r\n   - bilateralFilter\r\n   - solve (MNN numpy新增solve)\r\n   - normalize\r\n   - split\r\n   - merge\r\n   - addWeight\r\n- 支持Tflite int8量化模型转换到MNN模型；\r\n- ARM CPU支持GELU-bf16\r\n- CUDA 新增算子：\r\n   - GridSampler\r\n   - Multi-Input Convolution\r\n   - Multi-Input Deconvolution\r\n- CUDA针对多卡推理，支持用户设置运行device_id\r\n- 支持Deconvolution-int8\r\n- runSession\u002FrunSessionWithCallBack函数加锁，避免多线程调用出错\r\n- 支持非拓扑序ONNX模型转换\r\n- 支持ONNX多版本Softmax转换\r\n# 2. 重构\u002F优化\r\n\r\n- 优化内存分配与回收时机，新增Session\r\n- 简化ONNX Slice算子模型转换\r\n- Cuda性能优化\r\n   - Argmax针对dim size较大的情况性能优化\r\n   - Softmax在channel较大时性能优化\r\n   - MatMul算子预重排逻辑优化\r\n   - 优化后ChatGLM模型在A10显卡上性能优于Pytorch 2.0\r\n- OpenCL优化，resnet测试优于OpenVINO\r\n   - 使用intel subgroup扩展优化winogard算子，调整数据排布格式与准入条件\r\n   - 根据输入尺寸调整conv2d算子的数据排布格式，使用intel subgroup扩展优化\r\n   - 优化后ResNet18模型在intel UHD Graphics 630显卡上性能优于OpenVINO\r\n- GELU-bf16实现后性能提升\r\n# 3. Bugfix\r\n## 3.1 关联 Github Issue 解决\r\n\r\n- 修复CPURaster 的 singleConvert 部分情况出错 [issue-2264](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2264)\r\n- 修复atan2计算错误的问题\r\n- 修复ONNX dynamic shape转换出错的问题 [issue-2276](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2276)\r\n- 修复i8mm时Im2col出错的问题\r\n- 修复CPUConvolutionDepthwise错误的问题 [issue-2291](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2291)\r\n- 修复CUDA int8编译失败的问题 [issue-2321](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2321)\r\n- 修复Onnx Loop 算子的 M 和 cond 为optional 时，转换失败的问题 [issue-2267](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2267)\r\n- 修复Raster中fastblit 中turnPackRegion 部分情况下出错的问题 [issue-2337](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN\u002Fissues\u002F2337)\r\n## 3.2 其他 Bugfix\r\n\r\n- 修复 onnx 子图中 identity 被优化导致 输出数和原始子图不一致的问题\r\n- 修复 Onnx sequense 相关算子转换问题\r\n- 修复 TensorArrayConcat 计算 newAxis = 1 时的问题（此时为 stack）\r\n- 修复 TensorArray 计算 eleSize 时，axis \u003C 0 时计算出错的问题\r\n- 修复低精度计算或者 GPU 无法运行 mnn 训练模型的问题\r\n\r\n","2023-04-27T09:09:26"]