पाठ 16 / 25

LLM Judges और इंसानी सहमति

खुले उत्तरों को अंक देने के लिए model उपयोग करें, पर सहमति आँकड़ों से इंसानी labels के विरुद्ध उसे जाँचें।

Judge को परखें

खुले उत्तरों को एक अपेक्षित string से नहीं मिलाया जा सकता, इसलिए टीमें अक्सर स्पष्ट rubric ("क्या उत्तर सही, पूर्ण और स्रोतों में आधारित है?") के साथ दूसरे model को judge की तरह उपयोग करती हैं। Judges लंबे उत्तरों या अपनी शैली की ओर झुक सकते हैं, और ग़लतियाँ करते हैं। इसलिए एक नमूने पर judge की तुलना इंसानी labels से करें। Cohen का kappa संयोग से आगे की सहमति मापता है: 0 का मतलब संयोग स्तर, 1 का मतलब पूर्ण सहमति, और लगभग 0.4 से 0.6 के मान सिर्फ़ मध्यम हैं।

Cohen का kappa, चलाकर

मैंने यह दस उत्तरों पर चलाया जिन्हें इंसान और judge दोनों ने label किया। वे 10 में से 8 पर सहमत हैं (80%), पर संयोग वाली सहमति हटाने पर kappa सिर्फ़ लगभग 0.52 है, इसलिए judge सिर्फ़ मध्यम रूप से भरोसेमंद है।

def kappa(a, b):
    n = len(a)
    po = sum(x == y for x, y in zip(a, b)) / n
    labels = set(a) | set(b)
    pe = sum((a.count(l) / n) * (b.count(l) / n) for l in labels)
    return round((po - pe) / (1 - pe), 3), round(po, 3)

human = ["good","good","bad","good","bad","good","good","bad","good","good"]
judge = ["good","good","bad","good","good","good","good","bad","good","bad"]
print(kappa(human, judge))

Output:

(0.524, 0.8)

Rubric सुधारें, फिर दोबारा जाँचें

अस्पष्ट rubrics शोर भरे judges देते हैं। पास और फ़ेल के उदाहरणों के साथ ठोस मानदंड लिखें, judge को फिर इंसानों से मिलाकर जाँचें, और सबसे महत्वपूर्ण मामलों में इंसानों को शामिल रखें।

त्वरित जाँच: Cohen का kappa क्या मापता है?

  • प्रति token लागत
  • Model की गति
  • दो raters के बीच वह सहमति जो संयोग से आगे हो
  • Disk उपयोग
Answer

दो raters के बीच वह सहमति जो संयोग से आगे हो — Kappa कच्ची सहमति को संयोग से अपेक्षित सहमति के लिए सुधारता है।