Keras में Gemma मॉडल का विश्लेषण करने के लिए LIT का इस्तेमाल करना

1. परिचय

जनरेटिव एआई प्रॉडक्ट काफ़ी नए हैं. साथ ही, किसी ऐप्लिकेशन का व्यवहार, सॉफ़्टवेयर के पुराने वर्शन के मुकाबले काफ़ी अलग हो सकता है. इसलिए, इस्तेमाल किए जा रहे मशीन लर्निंग मॉडल की जांच करना, मॉडल के व्यवहार के उदाहरणों की जांच करना, और अचानक होने वाली घटनाओं की जांच करना ज़रूरी है.

लर्निंग इंटरप्रिटेबिलिटी टूल (एलआईटी; वेबसाइट, GitHub) एक ऐसा प्लैटफ़ॉर्म है जिस पर एमएल मॉडल को डीबग और विश्लेषण किया जा सकता है. इससे यह समझने में मदद मिलती है कि ये मॉडल किस तरह और क्यों काम करते हैं.

इस कोडलैब में, आपको Google के Gemma मॉडल का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, लिट का इस्तेमाल करने का तरीका पता चलेगा. इस कोडलैब में, प्रॉम्प्ट इंजीनियरिंग के अलग-अलग तरीकों का विश्लेषण करने के लिए, क्रम की अहमियत का इस्तेमाल करने का तरीका बताया गया है. यह एक ऐसी तकनीक है जिससे डेटा को समझा जा सकता है.

सीखने के लक्ष्य:

  1. मॉडल के विश्लेषण में, क्रम की अहमियत और उसके इस्तेमाल को समझना.
  2. Gemma के लिए लिट सेट अप करना, ताकि प्रॉम्प्ट आउटपुट और क्रम की अहमियत का हिसाब लगाया जा सके.
  3. एलएम सेलिएंस मॉड्यूल की मदद से, सीक्वेंस सेलिएंस का इस्तेमाल करके, मॉडल के आउटपुट पर प्रॉम्प्ट डिज़ाइन के असर को समझना.
  4. LIT में प्रॉम्प्ट में किए गए सुधारों की जांच करना और उनका असर देखना.

ध्यान दें: यह कोडलैब, KerasNLP लागू करने के लिए Gemma और बैकएंड के लिए TensorFlow v2 का इस्तेमाल करता है. हमारा सुझाव है कि इस प्रोसेस को समझने के लिए, जीपीयू कर्नेल का इस्तेमाल करें.

LIT यूज़र इंटरफ़ेस (यूआई) का डेमो

2. सीक्वेंस की अहमियत और मॉडल के विश्लेषण में इसका इस्तेमाल

टेक्स्ट-टू-टेक्स्ट जनरेटिव मॉडल, जैसे कि Gemma, टोकन किए गए टेक्स्ट के तौर पर इनपुट सीक्वेंस लेते हैं और ऐसे नए टोकन जनरेट करते हैं जो उस इनपुट के लिए सामान्य फ़ॉलो-ऑन या पूरे होते हैं. यह जनरेशन एक बार में एक टोकन होता है. साथ ही, नए जनरेट किए गए हर टोकन को इनपुट और पिछली जनरेशन के साथ लूप में जोड़ा जाता है. ऐसा तब तक किया जाता है, जब तक मॉडल किसी रोकने की शर्त तक न पहुंच जाए. उदाहरण के लिए, जब मॉडल सीक्वेंस के आखिर में (ईओएस) टोकन जनरेट करता है या तय की गई ज़्यादा से ज़्यादा लंबाई तक पहुंच जाता है.

