• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 生成式人工智能/大語言模型

    聚焦:TCS 利用 NVIDIA 生成式 AI 將汽車軟件測試速度提高 2 倍

    生成式 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 Automotive Gen-AI solution architecture, including application services, APIs, framework, and training toolkit.
    圖 1、TCS 汽車 Gen-AI 解決方案的架構利用各種 NVIDIA 技術

    根據非結構化需求生成測試用例

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

    Image showing the source text (system requirement) and target text (various test cases for the system requirements) for test case generation.
    圖 2. 用于生成測試用例的源文本和目標文本

    目前,為各種汽車領域創建測試用例庫主要是手動完成的,這既耗時又昂貴。這些測試用例的訓練和開發可能需要數周時間。

    為了解決這一行業范圍內的問題,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 模型。在后處理完成后,輸出將包含幫助客戶增強能力的測試用例,并將其用作配套工具。

    圖 3 展示了從輸入要求到輸出測試用例的整體方法。輸入使用 few-shot 學習和 prompt chaining 等技術進行預處理。在預處理步驟中,我們采用 retrieval-augmented generation (RAG) 技術,使用客戶提供的參考文檔來實現每個用例的上下文感知。

    Diagram showing the test case generation from requirements, including input requirements, output test cases, preprocessing, postprocessing, and training pipeline.
    圖 3. 根據需求生成測試用例的方法

    訓練管線包括特定于領域和任務的精選數據塊,這些數據塊在清理后被輸入到微調塊中。此塊利用具有 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 倍

    圖 4 顯示了預訓練模型的比較,這些模型可幫助用戶針對給定用例確定最佳模型,并根據需求選擇最合適的基礎模型。該比較不僅包括準確性和測試用例數量,還包括決策覆蓋率、條件覆蓋率和 Modified Condition Decision Coverage (MCDC)。

    Bar chart comparing pretrained models for interaction and average number of test cases. Models include Llama 2 70B, Code Llama 13B, Mistral 8x7B, Nemotrol 3 8B, and Llama 3 8B Instruct NIM.
    圖 4、基于準確性和測試用例平均數量的預訓練模型比較?

    僅考慮測試用例場景的要求。

    決策范圍?

    決策覆蓋率通過計算測試期間經過的模擬路徑的百分比來評估模型中的決策點,例如 switch blocks 或 flow states。當通過這些決策點的所有可能路徑至少執行一次時,即可實現全覆蓋。

    條件覆蓋?

    條件覆蓋檢查輸入和狀態流過渡的邏輯組合。在模擬期間,當模型中的每個輸入和過渡條件至少測試一次真和假時,即可獲得全覆蓋。

    MCDC?

    MCDC 評估模型中邏輯輸入和過渡條件的獨立性。當一個輸入或條件的變化獨立于其他輸入或條件,直接導致模型輸出的變化或觸發過渡時,即可實現全覆蓋。

    表 1 提供了選擇在本例中使用 NVIDIA NIM 微調的 Llama 3 8B Instruct 模型的原因,該模型在準確性、決策和 MCDC 標準方面表現出色。請注意,在線模型推理和微調不在這項工作的范圍內,因為客戶數據很敏感,并且 TCS 執行的所有訓練和推理僅在離線模式下使用 TCS 本地的 NVIDIA DGX H100 系統。

    比較以 Llama 3 8B Instruct (預訓練與微調) 為基準
    模型 準確率 決策 條件 MCDC
    Llama 3 8B Instruct 預訓練的 NVIDIA NIM 87% 84.5% 88.56% 71.22%
    Llama 3 8B Instruct NVIDIA NIM 微調 91% 85.1% 87.89% 73.11%
    表 1. 預訓練和微調 Llama 3 8B Instruct 模型對比

    僅考慮測試用例場景的要求。

    使用大型語言模型(LLMs)可以減少訓練和開發汽車軟件的成本和時間。在盡可能減少人工干預的情況下,LLMs 幫助理解關鍵要求并編寫自動化測試用例。它們還可以生成場景和測試用例,然后專家可以驗證這些場景和測試用例的準確性和覆蓋率。

    結束語?

    憑借生成式 AI 和汽車領域的專業知識,TCS 使用 NVIDIA DGX H100 系統和軟件(包括 NVIDIA NIM NVIDIA NeMo )開發了高效的汽車測試用例生成流程。該模型通過 NVIDIA NeMo 框架進行微調,再加上 NIM 可加快推理速度,因此其準確性和覆蓋率高于現有低延遲模型。TCS 在其整個測試用例生成流程中觀察到了約 2 倍的加速。

    TCS 還使用 NeMo 和 NIM 來改進對話式語言模型(LLMs),用于上下文理解的可視化 LLM,以及基于圖像的生成式對抗網絡模型。TCS 還將使用 NVIDIA Blueprints 來探索多模態功能,并進一步優化軟件工程生命周期。

    ?

    0

    標簽

    人人超碰97caoporen国产