隨著企業加速采用代理式 AI,團隊在擴展智能應用程序的同時管理推理成本方面面臨著越來越大的挑戰。大語言模型 (LLM) 提供強大的性能,但會產生巨大的計算需求,通常會導致高延遲和高成本。
與此同時,許多開發工作流程(例如評估、數據管理和微調)在很大程度上仍是手動操作。這些流程非常耗時,難以自動化,并且無法有效擴展。
更復雜的是,AI 智能體越來越依賴多個專業模型來執行推理、工具路由和摘要等任務。每個組件都有不同的性能特征和優化要求,因此很難大規模地單獨評估和調整它們。
為解決這一問題,NVIDIA 推出了用于構建數據飛輪的 NVIDIA AI Blueprint,這是一種基于 NVIDIA NeMo 微服務構建的參考架構。借助該藍圖,團隊能夠利用來自 AI 智能體交互的真實生產流量,在不影響準確性的情況下,將 LLM 持續轉換為更小、更便宜、更快速的模型。它自動執行結構化實驗,探索可用模型的空間,為生產推廣或更深入的手動評估提供有前景的高效候選。
本博客將介紹 Data Flywheel Blueprint 的工作原理、如何將其應用于代理式工具調用的真實用例,以及如何輕松配置數據飛輪,以便為您自己的代理式 AI 工作流構建數據飛輪。此演示 notebook 將飛輪置于預先篩選的客戶服務代理數據集上。
它是如何運作的?
此版本的藍圖旨在幫助團隊使用更小、更高效的替代方案來復制大型基礎模型 (例如 70B 參數) 的功能。通過針對生產任務持續對現有和新發布的模型進行基準測試,微調有前景的候選模型,并呈現性能出色的較小模型,該系統使團隊能夠在不影響模型準確性的情況下降低延遲和推理成本。