अहमियत बताने वाले तरीके, एक्सप्लेनेबल एआई (एक्सएआई) तकनीकों की एक क्लास हैं. इनसे आपको यह पता चल सकता है कि किसी इनपुट के कौनसे हिस्से, मॉडल के आउटपुट के अलग-अलग हिस्सों के लिए अहम हैं. LIT, अलग-अलग तरह के कैटगरी तय करने के टास्क के लिए, अहम जानकारी देने वाले तरीकों का इस्तेमाल करता है. इन तरीकों से, अनुमानित लेबल पर इनपुट टोकन के क्रम के असर के बारे में पता चलता है. सीक्वेंस की अहमियत, इन तरीकों को टेक्स्ट-टू-टेक्स्ट जनरेटिव मॉडल में लागू करती है. साथ ही, जनरेट किए गए टोकन पर, पहले के टोकन के असर के बारे में बताती है.

यहां आपको क्रम की अहमियत के लिए, Grad L2 Norm तरीके का इस्तेमाल करना होगा. यह मॉडल के ग्रेडिएंट का विश्लेषण करता है और यह बताता है कि आउटपुट पर, पहले के हर टोकन का कितना असर पड़ा है. यह तरीका आसान और असरदार है. साथ ही, यह कैटगरी और अन्य सेटिंग में अच्छी परफ़ॉर्म करता है. सालिएंसी स्कोर जितना ज़्यादा होगा, असर उतना ही ज़्यादा होगा. इस तरीके का इस्तेमाल LIT में किया जाता है, क्योंकि इसे आसानी से समझा जा सकता है और इसे एक्सप्लेनेबल एआई की रिसर्च कम्यूनिटी में बड़े पैमाने पर इस्तेमाल किया जाता है.

ग्रेडिएंट पर आधारित अहमियत के ज़्यादा बेहतर तरीकों में, Grad ⋅ Input और इंटिग्रेटेड ग्रेडिएंट शामिल हैं. एब्लेशन पर आधारित तरीके भी उपलब्ध हैं. जैसे, LIME और SHAP. ये तरीके ज़्यादा असरदार हो सकते हैं, लेकिन इनका इस्तेमाल करने के लिए ज़्यादा खर्च करना पड़ता है. अहमियत दिखाने के अलग-अलग तरीकों की ज़्यादा जानकारी के लिए, यह लेख पढ़ें.

सामान्य से अलग दिखने वाले एलिमेंट के बारे में जानकारी देने वाले इस इंटरैक्टिव एक्सप्लोरबल में, साफ़ तौर पर दिखने वाले एलिमेंट के तरीकों के बारे में ज़्यादा जानें.

3. इंपोर्ट, एनवायरमेंट, और अन्य सेटअप कोड

नए Colab में इस कोडलैब को फ़ॉलो करना सबसे अच्छा है. हमारा सुझाव है कि आप ऐक्सेलरेटर रनटाइम का इस्तेमाल करें, क्योंकि आपको मॉडल को मेमोरी में लोड करना होगा. हालांकि, ध्यान रखें कि ऐक्सेलरेटर के विकल्प समय के साथ बदलते रहते हैं और उन पर सीमाएं लागू होती हैं. अगर आपको ज़्यादा बेहतर ऐक्सेलरेटर का ऐक्सेस चाहिए, तो Colab पैसे चुकाकर ली जाने वाली सदस्यताएं ऑफ़र करता है. इसके अलावा, अगर आपकी मशीन में सही जीपीयू है, तो लोकल रनटाइम का इस्तेमाल किया जा सकता है.

ध्यान दें: आपको फ़ॉर्म से जुड़ी कुछ चेतावनियां दिख सकती हैं

ERROR: pip's dependency resolver does not currently take into account all the
packages that are installed. This behaviour is the source of the following
dependency conflicts. bigframes 0.21.0 requires scikit-learn>=1.2.2, but you
have scikit-learn 1.0.2 which is incompatible. google-colab 1.0.0 requires
ipython==7.34.0, but you have ipython 8.14.0 which is incompatible.

इन्हें अनदेखा किया जा सकता है.

LIT और Keras NLP इंस्टॉल करना

इस कोडलैब के लिए, आपको keras (3) keras-nlp (0.14.) और lit-nlp (1.2) का नया वर्शन चाहिए. साथ ही, बेस मॉडल डाउनलोड करने के लिए, आपके पास Kaggle खाता होना चाहिए.

