本文是由AI生成的技术解析与实现示例。其中包含的代码和步骤是基于一手信息构建的,但作者未在实机上进行运行验证。根据环境和版本的不同,实际运行情况可能会有所差异。
NVIDIA Personal AI Router(PAIR)是一种虚拟推理路由器,用于在本地网络上的兼容系统之间分发独立的推理请求,从而缓解多智能体环境中的瓶颈。它能够与 Ollama 和 LM Studio 等现有接口进行协作,其特点在于不需要对智能体端或框架端进行修改。本文将基于官方技术博客的一手信息,整理并解构 NVIDIA PAIR 的组件构成与运行机制。
flowchart TD
Agent["AI Agent / Harness"] -->|Ollama/LM Studio API Request| PAIR["NVIDIA PAIR Proxy"]
PAIR -->|mDNS Discovery & mTLS Routing| NodeA["Local Node 1: Ollama"]
PAIR -->|mDNS Discovery & mTLS Routing| NodeB["Local Node 2: LM Studio"]
NodeA -->|Inference Execution| PAIR
NodeB -->|Inference Execution| PAIR
PAIR -->|Stream Response| Agent
什么是 NVIDIA PAIR
NVIDIA PAIR 是一个虚拟推理路由器,旨在最大化利用家庭或本地环境中的 AI 计算资源。它本身并不是一个新的推理引擎,而是建立在 Ollama 和 LM Studio 等现有引擎在所选机器上运行的机制之上的。
它负责发现参与的系统、追踪各系统接收请求的准备状态、调度独立的任务,并将生成的响应返回给原始应用程序。智能体通过以往习惯的本地接口发送请求,PAIR 则通过代理识别引擎和模型的各项需求,并挑选出一个合适的节点。该节点将自始至终执行请求,并通过 PAIR 返回响应。
其主要特点包括以下三点:
无需新的 API:无需所有智能体框架都集成新的集群 API,而是对兼容的 Ollama 和 LM Studio 接口进行代理。
具有弹性的客户端:兼容系统可在可用时贡献算力,并可根据需要随时离线,例如关机或进入休眠状态。
本地控制:旨在将提示词、数据和推理流量保留在用户现有的本地网络内部。
多智能体本地推理所面临的挑战与解决途径
假设 AI 专业用户正在主流的 NVIDIA RTX AI PC 上运行本地智能体。当智能体接收到研究、编码或其他任务时,它会将其拆分为多个子智能体。
每个工作进程(Worker)探索问题的一部分,其他工作进程则负责验证证据或组装结果。从用户的角度来看这是一个任务,但在推理层可能会演变为数十次独立的模型调用。如果所有这些调用都指向同一个本地引擎,它们将争夺相同的执行槽位,导致队列急剧膨胀。
PAIR 允许随着智能体的扩展而扩展推理层。来自子智能体的一部分请求可以在主 PC 上执行,而另一部分则可以在网络上的其他配对节点上执行。如果工作负载具有足够的并行性,增加准备就绪的系统将有助于抑制排队现象,从而缩短端到端的完成时间。
需要说明的是,PAIR 并没有将单个推理请求拆分并在多个 GPU 之间跨设备执行。所有的请求都被分配给一个合格的节点,并在其整个生命周期内保留在该节点上。
家庭 AI 集群的弹性管理
家庭 AI 集群不同于专用的数据中心。游戏 PC 可能会忙于运行游戏,笔记本电脑也可能会进入睡眠状态或断开网络。某些模型可能存在于某个工作站上,而另一台机器上则没有。
PAIR 的设计正是基于对这些多变条件的考量。它通过 mDNS 发现本地系统,在私有网络上配对兼容设备,并维护一个关于哪些节点能够接收新工作的实时视图。客户端节点在准备就绪时加入可用资源池,并可按需退出。
在按请求进行调度时,会考虑以下因素:
配对节点是否处于在线且准备就绪的状态
是否启用了受支持的推理引擎
所请求的具体模型是否存在
当前节点和引擎的工作负载(包括处于活动状态的任务)
是否存在正在运行的图形密集型应用程序或工具等现有 GPU 利用率情况
演示案例中的处理流程
一手信息中介绍了一个使用 Hermes Desktop 和 Ollama、包含 5 个子智能体的演示案例。在该任务中,Hermes 分析合成的家庭收件箱,并制定周日重置计划。
Hermes 负责分解、委派和综合,PAIR 控制推理路由,而 Ollama 则在 PAIR 选择的节点上执行各个请求。
在使用 Qwen 3.6 35B A3B 模型的验证中,在单台 NVIDIA RTX Spark 笔记本电脑上单独执行时平均需要 18 分钟的工作负载,在包含 RTX Spark 笔记本电脑、DGX Spark 和 RTX 5090 的三设备 PAIR 集群配置下,平均 8 分钟 48 秒即可完成。不过,这只是非官方且特定配置下的演示,并不保证通用的基准测试性能或线性扩展。
NVIDIA PAIR 的内部运行步骤
NVIDIA PAIR 的运行通过多个步骤完成。
1. 通过本地网络发现检测邻近系统
在支持的 Windows、macOS 或 Linux 系统上安装 PAIR 后,它会使用 mDNS 自动检测邻近系统。如有必要,也可以通过 IP 地址手动添加节点。用户批准安全的配对请求后,即可配置一组受信的本地节点。
在建立安全连接和配对之前,所有节点之间的通信都处于阻止状态。一旦连接建立,通信将通过 mTLS 和生成的证书进行加密。
2. 推理引擎与模型的准备
加入的每个节点都运行受支持的本地推理引擎,例如 Ollama 或 LM Studio。PAIR 协助进行引擎安装和模型下载,从而减轻多机器的准备工作。只有在所需引擎处于启用状态且请求的具体模型可用的情况下,该节点才有资格处理请求。
3. 兼容本地接口的代理
兼容的应用程序通过由 PAIR 代理的本地端点发送请求。智能体框架可以直接使用熟悉的接口,而无需单独发现和集成每台独立的机器。
4. 合格节点的调度与响应返回
调度器根据准备状态、受支持引擎的状态、请求模型的存在性以及作业负载等最新信息,对配对的系统进行过滤。它选择一个合格的节点,该系统的 PAIR 路由器将请求传递给本地推理引擎。
所选引擎执行请求,响应通过相同的本地接口流式传输回原始应用程序。在作业和指标视图中,可以确认是哪个节点处理了哪个被路由的请求。
使用时的注意事项与适用/不适用的工作负载
PAIR 在需要同时处理多个独立请求的多智能体应用程序或并行运行的本地 AI 工具中能发挥显著效果。
另一方面,它不执行 GPU 的组合、通过 VRAM 池化实现单一加速器化,也不执行单个模型的切分(Sharding)或单个推理请求的拆分执行。对于高度序列化的任务或依赖于单个长模型调用的工作负载,其带来的收益可能会比较有限。

コメント