More

    ONNX Runtime 1.17讓開發者可在瀏覽器訓練模型,支援聯合學習用例

    微軟更新了其AI推論與訓練加速引擎ONNX Runtime(ORT),新增了網頁訓練功能。這使開發者能在瀏覽器中啟用模型訓練功能,讓裝置的資料能夠透過瀏覽器進行聯合學習和個人化應用,同時保護使用者隱私並促進創新應用的發展。

    從1.8版本開始,ORT在瀏覽器內提供推論功能,讓開發人員能部署跨平臺的機器學習模型,並支援在CPU和GPU上進行推論。處理過程透過WebGL和WebGPU進行,且隨著WebGPU的發展,瀏覽器具有更強大的圖形和運算能力,因此能在瀏覽器中進行更多的機器學習應用。

    在最新的ONNX Runtime 1.17中,現在還進一步支援在瀏覽器中訓練機器學習模型。這個訓練子模型是透過ORT Web NPM套件提供。微軟強調,即使匯入訓練子模組,原本用於推理的ORT Web二進位檔案大小並不會改變,開發者仍可以使用推論功能。

    目前的模型訓練只支援以CPU單執行緒運算,網頁模型訓練功能主要由兩部分組成:WebAssembly二進位檔案和JavaScript套件。由於要讓開發者能在瀏覽器中使用CPU來訓練機器學習模型,ONNX Runtime提供了訓練功能應用程式介面C API。但瀏覽器不能直接執行C語言程式碼,因此需要使用WebAssembly。

    WebAssembly是一種可以在網頁瀏覽器中執行的低階語言,能將不同語言編寫的程式碼轉換成在瀏覽器中高效運作的格式,如此一來,開發者就可以直接在瀏覽器中使用ONNX Runtime的訓練功能。微軟將ONNX Runtime模型訓練用的C++程式碼封裝成WebAssembly C API,並使用Emscripten工具將該API編譯成.wasm二進位檔案。

    JavaScript API則簡化並抽象了存取WebAssembly API的過程,管理諸如緩衝區轉換和WebAssembly堆疊管理等工作。ORT Web套件會評估執行環境,確認適當的配置,例如單指令流多資料流(SIMD)的可用性等,並利用動態載入選擇性使用訓練二進位檔案。

    微軟提到,在開始ONNX Runtime訓練之前,存在離線的準備步驟。開發者需要使用ONNX生態系工具產生需要的ONNX構件(artifacts)。這個離線步驟不會在訓練模型的邊緣裝置上進行,而是會先在沒有訓練資料的個人機器和伺服器上完成。當構件準備好後,就可以傳輸到邊緣裝置上,開始在邊緣裝置上進行網頁訓練。

    使用ONNX Runtime訓練的瀏覽器可以支援聯合學習應用,並且讓開發者可以在瀏覽器中更好地發展機器學習應用。聯合學習是一種機器學習技術,讓多個裝置能協同訓練模型,但不需要共享資料。

    ONNX Runtime讓開發者能在單一的瀏覽器會話(session)中訓練模型,支援開發者在瀏覽器中探索和實驗機器學習模型的過程。訓練的模型並不需要供未來使用,這種實驗通常是臨時的,即當瀏覽器關閉後,訓練的模型和結果都不會被保存。微軟計畫在未來也支援其他裝置上的訓練環境,如保證用戶資料隱私的個人化模型。

    Source : https://www.ithome.com.tw/news/161262

    Recent Articles

    spot_img

    Related Stories

    Stay on op - Ge the daily news in your inbox