Prompt compression — প্রম্পট সংকোচন

From Systems analysis wiki
Jump to navigation Jump to search

প্রম্পট সংকোচন (ইংরেজি: prompt compression) — এটি প্রম্পট ইঞ্জিনিয়ারিংয়ের একটি পদ্ধতিসমূহের সমষ্টি, যা বৃহৎ ভাষা মডেলের (LLM) জন্য ইনপুট টেক্সটের (প্রম্পটের) দৈর্ঘ্য হ্রাস করার লক্ষ্যে পরিচালিত হয়, মূল তথ্য অক্ষুণ্ণ রেখে[1]। LLM-এর প্রসঙ্গ উইন্ডো লক্ষাধিক token পর্যন্ত বৃদ্ধি পাওয়ার সাথে সাথে (যেমন Google Gemini-এ) অত্যন্ত দীর্ঘ টেক্সট প্রক্রিয়া করার সুযোগ তৈরি হয়েছে, তবে এর ফলে নতুন সমস্যাও দেখা দিয়েছে: উচ্চ ব্যয়, বিলম্ব বৃদ্ধি এবং "মাঝখানে হারিয়ে যাওয়া" প্রভাবের কারণে যুক্তির মান হ্রাস[2]

প্রম্পট সংকোচন এই সমস্যাগুলি সমাধান করে, সংকুচিত ইনপুটে সবচেয়ে গুরুত্বপূর্ণ তথ্য কেন্দ্রীভূত করে এবং অপ্রয়োজনীয় অংশ বাদ দিয়ে। এটি প্রসঙ্গ সীমা অতিক্রমের ঝুঁকি হ্রাস করে, উৎপাদন ত্বরান্বিত করে এবং ব্যয় কমায়, একই সাথে উত্তরের নির্ভুলতা বজায় রাখে[3]

প্রম্পট সংকোচনের পদ্ধতি

প্রম্পট সংকোচনের পদ্ধতিগুলিকে কয়েকটি মূল শ্রেণিতে ভাগ করা যায়।

Token অপসারণ (ফিল্টারিং)

এই পদ্ধতিতে মূল টেক্সট থেকে সবচেয়ে কম তথ্যবহুল token, বাক্যাংশ বা বাক্যগুলি অবশিষ্ট অংশ পরিবর্তন না করে সরিয়ে দেওয়া হয়। token-এর গুরুত্ব হিউরিস্টিকভাবে নির্ধারিত হয়।

  • LLMLingua: Microsoft কর্তৃক উদ্ভাবিত একটি পদ্ধতি, যা প্রতিটি token-এর perplexity গণনা করে এবং যেগুলি টেক্সটের পূর্বানুমানযোগ্যতায় কম প্রভাব ফেলে সেগুলি সরিয়ে দেয়। LongLLMLingua সংস্করণে এই পদ্ধতি দীর্ঘ নথির জন্য অভিযোজিত হয়েছে, নির্দিষ্ট ব্যবহারকারীর অনুরোধের সাপেক্ষে অনুচ্ছেদের প্রাসঙ্গিকতা বিবেচনা করে[4]
  • Selective-Context: প্রতিটি token-এর self-information মূল্যায়ন করতে একটি ছোট ভাষা মডেল ব্যবহার করে এবং সবচেয়ে কম তথ্যবহুল token-গুলি বাদ দেয়[5]
  • PCRL (Prompt Compression via Reinforcement Learning): Reinforcement Learning-এর মাধ্যমে একটি agent প্রশিক্ষণ দেয় যা প্রতিটি token-এর জন্য সিদ্ধান্ত নেয় — "রাখা" বা "মুছে দেওয়া" — চূড়ান্ত উত্তরের মান মেট্রিক (যেমন ROUGE) সর্বাধিক করার লক্ষ্যে[6]

বিমূর্ত সংকোচন (সারসংক্ষেপকরণ)

এই পদ্ধতিতে একটি কম্প্রেসর মডেল (সাধারণত ছোট আকারের) মূল টেক্সটের একটি সংক্ষিপ্ত বিমূর্ত সারসংক্ষেপ তৈরি করে, যা পরে মূল LLM-এ প্রেরণ করা হয়।

  • RECOMP (Retrieval-Compression-Prompting): জ্ঞানভান্ডারের প্রতিটি নথির জন্য আগাম একটি সংক্ষিপ্ত পুনর্বর্ণনা (summary) তৈরি করা হয়, যা সম্ভাব্য ব্যবহারকারীর অনুরোধ বিবেচনা করে (query-aware summary)। এটি কেবল সংকোচনই নয়, তথ্যের পূর্ব-প্রক্রিয়াকরণও সম্ভব করে[7]
  • PRCA (Prompt Compression with Reinforced Context Aggregation): সারসংক্ষেপকারী মডেলের প্রশিক্ষণকে Reinforcement Learning-এর সাথে সমন্বিত করে, এমন পুনর্বর্ণনা তৈরি করতে যা মূল LLM-এর উত্তরের মান সর্বাধিক উন্নত করে[8]
  • Prompt-SAW (Semantic Aware Winnowing): সারসংক্ষেপের আগে টেক্সট থেকে একটি জ্ঞান গ্রাফ (সত্তা ও সম্পর্ক) বের করে, গ্রাফের প্রাসঙ্গিক নোড বাছাই করে এবং সেগুলির ভিত্তিতে সংকুচিত টেক্সট তৈরি করে[9]

নিষ্কর্ষমূলক সংকোচন

এই পদ্ধতি মূল টেক্সট থেকে মূল অনুচ্ছেদ বা অংশ পুনরায় প্রকাশ না করে বের করে আনে।

  • Reranker-LLMs: একটি reranker মডেল ব্যবহার করে যা বর্তমান অনুরোধের জন্য প্রতিটি অনুচ্ছেদ বা নথির গুরুত্ব মূল্যায়ন করে এবং কেবল সবচেয়ে প্রাসঙ্গিকগুলি বাছাই করে[10]
  • CompAct: পুনরাবৃত্তিমূলক নিষ্কর্ষণ-সারসংক্ষেপ প্রদর্শন করে। মডেলটি ধারাবাহিকভাবে দীর্ঘ টেক্সটের অংশগুলি নেয়, সেগুলি সংকুচিত করে এবং উত্তরের জন্য পর্যাপ্ত তথ্য আছে কিনা পরীক্ষা করে। না থাকলে পরবর্তী অংশ যোগ করে আবার সংকুচিত করে, মান বজায় রেখে উল্লেখযোগ্য সংকোচন অর্জন করে[11]

পাতন এবং "স্মৃতি token"

পদ্ধতির একটি নতুন শ্রেণি, যেখানে টেক্সটের পরিবর্তে মডেলটি বিশেষভাবে প্রশিক্ষিত প্রতিস্থাপক token বা embedding পায়, যাতে সংকুচিত তথ্য থাকে।

  • Gist Tokens: LLM মডেলটি দীর্ঘ নির্দেশাবলী একটি ছোট বিশেষ gist-token সেটে (যেমন কয়েক হাজারের পরিবর্তে ২০-৩০টি token) "গুটিয়ে নিতে" fine-tuning করা হয়। এই token-গুলি পরে মূল প্রম্পটের পরিবর্তে ব্যবহার করা হয়, সর্বনিম্ন মান হ্রাসে ২৬ গুণ পর্যন্ত সংকোচন নিশ্চিত করে[12]
  • Soft Prompt Tuning: টেক্সট প্রম্পটের পরিবর্তে শেখযোগ্য "ভার্চুয়াল token" (embedding) ব্যবহার করা হয়, যা নির্দিষ্ট কাজ সমাধানের জন্য সামঞ্জস্য করা হয়।
  • SelfCP: জমাটবদ্ধ LLM-কে নিজেই কম্প্রেসর হিসেবে ব্যবহারের প্রস্তাব দেয়। বিশেষ চিহ্নসহ একটি টেক্সট অংশ সরবরাহ করে, মডেলটি একটি ঘন উপস্থাপনা (memory tokens) তৈরি করে, যা পরে উত্তর দেওয়ার জন্য সে নিজেই ব্যবহার করে[13]

কার্যকারিতা ও আপোষ

  • গতি বৃদ্ধি এবং ব্যয় হ্রাস: যেহেতু transformer-এর জটিলতা ক্রমানুসারের দৈর্ঘ্যের সাপেক্ষে বর্গীয়ভাবে ($O(n^2)$) বৃদ্ধি পায়, তাই প্রম্পট কয়েকগুণ কমানো উল্লেখযোগ্য সাশ্রয় দেয়। উদাহরণস্বরূপ, ২৬ গুণ সংকোচনে gist tokens ৪০% পর্যন্ত FLOPs সাশ্রয় দেখায়[12]
  • মানের উন্নতি: কখনো কখনো প্রম্পট সংকোচন উত্তরের মান আরও উন্নত করতে পারে, যদি মূল টেক্সটে শব্দের মিশ্রণ বা বিভ্রান্তিকর বিবরণ থাকে। অপ্রাসঙ্গিক প্রসঙ্গ সরানো মডেলকে কাজের গুরুত্বপূর্ণ দিকগুলিতে আরও ভালো মনোযোগ দিতে সাহায্য করে।
  • মানের আপোষ (faithfulness): অতিরিক্ত আক্রমণাত্মক সংকোচন গুরুত্বপূর্ণ বিবরণ (তারিখ, নাম, নেতিবাচকতা) হারিয়ে ফেলতে পারে, যা উত্তরের মান খারাপ করবে। বিমূর্ত পদ্ধতিগুলি বিশেষভাবে হ্যালুসিনেশনের ঝুঁকিতে থাকে। সংকুচিত প্রম্পটের সম্পূর্ণতা এবং নির্ভুলতা (faithfulness) নিয়ন্ত্রণ করা একটি মূল কাজ।

অন্যান্য দিকের সাথে সম্পর্ক

  • Retrieval-Augmented Generation (RAG): RAG এবং প্রম্পট সংকোচন ঘনিষ্ঠভাবে সম্পর্কিত। RAG-কে একটি বাহ্যিক সংকোচন পর্যায় হিসেবে বিবেচনা করা যেতে পারে: পুরো ডেটাবেস প্রক্রিয়া করার পরিবর্তে প্রাসঙ্গিক নথি অনুসন্ধান ও বাছাই করা হয়। প্রম্পট সংকোচন RAG-কে পরিপূরক করে, LLM-এ প্রেরণের আগে ইতিমধ্যে বাছাই করা নথির পরিমাণ কমিয়ে।
  • In-Context Learning: প্রসঙ্গে উদাহরণগুলি (প্রদর্শনী) প্রম্পটের দৈর্ঘ্য উল্লেখযোগ্যভাবে বাড়িয়ে দেয়। এই প্রদর্শনীগুলির সংকোচন (যেমন 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. [৫]