Hugging Face 專家加速計畫:Witty Works 案例研究

Witty Works 與 Hugging Face 專家加速計畫合作,將原本基於規則的語言分析工具轉換為情境依賴的機器學習分類器,以實現包容性語言。此轉變使寫作助理能夠根據詞語的周圍語境準確辨識非包容性詞彙,而不僅僅依賴詞彙清單。

從語言分析到情境分類的轉變

Witty Works 最初使用預訓練的 spaCy 模型透過遷移學習開發寫作助理。此基礎方法利用詞形還原、語言分析,以及抽取詞性標記、性別、詞語依存等特徵,對照約 2,300 個英語與德語詞彙與成語的知識庫,標示出非包容性詞彙。

雖然此方法對 85% 的詞彙有效,但無法處理情境依賴的詞語。例如,詞彙「fossil」在「Fossil fuels are not renewable resources」中屬於包容性用法,而在「He is an old fossil」中則屬於非包容性。為了解決此問題,Witty Works 轉向使用 Hugging Face Transformers,以理解詞語的語意語境。

使用 SetFit 實作少樣本學習

Witty Works 面臨嚴重的資料瓶頸:微調原始 BERT 模型需要每個類別數百筆標註樣本,成本與時間皆過高。為解決此問題,Hugging Face 專家建議以下技術調整:

從詞向量到句向量

團隊不再為特定詞彙提取 token 向量,而是改用 Sentence Transformers 架構的情境化句向量。此方法利用 Siamese 與三元組網路結構,確保語意相似的句子在向量空間中更接近,從而使得產生的向量可作為傳統分類器(如 K-Nearest Neighbors (KNN) 或邏輯回歸)的輸入。

使用 SetFit 進行少樣本微調

Witty Works 採用了 SetFit(Sentence Transformer 微調),這是一個結合對比學習與語意句子相似度的框架。此舉使團隊僅需每個特定詞彙 15–20 句已標註的句子,即可達到高準確度,遠低於先前估計的 100–200 句。

模型選擇與部署

為確保即時瀏覽器擴充功能的低延遲,Witty Works 與 Hugging Face 測試了多種句子 Transformer 模型,最終選擇 mpnet-base-v2 搭配邏輯回歸與 KNN。

  • Infrastructure: 模型部署於 Azure。
  • Performance: 模型達到 0.92 的準確率。
  • Efficiency: 訓練資料的減少降低了人工審核的工作量,從而更有效地管理訓練集中的偏見。

專家對機器學習工作流程的見解

此合作突顯了一套特定的迭代式機器學習工作流程方法。正如 Hugging Face 首席傳道師 Julien Simon 所描述的:

「Hugging 的工作流程構建方式:尋找開源的預訓練模型,立即評估,觀察哪些有效,哪些無效。透過不斷迭代,你會立即學到新知。」

對於 Witty Works 而言,此方法降低了資料標註與部署的財務與時間成本,同時為其新創開發流程提供了技術上的對手與協助。

Sources