LLM से एजेंट तक: मॉडल और एप्लिकेशन के बीच की परतों को समझना
Google/DeepMind
OpenAI
Mistral
यह लेख LLM और एजेंट एप्लिकेशन के बीच की परतों की पड़ताल करता है, जिसमें टोकनाइज़ेशन, सैंपलिंग और KV-कैश से लेकर चैट टेम्पलेट और जिंजा, तथा मॉडल स्टोरेज फॉर्मेट और llama.cpp जैसे रनटाइम शामिल हैं। यह सामान्य समस्याओं जैसे रीज़निंग टोकन द्वारा जनरेशन बजट की खपत और कॉन्टेक्स्ट लंबाई संबंधी मुद्दों को समझाता है।
यह लेख एलएलएम से एजेंट तक के पूरे पथ का वर्णन करता है। मूल रूप से, मॉडल एक ऑटोरिग्रेसिव लूप में अगले टोकन की भविष्यवाणी करता है, जिसमें टेक्स्ट को टोकन आईडी में बदलने के लिए टोकनाइज़र और वापस बदलने के लिए डीटोकनाइज़र का उपयोग किया जाता है। केवी-कैश पिछले की-वैल्यू जोड़ियों को संग्रहीत करके जनरेशन को तेज करता है। मॉडल द्वारा अपेक्षित इनपुट टेक्स्ट रॉ जेसन नहीं है, बल्कि मॉडल के चैट टेम्पलेट के अनुसार एक स्वरूपित प्रॉम्प्ट है, जो एक जिंजा टेम्पलेट है जो संदेशों की सूची को विशेष टोकन (जैसे, चैटएमएल, लामा 3) वाले स्ट्रिंग में बदलता है। तर्क मॉडल के लिए, प्रॉम्प्ट में एक <think> ब्लॉक शामिल हो सकता है; यदि मॉडल तर्क पर बहुत अधिक टोकन खर्च करता है, तो अंतिम उत्तर देने से पहले उसका जनरेशन बजट समाप्त हो सकता है। लेख यह भी बताता है कि बिलिंग और संदर्भ लंबाई एपीआई जेसन पर नहीं, बल्कि चैट टेम्पलेट के बाद टोकनाइज़ किए गए प्रॉम्प्ट पर आधारित होती है। डिस्क पर मॉडल भंडारण में सेफटेन्सर वेट, config.json, टोकनाइज़र फ़ाइलें, और tokenizer_config.json में chat_template शामिल होता है। llama.cpp जैसे रनटाइम इन घटकों को एक जीजीयूएफ फ़ाइल में बंडल करते हैं, जो टेक्स्ट से टेक्स्ट तक एक उच्च-स्तरीय इंटरफ़ेस प्रदान करता है।
स्रोत: Habr — хаб ML —
मूल
