मॉडल पैरामीटर को समझना और उन्हें कॉन्फ़िगर करना

मॉडल को भेजे गए हर कॉल में पैरामीटर वैल्यू शामिल होती हैं. इनसे यह कंट्रोल होता है कि मॉडल, जवाब कैसे जनरेट करता है. मॉडल, अलग-अलग पैरामीटर वैल्यू के लिए अलग-अलग नतीजे जनरेट कर सकता है. टास्क के लिए सबसे सही वैल्यू पाने के लिए, अलग-अलग पैरामीटर वैल्यू के साथ एक्सपेरिमेंट करें. अलग-अलग मॉडल के लिए उपलब्ध पैरामीटर अलग-अलग हो सकते हैं.

कॉन्फ़िगरेशन, शुरू की गई Vertex AI सेवा और मॉडल इंस्टेंस के लाइफ़टाइम के लिए बनाए रखा जाता है. मॉडल कॉन्फ़िगरेशन को अपडेट करने के लिए, मॉडल इंस्टेंस को फिर से शुरू करना होगा.

इस पेज पर आगे बताया गया है कि मॉडल पैरामीटर को कॉन्फ़िगर करने का तरीका क्या है.

हर पैरामीटर की जानकारी

सबसे सामान्य पैरामीटर ये हैं:

इस पेज के नीचे दिए गए सेक्शन में, इनमें से हर पैरामीटर के बारे में जानें.

ज़्यादा से ज़्यादा आउटपुट टोकन

जवाब में जनरेट किए जा सकने वाले टोकन की ज़्यादा से ज़्यादा संख्या. टोकन में करीब चार वर्ण होते हैं. 100 टोकन, करीब 20 शब्दों के बराबर होते हैं.

छोटे जवाबों के लिए कम वैल्यू और लंबे रिस्पॉन्स के लिए ज़्यादा वैल्यू डालें.

तापमान

रिस्पॉन्स जनरेट करने के दौरान, तापमान का इस्तेमाल सैंपलिंग के लिए किया जाता है. ऐसा तब होता है, जब topP और topK लागू किए जाते हैं. तापमान से, टोकन चुनने के लिए रैंडम तरीके से तय किए गए आंकड़े की डिग्री कंट्रोल होती है. कम तापमान ऐसे संकेतों के लिए अच्छा होता है जिनके लिए ज़्यादा सारणिक और कम विस्तार से लिखने वाली या क्रिएटिव प्रतिक्रिया की ज़रूरत होती है. वहीं, ज़्यादा तापमान से ज़्यादा अलग-अलग या क्रिएटिव नतीजे मिल सकते हैं. 0 का तापमान, डिटरमिनिस्टिक होता है. इसका मतलब है कि सबसे ज़्यादा संभावना वाले जवाब को हमेशा चुना जाता है.

ज़्यादातर मामलों में, तापमान को 0.2 से शुरू करके देखें. अगर मॉडल का जवाब बहुत सामान्य, बहुत छोटा या फ़ॉलबैक जवाब है, तो टेम्परेचर बढ़ाकर देखें.

टॉप-के

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

टोकन चुनने के हर चरण के लिए, सबसे ज़्यादा संभावना वाले टॉप-K टोकन का सैंपल लिया जाता है. इसके बाद, टोकन को टॉप-P के आधार पर और फ़िल्टर किया जाता है. साथ ही, टेंपरेचर सैंपलिंग का इस्तेमाल करके आखिरी टोकन चुना जाता है.

कम रैंडम जवाबों के लिए कम वैल्यू और ज़्यादा रैंडम जवाबों के लिए ज़्यादा वैल्यू डालें. डिफ़ॉल्ट तौर पर, टॉप-K की वैल्यू 40 होती है.

Top-P

Top-P, मॉडल के आउटपुट के लिए टोकन चुनने के तरीके में बदलाव करता है. टोकन को सबसे ज़्यादा (टॉप-K देखें) से लेकर सबसे कम संभावना वाले टोकन तक तब तक चुना जाता है, जब तक उनकी संभावनाओं का योग टॉप-P वैल्यू के बराबर न हो जाए. उदाहरण के लिए, अगर टोकन A, B, और C की संभावना 0.3, 0.2, और 0.1 है और टॉप-P वैल्यू 0.5 है, तो मॉडल अगले टोकन के तौर पर A या B को चुनेगा. इसके लिए, वह टेम्परेचर का इस्तेमाल करेगा और C को उम्मीदवार के तौर पर शामिल नहीं करेगा.

कम बेतरतीब जवाबों के लिए कम मान और ज़्यादा अनियमित जवाबों के लिए ज़्यादा मान तय करें. डिफ़ॉल्ट तौर पर, टॉप-P 0.95 होता है.

मॉडल पैरामीटर कॉन्फ़िगर करें


मॉडल शुरू करने के दौरान, generationConfig में मॉडल पैरामीटर को कॉन्फ़िगर किया जाता है. यहां एक बुनियादी उदाहरण दिया गया है:

Kotlin+KTX

// ...

val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "MODEL_NAME",
    generationConfig = config
)

// ...

Java

// ...

GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;

GenerationConfig generationConfig = configBuilder.build();

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "MODEL_NAME",
    generationConfig
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

कॉन्टेंट जनरेशन को कंट्रोल करने के अन्य विकल्प

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