Skip to content
Guides7 min read

सस्ते पहले लेबलिंग स्तर के रूप में निर्णय मॉडल

निर्णय मॉडल एक फ़ॉरवर्ड पास में हर विकल्प को अंक देता है और कोई टेक्स्ट नहीं लिखता। कम विकल्पों वाले सवालों पर यह LLM से पहले, पहले लेबलिंग स्तर का काम करता है।

Potato Team

निर्णय मॉडल तय विकल्पों वाले सवाल पर एक फ़ॉरवर्ड पास में लेबल लगाता है और हर विकल्प के लिए एक प्रायिकता लौटाता है, बिना कोई टेक्स्ट जनरेट किए। मुट्ठी भर विकल्पों वाले एक-में-से-N सवालों पर इसे लेबलिंग कैस्केड के पहले स्तर के रूप में उपयोग कीजिए, जिन आइटमों पर यह अनिश्चित है उन्हें किसी LLM के पास भेजिए, और इसके थ्रेशोल्ड को एक ब्लाइंड मानव नमूने पर प्रमाणित कीजिए, क्योंकि जिन इनपुट पर यह गलत होता है उन पर भी इसका विश्वास ऊँचा बना रह सकता है।

निर्णय मॉडल एक क्लासिफ़ायर है जो टेक्स्ट का एक अंश और टाइप किए गए सवालों का एक समूह लेता है और हर उत्तर के लिए एक प्रायिकता लौटाता है। यह कोई टेक्स्ट जनरेट नहीं करता, इसलिए यह प्रॉम्प्ट, तर्क या नियम नहीं लिख सकता। Laya इस तरह का एक ओपन मॉडल है। इसका मॉडल कार्ड Apache 2.0 लाइसेंस के तहत 421M पैरामीटर वाले ModernBERT-large एनकोडर पर एक अंग्रेज़ी चेकपॉइंट, और 322M पैरामीटर वाला एक बहुभाषी चेकपॉइंट सूचीबद्ध करता है। /v1/systemone API इसी तरह का उत्तर HTTP पर देता है, होस्टेड Jev, OpenJev या Laya के अपने सर्वर से।

पहला स्तर पैसे कहाँ बचाता है

लेबलिंग कैस्केड मॉडलों को क्रम से आज़माता है, आम तौर पर सबसे सस्ते से सबसे सक्षम तक, और किसी आइटम को आगे तभी भेजता है जब मौजूदा मॉडल पर्याप्त आश्वस्त न हो। जब किसी कॉर्पस में आसान आइटमों का बड़ा हिस्सा हो, तो उन पर आत्मविश्वास से लेबल लगाने वाला सस्ता मॉडल LLM के लिए एक छोटा, कठिन शेष छोड़ता है। बचत उस हिस्से पर निर्भर करती है, इसलिए उसके भरोसे योजना बनाने से पहले उसे अपने डेटा पर मापें।

निर्णय मॉडल पहले स्तर के लिए उपयुक्त है क्योंकि वह एक ही पास में हर विकल्प का उत्तर देता है, इसलिए पाँच लेबल वाले सवाल पर एक फ़ॉरवर्ड पास लगता है और कोई जनरेट किया गया टेक्स्ट नहीं। इसकी आउटपुट प्रायिकताएँ ही विश्वास स्कोर हैं, इसलिए इसे किसी अनुवर्ती सवाल या बार-बार सैंपलिंग की ज़रूरत नहीं होती। यह CPU पर भी चलता है। मॉडल कार्ड बताता है कि चेकपॉइंट पहले से लोड होने पर CPU पर प्रति अनुरोध 193 से 464 ms लगते हैं, और T4 GPU पर अंग्रेज़ी चेकपॉइंट के लिए 39.5 ms।

Laya की बताई गई सीमाएँ

