ITPub博客

首页 > 人工智能 > 人工智能 > 在NVIDIA BlueField上更快地构建应用程序,借助NVIDIA DOCA Agent(智能体) Skills | NVIDIA Technical Blog

在NVIDIA BlueField上更快地构建应用程序,借助NVIDIA DOCA Agent(智能体) Skills | NVIDIA Technical Blog

人工智能 作者:ITPUB社群 时间:1970-01-01 08:33:46 0 删除 编辑

AI 智能体正在成为开发工作流的标准组成部分,但通用智能体在设计时并未考虑 NVIDIA DOCA 等专用基础设施软件。缺乏领域特定知识时,智能体可能会依赖猜测。这在基础设施开发中是个问题,因为每次纠错周期都会占用部署时间。

DOCA 是统一软件平台,可充分释放 NVIDIA BlueField 数据处理单元(DPU)在智能体 AI 基础设施中的潜力。它涵盖加速网络、AI 原生存储、芯片内安全、遥测和生命周期管理。它是基于 NVIDIA BlueField 构建的团队的开发平台。

DOCA AI 智能体技能现已在 GitHub 上提供。这些技能提供了结构化、经过验证的基础,以解决通用 AI 智能体在 DOCA 开发中的不足。它们为智能体提供经过验证的 API(应用程序编程接口) 签名、硬件能力要求和构建约束。

本文介绍什么是 DOCA AI 智能体技能,以及它们在四个有影响力的 DOCA 开发场景中的表现。文中包含并排演示,以及如何开始使用 DOCA 智能体技能,以在 BlueField 基础设施上更快构建并交付更稳定的代码。

什么是 DOCA AI 智能体技能?

DOCA AI 智能体技能是一种标准化方式,用于为 AI 智能体赋予新能力和专业知识。这种轻量级开放格式围绕一个 SKILL.md 文件构建,其中包含真实的 API 签名、硬件能力要求和构建约束。这些技能共同为智能体提供了 DOCA 的推理和操作框架。

这些技能覆盖整个 DOCA 库,包括 Flow、GPUNetIO、PCC 等。它们并不替代智能体,而是为其提供领域知识,使其能够像经验丰富的 DOCA 开发者一样推理。

每项技能都限定于特定的 DOCA 组件或工作流。例如,当智能体加载 DOCA Flow 技能时,它会获得真实的函数签名、正确的 pkg-config 模块名、构建容器约束,以及常见故障模式及其缓解措施。这些技能不只是文档摘要,而是智能体可直接据此推理的机器可读规范。

为什么 AI 智能体需要 DOCA 开发基础?

当你要求通用 AI 智能体设置 DOCA Comch(Comm Channel)、配置 RDMA 上下文,或调试 DOCA Flow 程序中的链路故障时,智能体是基于通用训练数据进行模式匹配,而不是基于经过验证的 DOCA API 契约、硬件能力清单或构建系统规范。DOCA 库接口面庞大、快速演进,并且具有通用训练数据无法捕捉的硬件特定性。智能体没有可据以推理的机器可读契约,也没有在智能体所知与硬件和软件实际支持之间保证稳定的接口。

为量化这一差距,NVIDIA 团队运行了 65 个真实 DOCA 开发者提示,比较智能体在有和没有这些技能时的表现。这些提示从一行问题到详细的多要求提示不等,并根据必需答案清单(每个任务的一组特定通过/失败标准)评分。没有这些技能时,智能体会持续犯同样的错误,包括:

  • API 和标志误用:59/65 个提示

  • 未验证硬件能力:46/65 个提示

  • 工具路由错误:39/65 个提示

  • 跳过冒烟测试:34/65 个提示

  • 猜测版本:30/65 个提示

这些是一致性失败。在没有技能的情况下,智能体在真实 DOCA 任务中仅满足了 19% 的评分清单项。有了技能后,它们在全部 65 个提示中满足了 100%。没有技能,智能体的每一个错误都会变成开发者的调试会话,以及通往可运行代码的更漫长路径。

DOCA 智能体技能对开发者有什么好处?

DOCA 智能体技能让你能够为智能体配备领域专业知识。这意味着你可以更快构建、交付更稳定的代码,并以更少的未知因素进行部署。

  • 更快构建:技能从一开始就为智能体提供经过验证的 API 调用,因此你可以专注于编写代码,而不是修正错误。

  • 交付更稳定的代码:有了技能,智能体会在编写任何一行代码之前检查设备实际支持什么,而不是在真实硬件上运行之后才检查。

  • 以更少的未知因素部署:智能体在接触硬件之前就应用预检、回滚计划和冷断电感知,而不是在出问题之后才做。

综合效果是从任务到可运行代码之间的修正循环更少。对于在大规模 DOCA 应用程序中使用 AI 智能体的团队来说,这种减少会在每位开发者、每个任务和每次部署中累积。

使用智能体技能加速 DOCA 开发

以下各节详细介绍了四项能力。每项能力都用我们 65 个提示评估中的一个真实提示以及使用该技能的好处来说明。

使用真实 API 更快构建

DOCA AI 智能体技能解决的问题:API 误用:智能体编造不存在的函数、标志和镜像标签。

