Hugging Face Summer 2021 更新

TL;DR

Hugging Face 在 2021 年夏季透過推出 Spaces 來託管 ML 示範、將 TensorBoard 和評估指標整合到 Hub,以及推出 Optimum 函式庫以進行硬體加速,擴展了其生態系統。這些更新,加上對 JAX/Flax 的擴充支援和新的無 tokenizer 模型,旨在降低部署和分享最先進機器學習模型的門檻。

Hub 功能增強

Spaces Beta

Spaces 提供免費方案,可直接在使用者或組織個人資料上託管 Machine Learning 示範應用程式。它支援 Gradio 和 Streamlit SDK,讓使用者能在幾分鐘內部署以 Python 為基礎的應用程式。主要功能包括:

  • 秘密管理,以實現安全部署。
  • 自訂需求,用於依賴處理。
  • 透過 GitHub 倉庫直接管理。

模型可見性與追蹤

  • TensorBoard 整合:Hub 現在會自動為任何包含 TensorBoard 追蹤的倉庫啟動免費的 TensorBoard 實例,支援公共和私人倉庫。
  • 評估指標:使用者現在可以在模型卡的 model-index 區段列出評估指標。這些指標會自動連結到對應的 Papers With Code 排行榜,以進行側邊社群比較。
  • 社交功能:已為模型、資料集和 Spaces 實作「讚」系統,以促進社群探索。

互動式瀏覽器小工具

現在有 18 個小工具讓使用者可以在瀏覽器中測試模型。最近新增的包括:

  • Sentence Transformers:特徵提取和句子相似度小工具。
  • 音訊分類:支援語言識別、街道聲音偵測、指令識別和說話者識別。
  • 電腦視覺:文字轉圖像、圖像分類和物件偵測小工具(例如支援 Google 的 ViT 和 Facebook AI 的 DETR)。
  • 結構化資料:Scikit-learn 分類的早期示範。

開源函式庫更新

Transformers

Transformers 函式庫已達到 50,000 個星標和 3,000 萬次下載。主要更新包括:

  • 框架支援:JAX/Flax 現在是第三個受支援的框架,Hub 上有超過 5,000 個模型。TensorFlow 範例已重新製作,以提高穩健性和慣用用法。
  • 模型新增
    • DETR:端到端物件偵測與圖像分割。
    • ByT5 和 CANINE:無 tokenizer 模型,直接位元組或字元操作。
    • HuBERT:進階音訊任務表現,用於情感和指令識別。
    • LayoutLMv2 和 LayoutXLM:透過結合文字、佈局和視覺資料來解析文件圖像的模型。
    • BeiT:自監督視覺變換器。
    • RemBERT:一個大型多語言變換器,在零樣本轉移方面優於 XLM-R。
    • Splinter:少樣本問答模型,僅使用 128 個範例即可在 SQuAD 上達到約 73% F1。
  • Hub 整合Trainer API 現在可以在檢查點保存期間直接將配置、模型和 tokenizer 檔案推送到 Hub。新的 transformers.onnx 模組改善了模型匯出至 ONNX。

Datasets

Dataset Hub 現在託管 1,400 個公開資料集。新亮點包括 Microsoft CodeXGlue 用於編碼任務,以及大規模資料集如 C4 和 MC4。該函式庫現在支援 JAX、parquet 檔案、遠端檔案,以及擴展領域如自動語音識別。

生態系統整合

Hub 已透過 huggingface_hub 函式庫擴展與其他 ML 函式庫的合作夥伴關係:

  • spaCy:所有標準管線都可在官方 spaCy 組織中取得,並可透過單一指令共享。
  • Sentence Transformers:現在 Hub 上有超過 200 個模型可用。
  • 其他函式庫:Adapter Transformers 和 Speechbrain 模型的整合。

企業與生產解決方案

硬體加速與 Optimum

Hugging Face 與 Intel、Qualcomm 和 GraphCore 合作推出 Optimum,一個開源的 ML 最佳化工具包,專為生產效能設計。

部署與推論

  • SageMaker 上的推論:新增與 AWS 的整合,允許使用者直接在 Hub 模型頁面上找到的程式碼片段在 SageMaker 上部署 Transformers 模型。
  • AutoNLP:一個無需程式碼的網頁介面現在允許使用者直接從瀏覽器在自己的資料上訓練、評估和部署 Transformers 模型。
  • 推論 API:新增整合包括 VSCode 擴充功能用於 Python 程式碼註解、Zapier 連接用於應用程式自動化(例如,針對 Twitter 提及的 Slack 警報),以及 Google Sheets 腳本用於零樣本分類。
  • Infinity:一個即將推出的解決方案,專為在私有基礎設施中高效率部署而設計,聲稱在 GPU 上對 BERT 類模型的延遲為 1ms,在 CPU 上為 4-10ms。

研究與社群計畫

BigScience 與協同訓練

  • BigScience:在 Jean Zay 上完成了首次大規模訓練的 13B 英文單一解碼器模型,第二階段請求預算為 250 萬個 GPU 小時。
  • DeDLOC:與 Yandex 研究共同開發的協同訓練方法,允許在可訪問資源(例如 Colab、Kaggle)上訓練大型網路,無需 HPC 集群。這被用來訓練 sahajBERT,一種孟加拉語言模型。

學術貢獻

  • NAACL 最佳論文:論文《How Many Data Points is a Prompt Worth?》獲得最佳論文獎,證明人類撰寫的提示可以取代數千個監督資料點。
  • EMNLP 論文:四篇論文被接受,涵蓋 Datasets 社群函式庫、基於提示的微調啟發式方法,以及區塊修剪以加速 Transformers(產出的模型在 SQuAD 上比 BERT 快 2.4 倍且小 74%)。

教育

  • Hugging Face 課程:推出免費線上課程,涵蓋 Transformers、Tokenizer、Datasets、Accelerate 和 Hub。
  • JAX/FLAX Sprint:一個社群活動,參與者達 800 人,產出超過 170 個模型、22 個資料集和 38 個 Spaces 示範,包括 Dall-e mini、DietNerf 和 CLIP RSIC。

Sources

相關

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch