নিজের মেশিনে LLM চালানো: open model, hardware ও কখন ঠিক

Open-weight model গোপনীয়তা ও নিয়ন্ত্রণের জন্য নিজের hardware-এ চলে। কী লাগে এবং কখন hosted API এখনো ভালো তা শিখুন।

ব্যক্তিগতভাবে language model চালানো ল্যাপটপ ও ছোট server

প্রতিটি prompt cloud API-তে পাঠাতে হবে এমন নয়। Open-weight model (প্রশিক্ষিত weight ডাউনলোডের জন্য প্রকাশিত) আপনার ল্যাপটপ, workstation বা server-এ চলতে পারে। এই লেখা বিকল্প ও সৎ লাভ-ক্ষতি ব্যাখ্যা করে।

লক্ষ্য করুন: "open-weight" সবসময় "open source"-এর সমান নয়। প্রতিটি model-এর নিজস্ব licence আছে যা বাণিজ্যিক ব্যবহার সীমিত করতে পারে বা আকারের শর্ত রাখতে পারে, তাই পণ্য বানানোর আগে পড়ুন।

কেন নিজে চালাবেন?

  • গোপনীয়তা: prompt ও নথি আপনার মেশিনেই থাকে। সংবেদনশীল data ও কড়া compliance চাহিদায় কাজের।
  • নিয়ন্ত্রণ: model ও সংস্করণ আপনি বাছেন, আপনার অজান্তে বদলায় না।
  • বড় পরিসরে খরচ: প্রতি token ফি নেই। ভারী স্থির ব্যবহারে নিজের hardware সস্তা হতে পারে, যদিও hardware, বিদ্যুৎ ও আপনার সময়ের খরচ আছে।
  • Offline ব্যবহার ও কম network latency।
  • ব্যবহার বিল ছাড়া শেখা ও পরীক্ষা।
  • Fine-tune ও কাস্টমাইজের স্বাধীনতা।

কেন নয়?

  • সেরা proprietary model সাধারণত বেশি শক্তিশালী, বিশেষত জটিল যুক্তি ও দীর্ঘ কাজে। ফাঁক কাজ ভেদে আলাদা, তাই নিজের ব্যবহারে পরীক্ষা করুন।
  • আপনার hardware এবং চালানো, monitor, নিরাপদ ও হালনাগাদ করার দক্ষতা লাগে।
  • অনেক সমকালীন ব্যবহারকারীর throughput-এ গুরুতর GPU লাগে।
  • নিরাপত্তা, মূল্যায়ন ও হালনাগাদের কাজ নিজেকেই করতে হয়।

কী লাগে: memory-ই মূল

Model-এর আকার parameter দিয়ে গোনা হয় (যেমন 7B বা 70B বিলিয়ন)। Weight GPU memory (VRAM) বা সিস্টেম RAM-এ আঁটতে হবে, আর GPU-তে generation সবচেয়ে দ্রুত।

Quantization কম বিটে (যেমন ১৬-বিটের বদলে ৪-বিট) weight রেখে memory অনেক কমায়, কিছু মান হারিয়ে যা প্রায়ই গ্রহণযোগ্য। মোটামুটি নির্দেশনা: ৪-বিট model-এ প্রতি বিলিয়ন parameter-এ প্রায় আধা গিগাবাইট memory এবং context-এর জন্য বাড়তি লাগে, তবে নির্দিষ্ট model-এর ঘোষিত চাহিদা দেখুন।

মোটামুটি সাধারণ চিত্র:

  • ছোট model (কয়েক বিলিয়ন parameter): বড় GPU ছাড়াই আধুনিক ল্যাপটপে চলে। সহজ কাজ, সারাংশ ও পরীক্ষায় ভালো।
  • মাঝারি (প্রায় 7B থেকে 30B): ভালো GPU বা প্রচুর unified বা সিস্টেম memory-র মেশিন লাগে।
  • বড় (70B ও তার বেশি): একাধিক বা উচ্চ-memory GPU, অথবা ভারী quantization ও ধৈর্য লাগে।

Unified memory-র Apple silicon মেশিন মাঝারি model ভালো চালায়। শুধু CPU-তে চলে তবে ধীর।

জনপ্রিয় টুল

  • Ollama: এক কমান্ডে model নামানো ও চালানোর সহজ উপায়, সাথে স্থানীয় API।
  • llama.cpp: দক্ষ C/C++ runtime, ব্যাপক ব্যবহৃত, CPU ও অনেক GPU-তে quantized ফরম্যাট (GGUF) সমর্থন করে।
  • LM Studio ও অনুরূপ অ্যাপ: স্থানীয় model-এর desktop ইন্টারফেস।
  • vLLM, TGI ও অনুরূপ server: production কাজের জন্য GPU-তে উচ্চ-throughput পরিবেশন।

সাধারণ প্রথম চেষ্টা:

ollama pull <model-name>
ollama run <model-name>

বিশ্বস্ত লাইব্রেরি থেকে বর্তমান model বাছুন এবং তার আকার ও licence দেখুন।

অ্যাপে ব্যবহার

অনেক স্থানীয় server OpenAI-compatible HTTP API দেয়, তাই base URL ও model নাম বদলেই অ্যাপ hosted ও স্থানীয় model-এর মধ্যে বদলানো যায়। এতে আপনার মূল্যায়ন সেটে তুলনা সহজ হয়।

নিরাপত্তা টীকা

  • Model শুধু বিশ্বস্ত উৎস থেকে নামান। নিরাপদ weight ফরম্যাট পছন্দ করুন, কারণ কিছু পুরোনো ফরম্যাট লোড করার সময় কোড চালাতে পারে।
  • Authentication, firewall ও rate limit ছাড়া model server ইন্টারনেটে খুলবেন না।
  • স্থানীয় model-ও prompt injection-এ দুর্বল, এবং একই agent ও টুল নিয়ম প্রযোজ্য।
  • Runtime ও driver হালনাগাদ রাখুন।

কীভাবে সিদ্ধান্ত নেবেন

১. চাহিদা লিখুন: মান, গোপনীয়তা, পরিমাণ, latency, বাজেট। ২. এক-দুটি open model নিজের মূল্যায়ন সেটে পরীক্ষা করুন এবং hosted model-এর সাথে তুলনা করুন। ৩. মান যথেষ্ট হলে এবং গোপনীয়তা বা খরচ গুরুত্বপূর্ণ হলে নিজের মেশিনে বা server-এ চালান। ৪. সেরা মান বা কম পরিচালনা কাজ চাইলে hosted API ব্যবহার করুন। অনেক দল দুটিই ব্যবহার করে: ব্যক্তিগত বা সহজ কাজে স্থানীয়, কঠিনগুলোতে hosted।

মূল কথা: স্থানীয় open-weight model গোপনীয়তা ও নিয়ন্ত্রণ দেয়, memory (VRAM) ও quantization ঠিক করে কী আঁটবে, Ollama ও llama.cpp-এর মতো টুল সহজ করে, এবং প্রতিশ্রুতির আগে নিজের কাজে hosted model-এর সাথে তুলনা করুন।


AI ও LLM সিরিজ, পর্ব ২ (মান, agent ও খরচ): 5 নম্বর (মোট 5)। আগের লেখা: LLM খরচ ও latency কমানো: caching, routing ও ছোট prompt.

আরও পড়ুন