本週要驗證什麼假設
Kaggle 的 Disaster Tweets 是一個經典入門題目——約 7,600 筆訓練推文,每則標記是否描述真實災難(例如地震、火災)。文字很短,語境常常模糊:「Our Deeds are the Reason of this #earthquake」是真的災難通報,「just got back from the gym feeling like a bomb went off in my legs」則是誇飾用法,人類一看就懂,機器不一定。
真正想驗證的不是「哪個模型分數最高」,而是訓練成本、架構跟效果之間的實際換算比例。淺層模型幾秒鐘訓練完;微調 transformer 要吃 GPU;本地 LLM 完全不訓練純靠 prompt;而雲端 API 則提供強大的特徵提取。這些不同生態系的工具交鋒,決定了我們平常面對分類任務該挑哪一條路。
實驗設計
我們設計了五條路線(五路大亂鬥),同一份 Kaggle 官方 train/test 切分,同樣用 F1(binary)當指標:
- Route A — TF-IDF + Logistic Regression:M1 CPU 跑,訓練幾秒鐘就完成。這是最古老的基準線,不用 GPU、不用等待。
- Route B — DistilBERT 微調:丟上 Kaggle GPU 跑微調,輕量級的 Transformer 預期會有穩定表現。
- Route C — 本地 Gemma 零樣本:不訓練,直接用 prompt 叫本地的
gemma4:e2b分類,量測完全沒看過標記資料的模型能不能打贏傳統機器學習。 - Route D — BERTweet 微調:跟 Route B 一樣是微調,但這顆模型在預訓練時就是專門吃英文推文長大的。我想看看「領域特化」能不能輾壓通用模型。
- Route E — NIM Embedding + Logistic Regression:不用生成式 LLM,而是打 API 叫 NVIDIA 的
nemotron-3-embed-1b把推文降維成向量,再交給 LogReg 畫線分類。驗證雲端 Embedding 的降維威力。
我的預測與理由
BERTweet(Route D)應該會拿下最高分。 推文有自己獨特的語法、hashtag 與表情符號,專精社群文本的模型在這種短文本任務上天生自帶霸體。
懸念一:零樣本 Gemma(Route C)的極限在哪? 沒有任何訓練資料,全靠 prompt 設計,我賭它會輸給 Route A,但輸不了太多。如果本地模型不訓練就能逼近 TF-IDF 基準,那「不訓練就能用」的優勢將極具吸引力。
懸念二:Embedding(Route E)會不會是效能黑馬? API Embedding 加上淺層分類器,既有深度的語意理解,又有極快的推論速度。如果它的分數能打平甚至超越微調的 DistilBERT,那未來面對批量任務,我們可能再也不需要自己架 GPU 微調了。
這場五路大亂鬥的分數即將揭曉,這週剩下幾篇筆記會陸續拆解每條路線實際怎麼做、以及遇到了哪些意想不到的坑。