LLM cost optimization — LLM ব্যবহারের খরচ অপ্টিমাইজেশন

From Systems analysis wiki
Jump to navigation Jump to search

বৃহৎ ভাষা মডেল (LLM) ব্যবহারের খরচ অপ্টিমাইজেশন — এটি কৌশল ও প্রযুক্তিগত পদ্ধতির একটি সমন্বিত ব্যবস্থা, যা বৃহৎ ভাষা মডেলের প্রশিক্ষণ, দোবারা প্রশিক্ষণ (fine-tuning) এবং বিশেষত কার্যকরীকরণ (inference) পর্যায়ে প্রয়োজনীয় গণনীয় ও আর্থিক সম্পদ হ্রাস করার লক্ষ্যে পরিচালিত। এই ক্ষেত্রটির প্রাসঙ্গিকতা LLM-এর উন্নয়ন এবং পরিচালনা উভয়ের বিশাল ব্যয়ের কারণে নির্ধারিত হয়।

উদাহরণস্বরূপ, ১৭৫ বিলিয়ন প্যারামিটারযুক্ত GPT-3 মডেলের প্রশিক্ষণে ক্লাউড GPU-অবকাঠামোতে আনুমানিক $৪.৬ মিলিয়ন ব্যয় হয়েছিল[1] এবং ১৩ লক্ষ কিলোওয়াট-ঘণ্টা বিদ্যুৎ খরচ হয়েছিল[2]। তবে প্রধান ব্যয় প্রায়ই inference পর্যায়েই হয়। ২০২৩ সালের শুরুতে ChatGPT সার্ভিস পরিচালনার দৈনিক পরিচালনা ব্যয় ছিল আনুমানিক $৭ লক্ষ (প্রতিটি অনুরোধে প্রায় $০.০০৩৬), যা একক প্রশিক্ষণ ব্যয়ের চেয়ে বহুগুণ বেশি[3]

প্রশিক্ষণ ও মডেল নির্বাচন পর্যায়ে অপ্টিমাইজেশন

কার্যকর খরচ ব্যবস্থাপনা শুরু হয় inference পর্যায়ের আগে নেওয়া মৌলিক সিদ্ধান্তগুলির মাধ্যমে।

স্কেলিং আইন: মডেলের আকার বনাম ডেটার পরিমাণ

LLM প্রশিক্ষণের অর্থনীতি বোঝার ক্ষেত্রে একটি গুরুত্বপূর্ণ অগ্রগতি হলো Chinchilla স্কেলিং আইন, যা ২০২২ সালে DeepMind-এর গবেষকরা উপস্থাপন করেছিলেন। তারা দেখিয়েছিলেন যে গণনীয় বাজেটের সর্বোত্তম ব্যবহারের জন্য মডেলটিকে পূর্বের তুলনায় উল্লেখযোগ্যভাবে বেশি পরিমাণ ডেটায় প্রশিক্ষণ দেওয়া উচিত[4]

ঐতিহাসিকভাবে ধরে নেওয়া হতো যে প্যারামিটার সংখ্যা বৃদ্ধির মাধ্যমেই মূলত কার্যক্ষমতা বাড়ে। তবে Chinchilla গবেষণা দেখিয়েছে যে ১.৪ ট্রিলিয়ন token-এ প্রশিক্ষিত Chinchilla মডেল (৭০ বিলিয়ন প্যারামিটার) মাত্র ~৩০০ বিলিয়ন token-এ প্রশিক্ষিত অনেক বড় GPT-3 মডেলকে (১৭৫ বিলিয়ন প্যারামিটার) মানের দিক থেকে ছাড়িয়ে যায়[5]। প্রস্তাবিত অনুপাত হলো মডেলের প্রতিটি প্যারামিটারের জন্য প্রায় ২০টি token প্রশিক্ষণ ডেটা। এই পদ্ধতি আরও কম্প্যাক্ট ও কার্যকর মডেল তৈরি করতে সাহায্য করে এবং প্রশিক্ষণ ও পরবর্তী inference উভয় ব্যয় হ্রাস করে।

দোবারা প্রশিক্ষণ (Fine-tuning) এবং এর কার্যকারিতা

শূন্য থেকে ব্যয়বহুল মডেল প্রশিক্ষণের পরিবর্তে, বিদ্যমান উন্মুক্ত মডেলের (যেমন LLaMA পরিবার, Falcon) fine-tuning ক্রমশ জনপ্রিয় হচ্ছে। ব্যয় আরও কমাতে প্যারামিটার-দক্ষ fine-tuning (Parameter-Efficient Fine-Tuning, PEFT) পদ্ধতি ব্যবহার করা হয়।

