Hugging Face 和 Graphcore 合作最佳化 IPU 上的 Transformers
在 2021 年 AI 硬體峰會上,Hugging Face 宣佈推出新的硬體合作伙伴計劃,其中包括裝置最佳化模型和軟體整合。在此,Graphcore——智慧處理單元(IPU)的開發者,也是該計劃的創始成員之一——解釋了他們與 Hugging Face 的合作將如何讓開發者輕鬆加速使用最先進的 Transformer 模型。
Graphcore 和 Hugging Face 是兩家擁有共同目標的公司——讓創新者更容易駕馭機器智慧的力量。
Hugging Face 的硬體合作伙伴計劃將允許使用 Graphcore 系統的開發者,以最低的編碼複雜性,在生產規模上部署為我們的智慧處理單元 (IPU) 最佳化的最先進的 Transformer 模型。
什麼是智慧處理單元?
IPU 是為 Graphcore 的 IPU-POD 資料中心計算系統提供動力的處理器。這種新型處理器旨在支援 AI 和機器學習的非常特定的計算要求。細粒度並行性、低精度算術以及處理稀疏性的能力等特性已內建到我們的晶片中。
Graphcore 的 IPU 沒有采用像 GPU 那樣的 SIMD/SIMT 架構,而是使用大規模並行 MIMD 架構,超高頻寬記憶體緊鄰處理器核心,直接位於矽片上。
這種設計提供了高效能和新級別的效率,無論是運行當今最流行的模型,如 BERT 和 EfficientNet,還是探索下一代 AI 應用。
軟體在釋放 IPU 功能方面發揮著至關重要的作用。我們的 Poplar SDK 自 Graphcore 成立以來就與處理器共同設計。如今,它已與標準機器學習框架(包括 PyTorch 和 TensorFlow)以及 Docker 和 Kubernetes 等編排和部署工具完全整合。
使 Poplar 與這些廣泛使用的第三方系統相容,使開發者能夠輕鬆地將其模型從其他計算平臺移植過來,並開始利用 IPU 的先進 AI 功能。
為生產最佳化 Transformer
Transformers 徹底改變了(雙關語)人工智慧領域。Graphcore 的客戶在 NLP 及其他領域的廣泛應用中廣泛使用 BERT 等模型。這些多功能模型可以執行特徵提取、文字生成、情感分析、翻譯和許多其他功能。
Hugging Face 已經擁有數百個 Transformers,從法語 CamemBERT 到將 NLP 經驗應用於計算機視覺的 ViT。Transformers 庫平均每月下載量達 200 萬次,需求還在增長。
Hugging Face 擁有超過 50,000 名開發者使用者,創下了開源專案採用速度最快的紀錄。
現在,憑藉其硬體合作伙伴計劃,Hugging Face 正在將終極 Transformer 工具集與當今最先進的 AI 硬體連線起來。
透過使用 Optimum(一個新的開源庫和工具包),開發者將能夠訪問 Hugging Face 認證的硬體最佳化模型。
這些模型由 Graphcore 和 Hugging Face 合作開發,首批 IPU 最佳化模型將於今年晚些時候在 Optimum 上釋出。最終,它們將涵蓋從視覺、語音到翻譯和文字生成等廣泛應用。
Hugging Face 執行長 Clément Delangue 表示:“開發者都希望使用最新、最棒的硬體——比如 Graphcore IPU,但總是會遇到是否需要學習新程式碼或新流程的問題。有了 Optimum 和 Hugging Face 硬體計劃,這根本不是問題。它基本上是即插即用的。”
SOTA 模型邂逅 SOTA 硬體
在宣佈與 Hugging Face 合作之前,我們已經透過使用 Pytorch 專門為 Graphcore 最佳化實現 Hugging Face BERT,展示了 IPU 加速最先進 Transformer 模型的能力。
有關此示例的完整詳細資訊,請參閱 Graphcore 部落格:IPU 上的 BERT-Large 訓練解析。
BERT 在 Graphcore 系統上執行的顯著基準測試結果,與同類基於 GPU 的系統相比,對於目前在 IPU 以外的裝置上執行流行 NLP 模型的使用者來說,無疑是一個誘人的前景。
這種加速對於機器學習研究人員和工程師來說具有顛覆性意義,它能為他們節省寶貴的訓練時間,並在開發新模型時進行更多次迭代。
現在,Graphcore 使用者將能夠透過 Hugging Face 平臺,憑藉其優雅的簡潔性和卓越的模型範圍,解鎖這些效能優勢。
Hugging Face 和 Graphcore 攜手合作,幫助更多人接觸 Transformer 的強大功能,並加速 AI 革命。
訪問 Hugging Face 硬體合作伙伴門戶,瞭解更多關於 Graphcore IPU 系統以及如何獲取它們的資訊。