在人工智慧(AI)領域,處理評估者之間的意見不合變得越來越重要,尤其是在大型語言模型(LLMs)和健康等專業領域。過去一年,我幫助開放了兩個數據集,讓人們能夠研究健康領域的評估者意見不合:一個是重新標註的 MedQA 數據集,這是一個評估醫療 LLMs 的重要基準;另一個是包含皮膚病分類的鑑別診斷評分的數據集。這兩個數據集都可以在 GitHub 上找到。
處理評估者之間的意見不合變得越來越重要,尤其是在評估大型語言模型(LLMs)時,但在健康等領域也同樣重要。在過去幾年中,我參與了多個專案,這些專案必須處理評估者之間的意見不合,以評估 AI 模型。不幸的是,我發現許多公開可用的數據集並未提供原始評分。對於某些數據集,例如 CIFAR10,後續的工作可能提供了人類評分,在 CIFAR10 的情況下,這個數據集稱為 CIFAR10-H,但這仍然是例外。這也使得分享專業知識和有效地基準不同的方法變得困難。
在這篇文章中,我想分享我們今年發布的兩個數據集:首先是基於我們在皮膚病分類中模糊真相工作的「皮膚科鑑別診斷(Dermatology DDx)」數據集[1, 2];其次是我們作為 Med-Gemini 工作的一部分收集的「重新標註的 MedQA(Relabeled MedQA)」數據集[3]。這兩個數據集都包含各種格式的原始評分,並已在 GitHub 上發布,包括分析的代碼。
重新標註的 MedQA
一位研究人員正在進行一項實驗,研究小鼠腎臟中某些物質在近端捲曲小管中的管腔液和血漿之間的相對濃度。根據圖 A 所示的圖表,以下哪一項最能描述尿素的管腔液與血漿的濃度比?
圖 1:一個 MedQA USMLE 測試問題的範例,提到了一個缺失的圖形。
MedQA 數據集,特別是它的 USMLE 部分,包括美國醫學執照考試的訓練問題,已成為評估和比較醫療 LLMs 的關鍵基準。微軟的 MedPrompt 論文以及我們在 Med-Gemini 上的工作都強調了在 MedQA 上的準確性。然而,仔細查看典型的 MedQA 問題後,我們擔心自發布以來,所有問題是否仍然適合評估。例如,我們發現一些問題包含輔助信息,如實驗室報告或圖像,但這些信息並未包含在上下文中。上述圖 1 中包含了一個範例。此外,雖然原始論文基準了人類臨床醫生在該數據集上的表現,但問題本身是從考試準備網站獲得的(見論文中的表 A.1)。這也意味著問題及其答案的最新程度不明,與臨床醫生的討論表明,MedQA 的標籤可能存在問題。
圖 2:我們的兩步評估者研究設計。
為了確保我們報告的 MedQA 數據是可靠的,我們決定重新標註 MedQA USMLE 測試集,以 (a) 確定涉及缺失信息的問題,(b) 確定標註錯誤,以及 (c) 找出允許多個正確答案的問題。為了達成這個目標,我們遵循了如圖 2 所示的兩步研究設計,首先請臨床醫生自己回答 MedQA 問題,然後再顯示真相並給予他們選擇更正答案的選項——同意真相標籤或不同意。如果評估者認為多個答案可能正確,我們允許他們選擇多個答案。我們為每個問題獲得至少 3 個評分。為了解決這三位評估者之間的意見不合,我們使用簡單的自助抽樣策略來評估 LLMs,使用這些新標籤。具體做法如下:我們重複隨機抽取每個問題的 3 位評估者,然後進行一致投票,以決定是否排除某個問題的評估 (a) 因為缺失信息,(b) 因為標註錯誤,或 (c) 因為多個答案被認為正確。然後,我們對所有自助抽樣的準確性進行平均,並創建圖 3 來總結結果。
圖 3:在根據自助評分過濾掉不適合評估的問題後,Med-Gemini 的結果。
完整數據可以在 GitHub 上找到,包括執行上述分析並生成圖 3 的 Colab。
GitHub上的數據
我們的標註的 MedQA 問題可以在 medqa_relabelling.csv 中找到,並包括每個評分的以下列:
索引列;
時間:標註任務的時間(毫秒);
worker_id:匿名工作者 ID;
qid:問題 ID;
問題:MedQA 問題;
A 到 D:MedQA 的答案選項;
answer_idx:MedQA 的真相答案;
info_missing 和 important_info_missing:評估者是否指出問題中的信息缺失,以及這些信息是否被評為回答問題的重要信息;
blind_answerable 和 seen_answerable:評估者在顯示真相答案之前(blind_)和之後(seen_)是否認為一個或多個選項可以回答問題;
blind_answers 和 seen_answers:如果問題可以回答,則選擇的答案;
seen_change:評估者在顯示真相後是否更新了他們的答案。
皮膚科鑑別診斷(Dermatology DDx)
雖然評估者之間的意見不合目前在 LLMs 的背景下受到關注,但在許多標準分類任務中也很重要。例如,在從圖像中進行皮膚病分類的過程中,我們通常允許皮膚科醫生選擇多個可能的病症,並按可能性排序。這種病症的排序也可以包括平局。我將這種格式稱為鑑別診斷(ddx),這也激發了數據集的名稱。允許每個例子有多個評分可能會導致相當複雜的意見不合,如下圖 4 所示,這是一個特別棘手的例子。
圖 4:皮膚科鑑別診斷數據集的概覽以及具體範例,說明專家標註的格式。
通常,我們希望將所有這些評分聚合起來,以獲得一個單一的真相病症,然後我們可以根據這個病症評估準確性,例如,以 top-k 準確性(將 top-k 預測與單一真相病症進行比較)的形式。在我們的附帶論文中,我們探索了各種統計模型來聚合意見不合的評估者。然而,我們也可以像上面對 MedQA 的做法一樣,採用自助抽樣方法:我們隨機抽取固定數量的評估者並聚合這些評分為一個單一的排名;然後,我們將這個排名的 top-1 作為真相病症並評估模型。自助抽樣意見不合的評估者會導致獲得的真相病症更頻繁地變化,這在平均自助抽樣時會被考慮進去。
同樣,數據可以在 GitHub 上獲得——這包括我們模型的預測和皮膚科醫生的評分;它不包括原始圖像,因為它旨在作為評估者聚合方法的基準:
GitHub上的數據
數據集分為以下文件:
data/dermatology_selectors.json:專家標註的部分排名。這些部分排名被編碼為所謂的「選擇器」:對於每個案例,有多個部分排名,每個部分排名是一組分類(即皮膚病)的列表。下面的範例來自圖 1,描述了一個部分排名,其中「血管瘤」排名第一,然後是一組三種病症,包括「色素痣」、「黑色素瘤」和「O/E」。在 JSON 文件中,這些病症被編碼為數字,數字與病症名稱的對應關係可以在 data/dermatology_conditions.txt 中找到。
[‘血管瘤’], [‘色素痣’, ‘黑色素瘤’, ‘O/E’]
data/dermatology_predictions[0-4].json:模型 A 到 D 的模型預測,保存為 1947 x 419 的浮點數數組,使用 numpy.savetxt 保存,格式為 “%.3e”。
data/dermatology_conditions.txt:每個類別的病症名稱。
data/dermatology_risks.txt:每個病症的風險類別,其中 0 對應低風險,1 對應中風險,2 對應高風險。
結論
通過這兩個數據集,重新標註的 MedQA 和皮膚科鑑別診斷(Dermatology DDx),我們希望能夠在這些基準上實現更可靠的評估,並促進對聚合可能意見不合的評估者的更多研究。
[1] Stutz, David, et al. “在不確定真相下評估 AI 系統:皮膚科的案例研究。” arXiv 預印本 arXiv:2307.02191 (2023)。
[2] Stutz, David, et al. “在模糊真相下的符合預測。” arXiv 預印本 arXiv:2307.09302 (2023)。
[3] Saab, Khaled, et al. “Gemini 模型在醫學中的能力。” arXiv 預印本 arXiv:2404.18416 (2024)。
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!