সবচেয়ে জনপ্রিয় পদ্ধতি LoRA (Low-Rank Adaptation) মডেলকে মাত্র অল্পসংখ্যক অতিরিক্ত প্যারামিটার আপডেট করে অভিযোজিত করতে দেয়। গবেষণা দেখায় যে LoRA মানের উপর সামান্য প্রভাব ফেলে fine-tuning ব্যয় কয়েক দশক শতাংশ (কিছু পরিস্থিতিতে ~৬৮% পর্যন্ত) কমাতে পারে[6]

মডেলের আকার সংকোচন (Model Compression)

অপ্টিমাইজেশনের একটি গুরুত্বপূর্ণ দিক হলো মডেলের কার্যক্ষমতা বজায় রেখে তার ভৌত আকার হ্রাস করা।

জ্ঞান পাতন (Knowledge Distillation)

জ্ঞান পাতন এমন একটি প্রক্রিয়া যেখানে একটি বড় ও শক্তিশালী "শিক্ষক" মডেল ব্যবহার করে একটি আরও কম্প্যাক্ট "ছাত্র" মডেলকে প্রশিক্ষণ দেওয়া হয়। ছাত্র বিস্তৃত ডেটাসেটে শিক্ষকের উত্তর অনুকরণ করতে শেখে এবং তার "জ্ঞান" গ্রহণ করে। এই পদ্ধতি নির্দিষ্ট কাজে অনেক কম ব্যয়ে তুলনামূলক মান অর্জন করতে সাহায্য করে। উদাহরণস্বরূপ, DeepSeek-R1 মডেলটি সফলভাবে ৬৭১ বিলিয়ন থেকে ৭০ বিলিয়ন এবং এমনকি ১.৫ বিলিয়ন প্যারামিটারে পাতিত করা হয়েছিল, যা অনেক প্রয়োগের জন্য গ্রহণযোগ্য মান হ্রাস সহ[7]

কোয়ান্টাইজেশন (Quantization)

কোয়ান্টাইজেশন হলো মডেলের ওজন উপস্থাপনে ব্যবহৃত সংখ্যাগত নির্ভুলতা হ্রাসের প্রক্রিয়া। আদর্শ ৩২-বিট বা ১৬-বিট ফ্লোটিং পয়েন্ট সংখ্যার পরিবর্তে ৮-বিট বা এমনকি ৪-বিট পূর্ণ সংখ্যা ব্যবহার করা হয়।

  • ৮-বিট কোয়ান্টাইজেশন প্রায় ১% নির্ভুলতা হ্রাসে মডেলের আকার প্রায় ৫০% কমায়।
  • ৪-বিট কোয়ান্টাইজেশন মডেলের আকার ৭৫% কমায়, একই সাথে প্রতিযোগিতামূলক আউটপুট মান বজায় রাখে[7]

হার্ডওয়্যার সমর্থন (যেমন Nvidia-র আধুনিক GPU) এবং সফটওয়্যার লাইব্রেরি (যেমন TensorRT) থাকলে কোয়ান্টাইজেশন inference ২–৪ গুণ পর্যন্ত ত্বরান্বিত করতে পারে[8]

Inference পর্যায়ে অপ্টিমাইজেশন

মডেল প্রশিক্ষিত ও স্থাপিত হওয়ার পর, ব্যয়ের প্রধান অংশ এর দৈনন্দিন ব্যবহারের সাথে যুক্ত।

অনুরোধ ব্যাচিং (Batching)

ব্যাচিং হলো একাধিক ব্যবহারকারীর অনুরোধকে একটি "ব্যাচে" একত্রিত করে GPU-তে একযোগে প্রক্রিয়াকরণ। এটি সরঞ্জামের ব্যবহার এবং সামগ্রিক থ্রুপুট উল্লেখযোগ্যভাবে বৃদ্ধি করে। LLM-এর জন্য, যেখানে উত্তর প্রজন্ম একটি করে token-এ ঘটে, সবচেয়ে কার্যকর হলো ক্রমাগত ব্যাচিং (continuous/in-flight batching)। এই পদ্ধতি গতিশীলভাবে ব্যাচে নতুন অনুরোধ যোগ করে যখন অন্যগুলি সম্পন্ন হয়, যা অলস সময় দূর করে এবং GPU লোড সর্বাধিক করে[9]

কী ও মান কেশিং (KV Cache)

