本文是《從零手搓大模型實(shí)戰(zhàn)》學(xué)習(xí)的第四篇個(gè)人學(xué)習(xí)筆記芥映,主要通過學(xué)習(xí)TinyEval項(xiàng)目來總結(jié)搭建一個(gè)大模型評(píng)測系統(tǒng)的相關(guān)知識(shí),下面記錄下學(xué)習(xí)內(nèi)容以及相關(guān)心得。
注:Tiny-Eval相關(guān)學(xué)習(xí)內(nèi)容來自datawhalechina/tiny-universe
1.什么是大模型評(píng)測?
大模型LLM的評(píng)測是衡量模型性能的關(guān)鍵環(huán)節(jié),它涉及多個(gè)方面搔弄,包括模型的準(zhǔn)確性、流暢性丰滑、多樣性和相關(guān)性等顾犹。評(píng)測LLM時(shí),我們通常會(huì)使用一系列的評(píng)測指標(biāo)(metrics)來量化模型的表現(xiàn)。
Metrics(指標(biāo))的解釋:
“metric”指的是用于量化評(píng)估模型性能的具體指標(biāo)炫刷,有助于客觀地比較模型的表現(xiàn)擎宝。常見的metrics包括:
-
BLEU (Bilingual Evaluation Understudy):
- 基于n-gram精確度的評(píng)估方法,用于衡量文本生成的質(zhì)量浑玛。
- 通過比較模型生成的文本與參考文本中n-gram的重合程度來打分绍申。
-
ROUGE (Recall-Oriented Understudy for Gisting Evaluation):
- 用于評(píng)估自動(dòng)摘要和機(jī)器翻譯的性能。
- 基于召回率的概念顾彰,衡量生成的摘要或翻譯與參考文本的相似度极阅。
-
PERPLEXITY:
- 衡量語言模型性能的指標(biāo),表示模型對(duì)測試數(shù)據(jù)的困惑度涨享。
- 較低的困惑度意味著模型能更好地預(yù)測文本序列筋搏。
-
DISTINCT:
- 評(píng)估生成文本的多樣性。
- 通過計(jì)算生成文本中不同n-gram的比例來衡量厕隧。
-
Accuracy:
- 分類或選擇任務(wù)中拆又,準(zhǔn)確率衡量模型正確預(yù)測的比例。
- 在需要選擇的生成式任務(wù)中也可用作評(píng)估指標(biāo)栏账。
-
F1 Score:
- 用于分類任務(wù)的評(píng)估指標(biāo),特別是處理不平衡數(shù)據(jù)集時(shí)栈源。
- 是精確率(precision)和召回率(recall)的調(diào)和平均值挡爵。
- 在文本分類任務(wù)中(如情感分析),F(xiàn)1 Score衡量模型正確識(shí)別和分類文本的性能甚垦。
-
Fluency, Coherence, and Relevance:
- 基于人類評(píng)估的指標(biāo)茶鹃,衡量文本的流暢性、連貫性和相關(guān)性艰亮。
- 通過問卷調(diào)查或評(píng)分系統(tǒng)收集人類評(píng)估者的反饋闭翩。
在進(jìn)行大模型評(píng)測時(shí),需要考慮綜合使用多個(gè)metrics迄埃,以便全面評(píng)估模型的性能疗韵。不同的任務(wù)和應(yīng)用場景需關(guān)注不同的評(píng)估指標(biāo)組合。例如侄非,在文本分類任務(wù)中蕉汪,除了常見的準(zhǔn)確率外,F(xiàn)1 Score也是一個(gè)非常重要的補(bǔ)充指標(biāo)逞怨,特別是在類別不平衡的情況下者疤。
評(píng)測常見做法:
-
人工評(píng)測:
- 通過人類評(píng)估者對(duì)模型生成的文本進(jìn)行打分或提供反饋,這是最直接的評(píng)測方法叠赦。
- 評(píng)估維度可以包括文本的相關(guān)性驹马、連貫性、創(chuàng)新性等。
-
自動(dòng)評(píng)測:
- 使用自動(dòng)化工具和算法來評(píng)估模型生成的文本質(zhì)量糯累。
- 這通常涉及計(jì)算模型生成文本與參考文本之間的相似度或差異度算利。
-
任務(wù)特定評(píng)測:
- 針對(duì)特定任務(wù)(如問答、摘要生成等)設(shè)計(jì)評(píng)測方法寇蚊。
- 例如笔时,在問答任務(wù)中,可以評(píng)估模型回答問題的準(zhǔn)確率和相關(guān)性仗岸。
2. TinyEval的主要內(nèi)容和流程
這里允耿,TinyEval 是一個(gè)簡單的LLM評(píng)測框架,雙階段的評(píng)測體系扒怖,包含了LLM通用評(píng)測的核心功能较锡,支持生成式、判別式盗痒、選則式評(píng)測問題蚂蕴,框架主要包含inference與eval部分,目的是為了幫助我們大家更好理解和學(xué)習(xí)LLM評(píng)測的原理與實(shí)現(xiàn)俯邓。
3. TinyEval的評(píng)測數(shù)據(jù)集骡楼、評(píng)測Metric等
TinyEval 這里數(shù)據(jù)集主要是3類,采用不同的評(píng)測metirc稽鞭,如下:
- multi_news 長文本問答
- multifieldqa_zh 短文本問答
- trec 生成式選則
評(píng)測metric:
- F1 score
- rouge-series/blue-series
- accuracy
4. TinyEval的代碼
TinyEval 的代碼包含2部分鸟整,一部分是LLM和metrics的定義,一部分是評(píng)測框架主要是2個(gè)文件: inference.py 和 eval.py:
- inference代碼主要用于加載預(yù)訓(xùn)練語言模型朦蕴,并使用該模型對(duì)給定的數(shù)據(jù)集進(jìn)行文本生成任務(wù)篮条。使用一些配置文件來設(shè)置模型參數(shù)和預(yù)測參數(shù),最后將預(yù)測結(jié)果保存到指定的輸出文件中吩抓。
- eval代碼主要用于評(píng)估自然語言處理模型性能的腳本涉茧,主要功能是計(jì)算不同數(shù)據(jù)集上的模型預(yù)測結(jié)果的得分,并將結(jié)果保存為一個(gè)JSON文件疹娶。
注:由于本地環(huán)境的因素伴栓,目前沒實(shí)際運(yùn)行tinyEval,之后再補(bǔ)上吧