機器學習服務Amazon SageMaker現在能夠更快地編譯模型,新的Training Compiler功能會自動編譯Python訓練程式碼,並生成模型專用的GPU核心,如此訓練程式碼便能夠使用更少的記憶體和計算資源,模型訓練速度更快,甚至使原本需要3小時訓練時間的GPT-2模型,降至90分鐘。

由於深度學習的模型複雜性日益增加,最佳化和訓練的時間也就跟著延長,像是訓練自然語言處理模型RoBERTa,就需要25,000個GPU小時,儘管用戶可以使用一些最佳化技術,來減少模型訓練時間,但是這個過程並不簡單,不只耗時且需要專業技能。

目前有三種方法能夠加快訓練速度,第一使用更快的機器處理運算,第二則是跨GPU執行個體叢集分散運算,來平行訓練模型,或是第三種最佳化模型程式碼,更高效地在GPU上運作。

而最佳化機器學習程式碼是最困難且耗時的工作,AWS提到,資料科學家常使用Python機器學習框架TensorFlow或PyTorch,來編寫程式訓練碼,仰賴機器學習框架把Python轉換成為可在GPU上執行的數學函式,但是這些從用戶Python程式碼轉換而來的核心,通常效率低落,因為機器學習框架使用預先建置的通用GPU核心,而非用戶模型和程式碼專用的核心。

AWS表示,即便是資深的GPU程式開發人員,也需要數個月才能對模型創建自定義核心。因此AWS透過在SageMaker加入Training Compiler新功能,來解決這個問題。

SageMaker Training Compiler能夠將深度學習模型,從高階語言表示轉換成為硬體最佳化指令,來加速訓練工作,這些指令比現成框架的訓練速度更快,在背後,SageMaker Training Compiler能夠提供超過原生PyTorch和TensorFlow框架所能提供的最佳化,最大程度提高SageMaker GPU執行個體上的運算和記憶體使用率。

AWS解釋,該新功能針對圖(Graph)、資料流和後端進行最佳化,來生成能夠有效使用硬體資源的最佳化模型,訓練速度最高可提升50%。許多深度學習模型都能因新功能受益,但訓練時間更長、規模更大的模型,將節省更多的時間和成本,像是長時間運作的RoBERTa模型,訓練時間和成本可降低30%,考量原本需要的25,000個GPU小時,實際減少的訓練時間相當驚人。


熱門新聞

Advertisement