2023-11-06|閱讀時間 ‧ 約 24 分鐘

三分鐘搞懂語言模型能力指標,Perplexity (困惑度)

如何評量一個大型語言模型有學到東西? 其中一個常用指標就是Perplexity(困惑度)。由於困惑度被大量論文引用,學習CP值很高,所以寫專文介紹。

上帝視角:

相信大家有做過英文填空題,如果單字沒有背熟,文法沒有搞懂,在缺乏足夠知識的情況下,每個選項感覺都對,無法選出正確答案。

對沒讀書的人來說,這個題目資訊量很大,腦中缺乏知識導致。而對於學霸來說,這題就是一塊蛋糕 (A piece of cake),由於答題所需的知識充足,題目沒有給他帶來的任何的額外資訊量,直接能確定正確答案。

基於資料壓縮與編碼長度理念計算的困惑度

pθ :

你的認知機率模型,用來回答考題的大腦神經元區塊。

θ :

腦袋裡面神經元儲存的認知參數,知道的相關知識越多,越有助於做出肯定的判斷。

pθ(xi | x<i) :

看到填空題除了填空以外的所有單字,如果沒有任何困惑,100%確定答案,可直接填入答案,如果有考慮其他選項,產生一定的困惑,就會小於100%。

-log(機率) :

如果沒有任何困惑,答案唯一被你確定,不需要額外的講解,就能填入正確答案,所以不需要額外的任何資訊(編碼)。

反之,如果這題你完全不懂,則需要老師的深入解說,你才會做答。越困惑,每個選項的機率均分,皆有可能,此時所需要的額外資訊量越大(編碼越長)。

exp{}:

平均編碼長度越長也就越困惑,代表需要額外的資訊進行講解。困惑度值域為 1~∞。


計算細節:

一般在Transformer Context window長度不夠的時候,會使用Sliding Window來做計算,Context window 為Transformer能一起看到的輸入Token長度。

Context Window 足夠大的情形

Context Window不夠大,使用Sliding window進行計算

限制:

當困惑度為1的時候,未必代表模型遇到未知的新問題,綜合表現能力也可以很好,極有可能是個書呆子,藉由死背答案來百分之百確定答案,所以實驗設計需要分訓練集與測試集,用沒有看過的題目來測試是否是死背答案。這也是老師考的都沒教的主要原因,師父引進門,修行在個人,測試舉一反三的能力。

引用:

https://huggingface.co/docs/transformers/perplexity
https://thegradient.pub/understanding-evaluation-metrics-for-language-models/


如果你對 AI 充滿熱情,學習上又不想浪費時間,我能夠以過來人的經驗給你不少想法,歡迎在Facebook群裡面留言。

如果想要用Zoom直接交談,為你直接解惑的,也可以點以下連結預約時間 (1小時)

https://calendly.com/universe_ai/free_appointment

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.