Prompt compression — प्रॉम्प्ट संपीड़न

From Systems analysis Wiki
Jump to navigation Jump to search

प्रॉम्प्ट संपीड़न (अंग्रेज़ी: prompt compression) — यह prompt engineering में विधियों का एक समुच्चय है, जो बड़े भाषा मॉडलों (LLM) के लिए इनपुट टेक्स्ट (prompt) की लंबाई को मुख्य जानकारी बनाए रखते हुए कम करने पर केंद्रित है[1]। LLM की context window के लाखों token तक बढ़ने (जैसे Google Gemini में) के साथ बहुत लंबे टेक्स्ट को संसाधित करना संभव हो गया, किंतु इससे नई समस्याएँ उत्पन्न हुईं: API कॉल की उच्च लागत, विलंबता में वृद्धि और "खो जाना बीच में" (lost in the middle) प्रभाव के कारण तर्क की गुणवत्ता में गिरावट[2]

प्रॉम्प्ट संपीड़न इन समस्याओं को हल करता है, संकुचित इनपुट में सबसे महत्त्वपूर्ण डेटा को केंद्रित करके और अनावश्यक सामग्री को हटाकर। इससे context सीमा पार होने का जोखिम कम होता है, उत्तर निर्माण तेज़ होता है और लागत घटती है, साथ ही उत्तरों की सटीकता बनी रहती है[3]

प्रॉम्प्ट संपीड़न की विधियाँ

प्रॉम्प्ट संपीड़न की विधियों को कई मुख्य वर्गों में विभाजित किया जा सकता है।

Token हटाना (फ़िल्टरिंग)

इस दृष्टिकोण में मूल टेक्स्ट से सबसे कम जानकारीपूर्ण token, वाक्यांश या वाक्यों को शेष भागों में बदलाव किए बिना हटाया जाता है। Token का महत्त्व अनुमानात्मक (heuristic) रूप से निर्धारित किया जाता है।

  • LLMLingua: Microsoft द्वारा विकसित एक विधि, जो प्रत्येक token की perplexity की गणना करती है और उन्हें हटाती है जो टेक्स्ट की पूर्वानुमेयता पर कम प्रभाव डालते हैं। LongLLMLingua संस्करण में यह दृष्टिकोण लंबे दस्तावेज़ों के लिए अनुकूलित किया गया है, जो उपयोगकर्ता के विशिष्ट प्रश्न के सापेक्ष अंशों की प्रासंगिकता को ध्यान में रखता है[4]
  • Selective-Context: प्रत्येक token की self-information का मूल्यांकन करने के लिए एक छोटे भाषा मॉडल का उपयोग करता है और सबसे कम जानकारीपूर्ण token को हटाता है[5]
  • PCRL (Prompt Compression via Reinforcement Learning): Reinforcement Learning की सहायता से एक agent को प्रशिक्षित करता है जो प्रत्येक token के लिए निर्णय लेता है — "रखना" या "हटाना" — अंतिम उत्तर की गुणवत्ता metric (जैसे ROUGE) को अधिकतम करने के लक्ष्य से[6]

अमूर्त संपीड़न (सारांशीकरण)

इस दृष्टिकोण में एक compressor मॉडल (आमतौर पर छोटे आकार का) मूल टेक्स्ट का एक संक्षिप्त अमूर्त सारांश तैयार करता है, जिसे फिर मुख्य LLM को भेजा जाता है।

  • RECOMP (Retrieval-Compression-Prompting): ज्ञान आधार के प्रत्येक दस्तावेज़ के लिए पहले से एक संक्षिप्त पुनर्कथन (summary) तैयार किया जाता है, जो उपयोगकर्ता के संभावित प्रश्नों (query-aware summary) को ध्यान में रखता है। इससे न केवल संपीड़न बल्कि जानकारी की पूर्व-प्रसंस्करण भी संभव होती है[7]
  • PRCA (Prompt Compression with Reinforced Context Aggregation): summarizer मॉडल के प्रशिक्षण को Reinforcement Learning के साथ जोड़ता है, ताकि ऐसे पुनर्कथन तैयार किए जा सकें जो मुख्य LLM के उत्तरों की गुणवत्ता को अधिकतम बेहतर बनाएँ[8]
  • Prompt-SAW (Semantic Aware Winnowing): सारांशीकरण से पहले टेक्स्ट से एक ज्ञान ग्राफ़ (सत्ताएँ और संबंध) निकालता है, ग्राफ़ के प्रासंगिक नोड्स का चयन करता है और उनके आधार पर संकुचित टेक्स्ट तैयार करता है[9]

निष्कर्षण आधारित संपीड़न

यह विधि मूल टेक्स्ट से मुख्य अंशों (वाक्यों, अनुच्छेदों) को बिना पुनर्वाक्यीकरण के निकालती है।

  • Reranker-LLMs: एक reranker मॉडल का उपयोग करता है जो वर्तमान प्रश्न के लिए प्रत्येक अनुच्छेद या दस्तावेज़ के महत्त्व का मूल्यांकन करता है और केवल सबसे प्रासंगिक का चयन करता है[10]
  • CompAct: पुनरावृत्त निष्कर्षण-सारांशीकरण प्रदर्शित करता है। मॉडल क्रमशः लंबे टेक्स्ट के खंड लेता है, उन्हें संकुचित करता है और जाँचता है कि उत्तर के लिए पर्याप्त जानकारी है या नहीं। यदि नहीं, तो अगला खंड जोड़ता है और फिर से संकुचित करता है, जिससे गुणवत्ता बनाए रखते हुए उल्लेखनीय संपीड़न प्राप्त होता है[11]

Distillation और "मेमोरी token"

विधियों का एक नया वर्ग, जहाँ टेक्स्ट के स्थान पर मॉडल को विशेष रूप से प्रशिक्षित प्रतिस्थापक token या embedding प्राप्त होते हैं जिनमें संकुचित जानकारी होती है।

  • Gist Tokens: LLM मॉडल को fine-tuning के माध्यम से लंबे निर्देशों को विशेष gist-token के एक छोटे समूह (जैसे हज़ारों के बजाय 20-30 token) में "समेटना" सिखाया जाता है। इन token का उपयोग फिर मूल prompt के स्थान पर किया जाता है, जिससे न्यूनतम गुणवत्ता हानि के साथ 26 गुना तक संपीड़न प्राप्त होता है[12]
  • Soft Prompt Tuning: टेक्स्ट prompt के बजाय प्रशिक्षण योग्य "वर्चुअल token" (embedding) का उपयोग किया जाता है, जिन्हें किसी विशेष कार्य को हल करने के लिए समायोजित किया जाता है।
  • SelfCP: स्वयं frozen LLM को compressor के रूप में उपयोग करने का प्रस्ताव रखता है। विशेष चिह्नों के साथ टेक्स्ट का एक खंड प्रस्तुत करके, मॉडल एक सघन प्रतिनिधित्व (memory tokens) तैयार करता है, जिसका उपयोग वह स्वयं उत्तर देने के लिए करता है[13]

दक्षता और समझौते

  • त्वरण और लागत में कमी: चूँकि transformer की जटिलता अनुक्रम की लंबाई के साथ द्विघातीय ($O(n^2)$) रूप से बढ़ती है, prompt को कई गुना कम करने से उल्लेखनीय बचत होती है। उदाहरण के लिए, gist tokens 26 गुना संपीड़न पर FLOPs में 40% तक की बचत दर्शाते हैं[12]
  • गुणवत्ता में सुधार: कभी-कभी प्रॉम्प्ट संपीड़न उत्तरों की गुणवत्ता में सुधार भी कर सकता है, यदि मूल टेक्स्ट में शोर या ध्यान भटकाने वाले विवरण थे। अप्रासंगिक संदर्भ को हटाने से मॉडल को कार्य के महत्त्वपूर्ण पहलुओं पर बेहतर ध्यान केंद्रित करने में सहायता मिलती है।
  • गुणवत्ता का समझौता (faithfulness): अत्यधिक आक्रामक संपीड़न से महत्त्वपूर्ण विवरणों (तारीखें, नाम, नकारात्मकताएँ) की हानि हो सकती है, जिससे उत्तर की गुणवत्ता घट जाएगी। अमूर्त विधियाँ विशेष रूप से hallucination के जोखिम के प्रति संवेदनशील हैं। संकुचित prompt की पूर्णता और सटीकता (faithfulness) का नियंत्रण एक प्रमुख कार्य है।

