惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threat Research - Cisco Blogs
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
U
Unit 42
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Recorded Future
Recorded Future
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
Latest news
Latest news
GbyAI
GbyAI
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
Hacker News: Ask HN
Hacker News: Ask HN
美团技术团队
N
News | PayPal Newsroom
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Hacker News
The Hacker News
The GitHub Blog
The GitHub Blog
V
V2EX
N
News and Events Feed by Topic
T
Troy Hunt's Blog
Security Latest
Security Latest
博客园 - 叶小钗
P
Palo Alto Networks Blog

博客园 - 削微寒

《HelloGitHub》第 123 期 《HelloGitHub》第 122 期 《HelloGitHub》第 121 期 《HelloGitHub》第 120 期 GitHub 悄悄起飞的开源项目,想让 AI 接管你的电脑 这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体 《HelloGitHub》第 119 期 我装了个插件,让两个 OpenClaw 开始 24/7 搞事情了 追更 HelloGitHub 一整年,终于等到了这篇年度盘点 《HelloGitHub》第 118 期 不止是快!美团 LongCat 开源新模型,给 Agent 装上深度思考的大脑 嫌 AI 写的界面太丑?装上这个开源插件,秒变资深设计师 《HelloGitHub》第 117 期 上班摸鱼玩塔防,竟然是为了学架构?「GitHub 热点速览」 《HelloGitHub》第 116 期 比 MySQL 轻,比 SQLite 强:终于有人把 AI 数据库做对了 节省 60% Token 的新数据格式「GitHub 热点速览」 别犹豫,用过才知道 AI 还能这样玩 让 AI 记住我家狗叫「十六」,原来只需要 5 分钟 《HelloGitHub》第 115 期 DIY ChatGPT 一周狂揽 27k Star「GitHub 热点速览」 求求了,别再让你的 GPU 公开“摸鱼”了!
降薪跳槽,投身开源!只为 AI 落地“最后一公里”
削微寒 · 2025-11-05 · via 博客园 - 削微寒

2022 年底,一个 AI 项目上线的深夜。

作为大厂的资深 AI 算法部署工程师,Always 刚完成了第 N 个从算法到上线的项目。他没有喜悦,反而盯着屏幕陷入了沉思。他发现,所有 AI 落地项目,本质上都在重复同一套繁杂的流程——无非是换了模型和业务逻辑。这个过程,正是业内最头痛的AI 落地最后一公里

“为什么我们要在这些重复的事情上,浪费这么多时间?”

一个念头在他脑中升起:能不能把这套流程彻底抽象成一个通用框架?拖拽⼯作流+有向⽆环图+多端推理⸺这个技术⽅案在他的脑海⾥逐渐清晰。为了实现这个想法,他做出了一个在外人看来“不太理智”的决定:主动降薪 40%,跳槽到一家 955 的公司,从而有更多的时间和精力,把这个框架做出来,并把它开源!

于是,nndeploy 诞生了!

这是一款专为 AI 落地最后一公里 而生的易用、高性能端侧 AI 部署框架。它通过可视化⼯作流降低⻔槛,统⼀接⼝搞定多端推理,并提供 LLM、AIGC、换脸、目标检测、图像分割等开箱即用的 AI 模型部署配置文件。让 AI 落地,从数周缩短至几天

GitHub 地址:github.com/nndeploy/nndeploy

一、AI 落地:被忽视的“最后一公里”

很多人可能会问:AI 落地还不简单?不就是调个 API 吗?

如果真是这样,那 nndeploy 这种部署框架岂不是多此一举?

尤其是在端侧(On-Device)——也就是手机、汽车、摄像头这些设备上——这个问题的答案尤其清晰:还真不行

试想一下:自动驾驶汽车在高速上需要紧急刹车,它能等待一个网络 API 返回结果吗?工厂的质检摄像头,能忍受零点几秒的网络延迟吗?更不用说,当你的手机需要人脸解锁时,你敢把自己的信息毫无保留地传到云端吗?

延迟、隐私、成本——这三座大山,让端侧部署成为 AI 落地的重要阵地,进一步拓宽了应用的边界。

而 AI 部署工程师的“战场”,就是要把那些“聪明模型”塞进各种资源受限的设备中。他们面对的是发热的芯片、有限的算力、以及五花八门的操作系统……他们是把 AI 从“实验室”带到更多人身边的幕后英雄。

这批工程师也是 AI 开发岗位中需求量大、门槛相对较低、薪资也同样可观的主流“AI 饭碗”。

而这,也正是 Always(nndeploy 发起人)想解决的另一个核心问题。他希望 nndeploy 不仅是一个 AI 部署框架,更能为那些想从软件工程师转型到 AI 部署的开发者,提供一套开箱即用的“武器库”

二、nndeploy:助力 AI 部署工程师的每个阶段

nndeploy 为什么能成为 AI 部署工程师的“必备工具箱”?