pip install -q -U 'keras >= 3.0' 'keras-nlp >= 0.14' 'lit-nlp >= 1.2'

Kaggle का ऐक्सेस

Kaggle की मदद से पुष्टि करने के लिए, इनमें से कोई एक तरीका अपनाएं:

  • अपने क्रेडेंशियल किसी फ़ाइल में सेव करें, जैसे कि ~/.kaggle/kaggle.json;
  • KAGGLE_USERNAME और KAGGLE_KEY एनवायरमेंट वैरिएबल का इस्तेमाल करें या
  • Google Colab जैसे इंटरैक्टिव Python एनवायरमेंट में, नीचे दिए गए कोड चलाएं.
import kagglehub

kagglehub.login()

ज़्यादा जानकारी के लिए, kagglehub दस्तावेज़ देखें. साथ ही, Gemma का लाइसेंस समझौता स्वीकार करना न भूलें.

Keras को कॉन्फ़िगर करना

Keras 3, डीप लर्निंग के कई बैकएंड के साथ काम करता है. इनमें Tensorflow (डिफ़ॉल्ट), PyTorch, और JAX शामिल हैं. KERAS_BACKEND एनवायरमेंट वैरिएबल का इस्तेमाल करके, बैकएंड को कॉन्फ़िगर किया जाता है. इसे Keras लाइब्रेरी इंपोर्ट करने से पहले सेट करना ज़रूरी है. नीचे दिए गए कोड स्निपेट में, इंटरैक्टिव Python एनवायरमेंट में इस वैरिएबल को सेट करने का तरीका बताया गया है.

import os

os.environ["KERAS_BACKEND"] = "tensorflow"  # or "jax" or "torch"

4. एलआईटी सेट अप करना

LIT का इस्तेमाल, Python नोटबुक में या वेब सर्वर के ज़रिए किया जा सकता है. इस कोडलैब में, नोटबुक के इस्तेमाल के उदाहरण पर फ़ोकस किया गया है. हमारा सुझाव है कि इसे Google Colab में आज़माएं.

इस कोडलैब में, KerasNLP प्रीसेट का इस्तेमाल करके, Gemma v2 2B IT को लोड किया जाएगा. यहां दिया गया स्निपेट, Gemma को शुरू करता है और LIT नोटबुक विजेट में एक उदाहरण डेटासेट लोड करता है.

from lit_nlp.examples.prompt_debugging import notebook as lit_pdbnb

lit_widget = lit_pdbnb.make_notebook_widget(
    ['sample_prompts'],
    ["gemma2_2b_it:gemma2_instruct_2b_en"],
)

दो ज़रूरी पोज़िशनल आर्ग्युमेंट में दी गई वैल्यू बदलकर, विजेट को कॉन्फ़िगर किया जा सकता है:

  • datasets_config: "dataset:path" के तौर पर, डेटासेट के नाम और लोड करने के लिए पाथ वाली स्ट्रिंग की सूची. पाथ, यूआरएल या लोकल फ़ाइल का पाथ हो सकता है. नीचे दिए गए उदाहरण में, LIT डिस्ट्रिब्यूशन में दिए गए उदाहरण के प्रॉम्प्ट लोड करने के लिए, खास वैल्यू sample_prompts का इस्तेमाल किया गया है.
  • models_config: स्ट्रिंग की एक सूची, जिसमें मॉडल के नाम और "model:path" के तौर पर लोड करने के लिए पाथ शामिल होते हैं. पाथ, यूआरएल, लोकल फ़ाइल पाथ या कॉन्फ़िगर किए गए डीप लर्निंग फ़्रेमवर्क के लिए प्रीसेट का नाम हो सकता है.

अपनी पसंद के मॉडल का इस्तेमाल करने के लिए LIT को कॉन्फ़िगर करने के बाद, अपनी नोटबुक में विजेट को रेंडर करने के लिए, यहां दिया गया कोड स्निपेट चलाएं.

lit_widget.render(open_in_new_tab=True)

अपना डेटा इस्तेमाल करना

