近年來,AI技術發展迅速,隨著以Pytorch、TensorFlow為代表的深度學習框架的成熟,AI模型的訓練流程已經變得相對清晰、成熟。然而,預訓練模型和後續一系列超大模型的出現,使得對於大部分AI開發者和企業來說,手動訓練、定制模型的必要性正在不斷減少。隨著大眾對AI模型的預期回歸理性,企業在AI領域的競爭已經逐漸從「學術競爭」轉向「應用競爭」了。
今年這個現象尤為明顯,diffusion models為代表的「文字產生圖畫」模型的成熟掀起了一股AI繪畫的熱潮,AIGC的概念大紅。在今年接近尾聲的時候,ChatGPT則掀起了人機對話、乃至搜尋引擎形態顛覆的熱烈討論,AI已經不再是一個學術層面的概念競賽了,而是開始成為實實在在的應用和工具,加入生產力的提升。
甚至,AI作畫的能力已經足以斬獲一些大賽獎項了——
如圖所示,《太空歌劇院》是Jason Allen使用AI繪圖軟體MidJourney在近千次的嘗試後產生的,並且斬獲了美國科羅拉多州博覽會的一等獎。
然而,AI技術在應用開發層面的效率卻面臨了不少的挑戰。
在企業的AI應用中,不可避免的要考慮如何將模型落實到生產環境,如何確保模型部署後的可用性和可靠性,以及如何監控和維護模型的性能等。這些挑戰需要企業擁有一套完整的AI應用開發流程,並配備相應的工具和資源。
具備這麼一套完備的工具鏈的企業往往是極少數的巨頭,且由於工具鏈不夠成熟,經常遭受員工吐槽。
這些問題,往往出現在模型訓練完成後,將模型部署到生產環境的過程。模型部署的工具鏈相對較長,而且上下游工具的相容性問題層出不窮,企業大量使用開源工具又容易引發安全問題等。 這些零散的問題極大的制約了目前企業開發AI應用的生產力。
舉個具體的例子。
我們將模型從訓練 checkpoint 轉換成可供部署的前向推理 ONNX 模型時,常常會用到 TensorRT 這個推理加速框架。然而,由於AI任務種類繁多,我們經常難以避免的對模型結構有所改動,用到一些不太常見的運算元(op)後,就容易出現 TensorRT 運算元不支援的問題,為此,我們又需要去寫 plugin,做一系列改動和適配,非常拖累部署上線的進度。
就算沒有遇到運算元適配的問題,由於推理階段往往對計算的即時性和併發度要求較高,企業為了節省部署資源,常常會降低模型精度——FP16量化甚至INT8量化等,然而在降低計算精度的過程中,又常常發現模型效果損失較多,可能又要回過頭去加上一些技巧重訓模型。
此外,由於AI模型常常需要處理敏感性資料,因此在AI應用開發過程中也需要考慮資料隱私和安全問題。企業需要建立合理的資料保護機制,確保模型在訓練和使用過程中不會洩露敏感資訊。
總的來說,企業在AI應用開發中面臨的挑戰並不少,當下越來越迫切的需要一套工具鏈,來幫助企業更加高效、安全地構建和部署AI應用。這套工具鏈包括模型部署工具、模型管理平台、模型監控工具、資料隱私保護工具等等。這些工具可以幫助企業更好地管理和控制AI應用開發過程,確保AI應用的可用性和可靠性。
幸運的是,它來了。
NVIDIA AI Enterprise 3.0
前幾天,NVIDIA重磅發表了AI Enterprise 3.0(簡稱NVAIE 3.0),一個堪稱作業系統等級的AI開發平台。
可以看到,這不是一個像TensorFlow、Pytorch那樣的傳統深度學習框架,而是一個致力於快速打造AI應用程式的一站式開發平台,包括了模型的訓練、推理最佳化、部署、模型管理、雲端原生管理等AI應用程式開發上線的全流程,以往需要耗時數個月才能開發完成的AI應用,在NVAIE 3.0平台下,甚至可以做到數小時完成。
從圖裡我們可以看到平台在 4 個層級的關鍵特性:
囊括了上層工作流、框架和預訓練模型: 在應用場景的level上,定義清晰的輸入輸出,並預置預訓練模型,快速完成典型應用場景的AI應用開發同時支援模型開發和部署: 應用開發的工具閉環,完成機器學習模型從開發到部署的完整生命週期,包括低程式碼遷移學習工具TAO、主流深度學習框架TF/Pytorch、推理加速TensorRT框架、推理服務引擎等雲原生的架構,支援混合雲部署:GPU、DPU在k8s內的整合,MLOps工具等大量的基礎設施最佳化: 包括GPU虛擬化、基於RDMA的儲存存取加速、底層CUDA最佳化等
下面就展開前兩層,看看NVAIE是如何解決AI應用開發中的痛點的。
比如,我們前面提到過,當我們訓練得到了一個不錯的模型checkpoint後,需要透過TensorRT轉換為可供部署的ONNX模型,這時常常遭遇運算元缺失的問題。而在NVAIE 3.0平台下,你訓練得到的模型則會在平台第二層中的TAO元件的能力加持下,輕鬆完成到ONNX模型的轉換,無需再擔心運算元缺失、定制化開發的問題。
再比如,我們前面提過的模型量化的痛點,同樣在NVAIE的第二層得到了解決——透過第二層的TAO元件可以直接得到的已經量化完成的INT8模型,無需再操心量化流程繁瑣和量化精度損失的問題了。
而像一些典型的AI應用場景——比如智慧客服,則在平台的最上層預置了應用開發的工作流(workflow):
以上圖中的智慧虛擬助手的workflow為例,我們來看一個典型的workflow是怎麼工作的。
最右下角是一個基於RIVA的工作流,在這裡面會完成語音轉文字(ASR)、文字轉語音(TTS)的操作,來作為智慧虛擬助手的「輸入預處理」和「輸出預處理」操作。而後,經過RIVA得到的使用者輸入,會被輸入到左邊的RASA工作流。
RASA是一個開源的對話機器人框架,在這裡,轉成文本的使用者語音輸入會經過基礎的NLU模組,進行分詞、意圖理解、槽位填充等操作,來得到一個結構化的語義理解結果,該結果會被輸入到內部的對話管理(DM)模組來進行對話狀態的追蹤和管理。得到了語義理解的結果,便會將該結果丟給圖中最上面的HEYSTACK工作流,來透過答案檢索的方式,得到一個適合回答使用者的候選回復,該回復最終會傳入回RIVA工作流,透過TTS模組產生語音回復。
如此,一個複雜的智慧虛擬助手的運轉全流程便完成了。如果從頭要搭建這麼一套複雜系統,常常要耗費數個月的時間,而基於NVAIE平台已經定義好的工作流,甚至可以實現小時等級的全流程打通,可以說極大的解放了AI應用開發的生產力。
除此之外,平台還內建了語音轉錄工作流、數位安全防護認證工作流等,並且平台正在持續不斷為更多的應用場景設計workflows, 未來可能會有基於地圖的workflow、基於OCR的workflow等,非常值得期待!
值得注意的是,平台為了加快AI應用開發效率,並提升最終的AI應用效果,還內建了大量的預訓練模型(比如效果先進的行人檢測模型PeopleNet),且這些預訓練模型都是未加密、完全開放權重的,使用者完全可以拿來進行AI模型的「暖開機」,並且標注場景化的資料進行模型權重的微調。
而這些預訓練模型,覆蓋的應用場景也是非常廣泛。僅僅是車的辨識方面,就內建了諸如車輛辨識、車牌辨識、車型辨識等多種模型。有了預訓練模型的加持,AI應用的開發進度便可以得到極大的提速,感興趣的人可以在NVIDIA的 NGC目錄中查詢可用的預訓練模型:
除了以上模型層面的最佳化外,NVAIE 3.0還對AI服務的併發、可靠性、GPU使用率等進行了大量的最佳化,而這些問題對企業開發人員來說是非常耗時、頭疼的事情。可以說,NVAIE平台實現了作業系統等級的開發套件封裝,使得企業使用者能夠得到AI應用開發完整生命週期的效率、效果和安全性保障。
更不必說,作為全球領先的GPU製造商,NVIDIA在GPU層面是具備硬派的「Know How」能力的,這一點使得NVAIE平台可以實現真正的閉環最佳化,這對於應用的高效率開發是十分重要的保障。
在雲端原生方面,NVAIE 3.0對混合雲部署的支援,則能夠滿足企業不同的部署需求。這裡面還提供了優秀的服務支援,包括三年的Long term support,讓企業在使用NVAIE 3.0的過程中感受到更多的便捷和安全。
總的來說,NVIDIA的NVAIE 3.0是一款非常優秀的AI開發平台,它的出現為企業的AI應用開發帶來了一次「效率革命」。我們期待著NVAIE 3.0能夠在未來的發展中幫助更多的企業實現AI的夢想。
加入電腦王Facebook粉絲團