新聞

AWS釋出AI開發框架PyTorch的擴充套件TorchNeuron,讓開發者更容易改用AWS自家AI加速晶片Trainium執行既有模型。開發者在使用受支援的模型與功能時,通常只須調整程式指定的運算裝置,就能維持原有的訓練與推論流程,減少更換晶片時的修改工作。TorchNeuron目前已推出公開測試版,支援Trainium2與Trainium3。

PyTorch是開發AI模型常用的框架,讓模型從大量資料中學習,或利用訓練完成的模型產生文字、語音等結果。AWS過去已提供讓PyTorch模型使用Trainium的方法,但開發者須配合特定的編譯及執行方式調整程式,原本用於其他晶片的工作流程不一定能直接轉換。

TorchNeuron改用PyTorch既有的硬體支援機制,讓PyTorch直接辨識Trainium,用戶能在程式中指定由該晶片負責運算,不必另外改用一套不同的模型執行方式。AWS也正與PyTorch社群合作,調整框架內與特定晶片綁定的程式碼,讓不同硬體能透過較一致的方式執行PyTorch模型。

開發者可繼續使用PyTorch原有的測試與除錯工具。對於規模較大的模型,也能使用PyTorch既有的分散式訓練工具,把訓練工作分配到多顆Trainium晶片處理。

TorchNeuron支援逐項執行與編譯執行兩種方式,逐項執行模式會在程式運作時個別編譯運算,方便開發者檢查中間結果,但每項運算分別編譯、啟動可能增加額外耗時。開發者也可使用PyTorch的torch.compile功能,在首次執行時把多項運算編譯成Trainium可執行的程式,後續執行相同條件的運算時,就不必重新編譯。兩種模式也能搭配使用,只針對模型中需要加快處理的部分進行編譯。

不過,TorchNeuron仍處於公開測試階段,尚未支援所有PyTorch功能,AWS指出,在逐項執行模式下,未支援的運算可能改由中央處理器執行,在編譯模式下則可能導致編譯失敗,輸入資料的大小或每次處理的筆數改變時,也可能需要重新編譯。若程式原本使用Trainium舊版專用介面,改用TorchNeuron時仍須調整,並非所有程式都能直接轉移。