秘诀在于:它为不同阶段的 AI 部署工程师量身打造了关键能力。

  • 新手友好:超低门槛的可视化工具,助你轻松入门。
  • 专业进阶:深度优化能力,助力打造高性能解决方案。
  • 高效实战:丰富算法库,兼顾效率与学习,开箱即用。

2.1 可视化“木剑”,轻松上手

nndeploy 的首要目标,是让 AI 落地变得前所未有的简单。对于转行或刚入门的工程师,它提供了极致直观的体验:

  • 可视化工作流:拖拽节点即可部署 AI 算法,参数实时可调,效果一目了然。
  • 自定义节点:无论是用 Python 实现预处理,还是用 C++/CUDA 编写高性能节点,均可无缝集成于工作流。
  • 一键多端部署:工作流支持导出为 JSON,可通过 C++/Python API 调用,适用于 Linux、Windows、macOS、Android、iOS 等平台。

2.2 高性能“屠龙刀”,攻克生产难题

在高性能需求下,nndeploy 是工程师手中的“屠龙刀”。它为资深从业者内置了面向“最后一公里”的深度优化:

  • 并行优化:支持串行、流水线并行和任务并行等多种执行模式。
  • 内存优化:零拷贝、内存池、内存复用等优化策略,专为端侧资源优化设计。
  • 高性能优化:内置 C++/CUDA/Ascend C/SIMD 等多种高性能节点实现。
  • 多端推理:支持 13+ 主流推理框架(TensorRT、ONNXRuntime、OpenVINO 等),无缝适配云、边、端全场景。

以 YOLOv11s 端到端工作流总耗时为例,串行 vs 流水线并行:

2.3 开箱即用的算法库,高效又好学

nndeploy 内含 100+ 常用节点,覆盖主流 AI 应用场景。无需反复造轮子,高频需求一键满足。丰富的案例也是最佳学习资料:拿来即用、跑通即会!

注:nndeploy 专注于端侧,仅支持参数量在 0.3B~7B 级别的大语言模型。

三、五分钟用上你的第一个 AI 应用

nndeploy 的上手体验到底有多丝滑?

无需复杂配置,5 分钟就能启动并部署一个 AI 应用。

1. 一键安装

pip install --upgrade nndeploy

2. 启动可视化编辑器

nndeploy-app --port 8000

启动成功后,打开 http://localhost:8000 即可进入工作流编辑器。在这里,你可以拖拽节点、调整参数、实时预览效果,所见即所得。

3. 保存并执行:从原型到生产

在可视化界面中搭建、调试完成后,点击保存,工作流就会导出为一个 JSON 文件

这个 JSON 文件就是你的 AI 应用,它封装了你所有的流程和逻辑。你可以用以下两种方式在生产环境中运行它:

方式 1:命令行一键执行

用于快速测试和验证。

# Python 命令行
nndeploy-run-json --json_file path/to/workflow.json
# C++ 命令行
nndeploy_demo_run_json --json_file path/to/workflow.json

方式 2:在 C++/Python 代码中加载

这才是最核心的用法。你可以将这个 JSON 文件无缝集成到你现有的 C++ 或 Python 项目中,以下是一个加载 LLM 工作流的示例代码:

Python 示例

graph = nndeploy.dag.Graph("")
graph.remove_in_out_node()
# 仅需加载导出的 JSON 文件
graph.load_file("path/to/llm_workflow.json")
graph.init()

# 准备输入数据
input = graph.get_input(0)    
text = nndeploy.tokenizer.TokenizerText()
text.texts_ = [ "<|im_start|>user\nPlease introduce NBA superstar Michael Jordan<|im_end|>\n<|im_start|>assistant\n" ]
input.set(text)

# 执行并获取结果
status = graph.run()
output = graph.get_output(0)
result = output.get_graph_output()  

# 释放资源
graph.deinit()

C++ 示例

std::shared_ptr<Graph> graph = std::make_shared<Graph>("");
// 仅需加载导出的 JSON 文件
base::Status status = graph->loadFile("path/to/llm_workflow.json");
graph->removeInOutNode();
status = graph->init();

// 准备输入数据
Edge* input = graph->getInput(0);
tokenizer::TokenizerText* text = new tokenizer::TokenizerText();
text->texts_ = {
    "<|im_start|>user\nPlease introduce NBA superstar Michael Jordan<|im_end|>\n<|im_start|>assistant\n"
};
input->set(text, false);

// 执行并获取结果
status = graph->run();
Edge* output = graph->getOutput(0);
tokenizer::TokenizerText* result = output->getGraphOutput<tokenizer::TokenizerText>();

// 释放资源
status = graph->deinit();

四、技术解读:如何实现简单且高性能?

nndeploy 通过将 AI 算法拆解为工作流节点进行部署,采用三层分离架构设计,整体结构如图所示:

三层架构详解如下:

