S72867: AI Developer Tools for Accelerated Computing - Scarce Data Isn't Scary!

Matt Frazier, Director for AI Assisted Developer Tools | GTC25

概览:您为何在此?

NVIDIA Nsight 正在创建编码工具,通过以下方式赋能并提升开发者的加速计算能力(CUDA 技能、性能分析与优化):

本演示将介绍这些工具的细节以及它们何时能交到开发者手中。

议程

AI 编程助手与 CUDA

NVIDIA 的 AI 编程助手旨在通过以下方式支持开发者:

该系统的核心架构包括一个 CUDA 智能服务,它利用前沿的大型语言模型 (Frontier LLM NIM) 和一个 CUDA 与硬件数据库 (CUDA & Hardware DB)。该服务通过 OpenAPI、VS Code 扩展、其他 IDE 和 API 集成等多种方式向开发者提供支持。

Page 4, AI 编程助手与 CUDA 架构图
Page 4, AI 编程助手与 CUDA 架构图

数据稀缺性问题

在为 CUDA 开发 AI 编程助手时,面临着独特的数据挑战:

验证优先方法 (Validation-First Approach)

为了确保 AI 生成代码的质量和可靠性,我们采用了一种“验证优先”的方法,即衡量过程而不仅仅是输出。

该流程如下图所示:首先,针对一个 CUDA 问题,创建一个包含黄金代码解决方案(Golden Code Solution)、单元测试(Unit Tests)和词法测试(Lexical Tests)的验证集。当 AI 模型生成一个响应(Response)时,系统会通过单元测试和词法测试来验证其正确性,并通过与黄金解决方案进行性能对比来评估其性能

Page 6, 验证优先方法的流程图
Page 6, 验证优先方法的流程图

创建一个专业知识飞轮

为了解决数据稀缺问题,我们设计了一个“专业知识飞轮”来捕捉并利用专家的知识。

Page 7, 专业知识飞轮的流程图,展示了如何从用户交互中捕获数据。
Page 7, 专业知识飞轮的流程图,展示了如何从用户交互中捕获数据。

下图展示了 NVIDIA Nsight CoPilot 的一个实际应用界面,它正在为 FP8 矩阵乘法生成代码和测试用例,体现了 AI 辅助开发的具体流程。

Page 8, Nsight CoPilot 在 VS Code 中的使用示例
Page 8, Nsight CoPilot 在 VS Code 中的使用示例

上下文增强策略

为了给 CUDA 开发者开发实用的 AI 辅助工具,我们采用了多种上下文增强策略,而非仅仅依赖于传统的 RAG 或微调。

NVIDIA Nsight CoPilot for CUDA

Nsight CoPilot 是这一理念的实践产品。

下一步计划是什么?
* 自动分析生成的代码:自动对 AI 生成的代码进行性能分析,并提供优化建议。
* 解释优化,而不仅仅是代码:不仅生成优化后的代码,还解释为何这样优化。
* 完整的软件开发生命周期(SDLC)支持:将 AI 辅助能力扩展到整个开发流程。

Page 10, Nsight Copilot 在 VS Code Marketplace 的截图
Page 10, Nsight Copilot 在 VS Code Marketplace 的截图

真实世界实现

我们的方法在真实世界的实现中取得了显著成果:

未来愿景

我们对 AI 辅助开发的未来愿景包括:

可用性与路线图