ভালো স্নিপেটের জন্য কোয়েরি-সচেতন কনটেক্সট কম্প্রেশন
কোয়েরি-সচেতন কনটেক্সট কম্প্রেশন মডেলের মাধ্যমে মডেল প্রেক্ষাপটের গুণমান-দক্ষতার সীমানা উন্নত করা।
প্রতিটি উত্তর প্রমাণের মাধ্যমে শুরু হয়। একটি সার্চ সিস্টেমে, এই প্রমাণ সাধারণত নথি থেকে আসে: শিরোনাম, সারাংশ, অংশ এবং স্নিপেট যা একটি উত্তর মডেল বা এজেন্টের কাছে প্রেক্ষাপট হিসেবে পাস করা হয়।
এই কাঁচা প্রেক্ষাপটটি গোলমেলে। উদাহরণস্বরূপ, একটি ওয়েব পেজে ব্যবহারকারীর অনুরোধের জন্য প্রয়োজনীয় তথ্য থাকতে পারে, তবে এতে বিভ্রান্তিকর উপাদানও থাকতে পারে। এই বিভ্রান্তিকর উপাদানগুলি প্রধান মূল অংশে এবং সহায়ক উপাদানগুলিতে উভয় ক্ষেত্রেই উপস্থিত হতে পারে, যেমন নেভ টেক্সট উপাদান, অপ্রাসঙ্গিক বিজ্ঞাপন, মেটাডেটা এবং আরও অনেক কিছু। ডাউনস্ট্রিম এজেন্টের কাছে এই বিভ্রান্তিকর উপাদানগুলি পাস করার ফলে তিনটি সমস্যার সৃষ্টি হয়।
প্রথমত, এটি নির্ভুলতাকে ক্ষতিগ্রস্ত করে। এমনকি সবচেয়ে শক্তিশালী মডেলগুলিরও সীমিত ক্ষমতা রয়েছে। অপ্রাসঙ্গিক তথ্যের দীর্ঘ ধারা মডেলের ক্ষমতা অপচয় করে, যার ফলে "কনটেক্সট রট" ঘটে যা প্রকৃত ব্যবহারকারীর অনুরোধ মোকাবেলা করার মডেলের ক্ষমতাকে ব্যাহত করে। ফলস্বরূপ, চূড়ান্ত প্রতিক্রিয়া মূল তথ্য বাদ পড়ার, নিম্নমানের তথ্যকে অতিরিক্ত গুরুত্ব দেওয়ার বা সোর্সে ভিত্তি করা কঠিন এমন দাবি তৈরি করার সম্ভাবনা বেশি থাকে।
দ্বিতীয়ত, এটি লেটেন্সি বা প্রতিক্রিয়ার বিলম্ব কমায় না বরং বাড়িয়ে দেয়। দীর্ঘতর প্রেক্ষাপটের অর্থ হল ডাউনস্ট্রিম মডেলের প্রক্রিয়াকরণের জন্য আরও বেশি টোকেন, বিশেষ করে যখন কোনো কোয়েরির জন্য অনেক প্রার্থী পেজ থেকে প্রমাণের প্রয়োজন হয়। যদিও এই লেটেন্সির খরচের একটি অংশ প্রিফিল পর্যায়ে বহন করা হয়, তবে যুক্তিসংগতার ক্ষেত্রে আরও অনেক বেশি খরচ দিতে হয়, কারণ অপ্রাসঙ্গিক প্রেক্ষাপট মোকাবেলার জন্য মডেলগুলির আরও বেশি রিজনিং টোকেনের প্রয়োজন হয়।
তৃতীয়ত, এটি খরচ বাড়িয়ে দেয়। মডেলে পাস করা প্রতিটি অপ্রয়োজনীয় টোকেন ব্যবহারকারীর অনুরোধ পরিবেশন করাকে আরও ব্যয়বহুল করে তোলে, কারণ গোলমেলে প্রেক্ষাপটের সাথে ইনপুট টোকেন এবং রিজনিং টোকেন উভয় ব্যবহারই বৃদ্ধি পায়। বিভ্রান্তিকর উপাদানগুলি কেবল গুণমান কমায় না; তারা শেষ পর্যন্ত আপনাকে সেই খারাপ মানের জন্য আরও বেশি অর্থ প্রদান করতে বাধ্য করে।
Perplexity-এর অ্যাপ্লিকেশন এবং API Platform-এ একই সাথে নির্ভুলতা, গতি এবং খরচ-কার্যকারিতা উন্নত করতে, আমরা প্রেক্ষাপটের নির্ভুলতা উন্নত করার জন্য প্রচুর বিনিয়োগ করি। আমরা যেভাবে এটি করি তার মধ্যে একটি উপায় হলো আমাদের স্নিপেট জেনারেশন অ্যালগরিদম পরিমার্জন করা। আমরা স্নিপেট জেনারেশনকে একটি কনটেক্সট কম্প্রেশন সমস্যা হিসেবে বিবেচনা করি। নির্দিষ্ট তথ্য খোঁজার মডেলগুলি কোনো নথির সাধারণ সারাংশ বা উদ্ধৃতি থেকে উপকৃত হয় না। বরং, ব্যবহারকারীর অনুরোধে সাড়া দেওয়ার জন্য তাদের উৎস তথ্যের সবচেয়ে ছোট, সবচেয়ে নিখুঁতভাবে নিষ্কাশিত অংশ প্রয়োজন। অন্য সবকিছু অপসারণ করা যেতে হবে এবং করা আবশ্যক।
তাই একটি ভালো স্নিপেটের তিনটি জিনিস করা উচিত:
মডেলের প্রতিক্রিয়ায় ভিত্তি দেওয়ার জন্য প্রয়োজনীয় সুনির্দিষ্ট প্রমাণ উপস্থাপন করে নির্ভুলতা প্রচার করা।
LLM কল করার আগে অপ্রাসঙ্গিক প্রেক্ষাপট সরিয়ে দিয়ে লেটেন্সি এবং খরচ কমানো।
উৎস নির্দেশ বা সাইটেশন বিশ্বস্ততা বজায় রেখে এবং উৎসের শব্দবিন্যাস অক্ষুণ্ণ রেখে ট্রেসেবিলিটি বা ট্র্যাকিংয়ের সুবিধা নিশ্চিত করা।
এই মাসে, আমরা আমাদের অ্যাপ্লিকেশন এবং API Platform-এর মধ্যে একটি নতুন, অত্যাধুনিক স্নিপেট জেনারেটর স্থাপন করেছি। এই মডিউলের মূল অংশটি হলো একটি কোয়েরি-সচেতন কনটেক্সট কম্প্রেশন মডেল যা প্রতিটি কোয়েরি এবং প্রার্থী ফলাফলের জন্য সিদ্ধান্ত নেয় যে স্প্যানগুলির কোন উপসেটটি সংরক্ষণ করা উচিত। এই নিবন্ধটি এই গুরুত্বপূর্ণ কাজটি সম্পাদন করতে বেস্ট-ইন-ক্লাস পারফরম্যান্স অর্জনের জন্য মডেল তৈরি এবং প্রশিক্ষণ দেওয়ার আমাদের পদ্ধতি বর্ণনা করে।
কোয়েরি-সচেতন কম্প্রেশন হিসেবে স্নিপেট
ব্যবসার প্রথম ক্রম হলো কাজটি নিজে সংজ্ঞায়িত করা। আমরা এই মডেলটি দিয়ে কী করতে চাই, এবং ইনপুট ও আউটপুট স্কিমা আমাদের কীভাবে সংজ্ঞায়িত করা উচিত?
স্নিপেট পদ্ধতিগুলি দুটি বিস্তৃত পরিবারে বিভক্ত। প্রথমটি হলো সিলেকশন-ভিত্তিক বা নির্বাচন-ভিত্তিক: একটি প্রাসঙ্গিক উইন্ডো, অংশ, বাক্য বা অনুচ্ছেদ খুঁজুন এবং এটিকে ডাউনস্ট্রিম পাস করুন। দ্বিতীয়টি হলো জেনারেশন-ভিত্তিক বা তৈরি করা ভিত্তিক: পেজ থেকে একটি কোয়েরি-ফোকাসড সারাংশ লেখার জন্য একটি মডেলকে বলুন।
নির্ভুলতা, লেটেন্সি এবং খরচের উপর আমাদের ফোকাস ডিজাইনের পছন্দটিকে স্পষ্ট করে তোলে। আমরা জেনারেশন বাদ দিতে পারি, যেহেতু প্রতিটি পেজের জন্য একটি নতুন সারাংশ তৈরি করা তিনটি ফোকাস জুড়েই পারফরম্যান্সকে ক্ষতিগ্রস্ত করে। সামারাইজেশন বা সারসংক্ষেপ তৈরি করা আমাদের কাছে গুরুত্বপূর্ণ প্রমাণ স্তরের জন্য একটি খারাপ ফিট। এটি উৎসের প্যারাফ্রেজ বা ভাবানুবাদ করতে পারে, যা সাইটেশন অ্যালাইনমেন্টকে আরও কঠিন করে তোলে। এটি এমন শব্দবিন্যাসও প্রবর্তন করতে পারে যা পেজে উপস্থিত ছিল না, যা ঝুঁকিপূর্ণ যখন স্নিপেটটিকে চূড়ান্ত উত্তরের পরিবর্তে প্রমাণ হিসাবে ব্যবহার করা হয়। এর সাথে জড়িত লেটেন্সি এবং খরচ জেনারেশনকে আরও অপ্রীতিকর করে তোলে।
বরং, আমরা আমাদের কাজটিকে কোয়েরি-সচেতন এক্সট্রাক্টিভ কম্প্রেশন বা নিষ্কাশনমূলক সংকোচন হিসেবে সংজ্ঞায়িত করি: রিট্রিভ করা প্রেক্ষাপটের সাহায্যকারী অংশগুলিকে বিভ্রান্তিকর অংশ থেকে আলাদা করা। বিশেষত, আমাদের মডেলটিকে অবশ্যই একটি কোয়েরি এবং প্রার্থী ফলাফল গ্রহণ করতে হবে, এবং সিদ্ধান্ত নিতে হবে কোন স্প্যানগুলি সংরক্ষণ করতে হবে, যেগুলো কোয়েরিটিকে সবচেয়ে বেশি সমর্থন করে, এবং কোনগুলি বাদ দিতে হবে, বাকিগুলি। মডেল আউটপুট উৎস পাঠ্যকে পুনরায় লেখার পরিবর্তে সংরক্ষণ করে। এটি ফলাফলকে সাইট করা সহজ, যাচাই করা সহজ এবং ডাউনস্ট্রিম পাস করা সস্তা করে তোলে।
উদাহরণস্বরূপ, এই কোয়েরি এবং রিট্রিভ করা ফলাফলটি বিবেচনা করুন:
একটি সম্ভাব্য মডেল আউটপুট হবে বোল্ড করা বাক্যটি নির্বাচন করা: “In Comet, the assistant can ...”।
প্রোডাকশন সার্চ সিস্টেমে স্নিপেট জেনারেশনের জন্য অভিযোজিত আমাদের দৃষ্টিভঙ্গিটি পূর্ববর্তী কনটেক্সট-কম্প্রেশন কাজ যেমন FliCo, Provence এবং LooComp-এর মতো একই বিস্তৃত ধারণাকে অনুসরণ করে। গুরুত্বপূর্ণভাবে, মডেলটি আমাদের কাঁচা রিট্রিভাল পর্যায়ের পরে একটি নির্ভুলতা পর্যায় হিসেবে কাজ করে। আমাদের পূর্ববর্তী Perplexity রিসার্চ আর্টিকেল, Introducing the Perplexity Search API-এ আলোচনা করা হয়েছে, আমরা আমাদের রিট্রিভাল সিস্টেমগুলিকে নেটিভভাবে সাব-ডকুমেন্ট বা স্নিপেট স্তরে পরিচালনা করার জন্য আর্কিটেক্ট করি, যা ইতিমধ্যে আমাদের নির্ভুলতা এবং রিকলকে খুব ভালভাবে ভারসাম্য বজায় রাখতে দেয়। একটি কোয়েরি-সচেতন কনটেক্সট কম্প্রেশন মডেল প্রবর্তন করা নির্ভুলতা-রিকল পেরাডো ফ্রন্টিয়ারকে আরও বাইরের দিকে ঠেলে দেয়।
একটি কনটেক্সট কম্প্রেশন মডেল তৈরি এবং প্রশিক্ষণ দেওয়া
আমরা তিনটি প্রধান বিবেচ্য বিষয় মাথায় রেখে আমাদের মডেল তৈরি করি: কোয়েরি এবং প্রেক্ষাপটের যৌথ বোঝাপড়া, ফাইন-গ্রেইন্ড বা সূক্ষ্ম বাক্য-স্তরের নির্বাচন, এবং একটি অত্যন্ত কঠোর লেটেন্সি বাজেটের মধ্যে ফিট করার জন্য দক্ষতা।
মডেল আর্কিটেকচার
আমরা ব্যাকবোন হিসেবে একটি pplx-diffusion মডেল ব্যবহার করি। এটি pplx-embed-v1-এর পিছনের একই মডেল পরিবার, এবং আমাদের পূর্ববর্তী একাডেমিক কাজ, Diffusion-Pretrained Dense and Contextual Embeddings, এবং আমাদের প্রোডাকশন বেঞ্চমার্ক উভয়ই নিশ্চিত করে যে এটি কোয়েরি-প্রেক্ষাপট জোড়ার জন্য একটি শক্তিশালী দ্বিমুখী এনকোডার। এই মডেল পরিবারের অন্যতম প্রধান বৈশিষ্ট্য হলো দ্বিমুখী প্রেক্ষাপট: মডেলটি কী রাখা উচিত তা সিদ্ধান্ত নেওয়ার আগে প্রতিটি টোকেন উপস্থাপনা সম্পূর্ণ কোয়েরি এবং সম্পূর্ণ প্রার্থী প্রেক্ষাপটে মনোযোগ দিতে পারে।
এই ব্যাকবোনের উপরে, আমরা একটি হালকা ওজনের কম্প্রেশন হেড প্রশিক্ষণ দিই যা পূর্বাভাস দেয় যে প্রেক্ষাপটের কোন অংশগুলি রাখা উচিত। যেহেতু কোনো জেনারেশন জড়িত নয়, তাই এই পূর্বাভাসগুলি পুরো প্রেক্ষাপট জুড়ে সমান্তরালভাবে তৈরি করা হয়। পরিবেশন করার সময়, স্নিপেট ইঞ্জিন এই পূর্বাভাসগুলিকে বাক্য স্তরে একত্রিত করে, একটি থ্রেশহোল্ড প্রয়োগ করে এবং অনুরোধ করা টোকেন বাজেটে ফলাফল ছাঁটাই করে।
সুপারভিশন পাইপলাইন
এই কম্প্রেসর প্রশিক্ষণের জন্য সঠিক দানাদার স্তরে সুপারভিশন প্রয়োজন। আমাদের এক্সট্রাক্টিভ কম্প্রেশন কাজের জন্য একটি নথি-স্তরের প্রাসঙ্গিকতা লেবেল স্পষ্টতই অনুপযুক্ত। সুপারভাইজড লার্নিং বা তত্ত্বাবধাণিত শেখার জন্য যথেষ্ট দানাদার ডেটা তৈরি করতে, আমরা একটি স্প্যান লেবেলিং পাইপলাইন তৈরি করেছি যা কোয়েরির সাথে প্রাসঙ্গিক প্রমাণের স্প্যানগুলি চিহ্নিত করে, সাথে বিভ্রান্তিকর স্প্যানগুলিও চিহ্নিত করে যা সরিয়ে ফেলা উচিত।
আমাদের পাইপলাইন একটি LLM-as-a-judge সেটআপ ব্যবহার করে। ব্যবহারকারীর কোয়েরি এবং এর লিঙ্ক, শিরোনাম এবং সারাংশ সহ একটি প্রার্থী ওয়েব পেজ দেওয়া হলে, বিচারক প্রথমে কোয়েরি বোঝাপড়া সম্পাদন করেন, কোয়েরি বিশ্লেষণ করেন এবং সম্ভাব্য ব্যবহারকারীর উদ্দেশ্যের একটি তালিকা তৈরি করেন। এই উদ্দেশ্যগুলির উপর ভিত্তি করে, বিচারক তখন প্রার্থী প্রেক্ষাপট প্রক্রিয়া করেন এবং পাঠ্য থেকে হুবহু অনুলিপি করা স্প্যানগুলি ফেরত দেন, লেবেলগুলি পরিদর্শন করা সহজ করার জন্য প্রতিটি স্প্যানের জন্য একটি বিভাগ সহ।
আমরা তখন ফেরত দেওয়া স্প্যানগুলিকে উৎস পাঠ্যের সাথে মেলালাম। আশ্চর্যজনকভাবে, বেশিরভাগ বিচারকের আউটপুট ইতিমধ্যেই হুবহু অনুলিপি ছিল: সরল স্ট্রিং ম্যাচিং ৯৮% স্প্যান পুনরুদ্ধার করেছে। একটি সহজ রিজেক্স-ভিত্তিক ম্যাচিং পাস যোগ করার ফলে স্প্যান পুনরুদ্ধার ১০০%-এ পৌঁছেছে। এটি আমাদের নির্ভরযোগ্য, দানাদার স্প্যান দিয়েছে যা টোকেন-স্তরের রাখা/বাদ দেওয়া সুপারভিশনে রূপান্তরিত হতে পারে।
আমরা ম্যানুয়ালি লেবেলযুক্ত স্প্যান সহ একটি ছোট কিউরেটেড ডেটাসেট ব্যবহার করে এই সুপারভিশন পাইপলাইনটি মূল্যায়ন করেছি, ছোট বিচারক মডেল, বিভিন্ন প্রম্পট এবং বিভিন্ন ধাপের কনফিগারেশন তুলনা করেছি। সেরা পারফরম্যান্সকারী সেটআপটি ছিল একটি দুই-পর্যায়ের পাইপলাইন: প্রথমে কোয়েরি বোঝা, তারপরে শ্রেণীবদ্ধ স্প্যান লেবেলিং। আমরা BrowseComp এবং SimpleQA-এর মতো ডাউনস্ট্রিম যাচাইযোগ্য মূল্যায়নের মাধ্যমে নিষ্কাশিত স্প্যানগুলির সেটটিকেও যাচাই করেছি, যেখানে শুধুমাত্র রাখা প্রমাণের স্প্যানগুলি ব্যবহার করা শক্তিশালী স্কোর সংরক্ষণ করে এবং ইনপুট টোকেনগুলিকে উল্লেখযোগ্যভাবে হ্রাস করে।
এই পাইপলাইনটি ব্যবহার করে, আমরা ৭৫K কোয়েরি-নথির জোড়া লেবেল করেছি এবং বাইনারি ক্রস-এন্ট্রপির মাধ্যমে কম্প্রেশন হেড প্রশিক্ষণের জন্য ফলস্বরূপ স্প্যানগুলি ব্যবহার করি। এই প্রক্রিয়াটি আমাদের কোয়েরি-সচেতন কম্প্রেশন মডেলকে ডাউনস্ট্রিম মডেলের ব্যবহারকারীর অনুরোধ পরিবেশন করতে সাহায্য করার সম্ভাবনা কম এমন প্রেক্ষাপট অপসারণ করার সময় উৎস পাঠ্য অক্ষুণ্ণ রাখতে দেয়।
রিয়েলটাইম লেটেন্সি নিশ্চিত করা
কনটেক্সট কম্প্রেশন ডাউনস্ট্রিম মডেলের আগে বসে, এটিকে একটি ব্লকিং অপারেশন করে তোলে। তদুপরি, প্রতিটি কম্প্রেশন কোয়েরি-নির্ভর। অতএব, অনলাইন পাথকে অবশ্যই একটি কঠোর লেটেন্সি খামের মধ্যে প্রতিটি প্রার্থী নথির জন্য কোয়েরি-প্রেক্ষাপট জোড়া স্কোর করতে হবে। একটি ধীরগতির কম্প্রেশন মডেল নিজেই ব্যর্থ হয়, কারণ উচ্চ নির্ভুলতা থেকে লেটেন্সি সুবিধাগুলি কম্প্রেশন লেটেন্সি নিজেই মুছে ফেলে। একই সাথে, একটি কম বুদ্ধিমান কম্প্রেশন মডেল কী কাটতে হবে এবং ধরে রাখতে হবে সে সম্পর্কে খারাপ সিদ্ধান্ত নেবে।
ব্যবহারিক প্রশ্নটি হলো, সংকোচন-মানের অবনতি শুরু হওয়ার আগে আমরা নিরাপদে কতটা মডেল সক্ষমতা সরাতে পারি। আমরা সম্পূর্ণ ২৮-স্তরবিশিষ্ট pplx-diffusion ব্যাকবোনকে ১১-স্তর এবং ১৭-স্তর ভ্যারিয়েন্টের সঙ্গে তুলনা করি, যা layer pruning-এর মাধ্যমে তৈরি করা হয়েছে এবং search path-এর জন্য লক্ষ্যভিত্তিক। প্রতিটির জন্য আমরা compression threshold জুড়ে sweep করি এবং দুটি পরিমাণ মাপি: downstream-এ প্রতিটি query-র জন্য পাঠানো context token-এর গড় সংখ্যা, এবং compression-এর পরে সংরক্ষিত useful evidence-এর অনুপাত।
চিত্র ২ গুণমান-দক্ষতার সীমানা দেখায়। একটি মডেল ভালো হয় যখন এটি ওপরের বাম দিকে সরে যায়: আরও বেশি দরকারী প্রমাণ সংরক্ষিত সহ কম ডাউনস্ট্রিম টোকেন। ২৮-লেয়ার মডেল গুণমানের রেফারেন্স প্রদান করে। ১১-লেয়ার মডেল খুব আক্রমণাত্মকভাবে মডেলটি সংকুচিত করার ঝুঁকিগুলি প্রদর্শন করে। ছাঁটাই করা ১৭-লেয়ার মডেল একটি মধ্যম স্থল প্রতিনিধিত্ব করে: এটি স্যাচুরেটেড regime-এ ২৮-লেয়ার মডেলকে ঘনিষ্ঠভাবে ট্র্যাক করে, তবে বক্ররেখার খাড়া অংশে একটি ছোট ব্যবধান খোলে যেখানে বেশিরভাগ প্রোডাকশন ট্রাফিক কাজ করে।
সেই ব্যবধানটি বন্ধ করার জন্য, আমরা টোকেন-স্তরের নলেজ ডিস্টিলেশন নিয়োগ করি। আমাদের পদ্ধতিটি রুটিন: আমরা শিক্ষক মডেলের পূর্বাভাসের উপর একটি নরম ক্রস-এন্ট্রপি টার্ম দিয়ে স্ট্যান্ডার্ড লস বৃদ্ধি করি, একটি ডিস্টিলেশন সহগ দ্বারা ওজন করা হয়। এটি ছাত্র মডেলকে সমতায় আনতে যথেষ্ট, যা আমাদের প্রোডাকশনে সম্পূর্ণরূপে পাতিত ১৭-লেয়ার মডেলে স্যুইচ করতে দেয়। এই নতুন প্রোডাকশন মডেলটি ২৮-লেয়ার শিক্ষকের তুলনায় কোনো গুণমানের ড্রপ ছাড়াই ইনফারেন্স লেটেন্সিতে ৩৫-৪০% হ্রাস এবং সমষ্টিগত GPU কম্পিউটে ৪০-৪৫% হ্রাস করে। প্রোডাকশন লেটেন্সি ২০ মিলিসেকেন্ডের নিচে (p99) ঘড়ি করে: উত্তর মডেলে পাস করা মোট টোকেনগুলিকে ব্যাপকভাবে হ্রাস করার সময় পরিবেশন পথে যোগ করার জন্য যথেষ্ট ছোট।
গুণমান এবং টোকেন দক্ষতা
কনটেক্সট কম্প্রেশনের কার্যকারিতা বিশ্লেষণ করতে আমরা Perplexity-এর Agent API-কে একটি টেস্টবেড হিসেবে ব্যবহার করি। আমরা তিনটি Agent API প্রিসেট মূল্যায়ন করি:
একটি “low” বা “কম” প্রেক্ষাপট প্রিসেট যা প্রতিটি ফলাফল সেটের জন্য টোকেন বাজেটকে ১০০০ টোকেনে সীমাবদ্ধ করে।
একটি “medium” বা “মাঝারি” প্রেক্ষাপট প্রিসেট যা প্রতিটি ফলাফল সেটের জন্য টোকেন বাজেটকে ৪০০০ টোকেনে সীমাবদ্ধ করে।
একটি “high” বা “উচ্চ” প্রেক্ষাপট প্রিসেট যা প্রতিটি ফলাফল সেটের জন্য টোকেন বাজেটকে ১০০০০ টোকেনে সীমাবদ্ধ করে।
স্ট্যান্ডার্ড, নো-কম্প্রেশন এবং কম্প্রেশন সেটিংস উভয়ই এই টোকেন বাজেটগুলিকে সম্মান করার জন্য কনফিগার করা হয়েছে।
এজেন্টিক মাল্টি-স্টেপ সার্চ (BrowseComp)
BrowseComp বেঞ্চমার্কে এজেন্টিক মাল্টি-স্টেপ সার্চ ওয়ার্কফ্লোর উপর কম্প্রেশনের প্রভাব আমরা প্রথমে পরীক্ষা করি। আমরা আমাদের ওপেন-সোর্স search_evals হারনেস ব্যবহার করে এই মূল্যায়ন করি। OpenAI-এর ক্যানোনিকাল BrowseComp LLM judge prompt ব্যবহার করে সমস্ত রান জুড়ে গ্রেডিং অভিন্ন।
আগ্রহের দুটি মাত্রা হলো বেঞ্চমার্ক নির্ভুলতা এবং টোকেন ব্যবহার। গুরুত্বপূর্ণভাবে, অনুরোধ জীবনচক্র জুড়ে ব্যয় করা প্রকৃত টোকেন লোড পরিমাপ করার জন্য আমরা পৃথক পদক্ষেপ স্তরের পরিবর্তে কোয়েরি স্তরে টোকেন ব্যবহার পরিমাপ করি। চিত্র ৩ “স্কোর-টোকেন” সীমানা দেখায়, নির্ভুলতা স্কোর বনাম টোকেন ব্যবহার।
কম্প্রেশন সর্বত্র একটি নতুন পেরাডো ফ্রন্টিয়ার সরবরাহ করে। প্রতিটি সেটিংয়ের জন্য, কম্প্রেশন প্রবর্তন করা কোয়েরি-স্তরের টোকেন ব্যবহারকে ১০% থেকে ৭০% পর্যন্ত কমিয়ে দেয়, নির্ভুলতা লাভ ৪ এবং ৪.৮১ শতাংশ পয়েন্টের মধ্যে ঘড়ি করে। কম্প্রেশন প্রবর্তন করা এমনকি আমাদের "low" প্রিসেটকে নো-কম্প্রেশন "high" প্রিসেটকে ছাড়িয়ে যাওয়ার অনুমতি দেয়, টোকেন ব্যবহার তিনগুণেরও বেশি কমানোর সময়।
আমরা লক্ষ্য করি যে কম্প্রেশনের সাথে, "high" আমাদের প্রত্যাশা অনুযায়ী "medium" এর চেয়ে বেশি নির্ভুলতা দেয়। তবে মজার বিষয় হলো, এটি কম টোকেন ব্যবহারে তা করে। এটি কম্প্রেশনের একটি সূক্ষ্ম কিন্তু গুরুত্বপূর্ণ প্রভাব প্রকাশ করে: কম্প্রেশনের সাথে, এমনকি প্রতি-পদক্ষেপ প্রেক্ষাপট আকার বৃদ্ধি করাও মডেলটিকে সঠিক ফলাফলে পৌঁছানোর জন্য কম পদক্ষেপ নিতে সক্ষম করতে পারে। এই অ-মনোটোনসিটি অন্বেষণ করা ভবিষ্যতের কাজের জন্য একটি প্রতিশ্রুতিশীল দিক।
SimpleQA: সিঙ্গেল-স্টেপ ফ্যাকচুয়ালিটি
BrowseComp মাল্টি-স্টেপ গবেষণার উপর জোর দেয়, তবুও অনেক প্রোডাকশন ওয়ার্কফ্লোতে সিঙ্গেল-স্টেপ ফ্যাকচুয়াল লুকআপ জড়িত থাকে। কম্প্রেশন সিঙ্গেল-স্টেপ রেজিমেও সাহায্য করে কিনা তা নির্ধারণ করতে, আমরা SimpleQA-এর পারফরমূর্তাও পরীক্ষা করি, একটি বেঞ্চমার্ক যাতে এজেন্টিক লুপের পরিবর্তে একটি একক সার্চ ধাপে উত্তর দেওয়ার জন্য ৪,৩২৬টি প্রশ্ন রয়েছে।
আগের মতো, আমরা ক্যানোনিকাল বিচারক প্রম্পট ব্যবহার করে প্রতি টাস্কে গড় মোট টোকেনের বিরুদ্ধে নির্ভুলতা প্লোট করি। চিত্র ৪ এই সিঙ্গেল-স্টেপ সেটিংয়ে স্কোর-টোকেন সীমানা দেখায়। যদিও প্রভাবের আকারগুলি সিঙ্গেল-স্টেপ সেটিংয়ে আরও বেশি সংকুচিত হয়, আমরা আবার লক্ষ্য করি যে কম্প্রেশন একই সাথে সমস্ত প্রিসেট জুড়ে নির্ভুলতা এবং দক্ষতা উন্নত করে, এইভাবে একটি নতুন পেরাডো ফ্রন্টিয়ার প্রবর্তন করে। কম্প্রেশন সক্ষম করে, মাঝারি প্রিসেট প্রতি নথিতে গড়ে মাত্র ২০০ টোকেন সহ ৯৫% নির্ভুলতা অর্জন করে। ১০০০০ টোকেনের বেশি গড় নথির দৈর্ঘ্য দেওয়া, এটি ৫০-এর বেশি কম্প্রেশন অনুপাতে ফ্রন্টিয়ার-স্তরের পারফরম্যান্সের প্রতিনিধিত্ব করে।
স্নিপেটগুলিতে কী শেষ হয়?
সেকশন ৪.১ এবং ৪.২-এ ডাউনস্ট্রিম লাভগুলি এন্ড-টু-এন্ড। কম্প্রেশন কীভাবে পৃথক স্নিপেটগুলিকে পরিবর্তন করে তা বুঝতে, আমরা একটি পৃথক মূল্যায়ন চালাই যা প্রতিটি রিট্রিভ করা স্নিপেটের প্রতিটি টোকেনকে ছয়টি বিভাগের একটিতে শ্রেণীবদ্ধ করতে একটি LLM বিচারক ব্যবহার করে:
Vital: ব্যবহারকারীর কোয়েরির উত্তর দেওয়ার জন্য প্রয়োজনীয় প্রমাণ।
Off-topic: তথ্য যা অন্য কোনো উদ্দেশ্যে দরকারী হতে পারে কিন্তু হাতের কোয়েরির সাথে সম্পর্কিত নয়।
Ads: অপ্রাসঙ্গিক বিজ্ঞাপন যা ব্যবহারকারীর কোয়েরির উত্তর দেওয়া থেকে বিভ্রান্ত করে।
Metadata: নথির বিষয়বস্তু সম্পর্কে মেটাডেটা।
UI & navigation: ফ্রন্টএন্ড প্রদর্শন এবং নেভিগেশনের জন্য উপাদান।
Duplicate: পূর্বে অন্তর্ভুক্ত তথ্যের পুনরাবৃত্তি।
আমাদের মূল্যায়ন আমাদের ভ্যালিডেশন সেট থেকে ১,০০০ মিশ্র-ডোমেন কোয়েরিতে চলে, কম্প্রেশন নিষ্ক্রিয় করা একটি অন্যথায়-চিহ্নিত বেসলাইনের বিরুদ্ধে প্রোডাকশন স্ট্যাকের তুলনা করে। চিত্র ৫-এ দেখানো হয়েছে, কম্প্রেশন নো-কম্প্রেশন বেসলাইনের উপরে প্রতি স্নিপেটে অত্যাবশ্যক টোকেনগুলির অনুপাত গড় ৬৩% বৃদ্ধি করে। আমরা অপ্রাসঙ্গিক টোকেনগুলিতে ২৯% সংশ্লিষ্ট হ্রাস লক্ষ্য করি, যেখানে UI/নেভিগেশন (-৫৮%), মেটাডেটা (-৪৬%) এবং বিজ্ঞাপন (-৪৩%) এ বিশেষভাবে তীব্র ড্রপ দেখা যায়। এই ফলাফলগুলি উপরে আলোচিত গুণমান-দক্ষতার উন্নতির জন্য প্রক্রিয়াটি নিশ্চিত করে: কম্প্রেশন প্রতিটি পৃথক স্নিপেটের সিগন্যাল-টু-নয়েজ অনুপাত তীব্রভাবে বৃদ্ধি করে উভয় মাত্রা জুড়ে পারফরম্যান্স উন্নত করে।
চিত্র ৬ একটি পৃথক কোয়েরির জন্য এই পরিবর্তনটি চিত্রিত করে। “6 day old newborn milk intake per feeding” কোয়েরির জন্য, আমরা অনকম্প্রেসড, বেসলাইন এবং কম্প্রেসড স্নিপেট উভয়ই দেখাই। কম্প্রেশন অ-অত্যাবশ্যক বিষয়বস্তু বিভাগগুলি দূর করে এবং শুধুমাত্র নবজাতক-সম্পর্কিত খাওয়ানোর তথ্য ধরে রাখে। গুরুত্বপূর্ণভাবে, কম্প্রেশন সফলভাবে এমন সামগ্রী দূর করে যা পেজের জন্য সাধারণত অন-টপিক হতে পারে, কিন্তু এই নির্দিষ্ট নবজাতক-কেন্দ্রিক কোয়েরির জন্য অফ-টপিক।
উপসংহার
AI সিস্টেমগুলি বুদ্ধিমান এবং দক্ষতার সাথে ব্যবহারকারীর অনুরোধ পরিবেশন করতে উচ্চ-সিগন্যাল তথ্যের উপর নির্ভর করে। প্রতিটি অনুরোধের সাথে প্রাসঙ্গিকতা সর্বাধিক করতে এই তথ্যটি যতদূর সম্ভব সার্জিক্যাল উপায়ে উপস্থাপন করা উচিত। আমাদের নতুন কোয়েরি-সচেতন কম্প্রেশন মডেলগুলি প্রতি স্নিপেটে অন-টপিক প্রমাণ সর্বাধিক করে এবং আক্রমণাত্মকভাবে অপ্রাসঙ্গিক বিভ্রান্তিকর উপাদানগুলি ছেঁটে ফেলে ঠিক এটিই করে।
আমাদের সার্চ স্ট্যাকের মধ্যে এই নতুন মডেলগুলি স্থাপন করে, আমরা আমাদের পণ্য এবং API-গুলির উপর নির্ভর করে এমন লোকদের দ্রুত এবং আরও ভাল প্রতিক্রিয়া সরবরাহ করতে সক্ষম। আমাদের পদ্ধতিটি একটি সহজ কন্ট্রোল পৃষ্ঠ তৈরি করে, যা আমাদের সিস্টেম এবং API গ্রাহকদের রিকল, লেটেন্সি এবং খরচের মধ্যে ভারসাম্য বজায় রাখতে কম্প্রেশনের মাত্রা টিউন করতে দেয়।
কনটেক্সট কিউরেশন একটি উন্নয়নশীল ক্ষেত্র, এবং আজকের ফ্রন্টিয়ার ইন্টেলিজেন্স সিস্টেমের মধ্যে ব্যবহৃত প্রতিটি টোকেনের মূল্য অপ্টিমাইজ করার জন্য আরও অনেক কিছু করার বাকি আছে। আমরা এই মডেলগুলির আরও বেশি বিস্তৃত ব্যবহার করার জন্য মডেল উন্নতি এবং সিস্টেম আর্কিটেকচার উভয় মাধ্যমেই আমাদের কনটেক্সট কিউরেশন কৌশলগুলিকে আরও উন্নত করার জন্য সক্রিয়ভাবে কাজ করছি।
তথ্যসূত্র
N. Chirkova, T. Formal, V. Nikoulina, and S. Clinchant. Provence: Efficient and Robust Context Pruning for Retrieval-Augmented Generation, 2025. Accepted to ICLR 2025. arXiv:2501.16214.
T. Do, D. P. Tran, A. Vo, S. K. Kim, and D. Kim. LooComp: Leverage Leave-One-Out Strategy to Encoder-only Transformer for Efficient Query-Aware Context Compression, 2026. arXiv:2603.09222.
S. Eslami, M. Gaiduk, M. Krimmel, L. Milliken, B. Wang, and D. Bykov. Diffusion-Pretrained Dense and Contextual Embeddings, 2026. arXiv:2602.11151.
Z. Wang, J. Araki, Z. Jiang, M. R. Parvez, and G. Neubig. Learning to Filter Context for Retrieval-Augmented Generation, 2023. arXiv:2311.08377.
উদ্ধৃতি
@online{perplexity2026QueryAwareContextCompressionForBetterSnippets,
author = {{Perplexity} and Bo Wang and Hao Zhang and Ismail Gadzhiev and Kirill Priemko and Markus Krimmel and Nandor Licker and Vitalii Polshkov and Sarah Eslami and Louis Milliken and Maksim Gaiduk and Nikita Kireev and Jerry Ma},
title = {{Query-aware context compression for better snippets}},
date = {2026-05-14},
url = {https://perplexity.coolkeypoint.com/hub/blog/query-aware-context-compression-for-better-snippets}
}