AWS তাদের Amazon SageMaker Inference-এ একটি “prefix-aware routing” অপশন যুক্ত করেছে, যা গ্রাহকদের জন্য যারা নিজস্ব ইনফ্রাস্ট্রাকচারে large language models (LLMs) চালান, তাদের জন্য উচ্চতর cache-hit rate এবং উল্লেখযোগ্যভাবে কম ল্যাটেন্সি (latency) নিশ্চিত করার প্রতিশ্রুতি দিচ্ছে। এই পরিবর্তনটি গুরুত্বপূর্ণ কারণ এটি উল্লেখযোগ্যভাবে কম ল্যাটেন্সি এবং হ্রাসকৃত GPU compute খরচ প্রদান করে।
কেন LLM ল্যাটেন্সি গুরুত্বপূর্ণ
যখন একটি LLM কোনো রিকোয়েস্ট গ্রহণ করে, এটি সাধারণত পুরো প্রম্পটের ওপর পুনরায় অ্যাটেনশন (attention) গণনা করে—এটি একটি ব্যয়বহুল ধাপ যা প্রতিটি নতুন টোকেনের সাথে বৃদ্ধি পায়। যদি মডেলটি পূর্ববর্তী কোনো রিকোয়েস্ট থেকে অ্যাটেনশন ক্যাশ (attention cache) পুনরায় ব্যবহার করতে পারে, তবে তাকে কেবল টেক্সটের নতুন অংশটি প্রসেস করতে হবে। যেসব ওয়ার্কলোড বারবার একই system prompt পাঠায় বা কথোপকথনের ইতিহাস (conversation history) বজায় রাখে, তারা ক্যাশ পুনরায় ব্যবহারের জন্য আদর্শ প্রার্থী।
ডিফল্ট SageMaker সেটআপে, আগত রিকোয়েস্টগুলো ইনফারেন্স ইনস্ট্যান্সের পুলের মধ্যে এলোমেলোভাবে (randomly) বিতরণ করা হয়। এলোমেলো বিতরণের অর্থ হলো একটি রিকোয়েস্ট যা একটি warm cache-এ পৌঁছাতে পারত, তা প্রায়শই একটি cold instance-এ গিয়ে পড়ে, যার ফলে সম্পূর্ণ পুনরায় গণনা করতে বাধ্য হয়। এর ফলে ল্যাটেন্সি বৃদ্ধি পায় এবং অতিরিক্ত GPU সাইকেল খরচ হয়, যা সরাসরি উচ্চ ব্যয়ের দিকে পরিচালিত করে।
prefix-aware routing কীভাবে কাজ করে
নতুন রাউটিং মোডটি সাম্প্রতিক রিকোয়েস্ট প্রিফিক্সগুলোর (request prefixes) একটি হালকা ম্যাপ (lightweight map) সংরক্ষণ করে—যা মূলত প্রম্পটের সেই প্রথম অংশ যা কলগুলোর মধ্যে অপরিবর্তিত থাকে। যখন একটি নতুন রিকোয়েস্ট আসে, SageMaker সেই ম্যাপটি পরীক্ষা করে এবং রিকোয়েস্টটিকে এমন একটি ইনস্ট্যান্সে পাঠায় যা ইতিমধ্যে একই প্রিফিক্স প্রসেস করেছে। যদি সেই ইনস্ট্যান্সের কাছে প্রাসঙ্গিক অ্যাটেনশন ক্যাশ থাকে, তবে মডেলটি কাজের বড় অংশটি এড়িয়ে যেতে পারে এবং দ্রুত উত্তর তৈরি করতে পারে।
মূল পয়েন্টসমূহ:
- কোনো কোড পরিবর্তনের প্রয়োজন নেই – এই ফিচারটি সম্পূর্ণভাবে ইনফারেন্স সার্ভিস লেয়ারে কাজ করে।
- শুধুমাত্র সেলফ-হোস্টেড মডেলের ক্ষেত্রে প্রযোজ্য – OpenAI-এর API বা Anthropic-এর মতো ম্যানেজড অফারগুলো এতে প্রভাবিত হবে না।
- অ্যাপ্লিকেশনের জন্য স্বচ্ছ – একই SageMaker endpoint URL এবং API contract অপরিবর্তিত থাকে।
কারা উপকৃত হবে
যেসব এন্টারপ্রাইজ SageMaker-এ LLM হোস্ট করে, তারা ডেটা প্রাইভেসি থেকে শুরু করে খরচ নিয়ন্ত্রণ পর্যন্ত বিভিন্ন কারণে এটি করে থাকে। যারা সাপোর্ট চ্যাটবট, সেলস অ্যাসিস্ট্যান্ট বা এমন কোনো ইন্টারেক্টিভ এজেন্ট পরিচালনা করেন যা বারবার একটি নির্দিষ্ট system prompt ব্যবহার করে, তাদের জন্য এই রাউটিং পরিবর্তনটি গড় রেসপন্স টাইম কমিয়ে দিতে পারে। খরচের দিক থেকে দেখলে, প্রতিটি ক্যাশ হিট প্রম্পটের শেয়ার্ড অংশটি পুনরায় মূল্যায়ন করা থেকে GPU-কে বাঁচায়।
সীমাবদ্ধতা এবং পাল্টা যুক্তি
এই সুবিধাটি বারবার আসা প্রিফিক্সগুলোর উপস্থিতির ওপর নির্ভর করে। অত্যধিক পরিবর্তনশীল প্রম্পট—যেমন এককালীন কুয়েরি বা ডায়নামিকভাবে তৈরি করা system messages—একই ক্যাশ-হিট সুবিধা পাবে না।
যেহেতু এই ফিচারটি শুধুমাত্র সেলফ-হোস্টেড ডেপ্লয়মেন্টের মধ্যে সীমাবদ্ধ, তাই যারা ম্যানেজড LLM সার্ভিসের ওপর নির্ভরশীল, তারা এটি ব্যবহার করতে পারবেন না।
সারকথা: Prefix-aware routing SageMaker ব্যবহারকারীদের একটি সহজ, জিরো-কোড পদ্ধতি প্রদান করে যার মাধ্যমে তারা পুনরাবৃত্তিমূলক LLM ওয়ার্কলোড থেকে ল্যাটেন্সি কমিয়ে আনতে পারে এবং একই সাথে GPU খরচও কমাতে পারে। যেসব সংস্থা ইতিমধ্যে এই প্ল্যাটফর্মে মডেল হোস্ট করে, তাদের জন্য এই আপগ্রেডটি একটি স্বল্প-ঝুঁকিপূর্ণ পরিবর্তন যা দ্রুততর ইউজার ইন্টারঅ্যাকশন এবং কম বিল নিশ্চিত করতে পারে।