ট্রান্সফর্মার মডেলে প্রতিটি নতুন token তৈরিতে সমস্ত পূর্ববর্তী token-এর তথ্য প্রয়োজন। গণনার এক্সপোনেনশিয়াল বৃদ্ধি এড়াতে কী ও মান কেশিং (KV Cache) ব্যবহার করা হয়। সিস্টেম ইতিমধ্যে প্রক্রিয়াকৃত প্রসঙ্গের জন্য attention মেকানিজমের মধ্যবর্তী গণনার ফলাফল সংরক্ষণ করে এবং পুনরায় ব্যবহার করে, যা দীর্ঘ ক্রম এবং বহু-পদক্ষেপ কথোপকথনের প্রজন্ম উল্লেখযোগ্যভাবে আরও কার্যকর করে তোলে[7]

Attention মেকানিজমের অপ্টিমাইজেশন

KV-ক্যাশ সংরক্ষণে উল্লেখযোগ্য মেমরি প্রয়োজন। এটি হ্রাস করতে attention মেকানিজমের অপ্টিমাইজড সংস্করণ তৈরি করা হয়েছে:

  • Multi-Query Attention (MQA): সমস্ত attention head একটি সাধারণ কী ও মানের সেট ব্যবহার করে।
  • Grouped-Query Attention (GQA): একটি মধ্যবর্তী আপোশ, যেখানে attention head-গুলি গোষ্ঠীতে বিভক্ত এবং প্রতিটি গোষ্ঠী একটি সাধারণ কী ও মানের সেট ব্যবহার করে।

Meta সফলভাবে LLaMA 2 মডেলে GQA প্রয়োগ করেছে, যা মানের উল্লেখযোগ্য ক্ষতি ছাড়াই দীর্ঘ প্রসঙ্গে inference কার্যকারিতা উল্লেখযোগ্যভাবে বৃদ্ধি করেছে[10]

অবকাঠামো ও সিস্টেম আর্কিটেকচার অপ্টিমাইজেশন

হাইব্রিড সিস্টেম এবং Retrieval-Augmented Generation (RAG)

সবসময় কোনো কাজের জন্য সবচেয়ে বড় ও শক্তিশালী মডেলের প্রয়োজন হয় না। হাইব্রিড বা ক্যাসকেড পদ্ধতিতে সহজ অনুরোধের জন্য একটি ছোট ও সস্তা মডেল ব্যবহার করা হয়, এবং কেবল ব্যর্থ হলে বা জটিল কাজের জন্য অনুরোধটি বড় ও ব্যয়বহুল মডেলে পাঠানো হয়।

এই পদ্ধতির একটি নির্দিষ্ট এবং অত্যন্ত কার্যকর ক্ষেত্র হলো Retrieval-Augmented Generation (RAG)। এই আর্কিটেকচারে LLM তুলনামূলকভাবে কম্প্যাক্ট হতে পারে, কারণ উত্তর দেওয়ার জন্য এটি বাহ্যিক জ্ঞানভান্ডার (যেমন কর্পোরেট ডকুমেন্টেশন বা সার্চ ইঞ্জিন) থেকে প্রাপ্ত হালনাগাদ তথ্য ব্যবহার করে। এটি কেবল মডেলের আকারের প্রয়োজনীয়তা হ্রাস করে না, বরং হ্যালুসিনেশনের সমস্যাও সমাধান করে। স্থানীয় অবকাঠামোতে RAG সহ একটি বিশেষায়িত ৭০ বিলিয়ন প্যারামিটার মডেল স্থাপন করা ক্লাউডে GPT-4 API ব্যবহারের চেয়ে ২–৪ গুণ সস্তা হতে পারে[11]

মন্তব্য

  1. «OpenAI's GPT-3 Language Model: A Technical Overview». Lambda Labs. [১]
  2. «The Energy Footprint of Humans and Large Language Models». Communications of the ACM. [২]
  3. «The Inference Cost Of Search Disruption - Large Language Model Cost Analysis». SemiAnalysis. [৩]
  4. Hoffmann, J., et al. (2022). «Training Compute-Optimal Large Language Models». arXiv:2203.15556.
  5. Chow, T. (2024). «Three Kuhnian Revolutions in ML Training». Substack. [৪]
  6. «A Study to Evaluate the Impact of LoRA Fine-tuning on the Performance of Non-functional Requirements Classification». arXiv:2503.07927. (2025).
  7. 7.0 7.1 7.2 «LLM Inference Optimization: How to Speed Up, Cut Costs, and Scale AI Models». deepsense.ai. [৫]
  8. Jin, H., et al. (2024). «GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers».
  9. «Continuous vs dynamic batching for AI inference». Baseten Blog. [৬]
  10. «What is grouped query attention?». IBM. [৭]
  11. «Inferencing on-premises with Dell Technologies». Dell Technologies Analyst Paper. [৮]