這篇解什麼問題
高分是真知識還是背答案,光看分數本身分辨不出來——需要獨立於分數之外的訊號才能查證,這篇講怎麼設計這樣的訊號。
我怎麼做
固定 random seed,從 200 題 train.csv 抽 30 題,設計兩個獨立訊號:
訊號一:逐字接龍。 給模型題目原文開頭,接上「\n\nA. 」,用 raw completion(不是 chat 模式——chat 模式會讓模型「回答問題」而不是「接龍」,反而測不出訓練文字的記憶痕跡)讓它自由生成,拿生成內容跟選項 A 的真實原文做字串相似度比對,相似度 ≥ 0.90 算命中。固定測選項 A、不管它是不是正確答案,是為了避免不小心去挑「正確答案」造成偏差。
訊號二:Perplexity 配對比較。 我手寫這 30 題的同義改寫版(題目跟 5 個選項都換句話說,事實內容跟正確答案不變),原文版跟改寫版都組成同樣格式的完整區塊,丟進同一個已載入的模型,算每個區塊的平均 log-probability。如果模型背過原文,原文的 log-probability 應該明顯高於(也就是「更不意外」)一份它從沒看過的改寫版。30 對「原文減改寫版」的差異,跑配對 t 檢定。
判定門檻是跑之前就先訂好的:逐字接龍命中率 ≥15%(30 題裡 ≥5 題)才算證據;t 檢定 p<0.05 且原文分數顯著較高才算證據;兩者都接近零,才能說「更可能是真實知識,不是背答案」。
結果與數據
逐字接龍 0/30 命中,30 題裡最高的相似度只有 0.368,遠低於 0.90 門檻。生成的內容在概念上是對的,但用詞完全不是原文——例如「紫外災變」那一題,模型講出的是另一種說法但物理上正確的描述,不是選項原文的字句。
Perplexity 配對 t 檢定:t=-2.677,單尾 p=0.99395,mean_diff=-0.515,Cohen's d=-0.489。方向甚至跟「背過」的預測相反——30 題裡只有 10 題原文的分數比改寫版高。比較可能的解釋是我手寫的改寫版整體用字比較平順常見(原文是 Wikipedia 來源,有些措辭本來就生硬),這個混淆因子跟記憶體無關,但也代表這個方向的訊號同樣不支持污染假說。
一句話結論
兩個訊號都落在「沒有污染證據」那一格——依照跑之前就訂好的規則,0.885 更可能是 Qwen3-8B 真實的科學知識,不是背過這份兩年多前就公開的資料。