टेक्स्ट से टेक्स्ट जनरेट करने वाले मॉडल के तौर पर, Gemma टेक्स्ट इनपुट लेता है और टेक्स्ट आउटपुट जनरेट करता है. LIT, लोड किए गए डेटासेट के स्ट्रक्चर को मॉडल के साथ शेयर करने के लिए, राय देने वाले एपीआई का इस्तेमाल करता है. लिट में एलएलएम, ऐसे डेटासेट के साथ काम करने के लिए डिज़ाइन किए गए हैं जो दो फ़ील्ड उपलब्ध कराते हैं:

  • prompt: मॉडल का वह इनपुट जिससे टेक्स्ट जनरेट किया जाएगा; और
  • target: टारगेट सीक्वेंस, जो ज़रूरी नहीं है. जैसे, रेटिंग देने वाले लोगों का "ग्राउंड ट्रूथ" जवाब या किसी दूसरे मॉडल से पहले से जनरेट किया गया जवाब.

LIT में sample_prompts का एक छोटा सेट शामिल है. इसमें इस Codelab और LIT के तुरंत डीबग करने के ट्यूटोरियल के साथ काम करने वाले सोर्स के उदाहरण शामिल हैं.

  • GSM8K: कुछ उदाहरणों की मदद से, स्कूली स्तर के गणित के सवालों को हल करना.
  • Gigaword बेंचमार्क: छोटे लेखों के कलेक्शन के लिए हेडलाइन जनरेशन.
  • संविधान से जुड़े प्रॉम्प्ट: दिशा-निर्देशों/सीमाओं के साथ ऑब्जेक्ट इस्तेमाल करने के नए तरीके जनरेट करना.

अपना डेटा आसानी से लोड किया जा सकता है. इसके लिए, .jsonl फ़ाइल में prompt फ़ील्ड और target फ़ील्ड (उदाहरण) के साथ रिकॉर्ड शामिल करें या LIT के डेटासेट एपीआई का इस्तेमाल करके, किसी भी फ़ॉर्मैट से डेटा लोड करें.

सैंपल प्रॉम्प्ट लोड करने के लिए, नीचे दी गई सेल को चलाएं.

5. LIT में, जेमा के लिए कुछ उदाहरणों के साथ डाले गए प्रॉम्प्ट का विश्लेषण करना

आज के समय में, प्रॉम्प्ट करना एक कला है, जिसे विज्ञान के साथ-साथ समझा जा सकता है. LIT की मदद से, Gemma जैसे लार्ज लैंग्वेज मॉडल के लिए प्रॉम्प्ट को बेहतर बनाया जा सकता है. आगे, आपको एक उदाहरण दिखेगा. इसमें बताया गया है कि Gemma के व्यवहार को एक्सप्लोर करने, संभावित समस्याओं का अनुमान लगाने, और उसकी सुरक्षा को बेहतर बनाने के लिए, LIT का इस्तेमाल कैसे किया जा सकता है.

जटिल प्रॉम्प्ट में गड़बड़ियों की पहचान करना

एलएलएम पर आधारित प्रोटोटाइप और ऐप्लिकेशन की अच्छी क्वालिटी के लिए, प्रॉम्प्ट करने की दो सबसे अहम तकनीकें हैं: फ़्यू-शॉट प्रॉम्प्टिंग (इसमें प्रॉम्प्ट में, मनचाहे व्यवहार के उदाहरण शामिल होते हैं) और चेन-ऑफ़-थॉट (इसमें एलएलएम के फ़ाइनल आउटपुट से पहले, जानकारी देने या तर्क करने का एक तरीका शामिल होता है). हालांकि, असरदार प्रॉम्प्ट बनाना अब भी मुश्किल है.

किसी व्यक्ति को यह पता लगाने में मदद करने का उदाहरण दें कि उसकी पसंद के हिसाब से, उसे खाना पसंद आएगा या नहीं. थिंकिंग चेन के प्रोटोटाइप का शुरुआती प्रॉम्प्ट-टेंप्लेट कुछ ऐसा दिख सकता है:

def analyze_menu_item_template(food_likes, food_dislikes, menu_item):
  return f"""Analyze a menu item in a restaurant.

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in france is usually great
Recommendation: Likely good.

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in france
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.

## Now analyze one more example:

Taste-likes: {food_likes}
Taste-dislikes: {food_dislikes}
Suggestion: {menu_item}
Analysis:"""

क्या आपको इस प्रॉम्प्ट में समस्याएं मिली हैं? LIT, एलएम सेलिएंस मॉड्यूल की मदद से प्रॉम्प्ट की जांच करने में आपकी मदद करेगा.

6. डीबग करने के लिए, सीक्वेंस की अहमियत का इस्तेमाल करना

अहमियत का हिसाब, सबसे छोटे लेवल पर लगाया जाता है.जैसे, हर इनपुट टोकन के लिए. हालांकि, LIT, टोकन की अहमियत को लाइन, वाक्य या शब्द जैसे बड़े स्पैन में इकट्ठा कर सकता है, ताकि उन्हें आसानी से समझा जा सके. Saliency Explorable में, अहम जानकारी के बारे में ज़्यादा जानें. साथ ही, अनजाने में हुए पक्षपात की पहचान करने के लिए, इसका इस्तेमाल करने का तरीका जानें.

चलिए, प्रॉम्प्ट-टेंप्लेट वैरिएबल के लिए, प्रॉम्प्ट को एक नया उदाहरण इनपुट देकर शुरुआत करते हैं:

food_likes = """Cheese"""
food_dislikes = """Can't eat eggs"""
menu_item = """Quiche Lorraine"""

prompt = analyze_menu_item_template(food_likes, food_dislikes, menu_item)
print(prompt)

fewshot_mistake_example = {'prompt': prompt}  # you'll use this below
Analyze a menu item in a restaurant.

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in france is usually great
Recommendation: Likely good.

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in france
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.

## Now analyze one more example:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis:

अगर आपने ऊपर दी गई सेल या किसी अलग टैब में LIT का यूज़र इंटरफ़ेस (यूआई) खोला है, तो यह प्रॉम्प्ट जोड़ने के लिए, LIT के डेटापॉइंट एडिटर का इस्तेमाल किया जा सकता है:

LIT Datapoint Editor

विजेट को सीधे तौर पर अपनी पसंद के प्रॉम्प्ट के साथ फिर से रेंडर करने का भी एक तरीका है:

lit_widget.render(data=[fewshot_mistake_example])

मॉडल के पूरा होने की तारीख पर ध्यान दें:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: A savoury tart with cheese and eggs
Recommendation: You might not like it, but it's worth trying.

मॉडल आपको ऐसा खाना क्यों सुझा रहा है जिसे आपने साफ़ तौर पर कहा था कि आपको नहीं खाना है?

सीक्वेंस की अहमियत से, मूल समस्या को हाइलाइट करने में मदद मिल सकती है. यह समस्या, हमारे कुछ शॉट वाले उदाहरणों में है. पहले उदाहरण में, विश्लेषण सेक्शन it has cooked onions in it, which you don't like में दी गई वजह, फ़ाइनल सुझाव You have to try it से मेल नहीं खाती.

एलएम सेलिअंस मॉड्यूल में, "वाक्य" चुनें. इसके बाद, सुझाव वाली लाइन चुनें. अब यूज़र इंटरफ़ेस (यूआई) कुछ इस तरह दिखेगा:

लिट सेलिअंस

इससे मानवीय भूल का पता चलता है: सुझाव वाले हिस्से को गलती से कॉपी करके चिपकाया गया और उसे अपडेट नहीं किया गया!

अब पहले उदाहरण में "सुझाव" को Avoid में बदलें और फिर से कोशिश करें. LIT में, सैंपल प्रॉम्प्ट में यह उदाहरण पहले से लोड होता है. इसलिए, इसे पाने के लिए इस छोटे-से यूटिलिटी फ़ंक्शन का इस्तेमाल किया जा सकता है:

def get_fewshot_example(source: str) -> str:
  for example in datasets['sample_prompts'].examples:
    if example['source'] == source:
      return example['prompt']
  raise ValueError(f'Source "{source}" not found in the dataset.')

lit_widget.render(data=[{'prompt': get_fewshot_example('fewshot-fixed')}])

अब मॉडल पूरा होने की स्थिति इस तरह दिखेगी:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: This dish contains eggs and cheese, which you don't like.
Recommendation: Avoid.

इससे यह अहम सबक मिलता है: प्रोटोटाइप बनाने से पहले ही, उन जोखिमों का पता चल जाता है जिनके बारे में शायद आपने पहले न सोचा हो. साथ ही, भाषा मॉडल में गड़बड़ियां होने की संभावना होती है. इसलिए, आपको गड़बड़ियों को ध्यान में रखकर डिज़ाइन करना होगा. एआई की मदद से डिज़ाइन करने के बारे में ज़्यादा जानकारी के लिए, हमारी लोग + एआई गाइडबुक देखें.

कुछ शॉट वाले प्रॉम्प्ट को ठीक करने के बाद, यह बेहतर हो गया है. हालांकि, यह अब भी पूरी तरह सही नहीं है: इसमें उपयोगकर्ता को अंडे खाने से बचने के लिए सही तरीके से कहा गया है, लेकिन वजह सही नहीं है. इसमें कहा गया है कि उन्हें अंडे पसंद नहीं हैं, जबकि असल में उपयोगकर्ता ने बताया है कि वे अंडे नहीं खा सकते. अगले सेक्शन में, आपको यह जानकारी मिलेगी कि बेहतर कैसे किया जा सकता है.

7. मॉडल के व्यवहार को बेहतर बनाने के लिए, अनुमान का टेस्ट करना

LIT की मदद से, एक ही इंटरफ़ेस में प्रॉम्प्ट में किए गए बदलावों की जांच की जा सकती है. इस उदाहरण में, आपको मॉडल के व्यवहार को बेहतर बनाने के लिए, संविधान जोड़ने की जांच करनी है. कॉन्स्टिट्यूशन, डिज़ाइन प्रॉम्प्ट के सिद्धांतों को रेफ़र करते हैं. इनसे मॉडल बनाने में मदद मिलती है. हाल ही के तरीकों से, संविधान के सिद्धांतों को इंटरैक्टिव तरीके से भी समझा जा सकता है.

इस आइडिया का इस्तेमाल करके, प्रॉम्प्ट को और बेहतर बनाते हैं. प्रॉम्प्ट के सबसे ऊपर, जनरेशन के सिद्धांतों वाला सेक्शन जोड़ें. यह सेक्शन अब इस तरह से शुरू होता है:

Analyze a menu item in a restaurant.

* The analysis should be brief and to the point.
* The analysis and recommendation should both be clear about the suitability for someone with a specified dietary restriction.

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: Avoid.

...

lit_widget.render(data=[{'prompt': get_fewshot_example('fewshot-constitution')}])

इस अपडेट के बाद, उदाहरण को फिर से चलाया जा सकता है और एक अलग आउटपुट देखा जा सकता है:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: This dish contains eggs, which you can't eat.
Recommendation: Not suitable for you.

इसके बाद, प्रॉम्प्ट की अहमियत की फिर से जांच की जा सकती है, ताकि यह पता चल सके कि यह बदलाव क्यों हो रहा है:

लिट सेलिअंस

ध्यान दें कि यह सुझाव ज़्यादा सुरक्षित है. इसके अलावा, "आपके लिए सही नहीं है" का लेबल, खान-पान से जुड़ी पाबंदी के हिसाब से, साफ़ तौर पर बताने के सिद्धांत के साथ-साथ विश्लेषण (इसे 'सोच की चेन' भी कहा जाता है) से तय होता है. इससे यह पक्का करने में मदद मिलती है कि आउटपुट सही वजह से हो रहा है.

