|

利用OpenVINO部署HuggingFace預訓練模型的方法與技巧

   
作者:楊亦誠,英特爾AI軟體工程師

作為深度學習領域的「Github」,HuggingFace已經共用了超過10萬個預訓練模型,1萬個資料集,其中就包括了目前AIGC領域非常熱門的「文生圖」、「圖生文」任務範式,例如ControlNet、StableDiffusion、Blip等。

透過HuggingFace開源的Transformers、Diffusers程式庫,只需要要調用少量介面函數,入門開發者也可以非常便捷地微調和部署自己的大模型任務,你甚至不需要知道什麼是GPT、BERT就可以用它們的模型,開發者不需要從頭開始構建模型任務,大幅簡化了工作流程。從下面圖1的例子可以看到,在導入Transformer程式庫以後只需要5行程式碼就可以構建一個基於GPT2的問答系統,期間HuggingFace會為你自動下載Tokenizer詞向量庫與預訓練模型。

圖1:HuggingFace預訓練模型任務調用範例。 圖1:HuggingFace預訓練模型任務調用範例。

但也正因為Transformer、Diffusers這些程式庫具有非常高的易用性,很多底層的程式碼與模型任務邏輯也被隱藏了起來,如果開發者想針對某個硬體平台做特定的優化,則需要將這些程式庫的底層流水線進行拆解,再逐個進行模型方面的最佳化。圖2與圖3就展示了利用HuggingFace程式庫在調用ControlNet介面時的邏輯,和其底層實際流水線結構:

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

楊亦誠

Author: 楊亦誠

現任英特爾 AI 軟體工程師

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *