
生成式 AI 正在改變汽車行業的各個方面,包括軟體開發、測試、用戶體驗、個性化和安全性。隨著汽車行業從機械驅動轉向軟體驅動,生成式 AI 正在釋放出無限的可能性。
Tata 咨詢服務(TCS) 專注於在汽車行業中利用生成式人工智慧的兩大領域:
構建功能以增強客戶體驗
加速軟體工程生命週期
構建功能以增強客戶體驗
生成式 AI 是實現全自動駕駛汽車(AV)的關鍵,它可以增強基於 AI 的算法,從而做出更好的決策。它可以生成和合成各種可能性的資料集,從有限的實時資料到訓練和測試資料。這種技術對於實現車輛個性化和用戶體驗至關重要。它包括一系列功能,例如高級搜索功能、語言翻譯、車載個人助理以及直觀的視訊和音頻娛樂推薦。
加速軟體工程生命週期
軟體定義車輛(Software-Defined Vehicle,SDV)的目標是提供更高的靈活性和豐富的用戶體驗,使客戶能夠根據自己的便利性升級和更新車輛功能。這增加了車輛的複雜性,導致產生數百萬行代碼。對於支援功能即服務模型的需求很高,需要在幾周內開發和部署汽車功能。
當前的流程和工具使這一時間表幾乎不可能實現。在這方面,生成式 AI 有可能成為工程師的伴侶,加速軟體工程生命週期,包括需求分析、設計、開發和驗證。
在這些重點領域,TCS 利用 TCS 專利算法和 NVIDIA 技術構建了 Automotive Gen-AI Suite。圖 1 顯示了非板載環境中基於文本的用例的架構。 大語言模型 (LLMs) 使用 NVIDIA NeMo 框架進行訓練,並使用 NVIDIA NIM 微服務( NVIDIA AI Enterprise 軟體平台的一部分)使用汽車領域特定資料集進行微調。
本文將探討一個用例,即單元級測試用例生成,包括用於衡量成功率的方法和關鍵性能指標(KPI)。

根據非結構化需求生成測試用例
根據非結構化系統需求創建測試用例是軟體工程生命週期中最耗時的步驟之一。

目前,為各種汽車領域創建測試用例庫主要是手動完成的,這既耗時又昂貴。這些測試用例的訓練和開發可能需要數周時間。
為瞭解決這一行業範圍內的問題,TCS 正在使用 NVIDIA 技術根據非結構化文本需求自動生成測試用例。
LLMs 可以在驗證過程中盡可能減少干預,從而加快流程並降低成本。它可以生成場景和相應的測試用例,然後由專家驗證其準確性和覆蓋率。為了生成根據特定要求定制的測試用例,TCS 使用迭代過程仔細整理資料集,其中 TCS 分析預訓練模型的輸出,並選擇資料(例如準確性較低或覆蓋率較低的案例)進行進一步細化。TCS 使用 NVIDIA NeMo 框架,使用 Parameter Efficient Fine-Tuning(PEFT)技術,如 Low-Rank Adaptation(LoRA),基於汽車特定資料微調模型。提示選擇也是一個關鍵步驟,其中包含用於優化 KPI 的提示調整。
TCS 在 NVIDIA DGX H100 系統上使用 NVIDIA NIM 微服務進行部署。將預處理的輸入提示輸入到基於 NeMo 的模型中,該模型已使用汽車知識進行訓練。用於微調的基本模型是 Llama 3 8B Instruct 模型。在後處理完成後,輸出將包含幫助客戶增強能力的測試用例,並將其用作配套工具。
圖展示了從輸入要求到輸出測試用例的整體方法。輸入使用 few-shot 學習和 prompt chaining 等技術進行預處理。在預處理步驟中,我們採用 retrieval-augmented generation (RAG) 技術,使用客戶提供的參考文檔來實現每個用例的上下文感知。

