पाठ 10 / 25

Slices से पक्षपात जाँचना

एक कुल संख्या बताने की जगह समूहों और भाषाओं में गुणवत्ता की तुलना करें।

टुकड़े देखें

कुल मिलाकर 92% सटीक system एक समूह के लिए 97% और दूसरे के लिए 70% सटीक हो सकता है। नतीजे टुकड़ों में बताएँ: भाषा (अंग्रेज़ी बनाम हिंदी), बोली, क्षेत्र, आयु समूह, विषय, या कोई भी अन्य गुण जो आपके users के लिए प्रासंगिक है और परीक्षण में उपयोग की अनुमति है। बड़े अंतर का मतलब है कि system कुछ लोगों की बेहतर सेवा करता है। बेहतर डेटा, prompts या evaluation sets से सुधारें, और launch से पहले तय करें कि कितना अंतर स्वीकार्य है।

औसत से आगे

औसत score किसी बुरी तरह प्रभावित समूह को छिपा सकता है। निष्पक्षता और privacy को स्पष्ट जाँच और रिकॉर्ड चाहिए।

तीन आदतें: टुकड़े देखें, रक्षा करें, दस्तावेज़ बनाएँ।
चित्र 4.1 — टुकड़े देखें, रक्षा करें और दस्तावेज़ बनाएँ।

Slice के अनुसार accuracy

एक छोटा हल किया उदाहरण। कुल accuracy 0.75 है, पर हिंदी 0.5 पर और अंग्रेज़ी 1.0 पर है। गिनती भी हमेशा देखें: बहुत छोटे slices शोर भरे अंक देते हैं।

results = [("en", True), ("en", True), ("en", True), ("en", True),
           ("hi", True), ("hi", False), ("hi", False), ("hi", True)]

print("overall", sum(ok for _, ok in results) / len(results))
for lang in ("en", "hi"):
    sl = [ok for l, ok in results if l == lang]
    print(lang, sum(sl) / len(sl), "n =", len(sl))

Output:

overall 0.75
en 1.0 n = 4
hi 0.5 n = 4

हिंदी और मिश्रित-भाषा tests रखें

Models का परीक्षण अक्सर मुख्यतः अंग्रेज़ी में होता है। आपके users हिंदी, Hinglish या अन्य भारतीय भाषाओं में लिखते हों तो उन भाषाओं में भी test मामले बनाएँ, वरना गुणवत्ता का अंतर आपको तभी दिखेगा जब users को दिखेगा।

त्वरित जाँच: सिर्फ़ कुल की जगह slice के अनुसार accuracy क्यों बताएँ?

  • कुल औसत किसी बुरी तरह प्रभावित समूह को छिपा सकता है
  • Slices हमेशा ज़्यादा सटीक होते हैं
  • कुल अंक अवैध हैं
  • इससे compute बचता है
Answer

कुल औसत किसी बुरी तरह प्रभावित समूह को छिपा सकता है — समूहों के बीच अंतर तभी दिखते हैं जब नतीजे तोड़कर देखे जाएँ।