0xFunky|2026年08月19日 15:34
比賽終於告一段落了
閉關一個禮拜,最後只拿到銀牌了。
(比賽還會繼續配對兩個禮拜,沒意外的話應該還是能守住牌。)
我做了一個線上對決器可以跟我做的AI對戰,開放個幾天,歡迎大家來跟我的AI PK看看!(連結在留言)
真的很久沒打 Kaggle 了,意外地很享受,這次的AI對戰不是一般 Agent 做 harness 或是LLM train content 的比賽,而是真的得碰 RL / model structure的。
有Coding Agents之後打比賽感覺很不一樣,明明是一個人參賽,卻像整個團隊參加,我幾乎把全公司資源都用上了,開了6個Agents,2x GROK 4.6、2x GPT-5.6 Sol、2x Fable5,一個禮拜的訂閱費幾乎全部燒光。
Grok 專注在稽核跟思維發想還有全部的策略統整,Fable 動手做實驗, GPT做EDA資料深度分析,這邊我還是要大推一下Grok,尤其4.6出來後資料分析的工作我也都請他做了,真的是超快又很少犯錯。
== Solution 分享 ==
主線最後還是放在 Imitation Learning。從公開對局 dump 收頂尖隊伍的牌譜當老師,訓一個小 Transformer (d320、encoder-decoder 各兩層)架構上做了三件事:candidate self-attention 和雙 seed ensemble 是實測有感的升級(配對對局各拿到 +3pp 上下),legal mask 則是保底的基本功。
最大的重點是:BC 真正決定強度的不是模型,而是老師的資料品質。
老師要過全局+分對局雙重勝率閘,一個爛老師混進來就可能毒掉整批資料;牌組也只混 52/60 張以上相似的 family,為了補 state coverage,高分池勝敗都收,低分池則只收贏場避免打弱對手會輸。
最後其實最多時間不是花在 training,而是在整理資料跟驗證,從老師那邊訓練了涵蓋 10 個對手牌組的 gate matrix,同 seed A/B 從 40 打到 80 場,再按金牌區實際 meta 分布加權。
訓練指標再漂亮都不算數,配對打得贏才算數。
終局交 Dragapult + Hydreigon牌組。
== 賽後檢討 ==
其實我 RL 也認真試了一輪:self-play、advantage weighting、actor-critic、PFSP,但後面跑出來的結果都平盤甚至變差。
賽後看到強者的做法才想通問題。以前對稱環境純 self-play 很合理,但卡牌不是;不同牌組會把 state space 切成一塊一塊,固定牌組自己打自己,本質上一直在練 mirror match,實戰大部分盤面其實根本沒看過。
League PK RL 這件事我其實有做,我把自己訓好的各牌組 agent 組成陪練池,讓訓練分布蓋住整個 meta,但後來才想到:池子裡的全是我自己的 agent,而且是固定不動的,對手不會變強,RL 練到後來不是在學打牌,是在背池子裡 bot 的習性,陪練勝率一路漲,但最後對決原地踏步。
賽後看前段班的解法才補上最後一塊:人家的陪練池是「會一起進化的」每個牌組的 expert 邊練邊更新回池子裡,等於對手永遠比你想的新,陪練不能只是覆蓋 meta,還得跟你一起變強,這是真的沒想到的。(0xFunky)
分享至:
脈絡
熱門快訊
APP下載
X
Telegram
複製鏈接