訓練管線包括特定於領域和任務的精選資料塊,這些資料塊在清理後被輸入到微調塊中。此塊利用具有 LoRA 的 PEFT,rank 32,以及具有融合 Adam 優化器的 NVIDIA NeMo 框架(NeMo:24.05 容器)。該模型經過 1 到 100 步長的訓練,以防止過擬合。TCS 使用 NVIDIA NIM(Meta/Llama3-8b-instruct:1.0.0)容器部署微調模型。然後,對生成的輸出進行後處理並與 LangChain 集成,以生成所需的輸出測試用例。
利用 NVIDIA AI Enterprise 軟體平台進行優化
TCS 利用 NVIDIA NeMo 構建了這些最先進的模型。我們使用 LoRA 技術,使用特定於汽車的精選資料集對基礎 LLM 進行了微調。在 NeMo 框架訓練容器中執行微調,以提高 GPU 利用率。
通過使用基於 NVIDIA NIM 的優化,TCS 在 NVIDIA DGX 系統 上實現了低延遲(接近實時)和高吞吐量。使用 NIM 微服務(包括 NVIDIA TensorRT-LLM )進行後訓練量化,有助於降低 GPU 利用率和延遲。NIM 還提供推理 API,可直接從應用服務調用。
用於識別最佳模型的基準測試
我們對不同 LLM 上 TCS 測試用例生成器流程的 GPU 利用率、訓練參數和輸出精度進行了比較研究,以選擇最合適的 LLM。
使用 NeMo 的 TCS 測試用例生成流程從輸入開始,輸入可以是客戶的規格文檔,也可以是基於這些規格的提示。
這些輸入被輸入到使用自動特定資料微調的 LLM NIM 微服務中。
我們會驗證生成的輸出是否存在錯誤和重復的測試用例。如有需要,系統會使用新提示來糾正或生成更多測試用例,並重復此過程。
使用準確性和覆蓋率進行比較。
在延遲方面,與其他精度相似的基於開源的直接推理場景相比,基於 NIM 的推理平均要快 2.5 到 3 倍 。
圖顯示了預訓練模型的比較,這些模型可幫助用戶針對給定用例確定最佳模型,並根據需求選擇最合適的基礎模型。該比較不僅包括準確性和測試用例數量,還包括決策覆蓋率、條件覆蓋率和 Modified Condition Decision Coverage (MCDC)。

決策範圍
決策覆蓋率通過計算測試期間經過的模擬路徑的百分比來評估模型中的決策點,例如 switch blocks 或 flow states。當通過這些決策點的所有可能路徑至少執行一次時,即可實現全覆蓋。
條件覆蓋
條件覆蓋檢查輸入和狀態流過渡的邏輯組合。在模擬期間,當模型中的每個輸入和過渡條件至少測試一次真和假時,即可獲得全覆蓋。
MCDC
MCDC 評估模型中邏輯輸入和過渡條件的獨立性。當一個輸入或條件的變化獨立於其他輸入或條件,直接導致模型輸出的變化或觸發過渡時,即可實現全覆蓋。
表 1 提供了選擇在本例中使用 NVIDIA NIM 微調的 Llama 3 8B Instruct 模型的原因,該模型在準確性、決策和 MCDC 標準方面表現出色。請注意,在線模型推理和微調不在這項工作的範圍內,因為客戶資料很敏感,並且 TCS 執行的所有訓練和推理僅在離線模式下使用 TCS 本地的 NVIDIA DGX H100 系統。

使用大型語言模型(LLMs)可以減少訓練和開發汽車軟體的成本和時間。在盡可能減少人工干預的情況下,LLMs 幫助理解關鍵要求並編寫自動化測試用例。它們還可以生成場景和測試用例,然後專家可以驗證這些場景和測試用例的準確性和覆蓋率。
結束語
憑借生成式 AI 和汽車領域的專業知識,TCS 使用 NVIDIA DGX H100 系統和軟體(包括 NVIDIA NIM 和 NVIDIA NeMo )開發了高效的汽車測試用例生成流程。該模型通過 NVIDIA NeMo 框架進行微調,再加上 NIM 可加快推理速度,因此其準確性和覆蓋率高於現有低延遲模型。TCS 在其整個測試用例生成流程中觀察到了約 2 倍的加速。
TCS 還使用 NeMo 和 NIM 來改進對話式語言模型(LLMs),用於上下文理解的可視化 LLM,以及基於圖像的生成式對抗網路模型。TCS 還將使用 NVIDIA Blueprints 來探索多模態功能,並進一步優化軟體工程生命週期。
文章轉載於nvidia.com,如有侵權,聯繫刪除。
WeChat
Profile