这是我们的评估中最常见的失败模式,影响了 65 个提示中的 59 个。没有技能时,智能体生成的代码会引用库中不存在的 DOCA 函数、名称不正确的标志,以及运行时失败的镜像标签。作为开发者,你最终要调试一个并非你引入的错误(智能体的编造)。

提示:“我有一台安装了 BlueField-3 DPU 和 DOCA 的主机。我想在主机侧进程和 DPU 侧智能体之间建立一个 DOCA Comch(Comm channel),以便它们可以交换小型控制消息(每条小于 4 KiB,每秒几次)。”

具备技能的 AI 智能体只使用真实的 DOCA Comch API 调用:正确的参数顺序、经过验证的标志和生命周期序列,没有任何编造。

当智能体的首次响应使用了正确的 API 接口时,你可以直接进入集成阶段,而不必从调试会话开始。在 63 个测试 API 准确性的提示中,使用技能的结果每次都更好。

在编写任何代码之前验证硬件

DOCA AI 智能体技能解决的问题:智能体为设备不支持的功能编写代码。

在没有技能的情况下,65 个提示中有 46 个遗漏了硬件能力验证。失败模式是一致的:智能体假设某项能力存在,据此生成代码,而开发者只有在真实硬件上运行时才发现不匹配。此时,修复需要理解跳过了哪项能力检查、重做代码路径并重新测试。

提示:“我有两台主机通过高速 InfiniBand 网络连接。每台主机有一个 NVIDIA GPU(图形处理器) 和一个 ConnectX 网卡,两台主机都安装了 DOCA。我想测量从 GPU 上的 CUDA 内核(而非主机 CPU 线程)提交 RDMA WRITE 工作请求(WR)时的延迟,以便决定是否将我的应用程序提交到 GPUNetIO Verbs 接口。”

具备技能的 AI 智能体在编写任何代码之前会检查设备实际支持的功能。它验证 GPU-NIC PCIe 拓扑,在提交之前确认 GPUNetIO 支持,并列出替代 API 接口及其各自的适用场景。

具备技能的 AI 智能体在编写任何代码之前,会针对实际使用的硬件验证答案的前提条件。

交付可编译和链接的代码

DOCA AI 智能体技能解决的问题:智能体生成的代码在 DOCA 容器中无法编译或链接。

构建正确性在 65 个提示中的 10 个上进行了测试。这是一个较小的子集,但一旦出现问题,开发就无法继续。

提示:“我正在尝试从附带的示例中构建一个 DOCA Flow 程序。编译步骤正常,但链接失败:undefined reference to doca_flow_init。我该如何调试这个问题?”

具备技能的 AI 智能体将未定义引用识别为链接时失败,使用构建工具(pkg-config)查找 doca-flow 的正确链接器标志。

一个生成错误链接器标志的智能体会把开发者引向一条无法解决问题的路径。而具备技能的智能体会立即指出正确的诊断方法和正确的工具来获取正确的标志。

安全执行影响硬件的变更

DOCA AI 智能体技能解决的问题:智能体在没有预检、回滚计划或冷断电重启要求知识的情况下,对运行中的硬件应用固件级变更。

任务越复杂,技能就越重要。在我们的 65 条提示词评估中,最大的性能差距出现在最高复杂度的场景中:对运行中的硬件进行固件级变更。

提示词:“我有一台运行 DOCA 工作负载的生产环境 BlueField-3 DPU。我为我的服务加载了 DOCA AI 智能体技能,下一步是写入一个 mlxconfig 类固件级参数。”

具备技能的 AI 智能体应用了固件级变更所需的完整规范,以满足每一项要求。这包括预检清单、将带外(OOB)路径作为前提条件、明确的维护窗口、回滚计划,以及注明 mlxconfig 类写入仅在冷断电重启后生效,而非热重启。

具备技能的智能体满足了每一项要求。不具备技能的智能体一项都没满足。在生产环境的运行中 DPU 上,这些遗漏都不是可恢复的调试步骤。技能承载了关于什么可能出错以及为什么出错的知识,将高风险的固件变更转变为有纪律的、安全的流程。

在所有 65 条提示词中,具备 DOCA 技能的 AI 智能体每次都达到了正确答案。这意味着更少的纠正循环和更快获得可运行代码的时间。

视频 1 中的演示具体展示了效率提升。两个智能体被赋予相同的任务:使用 NVIDIA DOCA 构建一个程序,在 BlueField-3 上发送真实的 RDMA 流量。两者都成功了,但具备技能的智能体使用的手写代码少了 73%(189 行对 695 行),硬件命令大约减少了一半(20 对 37,减少 46%)。这就是一个通过反复试错重新发现 DOCA API 和构建要求的智能体,与一个在写第一行代码之前就已经掌握这些的智能体之间的区别。

开始使用 NVIDIA DOCA AI 智能体技能

DOCA AI 智能体技能为你的智能体提供成功所需的领域知识,让你能够更高效、更准确地构建。要开始使用,请访问 NVIDIA/skills GitHub 仓库。查看通用技能以快速入门,以及针对 DOCA Flow、GPUNetIO、RDMA 等的库专用技能。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:NVIDIA Technical Blog

原创地址:https://developer.nvidia.com/blog/build-applications-on-nvidia-bluefield-faster-with-nvidia-doca-agent-skills/

原文作者:Tanya Lenz;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1148
  • 访问量
    548606