AI

Hugging Face Transformers:預訓練模型的通用函式庫

Hugging Face Transformers 是使用最廣泛的預訓練模型函式庫,支援橫跨 NLP、電腦視覺、音訊和多模態領域的 50 萬個以上模型。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Hugging Face Transformers:預訓練模型的通用函式庫

Transformer 架構已成為現代 AI 的通用建構區塊,為從語言理解到圖像生成再到語音辨識的一切提供動力。Hugging Face Transformers 是讓這個廣闊生態系統對每個開發者都可存取的函式庫,提供統一的 API 來使用超過 50 萬個預訓練模型,只需幾行程式碼。

最初作為一個基於 BERT 的 NLP 模型函式庫,它已成長為跨整個 AI 領域部署預訓練模型的事實標準介面。Transformers 函式庫抽象化了模型架構差異、框架特定實作和硬體最佳化的底層複雜性,無論你是在筆記型電腦上運行情感分析還是在 GPU 叢集上微調 70B 參數 LLM,都提供一致的介面。

該函式庫的成功源於其設計理念:API 應該簡單到初學者可以在幾分鐘內使用,但又足夠強大以供研究實驗室構建生產系統。單個 pipeline() 函數可以載入、配置和運行任何支援任務的數千個模型。


Transformers 函式庫的架構如何運作?

該函式庫圍繞一個模組化架構構建,將模型定義與訓練和推理基礎設施分開。

graph LR
    subgraph 抽象層
        A1[pipeline()\n高階 API] --> A2[AutoModel\n自動模型選擇]
        A2 --> A3[特定模型\nBERT, GPT, ViT, Whisper 等]
        A1 --> A4[AutoTokenizer\n自動分詞器選擇]
        A4 --> A5[分詞器\n子詞 / BPE / SentencePiece]
    end
    subgraph 後端
        A3 --> B1[PyTorch / TF / JAX]
        A5 --> B1
        B1 --> B2[CPU / GPU / TPU]
    end
    subgraph Hub
        C1[Hugging Face Hub\n50 萬+ 模型] --> A1
        C1 --> A2
        C1 --> A4
    end

這種分層架構意味著新增對新模型架構的支援不需要更改高階 API,而在後端之間切換也不需要程式碼更改。


Transformers 支援哪些任務?

Transformers 支援的任務廣度已遠遠超出其 NLP 起源。

領域任務範例模型
NLP文字分類、NER、QA、摘要、翻譯、生成BERT、GPT、Llama、T5、BART
電腦視覺圖像分類、偵測、分割、深度估計ViT、DETR、MaskFormer、Depth Anything
音訊語音辨識、TTS、音訊分類、說話者日誌化Whisper、Bark、Wav2Vec2、SpeechT5
多模態圖像標題、視覺 QA、文件理解BLIP、LLaVA、Flava、LayoutLM
時間序列預測、分類PatchTST、Informer、Autoformer
強化學習決策制定、遊戲遊玩Decision Transformer、Trajectory Transformer

這種廣度使 Transformers 成為幾乎任何深度學習應用的一站式函式庫。


Transformers 函式庫的核心組件

理解該函式庫的核心組件是有效使用它的關鍵。

組件目的關鍵類別
Pipeline高階任務 APIpipeline()
AutoModel自動模型載入AutoModelAutoModelForSequenceClassification
模型特定架構BertModelLlamaForCausalLMViTForImageClassification
分詞器文字預處理AutoTokenizerBertTokenizerGPT2Tokenizer
處理器圖像/音訊預處理AutoImageProcessorAutoFeatureExtractor
Trainer訓練迴圈TrainerSeq2SeqTrainer

每個組件都可獨立使用,但設計為無縫協作。


Hugging Face Hub 生態系統如何運作?

Transformers 是更大的 Hugging Face 生態系統的一部分,涵蓋了完整的 ML 生命週期。

函式庫目的與 Transformers 的整合
Datasets資料載入和預處理直接向 Trainer 餵送資料
TokenizersRust 中的快速分詞被 Transformers 的分詞器使用
Accelerate分散式訓練配置Trainer 多 GPU 支援的後端
Evaluate模型評估指標與 Trainer 評估整合
PEFT參數高效微調與 Transformers 模型的適配器整合
TRLRLHF 和偏好訓練使用 Transformers 模型進行微調

這個生態系統提供了從資料準備到訓練再到部署的完整解決方案。


常見問題

什麼是 Hugging Face Transformers? 使用最廣泛的開源函式庫,用於處理預訓練深度學習模型。

可以取得多少模型? Hugging Face Hub 上有超過 50 萬個預訓練模型。

支援哪些框架? PyTorch、TensorFlow 和 JAX,具有無縫互通性。

如何進行推理? 使用 pipeline() 函數,只需三行程式碼。

可以用於訓練嗎? 是的,包含 Trainer 類別,支援分散式訓練和混合精度。


延伸閱讀

TAG