LangSmith 功能上新 — 分享評(píng)估數(shù)據(jù)集和結(jié)果

官方博客:https://blog.langchain.dev/public-langsmith-benchmarks/
今天給大家分享的是 LangChain 最近在其工程平臺(tái) LangSmith 上新增的一個(gè)重要功能 —— 公開(kāi)分享評(píng)估數(shù)據(jù)集和結(jié)果。
LangSmith 作為 LangChain 的模型評(píng)估工具,它可以讓用戶輕松地在一個(gè)頁(yè)面上比較不同模型架構(gòu)在同一任務(wù)上的表現(xiàn)。但是到現(xiàn)在為止,評(píng)估數(shù)據(jù)集和結(jié)果都是私有的,用戶之間無(wú)法共享。這次 LangChain 新增了“共享測(cè)試”的功能,允許任何 LangSmith 的用戶發(fā)布數(shù)據(jù)和評(píng)測(cè)指標(biāo),使得所有人都可以在相同的測(cè)試集上評(píng)估不同的模型架構(gòu)。這樣可以更好地提取出各架構(gòu)之間的優(yōu)劣勢(shì)。

此外,由于 LangChain 通過(guò) LangSmith?不僅記錄了最終的指標(biāo),還包括了完整的執(zhí)行跟蹤。這意味著我們可以超越系統(tǒng)級(jí)的輸出,一步步地分析不同系統(tǒng)對(duì)同一數(shù)據(jù)的處理流程。這對(duì)我們?cè)\斷和改進(jìn)系統(tǒng)的行為非常有幫助。
LangChain 同時(shí)也發(fā)布了 langchain-benchmarks 代碼庫(kù)。通過(guò)這個(gè)庫(kù),我們可以輕松地在同一數(shù)據(jù)集上測(cè)試不同的模型,重現(xiàn)公開(kāi)的結(jié)果,或是測(cè)試我們自己的模型。
下面我們一起來(lái)展開(kāi)一些細(xì)節(jié)。
首個(gè)發(fā)布的 QA 測(cè)試集
LangChain 首先發(fā)布的是一個(gè)針對(duì) LangChain Python 文檔的問(wèn)答測(cè)試集。這個(gè)測(cè)試集包含一系列人工編寫(xiě)的問(wèn)答對(duì)。問(wèn)題需要系統(tǒng)綜合多個(gè)文檔的信息進(jìn)行邏輯推理才能回答正確。
這個(gè)測(cè)試集已經(jīng)包含了幾種常見(jiàn)模型架構(gòu)的評(píng)測(cè)結(jié)果:
使用的語(yǔ)言模型(OpenAI、Anthropic、一些開(kāi)源模型)
使用的認(rèn)知架構(gòu)(會(huì)話式檢索鏈、Agent)
我們主要關(guān)注兩個(gè)指標(biāo):預(yù)測(cè)答案與標(biāo)準(zhǔn)答案的余弦相似度、以及 LangChain 開(kāi)發(fā)的基于?LLM?的評(píng)分器(Scoring Evaluator)給出的準(zhǔn)確率分?jǐn)?shù)。

在這個(gè)測(cè)試結(jié)果中,我們可以看到一個(gè)基于 Mistral 7B 的 RAG 系統(tǒng)和基于 GPT-3.5 的 RAG 系統(tǒng)的對(duì)比。從整體指標(biāo)來(lái)看,GPT-3.5 的表現(xiàn)明顯優(yōu)于 Mistral 7B。
但是從樣本級(jí)別來(lái)看,Mistral 的某些回答則更加準(zhǔn)確。它不像 GPT-3.5 有時(shí)會(huì)產(chǎn)生幻覺(jué)并生成一些錯(cuò)誤信息。通過(guò)鏈路追逐,我們可以進(jìn)一步分析這些系統(tǒng)的行為。
例如有一個(gè)例子,Mistral 受一篇不太相關(guān)的文檔的影響,提到了錯(cuò)誤的類名。而如果我們改變文檔的輸入順序,它可以給出正確的回答。這啟發(fā)我們可以通過(guò)改進(jìn)文檔排序來(lái)提高性能。
我們也看到基于 Agent 的方法與基于會(huì)話的方法進(jìn)行了比較。前者可以自主決定使用檢索工具的次數(shù)和查詢語(yǔ)句。而 OpenAI 最新發(fā)布的 Assistant API 則取得了最高的指標(biāo)分?jǐn)?shù),它利用 OpenAI 的執(zhí)行邏輯來(lái)決定查詢和響應(yīng)。
LangChain Benchmarks 庫(kù)的使用
為了讓大家可以在該測(cè)試集上測(cè)試自己的模型,LangChain 同時(shí)發(fā)布了 langchain-benchmarks 庫(kù)。這個(gè)庫(kù)可以方便地針對(duì)關(guān)鍵功能進(jìn)行基準(zhǔn)測(cè)試,如問(wèn)答、抽取等。
它提供了運(yùn)行不同語(yǔ)言模型、提示工程、索引技術(shù)等的接口,讓我們可以快速評(píng)估不同決策的權(quán)衡取舍,選擇最適合自己應(yīng)用的方案。
langchain-benchmarks 庫(kù)目前已經(jīng)被開(kāi)源,LangChain 團(tuán)隊(duì)也解釋了開(kāi)源的主要目的,包括:
展示如何收集每個(gè)任務(wù)的基準(zhǔn)測(cè)試數(shù)據(jù)集
公開(kāi)每個(gè)任務(wù)使用的基準(zhǔn)測(cè)試數(shù)據(jù)集
展示如何評(píng)估每個(gè)任務(wù)
鼓勵(lì)其他人在這些任務(wù)上測(cè)試他們的解決方案
綜合而言,LangChain 發(fā)布的這個(gè)基準(zhǔn)測(cè)試集為我們提供了一個(gè)開(kāi)放的平臺(tái),可以評(píng)估語(yǔ)言模型在真實(shí)場(chǎng)景下的性能。我們不僅可以比較指標(biāo),還可以查看詳細(xì)的執(zhí)行鏈路來(lái)分析系統(tǒng)的行為。這對(duì)選擇合適的模型架構(gòu)非常有幫助。LangChain 團(tuán)隊(duì)也計(jì)劃繼續(xù)增加更多基準(zhǔn)任務(wù),覆蓋各種常見(jiàn)使用場(chǎng)景,讓我們一起期待!

