由於AI模型的訓練往往都會比較耗時, 因此建議需要有GPU環境會比較有效率一些, 否則訓練模行動輒好幾個小時才能看到結果, 一來一往之間, 當我們調好一版可用的模型時已經浪費了不少青春去了…。
基本上怎麼開始呢? 其實有分為兩條路徑, 一條是全部自己擁有, 將環境架設於本地端, 另一種則是使用雲端服務, 例如學術研究的Google Colab, 我們都會分別示範如何開始。
主題
本地端
當我們非常Care數據是應該私有的, 不流於雲上時, 這時候本地端架設會是較好的選擇, 但相對應的也要有足夠的硬體, 成本相對較高。
另外會建議基於Docker、Container這種容器化技術為基礎進行環境架設, 如此一來才能夠避免因為系統環境的因素導致訓練失敗或者辨識失敗…等狀況。
首先請安裝一下Docker, 請參考「
Install Docker Engine」, 至於什麼是Docker, 我們之後會另外撰寫一篇來進行介紹, 並在此補充, 這邊假設您已經是Docker/Container專家為基礎進行說明。
基本上Docker安裝完畢之後, 我們會用docker compose來管理配置的部份, 大致上如下:
version: "3.8"
services:
jupyter:
image: nvcr.io/nvidia/pytorch:22.12-py3
tmpfs:
- /tmp
ports:
- "8888:8888"
volumes:
- ./:/workspace
runtime: nvidia
command: jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root --NotebookApp.token='test'
接著啟動我們的環境
docker compose up -d
登入成功之後, 我們就可以來創建一個筆記本。
安裝一下必要元件。
!pip install transformers
# This tokenizer cannot be instantiated. Please make sure you have `sentencepiece` installed in order to use this tokenizer.
!pip install sentencepiece
!pip install sacremoses
接著進行翻譯任務。
from transformers import pipeline
translator = pipeline("translation", model='Helsinki-NLP/opus-mt-zh-en') #使用翻譯任務
translator('這是一個很困難的問題')
最終結果如下,成功幫我們進行翻譯。
Google Colab
當我們不想維護硬體時, 雲端的Google Colab就是最好的選擇了, 因為它整合了完整的python環境, 讓我們可以透過類似Jupyter的方式進行開發, 並分享腳本, 基本上比較適合學生、數據資料學家或是 AI 研究人員, 可以快速驗證概念或者訓練方向是否正確, 支援CPU、GPU甚至TPU, 但要注意的是除了CPU以外其他的運算單元都是會有額度限制的, 超過額度可是得付費的。
首先安裝一下最重要的Transformers元件吧
!pip install transformers
# This tokenizer cannot be instantiated. Please make sure you have `sentencepiece` installed in order to use this tokenizer.
!pip install sentencepiece
!pip install sacremoses
接著進行翻譯任務。
from transformers import pipeline
translator = pipeline("translation", model='Helsinki-NLP/opus-mt-zh-en') #使用翻譯任務
translator('這是一個很困難的問題')
最終得到翻譯結果。
結語
整個過程非常的簡單, 幾行指令就讓我們完成翻譯的任務, 過往可能需要付費才能使用的API,如今都可以自行擁有了, HuggingFace上有很多模型及任務可以使用, 不妨親自動手玩看看, 會讓我們對於AI領域有更進一步的認識喔, 下一個篇章將會陸續介紹不同的任務與不同的模型, 甚至自己動手訓練模型, 就讓我們持續學習下去吧!
喜歡撰寫文章的你,不妨來了解一下:
歡迎加入一起練習寫作,賺取知識!
更多關於【Hugging Face 系列】…