使用 Kili 與 HuggingFace AutoTrain 進行意見分類

Hugging Face 詳細說明了一個透過整合 Kili(一個以資料為中心的 AI 訓練平台)與 HuggingFace AutoTrain,構建文字分類主動學習管線的工作流程。此方法讓開發者能以最少的程式碼迭代標註資料並訓練模型,顯著縮短從原始資料到可投入生產的分類器所需的時間。

主動學習管線概觀

主動學習是一個迭代過程,將已標註的資料加入資料集,並重新訓練模型以提升效能。在此實作中,管線應用於約 40,000 筆來自 Google Play 商店的 Medium 應用程式使用者評論,用以分類意見並執行情感分析。

使用 Kili 進行資料標註

Kili 被用作端到端平台,以建立高品質的訓練資料。工作流程包括:

  • 專案設定:透過網頁介面或 Python API 建立多類別文字分類專案。
  • 標籤定義:針對 Medium 評論資料集,定義了四個主要類別:訂閱、內容、介面與使用者體驗。另使用「其他」與「多標籤」標籤以處理例外情況。
  • API 整合:Kili 的 Python API 允許以程式方式建立專案、以每批 100 筆上傳資料,並更新資產屬性(例如將樣本移至「待審核」狀態以修正錯標或偏差)。
  • 標註介面:Kili 提供內建鍵盤快捷鍵與簡化的使用者介面,加速標註流程。

使用 AutoTrain 進行自動化建模

AutoTrain 自動化機器學習管線,涵蓋資料清理、模型選擇與超參數最佳化。它基於 transformersdatasetsinference-api 套件建構。

  • 功能:AutoTrain 支援二元與多標籤文字分類、標記分類、抽取式問答、文字摘要與多語言的文字評分。
  • 效能:在提供的範例中,AutoTrain 於約 20 分鐘的訓練時間內達到近 89% 的準確率,整體設定流程約需 30 分鐘。

手動建模與超參數最佳化

為了提供比較,使用 Hugging Face Trainer API 與 Ray Tune 進行超參數最佳化,實作了手動建模方法。

技術實作

  • 基礎模型:選擇 cardiffnlp/twitter-roberta-base-sentiment 模型進行微調。
  • 最佳化堆疊:管線使用 Async Successive Halving Algorithm (ASHA) 作為排程器,HyperOpt 作為搜尋演算法。
  • 資料集處理:建立自訂的 TextClassificationDataset 類別,以將標籤映射至索引,並透過 AutoTokenizer 處理斷詞。

結果與觀察

在 20 次與 40 次試驗的手動調校中,發現模型效能對資料集品質極為敏感。作者指出,在標註階段引入偏差會導致效能下降,隨著後續資料集版本的樣本變異增加,這些問題得以修正。

最終分析與洞見

將微調後的模型套用於完整資料集,並結合情感分析後,得到以下關於 Medium 行動應用程式的洞見:

  • 訂閱:大多數關於訂閱的評論為負面,顯示付費內容在行動應用中普遍不受歡迎。
  • 介面:大量負面評論針對介面,尤其在 4.5 版,暗示特定功能存在錯誤或使用者困惑。
  • 內容與體驗:使用者普遍對文章及平台的整體體驗持正面情緒。

結論

將 Kili 的標註工具與 AutoTrain 結合,可提供部署文字分類器的高效路徑。雖然透過 Ray Tune 進行手動調校能提供更多控制權,但 AutoTrain 自動化模型選擇與超參數最佳化的能力,使其在建立基線與迭代資料導向 AI 專案時顯著更快。

Sources