इनमें से चार सीमाएँ Laya के मॉडल कार्ड से आती हैं, और पाँचवीं, रेटिंग स्केल वाली, Potato के दस्तावेज़ से:

  • कई विकल्प। Banking77 इंटेंट बेंचमार्क पर कार्ड बताता है कि 77 लेबलों पर Laya की सटीकता 0.425 है, जबकि 72 पर Jev की 0.870। विकल्प एक तय टोकन बजट साझा करते हैं, इसलिए लंबी लेबल सूचियाँ एक-दूसरे की जगह घेर लेती हैं। Potato का दस्तावेज़ यह भी बताता है कि 11 या ज़्यादा विकल्पों वाले सवालों पर Laya चेतावनी देता है कि उसका तापमान सीमा से बाहर है और उसे सीमा में बाँध देता है।
  • अंग्रेज़ी चेकपॉइंट पर दूसरी लिपियाँ। कार्ड बताता है कि ख्मेर टेक्स्ट पर अंग्रेज़ी चेकपॉइंट की सटीकता 0.000 और विश्वास 0.952 है। विश्वास थ्रेशोल्ड ऐसी त्रुटि नहीं पकड़ सकता जिसके बारे में मॉडल आश्वस्त हो।
  • ज़ीरो-शॉट सटीकता। कार्ड बताता है कि अपने टाइप्ड-डिसीज़न बेंचमार्क पर ज़ीरो-शॉट में बेस चेकपॉइंट संयोग के करीब हैं, 0.362 पर, जबकि यादृच्छिक आधार-रेखा 0.318 और बहुसंख्यक-वर्ग आधार-रेखा 0.461 है, और Laya को "विशेषज्ञता देने के लिए एक तेज़ आधार, ज़ीरो-शॉट निर्णय इंजन नहीं" कहता है।
  • कच्चा कैलिब्रेशन। कार्ड बताता है कि laya अति-आत्मविश्वासी रूप में आता है, जिसकी औसत अपेक्षित कैलिब्रेशन त्रुटि 0.466 है, जो आपके अपने डेटा पर तापमान दोबारा फ़िट करने के बाद 0.081 पर आ जाती है। कैलिब्रेशन डोमेन के अनुसार बदलता है, इसलिए किसी और के डेटा पर चुना गया थ्रेशोल्ड आपके डेटा पर लागू नहीं होता।
  • रेटिंग स्केल। Potato के दस्तावेज़ में पाया गया है कि likert और slider स्कीमा पर Laya के स्कोर मुश्किल से ही स्केल के साथ चल पाते हैं, सवाल के शब्द चाहे जो हों।

कुल मिलाकर, ये सीमाएँ सुझाती हैं कि निर्णय मॉडल को कुछ विकल्पों वाले एक-में-से-N सवालों पर ही रखें, उसी भाषा में जिसके लिए उसका चेकपॉइंट प्रशिक्षित हुआ था। उसका थ्रेशोल्ड अपने कॉर्पस के मानव लेबलों से चुनें।

Potato में निर्णय मॉडल

Potato 2.11 निर्णय मॉडलों के लिए दो एंडपॉइंट टाइप जोड़ता है। laya Laya को Potato प्रोसेस के भीतर चलाता है और उसे decision एक्स्ट्रा चाहिए, pip install 'potato-annotation[decision]', जो torch और transformers खींच लाता है। systemone /v1/systemone API वाले किसी भी सर्वर से बात करता है और उसे केवल एक base_url चाहिए। दोनों radio, select, likert और slider स्कीमा पर काम करते हैं, और जब इनमें से किसी को multiselect, स्पैन या फ़्री-टेक्स्ट स्कीमा पर लेबल लगाने के लिए सेट किया जाता है, तो Solo Mode शुरू नहीं होता।

