কখনও কি নিজের GPU-তে একটি বৃহৎ ভাষা মডেল হোস্ট করার চেষ্টা করে মনে হয়েছে যে আপনি একটি খুব ক্ষুধার্ত Tamagotchi দত্তক নিয়েছেন? আপনি এটিকে VRAM খাওয়ান, কার্নেলগুলিকে আদর করেন, এবং যখন আপনি অবশেষে একটি উত্তর চান... এটি পাঁচ সেকেন্ডের জন্য আপনার দিকে তাকিয়ে থাকে এবং ঘুরে বেড়ায়। একটি “ভ্যানিলা” LLM সার্ভারের সাথে এটাই ছিল আমার সপ্তাহান্ত। তারপর আমি vLLM ইনস্টল করি।
স্পয়লার: vLLM হল ওপেন-সোর্স ইঞ্জিন যা LLM inference-কে এমন অনুভূতি দেয় যেন আপনি এইমাত্র আপনার ট্রাইসাইকেলটিকে একটি Tesla-র সাথে অদলবদল করেছেন। এই vLLM review-টি গভীরভাবে আলোচনা করে যে এটি কী, কীভাবে এটি আপনার হার্ডওয়্যার বাজেট থেকে আরও বেশি টোকেন বের করে আনে, কোথায় এটি উজ্জ্বল, কোথায় এটি হোঁচট খায় এবং কাদের এটি কার্ট, ক্লাস্টার বা “হয়তো পরে”-এর স্তূপে রাখা উচিত।
vLLM কী, সহজ ইংরেজি ভাষায় (এবং কম GPU চোখের জল)?
vLLM হল বৃহৎ ভাষা মডেলগুলির জন্য একটি ওপেন-সোর্স inference এবং serving ইঞ্জিন। এটিকে এয়ার-ট্র্যাফিক কন্ট্রোলার, ব্যাগেজ হ্যান্ডলার এবং ডিসকাউন্ট এয়ারলাইন সব এক সাথে ভাবুন—এটি এমন একটি জিনিস যা অনুরোধের সময়সূচী তৈরি করে, টোকেনগুলিকে GPU মেমরিতে প্যাক করে এবং আসন (VRAM) খালি না রেখে দক্ষতার সাথে যাত্রা শুরু করে। এটি Llama, Mistral, Mixtral, Phi, Qwen, Gemma-র মতো পরিচিত মডেলগুলিকে পরিচিত API-এর (OpenAI-শৈলী, OpenAI-এর সাথে সামঞ্জস্যপূর্ণ) আড়ালে মুড়ে দেয়, তারপর চতুর মেমরি কৌশল এবং সময়সূচী দিয়ে সেগুলিকে আরও শক্তিশালী করে।
যদি আপনি সরল লুপ বা এমনকি সাধারণ-উদ্দেশ্যের serving framework ব্যবহার করে LLM চালানোর চেষ্টা করে থাকেন, তাহলে সম্ভবত সবচেয়ে বড় গতির ঘাতকের সাথে আপনার দেখা হয়েছে: নষ্ট হওয়া মেমরি। vLLM-এর সিগনেচার মুভ হল PagedAttention, একটি ডায়নামিক মেমরি ম্যানেজার যা কী/ভ্যালু অ্যাটেনশন ক্যাশেগুলিকে অপারেটিং সিস্টেমের পৃষ্ঠাগুলির মতো ট্রিট করে। অনুবাদ: VRAM-এ প্রতিটি কথোপকথনকে একটি ব্যক্তিগত পেন্টহাউস দেওয়ার পরিবর্তে, এটি পেন্টহাউসকে একটি কো-ওয়ার্কিং স্পেসে পরিণত করে। আরও বেশি লোক (অনুরোধ) ফিট হতে পারে। সবাই দ্রুত টাইপ করে।
এই vLLM review কাদের জন্য?
- যে দলগুলি AI অ্যাপ তৈরি করছে এবং কম-লেটেন্সি চ্যাট এবং উচ্চ-থ্রুপুট ব্যাচ জব চায়।
- যে Infra-র লোকেরা বাণিজ্যিক LLM এন্ডপয়েন্টের একটি ওপেন-সোর্স বিকল্প খুঁজছেন।
- গবেষকরা যারা কর্মক্ষমতা ত্যাগ না করে দ্রুত মডেল অদলবদল করতে চান।
- যে স্টার্টআপ প্রাগম্যাটিস্টরা স্ব-হোস্টিং করে টোকেন খরচ কমাতে চাইছেন।
আপনি যদি “আমি শুধু একটি প্রম্পট বক্স এবং ভাইবস চাই” এর মধ্যে থাকেন, তাহলে আপনি পরিচালিত API পছন্দ করতে পারেন। আপনি যদি “আমি 10x বাজেট ছাড়া 10x থ্রুপুট চাই” এর মধ্যে থাকেন তবে পড়তে থাকুন।
vLLM-এর প্রধান বৈশিষ্ট্য (এবং আপনার কেন যত্ন নেওয়া উচিত)
- PagedAttention: অ্যাটেনশন KV ক্যাশেগুলির জন্য মেমরি পেজিং। vLLM ফ্রেম না ফেলে প্রচুর অনুরোধ সামলাতে পারার এটাই কারণ।
- কন্টিনিউয়াস ব্যাচিং: নতুন অনুরোধগুলি ইন-ফ্লাইট ব্যাচে যোগদান করে, তাই GPU ব্যস্ত থাকে এবং লেটেন্সি স্বাভাবিক থাকে।
- OpenAI-কম্প্যাটিবল API: ন্যূনতম কোড পরিবর্তন করে OpenAI-এর জন্য তৈরি সরঞ্জাম এবং SDK-তে এটি প্লাগ করুন।
- টেনসর/কোয়ান্টাটাইজেশন সমর্থন: FP16, BF16, এবং জনপ্রিয় কোয়ান্টাটাইজড ওয়েট (যেমন AWQ, GPTQ যেখানে প্রযোজ্য), তাই আপনি ছোট GPU-তে বড় ব্রেইন ফিট করতে পারেন।
- মাল্টি-GPU ও ডিস্ট্রিবিউটেড সার্ভিং: যখন আপনার সিঙ্গেল A100 ঘামতে শুরু করে তখন স্কেল-আউট করুন।
- স্ট্রিমিং টোকেন: ব্যবহারকারীরা হলিউডের হ্যাকিং দৃশ্যের মতো শব্দ টাইপ হতে দেখেন, যা কোনওভাবে সবকিছুকে দ্রুত মনে করে।
- LoRA/অ্যাডাপ্টার সমর্থন (মডেল-নির্ভর): যদি আপনি একই বেস মডেলের উপর ফাইন-টিউনড ভ্যারিয়েন্ট পরিবেশন করেন তবে উপযোগী।
দ্রুত সেটআপের গল্প (অর্থাৎ: কত দ্রুত আমি প্রথম টোকেন পেতে পারি?)
- pip-এর মাধ্যমে vLLM ইনস্টল করুন। কোনো আহ্বান চক্রের প্রয়োজন নেই:
pip install vllm
- Hugging Face বা আপনার স্থানীয় ওয়েট-এর একটি মডেলের দিকে এটি নির্দেশ করুন।
- একটি OpenAI-কম্প্যাটিবল এন্ডপয়েন্ট দিয়ে সার্ভার চালু করুন।
- এটি কার্ল করুন অথবা আপনার বিদ্যমান OpenAI ক্লায়েন্টে প্লাগ করুন।
একটি কনজিউমার GPU এবং ডেটা-সেন্টার কার্ড সহ একটি ওয়ার্কস্টেশনে আমার পরীক্ষায়, স্টক ট্রান্সফরমার সার্ভার সেটআপের চেয়ে টাইম-টু-ফার্স্ট-টোকেন উল্লেখযোগ্যভাবে দ্রুত মনে হয়েছে, বিশেষ করে লোডের অধীনে। জাদুটি তখন দেখা যায় যখন একাধিক ব্যবহারকারী (বা আপনার নিজের ব্যাচ জব) সার্ভারকে আক্রমণ করে—vLLM GPU-কে সচল রাখে।
বেঞ্চমার্ক, লেটেন্সি এবং বাস্তব-বিশ্বের ভাইব
vLLM review করার সময় যা উল্লেখযোগ্য ছিল:
- থ্রুপুট: ক্রমাগত ব্যাচিংয়ের সাথে, vLLM আপনার GPU-কে এমন একটি স্পেস হিটার না বানিয়ে প্রতি সেকেন্ডে অনেক অনুরোধ পরিবেশন করতে পারে যা কেবল উপবৃত্তাকার ছাপে। আপনি যত বেশি সমসাময়িক অনুরোধ এতে ছুঁড়বেন (যুক্তিসঙ্গতভাবে), এটি তত বেশি নমনীয় হবে।
- লেটেন্সি: টাইম-টু-ফার্স্ট-টোকেন প্রতিযোগিতামূলক, এবং কখনও কখনও অন্যান্য ওপেন-সোর্স সার্ভারের চেয়ে ভাল—বিশেষ করে যখন স্ট্রিমিং সক্রিয় করা হয় এবং প্রম্পটগুলি ছোট থেকে মাঝারি হয়।
- দীর্ঘ আউটপুট: একটানা জেনারেশন স্থিতিশীল। খুব দীর্ঘ জেনারেশনের জন্য, VRAM-কে আরামদায়ক রাখতে আপনাকে max_tokens, বিম সেটিংস (যদি করতেই হয়) এবং তাপমাত্রা টিউন করতে হতে পারে।
- মিশ্র কর্মভার: এটি একই সময়ে চ্যাট, টুল-ইউজ প্রম্পট এবং হালকা ব্যাচ স্কোরিং পরিচালনা করতে বেশ ভালো। অনেকটা ডিনারের মতো যা কাউকে বিষাক্ত না করে প্যানকেক এবং প্যাড থাই পরিবেশন করে।
আপনার সংখ্যা GPU ক্লাস, কোয়ান্টাটাইজেশন, সিকোয়েন্স দৈর্ঘ্য এবং মডেল পছন্দের উপর নির্ভর করবে। তবে প্যাটার্নটি সামঞ্জস্যপূর্ণ: concurrency বাড়ার সাথে সাথে vLLM এগিয়ে যায়।
অন্যান্য LLM সার্ভারের তুলনায় vLLM কোথায় উজ্জ্বল
- যদি আপনার অগ্রাধিকার ন্যূনতম লেটেন্সি ডিপ সহ প্রচুর ইন্টারেক্টিভ ব্যবহারকারীকে পরিবেশন করা হয়, তবে vLLM-এর শিডিউলার এবং PagedAttention অসামান্য।
- যদি আপনার বিদ্যমান অ্যাপে স্লট করার জন্য OpenAI-কম্প্যাটিবল এন্ডপয়েন্টের প্রয়োজন হয়, তবে এটি প্লাগ-এন্ড-প্লে বন্ধুত্বপূর্ণ।
- যদি আপনি খরচ অপ্টিমাইজ করছেন, আপনি প্রায়শই কিছুটা ছোট GPU ক্লাসে ডাউনশিফট করতে পারেন বা একই হার্ডওয়্যার থেকে আরও বেশি req/sec বের করতে পারেন। CFO-রা সর্বত্র নড়েচড়ে বসছেন।
vLLM কোথায় আপনাকে হতাশ করতে পারে (এটি জাদু পিক্সী ডাস্ট নয়)
- মডেলের সামঞ্জস্যতা সর্বজনীন নয়। সর্বাধিক জনপ্রিয় ওপেন ওয়েটগুলি দুর্দান্তভাবে চলে, তবে বহিরাগত আর্কিটেকচার বা কাটিং-এজ কোয়ান্ট ফরম্যাটগুলির জন্য টিঙ্কারিংয়ের প্রয়োজন হতে পারে বা এখনও সমর্থিত নাও হতে পারে।
- মেমরি এখনও পদার্থবিদ্যা। PagedAttention সাহায্য করে, তবে 100 জন সমসাময়িক ব্যবহারকারী সহ 6GB GPU-তে একটি 7B মডেল এখনও একটি সিটকম, সার্ভার নয়।
- উন্নত মাল্টিটেনেন্সি এবং গার্ডরেলের জন্য অন্যান্য সরঞ্জামগুলির সাথে যুক্ত করা বা আঠালো কোড লেখার প্রয়োজন হতে পারে।
- আপডেটগুলি দ্রুত চলে। এটি বৈশিষ্ট্যগুলির জন্য একটি প্লাস, যদি আপনি স্থবির স্থিতিশীলতা চান তবে একটি মাইনাস।
স্বাভাবিক সন্দেহভাজনদের সাথে vLLM-এর তুলনা (একটি বন্ধুত্বপূর্ণ মুখোমুখি)
- Text Generation Inference (TGI): TGI পালিশ করা এবং এন্টারপ্রাইজে জনপ্রিয়। vLLM প্রায়শই ডায়নামিক ব্যাচিং এবং PagedAttention সহ থ্রুপুটের ক্ষেত্রে এটিকে ছাড়িয়ে যায়, বিশেষ করে চ্যাটি কর্মভারের জন্য। TGI-এর শক্তিশালী Hugging Face ইন্টিগ্রেশন এবং কঠিন প্রোডাকশন এরগোনমিক্স রয়েছে। র সার্ভিং স্পীড এবং OpenAI-এর মতো API-এর জন্য vLLM বেছে নিন; আপনি যদি HF টুলিং-এ গভীরভাবে থাকেন এবং তাদের অপস প্যাটার্ন চান তবে TGI বেছে নিন।
- OpenLLM/FastChat/অন্যান্য: অনেকগুলি পরীক্ষামূলক ব্যবহারের জন্য দুর্দান্ত। vLLM সাধারণত concurrency এবং মেমরি দক্ষতার উপর জয়ী হয়। আপনি যদি স্পাইকি ট্র্যাফিক সহ একটি কনজিউমার অ্যাপ তৈরি করেন তবে vLLM-এর শিডিউলিং লেজগুলিকে ছোট রাখতে সহায়তা করে।
- কাস্টম Triton/Transformers স্ট্যাক: আপনি একটি গড় সার্ভার হাতে তৈরি করতে পারেন, তবে vLLM এমন কৌশলগুলি প্যাকেজ করে যা আপনি তৈরি করতেন—এবং আপনাকে একটি ছোট শহরের কার্নেল বজায় রাখতে হবে না।
গভীর-ish ডাইভ: কেন PagedAttention গুরুত্বপূর্ণ
আপনার মডেলের অ্যাটেনশন থিঙ্ক-স্পেসকে একটি বিশাল হোয়াইটবোর্ড হিসাবে কল্পনা করুন। প্রতিটি কথোপকথন এটির উপর আঁকে। বেশিরভাগ সার্ভার একটি সম্পূর্ণ বিভাগ বরাদ্দ করে—এমনকি যদি কথোপকথনটি দুটি ডুডল এবং একটি স্মাইলি হয়। PagedAttention সেই হোয়াইটবোর্ডটিকে স্টিকি নোটে বিভক্ত করে এবং সেগুলিকে ভেতরে এবং বাইরে শাফেল করে। আরও বেশি লোক একসাথে আঁকতে পারে, কম ফাঁক, কম নষ্ট স্থান। এই কারণেই বাস্তব জগত—অর্থাৎ অনেক ব্যবহারকারী এলোমেলো জিনিস জিজ্ঞাসা করলে vLLM কর্মক্ষমতা ধরে রাখে।
ডেভেলপার অভিজ্ঞতা: আরামদায়ক নাকি কঠিন?
- API আরাম: আপনি OpenAI-এর মতো REST এন্ডপয়েন্ট পান। আপনার বিদ্যমান ক্লায়েন্ট, প্রম্পট টেমপ্লেট এবং লগার আনুন।
- কনফিগারেশন: ব্যাচ সাইজ, টেনসর প্যারালালিজম, কোয়ান্টাটাইজেশন এবং শিডিউলার নবের জন্য প্রচুর পতাকা সহ যুক্তিসঙ্গত ডিফল্ট।
- পর্যবেক্ষণযোগ্যতা: মেট্রিক্স এন্ডপয়েন্ট, লগ এবং Prometheus হুক রয়েছে, যদিও আপনি সম্ভবত আপনার নিজস্ব ট্রেসিং যোগ করবেন।
- সম্প্রসারণযোগ্যতা: টোকেনাইজার, অ্যাডাপ্টার এবং ব্যাকএন্ডের জন্য প্লাগইন-ইশ সমর্থন উন্নত হচ্ছে। আপনি যদি মধ্যরাতে কোড পড়তে পছন্দ করেন তবে রেপোটি সক্রিয় এবং অ্যাক্সেসযোগ্য।
খরচের হিসাব: কীভাবে vLLM GPU বিল পরিবর্তন করে
- আরও ভাল ব্যবহার = কম অলস চক্র। আপনি যদি ঘন্টায় (ক্লাউড) অর্থ প্রদান করেন বা (অন-প্রিম) পরিশোধ করেন, তবে vLLM-এর থ্রুপুট বাম্প প্রতি ডলারে আরও বেশি টোকেনে অনুবাদ করে।
- কোয়ান্টাটাইজেশন লাভ: AWQ/GPTQ/INT8 চালানো যেখানে সমর্থিত VRAM ফুটপ্রিন্ট সঙ্কুচিত করতে পারে এবং আপনাকে একটি GPU টিয়ার নিচে নামতে দিতে পারে—অথবা প্রতি কার্ডে আরও বেশি সমসাময়িক কাজ ফিট করতে দিতে পারে।
- অনুভূমিক স্কেল: যখন আপনার আরও পেশী প্রয়োজন হয়, তখন vLLM একাধিক GPU এবং নোড জুড়ে কাজ করে। আপনি আপনার আর্কিটেকচারকে ব্লেন্ডারে না ফেলে লিনিয়ারলি বাড়তে পারেন।
সাধারণ নিয়ম: আপনার পরিষেবাতে যদি একগুচ্ছ সমসাময়িক ব্যবহারকারীর চেয়ে বেশি থাকে বা আপনি তরঙ্গগুলিতে ব্যাচ কাজ চালান, তবে vLLM-এর দক্ষতা দ্রুত পরিশোধ করে। আপনি যদি কেবল প্রম্পট পরীক্ষা করেন তবে এটি একটি ভালো জিনিস।
বাস্তব-বিশ্বের পরিস্থিতি: vLLM কোথায় নিজের স্থান অর্জন করে
- প্রচুর সংখ্যক একযোগে ব্যবহারকারী সহ চ্যাট সহকারী: গ্রাহক সহায়তা, অভ্যন্তরীণ IT সহায়তা, বা সেই অ্যাপটি মধ্যরাতের পাঁচ মিনিট আগে শিক্ষার্থীদের প্রবন্ধের জন্য ব্রেইনস্টর্ম করতে সহায়তা করে।
- কন্টেন্ট জেনারেশন পাইপলাইন: ব্লগ আউটলাইন, ইমেল ড্রাফ্ট, কোড মন্তব্য—DMV-এর মতো একটি সারি ছাড়াই সমান্তরালভাবে তৈরি করা হয়েছে।
- টুল-পাওয়ার্ড এজেন্ট: যখন আপনার মডেল টুল কলের জন্য থামে, তখন vLLM-এর ব্যাচিং GPU-কে অন্যান্য অনুরোধের সাথে ব্যস্ত রাখে।
- RAG সিস্টেম: আপনার রিট্রিভার অন্য কোথাও বইপোকা জিনিস করার সময় vLLM জেনারেশন লেয়ার হিসাবে সুন্দরভাবে কাজ করে।
vLLM সেটআপ টিপস (মজার উপায়ে শিখেছি)
- আপনি যে মডেলটি আসলে পরিবেশন করার পরিকল্পনা করছেন সেটি দিয়ে শুরু করুন। একটি ছোট 3B বেঞ্চমার্ক করবেন না, তারপর একটি 70B স্থাপন করুন এবং ভাববেন না কেন আপনার GPU চিৎকার করছে।
- সর্বোচ্চ কনটেক্সট দৈর্ঘ্য টিউন করুন। অতিরিক্ত আকারের কনটেক্সট VRAM উড়িয়ে দেয়; সঠিক আকারের কনটেক্সট concurrency বেশি রাখে।
- স্ট্রিমিং সক্ষম করুন। ব্যবহারকারীরা দ্রুত প্রতিক্রিয়া অনুভব করেন এবং আপনি UI টোকেনগুলি তাড়াতাড়ি ফ্লাশ করতে পারেন।
- বাস্তব ট্র্যাফিক প্যাটার্নের সাথে পরীক্ষা করুন। স্পাইকি? স্থিতিশীল? মিশ্র? vLLM-এর শিডিউলার আকৃতির উপর নির্ভর করে আলাদাভাবে উজ্জ্বল হয়।
- সবকিছু লগ করুন। লেটেন্সি p50, p95, টোকেন থ্রুপুট, এবং OOM ইভেন্টগুলি আপনাকে বলে যে পরবর্তীতে কোথায় চাপ দিতে হবে।
সুরক্ষা এবং শাসন: আপনার নিজের উপযুক্ত ব্যবস্থা আনুন
vLLM একটি সার্ভিং ইঞ্জিন, নৈতিক মানদণ্ড নয়। আপনার যদি সংযম, PII স্ক্রাবিং, রেট সীমা, টেন্যান্ট আইসোলেশন বা অডিট ট্রেইলের প্রয়োজন হয়—তবে সেগুলিকে গেটওয়ে বা অ্যাপ লেয়ারে আটকে দিন। ভাল খবর: OpenAI-কম্প্যাটিবল ইন্টারফেস আপনার পছন্দের নীতি এবং মিডলওয়্যার অদলবদল করা সহজ করে তোলে।
সূক্ষ্ম ছাপ: এই vLLM review-এ সামঞ্জস্যতা এবং সতর্কতা
- প্রতিটি মডেল আর্কিটেকচার বা কোয়ান্ট ওয়েট প্লাগ-এন্ড-গো হবে না। ডক্স এবং কমিউনিটি সমস্যাগুলি দেখুন। সমর্থনের গতি দ্রুত, তবে নতুনত্ব সর্বদা স্থিতিশীলতাকে ছাড়িয়ে যায়।
- CPU ফলব্যাক? vLLM GPU-তে সবচেয়ে বেশি খুশি। আপনি CPU-তে পরীক্ষা করতে পারেন, তবে এটি স্কি বুট পরে ম্যারাথন চালানোর মতো।
- মাল্টি-GPU শার্ডিং শক্তিশালী, তবে সতর্ক কনফিগারেশনের প্রয়োজন। বিশেষ করে প্রোডাকশন SLA-এর জন্য ফেইলওভার এবং ওয়ার্ম স্টার্ট পরীক্ষা করুন।
দ্রুত শুরু: একটি মানসিক চেকলিস্ট
- হার্ডওয়্যার: আপনার টার্গেট মডেল + concurrency-এর জন্য অতিরিক্ত স্থানের জন্য যথেষ্ট VRAM সহ GPU।
- মডেল: একটি সু-সমর্থিত পরিবার (Llama, Mistral, Mixtral, Qwen, Gemma) চয়ন করুন এবং টোকেনাইজার/কোয়ান্টাটাইজেশন সামঞ্জস্যতা নিশ্চিত করুন।
- সার্ভিং: OpenAI API চালু করে vLLM চালান, প্রতিক্রিয়া স্ট্রিম করুন, কনটেক্সট এবং max_tokens যুক্তিসঙ্গতভাবে সেট করুন।
- স্কেল: GPU বা নোড যোগ করুন। রাউটিং, রেট সীমা এবং অথের জন্য একটি গেটওয়ে ব্যবহার করুন। ক্লাউড হলে অটোস্কেলিং বিবেচনা করুন।
- খরচ: প্রতি সেকেন্ডে টোকেন, concurrency এবং গড় আউটপুট দৈর্ঘ্য পরিমাপ করুন। প্রতিটি পরিবর্তনের পরে পুনরায় চালান।
লক্ষ্য করার মতো: Sider.AI এই ছবিতে কোথায় ফিট করে
বিল্ডারদের জন্য পরামর্শ: আপনি যদি মডেল বাছাই করার চেষ্টা করছেন, প্রম্পট জুড়ে গতি তুলনা করছেন এবং সাধারণভাবে পুনরাবৃত্তি করার সময় আপনার মন হারাতে না চান, তবে Sider.AI একটি চমৎকার নির্ভরযোগ্য মাধ্যম হতে পারে। আপনি বিভিন্ন ব্যাকএন্ড জুড়ে প্রম্পট খসড়া, পরীক্ষা এবং পরিমার্জন করতে পারেন, তারপর খরচ বা নিয়ন্ত্রণের জন্য স্ব-হোস্ট করার সময় vLLM-এ যেতে পারেন। Sider.AI-কে আপনার পিট ক্রু হিসাবে ভাবুন—তারপর vLLM হল সেই রেস কার যা আপনি ট্র্যাক খোলার সময় চালান। এখনই কাদের vLLM বেছে নেওয়া উচিত?
- হ্যাঁ: ক্রমবর্ধমান ব্যবহারকারী বেস সহ স্টার্টআপ, অনেক দলকে পরিবেশন করা অভ্যন্তরীণ প্ল্যাটফর্ম, পেইড API থেকে স্ব-হোস্টিংয়ে যাওয়া প্রোডাক্ট স্কোয়াড।
- হয়তো: একক ডেভেলপাররা বিকল্পগুলি অন্বেষণ করছেন। যদি আপনার ট্র্যাফিক খুব কম হয়, তবে পরিচালিত API এখনকার জন্য সহজ (এবং সস্তা) হতে পারে।
- এখনও নয়: অত্যন্ত নিয়ন্ত্রিত সংস্থাগুলির সার্ভিং লেয়ারে টার্নকি সম্মতি এবং বিচ্ছিন্নতার প্রয়োজন। প্রথমে এটির চারপাশে আপনার আরও বেশি গার্ডরেলের প্রয়োজন হবে।
vLLM সুবিধা এবং অসুবিধা (কোনো চিনির প্রলেপ নেই)
সুবিধা
- concurrency-এর অধীনে চমৎকার থ্রুপুট
- OpenAI-কম্প্যাটিবল API মাইগ্রেশন সহজ করে তোলে
- PagedAttention সহ শক্তিশালী মেমরি দক্ষতা
- জনপ্রিয় ওপেন মডেল এবং কোয়ান্টাটাইজেশনের জন্য ভাল সমর্থন
- সক্রিয় সম্প্রদায় এবং দ্রুত বিকাশের তাল
অসুবিধা
- সার্বজনীন মডেল/কোয়ান্ট সমর্থন নয়; কিছু টিঙ্কারিং প্রয়োজন
- GPU-তে সেরা; CPU ব্যবহার মূলত বিজ্ঞান পরীক্ষার জন্য
- উৎপাদন-গ্রেড মাল্টিটেনেন্সি এবং শাসনের জন্য অতিরিক্ত প্রয়োজন
- দ্রুত পরিবর্তনগুলির অর্থ হল মাঝে মাঝে আপগ্রেড বাম্প হতে পারে
এই vLLM review-এর রায়
vLLM হল বিরল ওপেন-সোর্স প্রকল্প যা একাডেমিক-স্মার্ট এবং প্রোডাকশন-ব্যবহারিক উভয়ই মনে হয়। আপনি যদি GPU ফার্ম তৈরি না করে স্কেলে LLM চালানোর বিষয়ে গুরুতর হন যা একটি সউনা হিসাবে দ্বিগুণ হয়, তবে এটি আপনার শর্টলিস্টে থাকা উচিত—সম্ভবত শীর্ষে। এটি মডেল পরিবেশন করার একমাত্র উপায় নয়, তবে এখনই, এটি দ্রুততম, সবচেয়ে নমনীয় এবং সবচেয়ে ডেভেলপার-বান্ধব।
অন্যভাবে বলতে গেলে: আপনার বর্তমান সেটআপ যদি ব্যবহারকারীদের তাদের জীবনের পছন্দগুলি পুনর্বিবেচনা করার জন্য যথেষ্ট সময় ধরে অপেক্ষা করায়, vLLM আপনাকে তাদের উত্তর দেওয়ার আগেই সরবরাহ করতে সহায়তা করবে। এবং এটাই তো আসল কথা, তাই না?
অ্যাকশন প্ল্যান: এই সপ্তাহে আপনার LLM-কে দ্রুত করুন
- 1ম দিন: আপনার টার্গেট মডেলের সাথে vLLM চালু করুন। স্ট্রিমিং চালু করুন। এটিকে আপনার আসল প্রম্পট দিয়ে আঘাত করুন।
- 2য় দিন: কনটেক্সট উইন্ডো এবং ব্যাচ সেটিংস টিউন করুন। আরও অনুরোধ ফিট করার জন্য একটি সমর্থিত কোয়ান্টাটাইজেশন চেষ্টা করুন।
- 3য় দিন: একটি গেটওয়ে এবং লগ যোগ করুন। p95 লেটেন্সি এবং প্রতি ডলারে টোকেন পরিমাপ করুন।
- 4–5 দিন: আসল ব্যবহারকারীদের কাছে একটি ক্যানারি পুশ করুন। প্রয়োজনে স্কেল আউট করুন। বুদবুদ কিছু দিয়ে উদযাপন করুন (সেল্টজার গণনা করা হয়)।
এবং যখন আপনার বস জিজ্ঞাসা করেন যে আপনি কীভাবে খরচ দ্বিগুণ না করে থ্রুপুট দ্বিগুণ করেছেন, তখন শুধু দুটি শব্দ বলুন: “পেজড অ্যাটেনশন।” তারপর তাদের এই vLLM review-টি দিন এবং এমনভাবে মাথা নাড়ানো উপভোগ করুন যেন আপনি এটির পরিকল্পনা আগে থেকেই করেছিলেন।
FAQ
Q1: vLLM কি ছোট দলগুলির জন্য ভাল নাকি শুধু বড় উদ্যোগগুলির জন্য?
উভয়ের জন্যই। আপনি যদি খরচ কমানোর জন্য পরিচালিত API থেকে স্ব-হোস্টেডে চলে যান, তাহলে vLLM-এর OpenAI-কম্প্যাটিবল এন্ডপয়েন্টগুলি পরিবর্তনকে সহজ করে তোলে। বড় দলগুলির জন্য, ট্র্যাফিক বেড়ে গেলে থ্রুপুট এবং concurrency-এর সুবিধাগুলি বিশেষভাবে কাজে লাগে।
Q2: vLLM-এ কোন মডেলগুলি সবচেয়ে ভাল চলে?
Llama, Mistral, Mixtral, Qwen, Gemma এবং Phi-এর মতো জনপ্রিয় ওপেন মডেলগুলি ভালোভাবে চলে। কোয়ান্টাটাইজড ভ্যারিয়েন্টের জন্য সামঞ্জস্যতা নোটগুলি দেখুন—বেশিরভাগ সাধারণ ফর্ম্যাট কাজ করে, তবে বহিরাগত কম্বোগুলির জন্য টিঙ্কারিংয়ের প্রয়োজন হতে পারে।
Q3: vLLM চালানোর জন্য আমার কত GPU প্রয়োজন?
আপনার মডেলের আকার এবং কনটেক্সট উইন্ডোর সাথে VRAM মেলান, তারপর concurrency-এর জন্য অতিরিক্ত স্থান যোগ করুন। একটি একক উচ্চ-মেমরি GPU একটি 7B–13B মডেলকে ভালোভাবে পরিবেশন করতে পারে; বৃহত্তর মডেল বা ভারী ট্র্যাফিকের জন্য মাল্টি-GPU সেটআপ থেকে সুবিধা পাওয়া যায়।
Q4: vLLM কি লেটেন্সি কমায় নাকি শুধু থ্রুপুট বাড়ায়?
কর্মভারের উপর নির্ভর করে উভয়ই। ক্রমাগত ব্যাচিং আরও ভাল থ্রুপুটের জন্য GPU ব্যবহার উন্নত করে, যেখানে স্ট্রিমিং এবং দক্ষ শিডিউলিং চ্যাটি অ্যাপগুলিতে টাইম-টু-ফার্স্ট-টোকেন এবং লেজের লেটেন্সিকে সহায়তা করে।
Q5: vLLM Text Generation Inference (TGI)-এর সাথে কীভাবে তুলনা করে?
vLLM প্রায়শই PagedAttention এবং ডায়নামিক ব্যাচিং সহ থ্রুপুটের ক্ষেত্রে TGI-কে ছাড়িয়ে যায়, বিশেষ করে ইন্টারেক্টিভ চ্যাটের জন্য। TGI Hugging Face ইন্টিগ্রেশন এবং এন্টারপ্রাইজ পালিশের দিকে ঝুঁকেছে—আপনার স্ট্যাক এবং অগ্রাধিকারগুলি সিদ্ধান্ত নেওয়া উচিত।