8. मॉडल की जांच और एक्सप्लोरेशन में गैर-तकनीकी टीमों को शामिल करना

एक्सप्लेनेबल एआई को बनाने के लिए, टीम के सभी सदस्यों की ज़रूरत होती है. इसमें एक्सएआई, नीति, कानून वगैरह से जुड़ी विशेषज्ञता की ज़रूरत होती है.

मॉडल के शुरुआती चरणों में, उनसे इंटरैक्ट करने के लिए, आम तौर पर तकनीकी विशेषज्ञता की ज़रूरत होती है. इस वजह से, कुछ सहयोगियों के लिए मॉडल को ऐक्सेस करना और उनमें बदलाव करना मुश्किल हो जाता है. अब तक, ऐसी कोई टूल नहीं थी जिससे ये टीमें प्रोटोटाइप बनाने के शुरुआती चरणों में हिस्सा ले सकें.

हमें उम्मीद है कि लिट की मदद से, इस पैराडाइम में बदलाव हो सकता है. जैसा कि आपने इस कोडलैब में देखा है, लिट का विज़ुअल मीडियम और अहम जानकारी की जांच करने और उदाहरणों को एक्सप्लोर करने की इंटरैक्टिव क्षमता, अलग-अलग हिस्सेदारों को नतीजों को शेयर करने और उनके बारे में बताने में मदद कर सकती है. इससे, मॉडल एक्सप्लोरेशन, जांच करने, और डीबग करने के लिए, अलग-अलग तरह के टीममेट्स को शामिल किया जा सकता है. इन तकनीकी तरीकों के बारे में बताने से, वे मॉडल के काम करने के तरीके को बेहतर तरीके से समझ पाते हैं. इसके अलावा, मॉडल की शुरुआती जांच में अलग-अलग तरह की विशेषज्ञता से, ऐसे नतीजों का पता चल सकता है जिन्हें बेहतर बनाया जा सकता है.

9. रीकैप

ज़रूरी बातों पर फिर से एक नज़र:

  • LIT यूज़र इंटरफ़ेस, इंटरैक्टिव मॉडल को चलाने के लिए एक इंटरफ़ेस उपलब्ध कराता है. इससे उपयोगकर्ता सीधे आउटपुट जनरेट कर सकते हैं और "क्या होगा, अगर" स्थितियों की जांच कर सकते हैं. यह सुविधा, प्रॉम्प्ट के अलग-अलग वैरिएशन की जांच करने के लिए खास तौर पर मददगार है.
  • एलएलएम की अहमियत का मॉड्यूल, अहमियत को विज़ुअल तौर पर दिखाता है. साथ ही, डेटा की बारीकी से जानकारी देता है, ताकि मॉडल के हिसाब से बनाए गए कॉन्स्ट्रक्ट (जैसे, टोकन) के बजाय, इंसान के हिसाब से बनाए गए कॉन्स्ट्रक्ट (जैसे, वाक्य और शब्द) के बारे में बताया जा सके.

अगर आपको अपने मॉडल के आकलन में समस्या वाले उदाहरण मिलते हैं, तो उन्हें डीबग करने के लिए LIT में लाएं. सबसे पहले, कॉन्टेंट की उस सबसे बड़ी यूनिट का विश्लेषण करें जो मॉडलिंग टास्क से तार्किक रूप से जुड़ी हो. इसके बाद, विज़ुअलाइज़ेशन का इस्तेमाल करके देखें कि मॉडल, प्रॉम्प्ट कॉन्टेंट को सही तरीके से या गलत तरीके से कहां पर ध्यान दे रहा है. इसके बाद, कॉन्टेंट की छोटी यूनिट में ड्रिल-डाउन करके, गलत व्यवहार के बारे में ज़्यादा जानकारी दें, ताकि समस्या को ठीक करने के तरीकों की पहचान की जा सके.

आखिर में: Lit को लगातार बेहतर बनाया जा रहा है! हमारी सुविधाओं के बारे में ज़्यादा जानें और अपने सुझाव यहां शेयर करें.