用於評估生成任務中的法學碩士的儲存庫
最新消息
[2024/06] 我們發布了BiGGen-Bench和Prometheus 2 BGB (8x7B) !
BiGGen-Bench具有9個核心功能、77個任務和765個精心設計的實例,每個實例都有特定的評估標準。
我們透過 5 個最先進的評估語言模型評估了 103 個前沿語言模型,並在論文中分析了結果。
我們不斷在 BiGGen-Bench 評估軌跡上訓練 Prometheus 2 8x7B,並建立了我們最有能力的評估器 LM Prometheus 2 BGB,甚至在絕對評分任務上超越了 Claude-3-Opus。
查看我們的資料集、評估結果、排行榜、互動式報告和程式碼!
[2024/05] 我們發表 Prometheus 2 (7B & 8x7B) 模型!
達到 Prometheus 2 (8x7B) 至少 80% 的評估統計或效能
它只需要 16 GB VRAM,適合在消費級 GPU 上運作。
與 Prometheus 1 (13B) 相比,Prometheus 2 (8x7B) 顯示出改進的評估性能,並且還支援以成對排名(相對評分)格式進行評估!
在多個直接評估基準(包括 VicunaBench、MT-Bench 和 FLASK)上,它與 GPT-4-1106 在 5 點李克特量表上的 Pearson 相關性達到 0.6 至 0.7。
它還在多個成對排名基準中獲得了 72% 到 85% 的人類判斷一致性,包括 HHH Alignment、MT Bench Human Judgement 和 Auto-J Eval。
Prometheus 2 (8x7B)是一個開源的最先進的評估器語言模型!
Prometheus 2 (7B)是 Prometheus 2 (8x7B) 模型的輕型版本,具有合理的性能(優於 Llama-2-70B 並與 Mixtral-8x7B 相當)。
使用 pip 安裝:
pip 安裝 prometheus-eval
Prometheus-Eval 支援透過vllm
進行本地推理,並在litellm
的幫助下透過 LLM API 進行推理。
如果您想在本機環境中執行 Prometheus,請安裝vllm
。
pip 安裝 vllm
如果你有興趣:
透過 VLLM 端點、Huggingface TGI 或其他平台利用 Prometheus 接口
利用更強大的評估器 LLM,例如 GPT-4
您還可以利用 Prometheus-Eval!有關各個提供程序的安裝詳細信息,請參閱 LiteLLM 提供者文件。
from prometheus_eval.litellm import LiteLLM, AsyncLiteLLMmodel = LiteLLM('openai/prometheus-eval/prometheus-7b-v2.0') # VLLM 端點模型= LiteLLM('huggingface/prometheus-eval/prov2-7bval-prov2-7b) # Huggingface TGImodel = AsyncLiteLLM('gpt-4-turbo', requests_per_minute=100) # GPT-4 API(考慮速率限制的非同步生成)# 還有更多!
注意: prometheus-eval
庫目前處於測試階段。如果您遇到任何問題,請透過在儲存庫上建立問題來告知我們。
使用
prometheus-eval
,評估任何指示和回應對都非常簡單:
# 絕對評分:輸出 1 到 5 分 from prometheus_eval.vllm import VLLMfrom prometheus_eval import PrometheusEvalfrom prometheus_eval.prompts import ABSOLUTE_PROMPT, SCORE_RUBRIC_TEMPLATEmodel = VLLM(model="proeus; model,absolute_grade_template=ABSOLUTE_PROMPT)instruction =「在最近的分手中掙扎,一個人會敞開心扉表達強烈的孤獨和悲傷的感覺。他們尋求有關如何應對心碎並在生活中繼續前進的建議。」,回應= 「聽到你分手的消息我真的很遺憾。這可能是一個充滿了強烈的孤獨和悲傷情緒的充滿挑戰的時期。重要的是要記住,經歷這些感覺是正常的;它們是深刻的證明首先,不要猶豫,擁抱你的情緒,忽視它們往往會使治療過程變得複雜,感到沮喪、流淚或感到憤怒是很自然的。這是療癒之旅的一部分。在這些困難時期,自我照顧可以成為一劑治癒劑。這可能意味著沉迷於你最喜歡的書,記錄你的想法,甚至只是安靜地喝杯茶。對自己善意的小舉動可以顯著改善您的情緒健康。另外,不要孤立自己。讓自己周圍都是能夠提供安慰和理解的支持者。這可能包括朋友、家人,甚至是心理健康專家。他們可以提供急需的情感支持和策略來幫助您應對。最後,請記住,治癒沒有固定的時間表。每個人的情況都不一樣,只要你需要就好。將注意力集中在未來及其潛力上。雖然現在看來不可能,但你會從這次經驗中變得更強大。尋求幫助是可以的,悲傷是可以的,一天一天地承受也可以。在這段旅程中,您並不孤單,有人已經準備好並願意提供協助。按照你自己的步調復原是可以的。心碎就像一股壓倒性的浪潮席捲你,讓你感到失落和孤獨。重要的是要記住,有這種感覺是可以的;你的感受是合理的,失去一段關係而感到悲傷是很自然的。首先,讓自己充分感受情緒是至關重要的。壓製或否認它們通常只會延長癒合過程。哭泣、悲傷或生氣都是可以的。這些都是療癒之旅的一部分。參與自我保健活動也可以提供急需的促進作用。這可以是任何事情,從洗個熱水澡、寫日記,或只是喝一杯你最喜歡的茶。自愛的小舉動可以讓你的感受產生很大的改變。接下來,試著讓自己周圍都是支持你的人,他們了解你的處境並為你提供安慰。在心碎的時候,朋友和家人可以成為力量的重要來源。如果您感覺舒服,您可能需要考慮尋求專業協助。治療師和諮商師接受過培訓,可以提供幫助和工具來度過這樣的困難時期。最後,重要的是要記住,慢慢來治癒是可以的。每個人都有自己的節奏,不必著急。嘗試關注未來及其所蘊含的可能性。雖然現在看起來可能並非如此,但從這次經歷中你會變得更堅強、更有彈性。請記住,尋求幫助是可以的,感受自己的感受也是可以的。在這段旅程中,您並不孤單,有人關心您並願意提供協助。一次服用一天是可以的。治癒是一個過程,可以按照自己的節奏進行。 ",rubric_data = { "criteria":"當使用者表達情緒或面臨挑戰性環境時,模型是否能夠熟練地將同理心和情緒智商應用於其回應中? ", "score1_description":"模型忽略識別使用者輸入的情緒基調或對其做出反應,給予不合適或情緒不敏感的反應。 ", "score2_description":"模型間歇性地承認情緒背景,但通常在沒有足夠同理心的情況下做出回應或情感理解。 ", "score3_description":"模型通常識別情感背景並嘗試以同理心回答,但有時回答可能會錯過重點或缺乏情感深度。 "score4_description":"模型一致地辨識和反應適合情緒背景,提供同理心反應。儘管如此,在情緒深度方面仍可能存在零星的疏忽或缺陷。 ", "score5_description":"該模型擅長識別情感背景,並持續提供同理心、情感意識的回應,表現出對使用者情感或情境的深刻瞭解。 "分數:",分數)# 輸出# 回饋:提供的回應顯示出高水準的同理心和情緒智商,它有效地解決了使用者表達的情緒困擾,並確認了他們的孤獨和悲傷的感受,這是一個至關重要的面向。此外,回應讓使用者放心,復原是一個個人過程,沒有固定的時間表,提供安慰和理解。它強調用戶的價值和克服這種情況的潛力,這表明了對用戶的情緒和情況的深刻理解。透過將評分標準與提供的回應進行比較,很明顯,該模型表現出了出色的同理心和情緒智商應用能力。此回覆在情感深度上沒有任何缺陷,成功符合 5 分的標準。
# 相對評分:輸出 A 或 Bfrom prometheus_eval.vllm import VLLMfrom prometheus_eval import PrometheusEvalfrom prometheus_eval.prompts import RELATIVE_PROMPTmodel = VLLM(model="prometheus-eval/promethyl-7b-2m.al; RELATIVE_PROMPT)data = { "instruction": "一群歷史學家正在就導致羅馬帝國衰落的因素進行辯論。一位歷史學家認為,衰落的主要原因是野蠻人入侵的持續壓力。另一位歷史學家認為,羅馬帝國衰落的主要原因是來自蠻族入侵的持續壓力。提供證據來支持他們的主張。貶值的嚴重影響。貨幣貶值導致通貨膨脹猖獗,破壞了經濟的穩定。此外,羅馬帝國嚴重依賴奴隸勞動。這導致自由公民失業,因為維持奴隸比僱用自由公民便宜。就業機會減少導致經濟不穩定。除此之外,帝國向東方的擴張使他們依賴進口,例如來自埃及的穀物。這種對進口的過度依賴導致了貿易逆差,進一步削弱了經濟。隨著帝國失去領土,維持貿易失衡變得困難,導致經濟崩潰。因此,經濟問題和對奴隸勞動的過度依賴是羅馬帝國衰落的主要原因之一。他們的觀點:促成了羅馬帝國的衰落。 Harper(2016)概述了羅馬貨幣貶值如何導致通貨膨脹,破壞經濟穩定。此外,Scheidel(2007)強調,過度使用奴隸導致自由公民普遍失業,進一步破壞經濟穩定。正如 Temin (2006) 所強調的那樣,帝國對從埃及進口穀物的依賴造成了貿易逆差,這也導致了經濟衰退。因此,這些因素的結合在羅馬帝國的衰落中發揮了至關重要的作用。首先,重要的證據之一就是羅馬貨幣的貶值。正如哈珀(Harper,2016)所強調的那樣,由於貨幣不斷貶值,帝國遭受了嚴重的通貨膨脹,使得經濟難以保持穩定。而且,對奴隸勞動的過度依賴也扮演了有害的角色。正如 Scheidel (2007) 所指出的,對奴隸的依賴導致了自由羅馬公民的失業。這是因為與僱用自由公民相比,維持奴隸的成本要低得多,導致就業機會減少,進而導致經濟不穩定。此外,帝國向東方的擴張使他們高度依賴進口,例如來自埃及的穀物。正如 Temin (2006) 所指出的,這造成了貿易逆差,進一步削弱了羅馬經濟。當帝國開始失去領土時,維持這種貿易不平衡變得越來越困難,導致經濟衰退。總之,可以說,主要由貨幣貶值和過度依賴奴隸勞動所引起的經濟問題是羅馬帝國衰退的重要因素。所提供的證據,包括對 Harper (2016)、Scheidel (2007) 和 Temin (2006) 的學術參考,支持了本論文。 "}feedback, Score = Judge.single_relative_grade(**data)print("Feedback:", Feedback)print("Score:", Score)# Output# Feedback: 回應A 和回應B 都正確辨識了經濟問題和過度依賴然而,回應 B 更有效地表達了歷史學家的論點,因為它包含了支持其主張的學術資料,具體來說,它引用了哈珀、沙伊德爾的著作。家論點的可信度,並且與評分標準對證據和引用的強調非常一致,雖然回應A 提供了類似的論點,但它缺乏任何形式的引用或歸因,這削弱了所提供證據的強度。因此,根據提供的標題,響應 B 是更好的回應,因為它使用學術證據來支持歷史學家的主張。
注意:如果您對成績有多個答复,請不要使用single_absolute_grade
/ single_relative_grade
- 相反,請使用absolute_grade
和relative_grade
!它將為您帶來超過 10 倍的加速。
# 批次絕對成績instructions = [...] # 指令列表responses = [...] # 回應清單reference_answers = [...] # 參考答案清單rubric = "..." # Rubric stringfeedbacks, Scores = Judge. absolute_grade (instructions=instructions,responses=responses,rubric=rubric,reference_answers=reference_answers)# 批次相對等級instructions = [...] # 指令列表responses_from_a = [...] # 回應列表responses_from_b_ [responses_from_a = [...] # 回應列表responses_from_bwer_.... = [ ...] # 參考答案列表rubric = "..." # Rubric stringfeedbacks, Scores = Judge.relative_grade(instructions=instructions,responses_A=responses_from_a,responses_B=responses_from_b,rubric=rubric,reence_answeranswerswers_Fanswerswers)
Prometheus-Eval是一個儲存庫,提供了一系列用於訓練、評估和使用專門用於評估其他語言模型的語言模型的工具。此儲存庫包括以下元件:
prometheus-eval
Python 包,提供了一個簡單的接口,用於使用 Prometheus 評估指令-響應對。
用於訓練和評估 Prometheus 模型的評估資料集的集合。
用於訓練 Prometheus 模型或對自訂資料集進行微調的腳本。
Prometheus是一個開源語言模型系列,專門用於評估其他語言模型。透過有效模擬人類判斷和專有的基於 LM 的評估,我們的目標是解決以下問題:
公平:不依賴閉源模型進行評估!
可控性:您不必擔心GPT版本更新或透過建立內部評估管道將您的私人資料傳送到OpenAI
價格實惠:如果您已經擁有 GPU,則可以免費使用!
與Prometheus 1模型相比,Prometheus 2模型同時支援直接評估(絕對評分)和成對排名(相對評分)。
您可以透過提供不同的輸入提示格式和系統提示來切換模式。在提示中,您應該填寫說明、回應,並使用您自己的資料進行評分。或者,您還可以添加參考答案,從而獲得更好的性能!
prometheus-eval
包prometheus-eval
包提供了一個簡單的接口,用於使用 Prometheus 評估指令-響應對。該包包含以下方法:
absolute_grade
:根據給定的說明、參考答案和評分標準評估單一回應。輸出 1 到 5 之間的分數。
relative_grade
:根據給定的說明和評分標準評估兩個回應。根據更好的響應輸出“A”或“B”。
如果您喜歡直接使用 Huggingface Hub 中上傳的權重,您可以直接下載模型權重!
from Transformers import AutoModelForCausalLM, AutoTokenizerdevice = "cuda" # 將模型載入到model = AutoModelForCausalLM.from_pretrained("prometheus-eval/prometheus-7b-v2.0")tokenizer = AutoTokenizer.from_preine-7b-v2.0")tokenizer = AutoTokenizer.from_preined(protomethproeus-a/promethpro片.from_beus-val; v2.0")ABS_SYSTEM_PROMPT = "您是一位公平的法官助理,負責根據具體標準提供清晰、客觀的回饋,確保每次評估都反映為表現設定的絕對標準。 #任務描述:給出一條指令(可能包括其中的輸入)、評估回應、得分為 5 的參考答案以及代表評估標準的評分標準。回應,而不是一般性評估。 )[結果](1 到5 之間的整數)」4。請不要產生任何其他開頭、結尾和解釋。 }### 回饋: """user_content = ABS_SYSTEM_PROMPT + "nn" + ABSOLUTE_PROMPT.format(...) # 用您的資料訊息填入提示= [ {“角色”:“使用者”,“內容”:user_content}, ]encodeds = tokenizer.apply_chat_template(messages, return_tensors=”pt”)model_inputs=encodeds.to(device)model.to(device) generated_ids = model.generate(model_inputs, max_new_tokens tokenizer. (產生的_ids)列印(解碼[0])
部分 | 描述 |
---|---|
BiGGen 基準評估 | 在 BiGGen-Bench 中評估 LM 的說明。您也可以參考您自己的評估基準的實作。 |
訓練普羅米修斯 | 複製 Prometheus 2 模型的說明。基於對齊手冊儲存庫。 |
使用 Prometheus 作為數據質量過濾器 | 使用 Prometheus 2 作為合成資料產生中的質量過濾器的手冊。非常感謝 distilabel 團隊! ? |
使用 Prometheus 作為 RAG 中的評估器 | 使用 Prometheus 2 RAG 應用程式的食譜。非常感謝 LlamaIndex 團隊! ? |
訓練的底層程式碼庫源自 Huggingface 的對齊手冊和超級瑪利歐合併儲存庫。此外,為了進行推理,它大量利用了 litellm、vllm 和 Transformer 函式庫。非常感謝這些出色的存儲庫的所有貢獻者! ?
如果您發現我們的工作有用,請考慮引用我們的論文!
@misc{kim2024prometheus, title={Prometheus 2:專門評估其他語言模型的開源語言模型}, 作者={Seungone Kim、Juyoung Suk、Shayne Longpre、Bill Yuchen Lin、Jamin Shin、Sean Welleck、Graham Neubig、Moontae Lee、Kyungjae Lee 和 Minjoon Seo},年份={2024},eprint={2405.01535},archivePrefix={ arXiv},primaryClass={cs.CL}}
@article{kim2023prometheus,title={Prometheus:在語言模型中引入細粒度評估能力},作者={Kim、Seungone 和 Shin、Jamin 和 Cho、Yejin 和 Jang、Joel 和 Longpre、Shayne 和 Lee、Hwaran 和 Yun, Sangdoo 和Shin、Seongjin 和Kim、Sungdong 和Thorne、James 等},期刊={arXiv 預印本arXiv:2310.08491},年份={2023}}
@misc{lee2024prometheusvision, title={Prometheus-Vision:視覺語言模型作為細粒度評估的法官}, 作者={Seongyun Lee、Seungone Kim、Sue Hyun Park、Geewook Kim 和 Minjoon Seo},年份={2024},eprint={2401.06591},archivePrefix={arXiv},primaryClass={cs.CL}}
@misc{kim2024biggen, title={BiGGen 基準:使用語言模型對語言模型進行細微評估的原則性基準}, 作者={Seungone Kim和Juyoung Suk和Ji Yong Cho和Shayne Longpre和Chaeeun Kim和Dongkeun Yoon和Guijin Son和Yejin Cho和Sheikh Shafayat和Jinheon Baek和Sue Hyun Park和Hyeonbin Hwang和Jinkyung Jo和Hyowon Cho和Haebin Shin Seongyun Lee 和Hanseok Oh 和Noah Lee 和Namgyu Ho 和Se June Joo 和Miyoung Ko 和Yoonjoo Lee 和Hyungjoo Chae 和Jamin Shin 和Joel Jang 和Seonghyeon Ye 和Bill Yuchen Lin 和Sean Welleck 和Graham Neubig 和Moontae Lee 和Kyungjae Ye 和Bill Yuchen Lin 和Sean Welleck 和Graham Neubig 和Moontae Lee 和Kyungjae Ye 和Bill Yuchen Lin 和Sean Welleck 和Graham Neubig 和Moontae Lee 和Kyungjae Ye 和Bill Yuchen Lin 和Sean Welleck, Minjoon Seo},年份={2024},eprint={2406.05761},archivePrefix={arXiv},primaryClass={cs.CL}}