लेबलिंग इंजन में, निर्णय मॉडल एक decision स्रोत है जिसे कैस्केड में पहले रखा जाता है। Potato के साथ आने वाले टेक्स्ट उदाहरण का यह अंश Laya को एक छोटे Ollama LLM से पहले रखता है और इस जोड़ी को Potato के डिफ़ॉल्ट 90% विश्वास पर 10% त्रुटि लक्ष्य के मुकाबले प्रमाणित करता है:

yaml
labeling_engine:
  enabled: true
  sources:
    - id: laya
      kind: decision
      endpoint_type: laya
      model: convaiinnovations/laya
      options:
        device: cpu
    - id: llm
      kind: llm
      endpoint_type: ollama
      model: llama3.2:3b
      base_url: http://localhost:11434
      max_tokens: 200
  cascade: [laya, llm]
  contracts:
    - id: accuracy
      kind: selective_risk
      schema: sentiment
      error: 0.1
      confidence: 0.9

इंजन Laya का विश्वास थ्रेशोल्ड एक ब्लाइंड मानव नमूने के आधे हिस्से पर चुनता है और दूसरे आधे पर उसे परखता है, इसलिए थ्रेशोल्ड मॉडल कार्ड के बजाय आपके कॉर्पस से आता है। जब तक नमूने का dev आधा हिस्सा Laya के लिए थ्रेशोल्ड तय नहीं करता, LLM हर आइटम पर लेबल लगाता है। उसके बाद LLM केवल वे आइटम देखता है जिन पर Laya निश्चित नहीं है, साथ में कैलिब्रेशन नमूना।

उदाहरण के README में दर्ज रन में, जिसमें LLM Gemma 12B था, Laya का थ्रेशोल्ड कभी तय नहीं हुआ और सभी स्वीकार किए गए लेबल LLM से आए, इसलिए पहले स्तर पर भरोसा करने से पहले मापें कि वह आपके कॉर्पस पर क्या योगदान देता है। चूँकि इंजन हर स्तर के स्वीकार किए गए लेबलों को अलग-अलग परखता है, ख्मेर वाले मामले जैसी आत्मविश्वास भरी विफलता प्रमाणन नमूने में त्रुटियों के रूप में दिखती है, बशर्ते नमूने में उस तरह का इनपुट शामिल हो। distributional कॉन्ट्रैक्ट Laya के पूरे प्रायिकता वेक्टर का भी उपयोग कर सकता है, जो उन व्यक्तिपरक सवालों के लिए उपयुक्त है जिन पर एनोटेटर बँट जाते हैं।

Solo Mode में, निर्णय मॉडल labeling_models में और confidence_routing के पहले स्तर के रूप में रहता है। Solo Mode को revision_models के तहत एक जनरेटिव मॉडल भी चाहिए, क्योंकि निर्णय मॉडल वे प्रॉम्प्ट और नियम नहीं लिख सकते जो उसका रिविज़न लूप बनाता है।

पूरे रन से पहले निर्णय मॉडल को परखना

पूरे कॉर्पस को मॉडल से गुज़ारने से पहले, उसे कुछ दर्जन ऐसे आइटमों पर चलाएँ जिन पर आप पहले ही लेबल लगा चुके हैं। Solo Mode का Try on 10 items बटन किसी प्रॉम्प्ट के लिए यही करता है, और इंजन में potato label run के बाद potato label status दिखाता है कि हर स्तर के थ्रेशोल्ड को और कितने लेबल चाहिए और किस स्रोत से त्रुटियाँ आईं। जो स्तर प्रमाणन में विफल होता है, वह कुछ भी स्वीकार नहीं करता, और अपने थ्रेशोल्ड से ऊपर के आइटम LLM के बजाय लोगों के पास भेजता है, जिससे मानव-लेबल बजट उन आइटमों पर खर्च होता है जिन पर शायद LLM लेबल लगा सकता था। अगर निर्णय मॉडल का स्तर बार-बार प्रमाणन में विफल होता है, तो उसे कैस्केड से हटा दें।

आगे पढ़ें