计算执行层是 nndeploy 的高性能核心,由图执行引擎与多端推理两大模块组成:

  1. 图执行引擎:基于有向无环图(DAG)实现工作流调度,⽀持灵活的串⾏、任务并行、流水线并⾏和组合并行执⾏模式。
  2. 多端推理:统一封装 10 余种主流推理后端,提供跨平台推理能力。

整体架构如下图所示:

4.1 图执行引擎

Graph 本身继承自 Node,可作为子图嵌套,支持任意层级组合。图执行引擎包含三层抽象:

  • Graph(图):工作流容器,负责节点管理、拓扑排序与调度执行。
  • Node(节点):独立的计算单元。
  • Edge(边):节点间数据传递通道。

这种“图即节点”的设计,让用户像搭积木一样自由组合算法节点,构建复杂的 AI 工作流。支持以下执行模式:

  • 串行执行:按拓扑顺序逐节点执行。
  • 流水线并行:前处理、推理、后处理等环节并行,提升数据吞吐。
  • 任务并行:无依赖节点同时运行,缩短整体耗时。
  • 组合并行:支持嵌套,灵活组合各种并行方式,充分释放硬件性能。

4.2 多端推理

nndeploy 的多端推理模块为不同推理后端提供统一接口,开发者无需关心底层框架差异。例如,新增 MNN 推理后端的流程包括:

  1. 理解 MNN 的 API 和推理流程。
  2. 熟悉 nndeploy 的推理基类与超参数配置类。
  3. 编写适配器:继承推理基类实现适配逻辑、继承超参数类实现参数配置、实现数据转换⼯具函数。
  4. 基于新后端运行模型,验证功能完整性。

针对不同推理框架的数据交互方式(如 TensorRT 的 io_binding、OpenVINO 的 ov::Tensor、TNN 的 TNN::Blob),nndeploy 设计了统一的数据容器 TensorBuffer,彻底屏蔽底层差异。

同时,框架提供异构设备抽象层,统一不同硬件编程模型。目前已支持 CPU(X86、ARM)、GPU(CUDA)、NPU(如华为昇腾 AscendCL)等,让同一份代码可在多种硬件平台上高效运行,实现一次开发,多端部署

此外,框架内部还开发了推理子模块作为缺省推理框架,当用户环境未编译链接其他推理框架时可使用。模型支持方面,已适配图像分类(ResNet50)、目标检测(YOLOv11)、图像分割(RMBG1.4)等,目前正拓展大语言模型(LLM)推理支持并优化性能。

五、从一个人的想法到一群人的坚持

nndeploy 从最初的想法到正式开源,打磨了近一年。2023 年 8 月 28 日,nndeploy 第一个版本正式开源。当天就收到了 CGraph 作者 Chunel 的认可和热情推广,项目很快突破 100 Star。

随着 nndeploy 被越来越多开发者了解,一批认同其理念的小伙伴逐渐聚集起来。随后,csrdxka、youxiudeshouyeren、zhangzhaosen 等开发者加入,成为项目早期的核心贡献者,共同推动 nndeploy 的成长。

项目日益成熟后,nndeploy 也迎来了真实生产场景的考验:

  • 文档处理公司:用它搭建完整的 OCR 流水线。
  • 智能汽车企业:在座舱项目中部署 NLP 算法。
  • AI Box 公司:利用其多端能力部署边缘算法。

这些来自产业一线的真实应用和反馈,为 nndeploy 的持续迭代提供了宝贵的方向!

看到 nndeploy 如今在真实产业中落地开花,我尤其感慨,因为我见证了它一步步成长的全过程

六、写在最后

我认识 Always(nndeploy 发起人)时,他刚开始做开源不久。我们成为朋友,也是在某个凌晨,两个人大晚上打字聊了 3 小时。我们聊开源、聊理想、也聊 nndeploy。那时的 nndeploy,还只是一个纯后端框架——“黑框框”。我认真地对他说:“你得做可视化,门槛才能真正降下来。”

他只回了一个“好”。然后,便从我的世界“消失”了近一年。

再次见到 nndeploy 时,他带着一个功能完整的可视化界面出现在我面前。那一刻的震撼,真的难以言表,我本以为他不会认真考虑我的建议,没想到他一直在默默做这个功能!我当即决定将 nndeploy 收录到《HelloGitHub》月刊,因为它具备了我认为优秀开源项目最关键的两点:长期主义和源于自身需求

此后,我们又花了四个月打磨这篇文章,终于可以将 nndeploy 及其背后的开源故事分享给大家。

GitHub 地址:github.com/nndeploy/nndeploy

我看好 nndeploy 的未来,更相信 Always 对理想的坚持——打通 AI 落地的最后一公里


HelloGitHub 不仅分享有趣的开源项目,也希望挖掘开源背后的故事。我们期待通过代码与文字,凝聚一群热爱开源的小伙伴,共同打造一个有趣、有温度的开源社区!