數據飛輪 Blueprint 的核心是 Flywheel Orchestrator 服務,這是一個統一的控制平面,簡化了直接與 NeMo 微服務交互的復雜性。作為飛輪系統的大腦,Orchestrator API 利用一套模塊化 NeMo 微服務來協調數據飛輪工作:
- NVIDIA NeMo Customizer 可處理基于 LoRA 的輕量級微調
- NVIDIA NeMo Evaluator 使用 LLM-as-a-judge 評分自動進行評估
- 用于管理結構化數據集和構件的 NeMo Datastore
- NeMo 部署管理器,用于動態啟動和提供候選模型 (NIMs) 以進行推理
飛輪的工作原理如下:
第 1 步:記錄提取
來自教師基 NIM (例如,一個 70B 的大型模型) 的生產提示/ 響應日志被輸入到 Elasticsearch 索引中。這些日志遵循 OpenAI 兼容格式。
第 2 步:用于分區的標記
每個日志都使用 workload_id
等元數據進行標記,使系統能夠按任務隔離和處理每個代理節點的數據。
第 3 步:創建數據集
編排器會對日志進行去重,并將其轉換為任務對齊的數據集,以便進行訓練和評估。值得注意的是,這些數據集不依賴于任何外部 ground-truth 標簽(僅依賴于原始模型的響應),因此無需手動標記。這些數據集存儲在 NeMo Datastore 中。
第 4 步:微調作業
使用 NeMo Customizer,使用 LoRA 適配器啟動監督式微調作業。每個作業都將存儲在 NeMo Datastore 中的大型教師模型中的知識提煉成特定于任務的較小候選模型,而無需手動制作數據集。
第 5 步:評估運行情況
NeMo Evaluator 使用三種評估方法對多個候選 NIM 模型進行基準測試:
base-eval
:原始日志的 Zero-shot baselineicl-eval
:基于上下文的 Few-shot 評估customized-eval
:微調管道后的評估
第 6 步:Scoring 和 aggregation
使用 NeMo Evaluator(包括 LLM-as-a-judge)對模型輸出進行評分,并通過 Orchestrator API 報告結果。
第 7 步:審核和推廣
開發者和管理員可以通過編程方式訪問指標、下載artifact、啟動后續實驗,或者將性能出色的候選項推廣到生產環境中,以取代更大的NIM。
整個循環可以按需調度或觸發,從而創建一個自動化、可擴展的系統,該系統可持續且逐步呈現更小、更快、更經濟高效的模型,同時保持更大基準模型的準確性。
采用 Data Flywheel Blueprint 進行代理式工具調用
為了展示 Data Flywheel Blueprint 的價值和用途,我們將其應用于一個頗具影響力的用例:Agentic Tool Calling。對于必須通過結構化 API 調用與外部系統可靠交互的生產級 AI 代理而言,這一點尤其重要。
我們基于 NVIDIA AI Blueprint 構建 AI 虛擬助手,這是一款多工具智能體,專為產品問答、訂單跟蹤、退貨和隨意對話等客戶支持任務而設計。最初,此智能體由一個大型 Llama-3.3-70B-instruct 模型提供支持,該模型可高精度執行工具調用。我們希望調整較小的模型,使其與較大模型的準確性相匹配,同時降低成本。在生產環境中,這將由真實的客戶互動驅動,以不斷提高工具調用性能。
為了模擬生產流量,我們以合成方式生成自然語言查詢,并在兼容 OpenAI 的請求響應日志中捕獲智能體的工具調用行為。這些日志成為訓練和評估數據集的基礎。
使用此設置,我們使用 Data Flywheel Blueprint 進行了三次優化實驗,以評估較小候選模型的工具調用性能:
- 零樣本提示 (
`base-eval`
) :模型 (包括更大的基礎 NIM) 在沒有任何示例或自定義的情況下,根據類似于生產的提示進行評估。這可作為黃金標準,捕捉大型模型的原始行為,并為較小模型的基準測試提供參考點。 - 上下文學習 (
`icl-eval`
) :每個提示詞都預先添加了幾個樣本。這些示例來自實際生產流量,并由 flywheel 根據藍圖附帶的 ICL 配置 (config.yaml) 自動采樣和格式化。這種方法僅通過上下文提示來測試模型可以改進的程度。 - 使用 LoRA (
`customized-eval`
) 進行監督式微調:我們使用`training_config`
和`lora_config
` 部分,使用 LoRA 適配器對模型進行微調,并使用源自生產日志的精選任務特定數據集進行訓練。然后對這些模型進行評估,以測量base-eval
和icl-eval
的增益。
NeMo Evaluator 使用 LLM-as-judge 判斷功能,無需人工標記即可自動為所有模型輸出評分。每次運行都提供了 `function_name_and_args_accuracy`
和 `tool_calling_correctness`
等結構化指標,這些指標均通過 Orchestrator API 記錄和呈現,以供查看和比較。整個流程已完全自動化,因此開發者可以通過編程方式訪問評估報告,以推薦性能出色的候選項來取代原始 NIM。
結果:與最初的 70B 模型相比,使用 SFT-LoRA 微調的 Llama-3.2-1B 模型實現了 98% 的工具調用準確率。隨著越來越多的交通數據流過藍圖,自動重復的微調和評估周期實現了這一點。
其結果是,模型的重量顯著減輕,在保持準確性的同時,還能顯著降低延遲和成本。值得注意的是,經過優化的 Llama-3.2-1B 模型只需要一個 GPU 即可提供服務,而初代 Llama-3.3-70B 則需要兩個 GPU。
觀看此demo video,了解如何啟動此blueprint并將這些實驗付諸實踐。
配置和運行Blueprint
要啟動和運行Data Flywheel Blueprint,您首先需要設置環境并部署所需的服務。您可以在此 GitHub repo readme 下找到詳細說明,但步驟大致涉及:
- 生成用于部署 NeMo 微服務的個人 API 密鑰,訪問托管為 NIM 的模型,并在本地下載模型
- 部署 NeMo 微服務平臺
- 安裝和配置 Data Flywheel Orchestrator
環境準備就緒后,您將使用 config.yaml
文件配置模型和工作流程。此文件定義了從要部署的 NIM 模型到用于微調 (例如 LoRA) 和評估 (例如 ICL、LLM-as-a-Judge) 的配置的所有內容。
注意:此文件會在系統啟動時加載。這些設置在飛輪運行期間保持不變。要更新任何內容,您必須停止服務、修改 YAML 并重新部署。
以下是啟動flywheel作業需要查看或修改的基本步驟和配置塊。
模型設置
指定要部署和評估的 NIM。您可以設置模型名稱、上下文長度、GPU 數量以及自定義等其他選項。查看可通過 NeMo Customizer 進行微調的支持模型。
nims: - model_name: "meta/llama-3.2-1b-instruct" context_length: 32768 gpus: 1 pvc_size: 25Gi tag: "1.8.3" customization_enabled: true |
微調
指定微調參數。其中包括訓練類型、微調類型、batch size和訓練epochs次數。
training_config: training_type: "sft" finetuning_type: "lora" epochs: 2 batch_size: 16 learning_rate: 0.0001 lora_config: adapter_dim: 32 adapter_dropout: 0.1 |
上下文學習 (In-context learning, ICL) 設置
通過 ICL 模式評估模型時,配置使用的 few-shot 示例及其上下文窗口。
icl_config: max_context_length: 32768 reserved_tokens: 4096 max_examples: 3 min_examples: 1 |
評估設置
控制如何為每個評估作業將數據劃分為validation集和evaluation集。
data_split_config: eval_size: 20 val_ratio: 0.1 min_total_records: 50 random_seed: null limit: null |
eval_size
:用于評估的示例數量
val_ratio
:用于驗證的數據比率
啟動飛輪作業
配置完成后,只需對微服務進行簡單的 API 調用即可啟動作業。
# client_id: Identifier of the application or deployment that generated traffic # workload_id: Stable identifier for the logical task / route / agent node curl -X POST http: //localhost :8000 /api/jobs \ -H "Content-Type: application/json" \ -d '{"workload_id": "tool_router", "client_id": "support-app"}' |
成功提交后,系統將返回tool-calling準確性指標,這些指標可用于比較各種模型的性能。
"scores" : { "function_name_and_args_accuracy" : 0.95 , "tool_calling_correctness" : 1 } |
將藍圖擴展到自定義工作流程
該藍圖是一個參考工作流,可以輕松進行定制,為任何下游任務構建數據飛輪。NVIDIA 已經在其合作伙伴生態系統中看到了早期采用案例。
- Weights & Biases 在 NVIDIA API Catalog 上提供此數據飛輪藍圖的自定義版本,并通過用于 agent 可追溯性和可觀察性、模型實驗跟蹤、評估和報告的工具進行增強。
- Iguazio 是一家被 QuantumBlack 收購的機器學習公司,也是麥肯錫的 AI 公司,他們調整了該藍圖,通過 AI 編排和監控組件構建自己的自定義數據飛輪,為其 AI 平臺提供動力支持。這也可作為 NVIDIA API 目錄中的合作伙伴示例。
- Amdocs 已將該藍圖集成到其 amAIz 平臺中,并將 LLM 微調和評估直接集成到 CI/CD 流水線中。通過增加自動化和增強功能,這使得 Amdocs 能夠隨著新基礎模型的出現不斷提高其 agent 的準確性和性能,同時在開發周期初期發現潛在問題。
- 安永正在整合該藍圖,通過實時模型優化來增強 EY.ai Agentic Platform,使代理能夠在稅務、風險和財務領域實現自我改進、經濟高效。
- VAST 正在通過將 VAST AI 操作系統與 NVIDIA 的 Data Flywheel Blueprint 集成,為自定義用例設計自己的數據飛輪。它將支持跨多模態來源的實時數據收集、豐富和反饋,加速金融、醫療健康和科學研究等行業的智能 AI 工作流交付。
為您的用例構建數據飛輪
在 NVIDIA API Catalog 上探索適用于數據飛輪的 NVIDIA AI Blueprint,并深入了解設置指南、實施詳情和教程。按照視頻教程進行實操演示,了解如何為博客中介紹的代理式工具調用用例構建飛輪。
使用新的 NVIDIA NeMo Agent 工具套件構建代理式工作流的開發者可以使用此藍圖圍繞其智能體無縫構建數據飛輪,并集成該工具包的評估和分析功能。
歡迎于 6 月 18 日加入我們的團隊,參加實時網絡研討會,屆時我們的專家將詳細介紹 NVIDIA NIM 和 NeMo 微服務如何助力數據飛輪。在我們即將于 6 月 26 日舉行的直播問答環節中,與 NVIDIA 藍圖產品團隊互動,深入了解如何使用此最新藍圖輕松構建數據飛輪。
?
?
?
?