কেন Groq ব্যবহার করা অনেকটা চিটিং করার মতো মনে হয়

আমি সম্প্রতি LangGraph ব্যবহার করে একটি multi-agent pipeline তৈরি করেছি। আমি Groq-এর সাথে সাধারণ LLM প্রোভাইডারদের তুলনা করেছি। পার্থক্যটি ছিল বিশাল।

অন্যান্য প্রোভাইডারদের ক্ষেত্রে এটি একটি সাধারণ API কলের মতো মনে হয়। আপনি একটি রিকোয়েস্ট পাঠান এবং টেক্সটের জন্য অপেক্ষা করেন। কিন্তু Groq ব্যবহার করা অনেকটা চিটিং করার মতো মনে হয়। আমি আমার প্রম্পট পড়া শেষ করার আগেই একটি 70B মডেল সম্পূর্ণ রেসপন্স দিয়ে দিল।

বেশিরভাগ মানুষ মনে করেন Groq-এর কাছে উন্নত GPU আছে। এটি ভুল। Groq মোটেও GPU ব্যবহার করে না। তারা LPU বা Language Processing Unit নামে একটি নতুন চিপ তৈরি করেছে।

GPU তৈরি করা হয়েছে গ্রাফিক্স এবং মডেল ট্রেনিংয়ের জন্য। যখন আপনি বিশাল পরিমাণ ডেটা প্রসেস করেন, তখন এগুলো ভালো কাজ করে। কিন্তু রিয়েল-টাইম ইনফারেন্সের (inference) ক্ষেত্রে এগুলো হিমশিম খায়।

সমস্যাটি হলো "memory wall"। একটি GPU-তে, মডেল ওয়েটগুলো (weights) কম্পিউট কোর থেকে আলাদা মেমরিতে থাকে। ফলে চিপটিকে ডেটা আসার জন্য অনেক সময় অপেক্ষা করতে হয়।

Groq চিপের ওপর সরাসরি মেমরি বসিয়ে এই সমস্যার সমাধান করেছে। তারা HBM-এর পরিবর্তে SRAM ব্যবহার করে। এটি ব্যান্ডউইথ বা bandwidth-এ ১০ গুণ ব্যবধান তৈরি করে। ল্যাটেন্সি (latency) বিবেচনা করলে এটি ডেটা অ্যাক্সেসকেও ২০ গুণ দ্রুত করে তোলে।

এই গতির পেছনে আরেকটি কারণ রয়েছে: determinism।

GPU ব্যবহার করে dynamic scheduling। চিপটি চলার সময় সিদ্ধান্ত নেয় তাকে কী করতে হবে। এর ফলে সামান্য বিলম্ব ঘটে। Groq একটি software-first পদ্ধতি ব্যবহার করে। তাদের কম্পাইলার প্রতিটি অপারেশন এবং ইন্সট্রাকশন আগে থেকেই গণনা করে রাখে। চিপটি একটি পূর্বনির্ধারিত শিডিউল অনুসরণ করে। এর পরবর্তী কী করতে হবে তা নিয়ে চিন্তা করতে হয় না।

ফলাফল নিজেই কথা বলে: • Groq-এ Llama 2 70B প্রতি সেকেন্ডে ৩০০ টোকেন গতিতে চলে। • একটি Nvidia H100-এ এটি প্রতি সেকেন্ডে ৩০–৪০ টোকেন গতিতে চলে। • Groq-এ Llama 3 8B প্রতি সেকেন্ডে ১,৩০০-এর বেশি টোকেন গতিতে পৌঁছায়।

Groq আরও বেশি দক্ষ। এটি প্রতি টোকেনে অনেক কম মোট শক্তি ব্যবহার করে কারণ এটি কাজ অনেক দ্রুত শেষ করে ফেলে।

এই ডিজাইনের কিছু সীমাবদ্ধতা (tradeoffs) রয়েছে। SRAM ব্যয়বহুল এবং এটি অনেক বেশি জায়গা দখল করে। একটি চিপ দিয়ে বিশাল কোনো মডেল চালানো সম্ভব নয়। বড় মডেলগুলো চালানোর জন্য শত শত LPU-কে একসাথে কাজ করতে হয়। এর ফলে হার্ডওয়্যারটি GPU-এর তুলনায় বেশি ব্যয়বহুল হয়ে পড়ে।

Groq মডেল ট্রেনিং করার চেষ্টা করছে না। তারা Llama বা Mixtral-এর মতো বিদ্যমান মডেলগুলোকে যতটা সম্ভব দ্রুত চালানোর দিকে মনোনিবেশ করছে।

ইন্ডাস্ট্রি এখন উভয়টি ব্যবহারের দিকে এগোচ্ছে। GPU ভারী ট্রেনিং এবং প্রাথমিক প্রসেসিংয়ের কাজ সামলায়। LPU দ্রুত এবং রিয়েল-টাইম কথোপকথন সামলায়।

Nvidia মোট কম্পিউটেশনের (computation) জন্য অপ্টিমাইজ করা হয়েছে। Groq অপ্টিমাইজ করা হয়েছে যাতে কম্পিউটকে কখনোই ডেটার জন্য অপেক্ষা করতে না হয়। রিয়েল-টাইম AI এজেন্টদের জন্য দ্বিতীয় লক্ষ্যটিই বেশি গুরুত্বপূর্ণ।

Source: https://dev.to/priyanshu79/why-groq-feels-like-cheating-29hm

Optional learning community: https://t.me/GyaanSetuAi