अन्य दिशाओं से संबंध

  • Retrieval-Augmented Generation (RAG): RAG और प्रॉम्प्ट संपीड़न घनिष्ठ रूप से जुड़े हैं। RAG को बाहरी संपीड़न के एक चरण के रूप में देखा जा सकता है: पूरे डेटाबेस को संसाधित करने के बजाय प्रासंगिक दस्तावेज़ों की खोज और चयन किया जाता है। प्रॉम्प्ट संपीड़न RAG को पूरक बनाता है, LLM में भेजने से पहले पहले से चुने गए दस्तावेज़ों की मात्रा को कम करके।
  • In-Context Learning: संदर्भ में उदाहरण (demonstrations) prompt की लंबाई को उल्लेखनीय रूप से बढ़ा देते हैं। इन demonstrations का संपीड़न (जैसे Instruction Distillation के माध्यम से, जहाँ अनेक उदाहरणों को एक छोटे निर्देश से प्रतिस्थापित किया जाता है) एक सक्रिय शोध क्षेत्र है।

साहित्य

  • Ali, M. et al. (2024). Prompt-SAW: Semantic-Aware Winnowing for Prompt Compression. arXiv:2403.00000.
  • Gao, J.; Cao, Z.; Li, W. (2024). SelfCP: Compressing Over-Limit Prompt via the Frozen Large Language Model Itself. arXiv:2405.17052.
  • Jiang, H. et al. (2023). LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models. arXiv:2310.05736.
  • Jiang, H. et al. (2023). LongLLMLingua: Accelerating and Enhancing LLMs in Long-Context Scenarios via Prompt Compression. arXiv:2310.06839.
  • Jung, H.; Kim, K. (2023). PCRL: Discrete Prompt Compression with Reinforcement Learning. arXiv:2308.08758.
  • Li, M. et al. (2023). Selective-Context: Compressing Context to Summarise and Answer Questions. arXiv:2307.00000.
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. NeurIPS 2023.
  • Xu, F.; Shi, W.; Choi, E. (2023). RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation. arXiv:2310.04408.
  • Yang, C. et al. (2023). PRCA: Prompt Compression with Reinforced Context Aggregation. arXiv:2311.00000.
  • Yoon, J. et al. (2024). CompAct: Interactive Prompt Compression for Long-Document QA. arXiv:2402.00000.
  • Zhang, S. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
  • Jha, S. et al. (2024). Characterizing Prompt Compression Methods for Long Context Inference. arXiv:2407.08892.

टिप्पणी

  1. Jha, S., et al. (2024). «Characterizing Prompt Compression Methods for Long Context Inference». arXiv. [१]
  2. «Efficient Prompting Methods for Large Language Models: A Survey». arXiv. [२]
  3. «Prompt Compression: A Guide With Python Examples». DataCamp. [३]
  4. Jiang, H., et al. (2023). «LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models». arXiv.
  5. Li, M. (2023). «Compressing context to summarize and answer questions». arXiv.
  6. Jung, H., & Kim, K. (2023). «Learning to Compress Prompts with Reinforcement Learning». arXiv.
  7. Xu, F., et al. (2024). «RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation». arXiv.
  8. Yang, C., et al. (2023). «PRCA: A new framework for prompt compression». arXiv.
  9. Ali, M., et al. (2024). «Prompt-SAW: A new method for prompt compression». arXiv.
  10. Pradeep, R., et al. (2023). «How to select the best passages for RAG?». arXiv.
  11. Yoon, J., et al. (2024). «CompAct: A new framework for interactive prompt compression». arXiv.
  12. 12.0 12.1 Mu, J., et al. (2023). «Learning to Compress Prompts with Gist Tokens». OpenReview. [४]
  13. Gao, C., et al. (2024). «SelfCP: Compressing Over-Limit Prompt via the Frozen Large Language Model Itself». arXiv. [५]