লোকাল AI

কতগুলো লোকাল AI থ্রেড চালানো উচিত?

একসঙ্গে একাধিক লোকাল AI অনুরোধ চালালে একটি ব্যাচ আরও দক্ষ মনে হতে পারে, কিন্তু সমান্তরাল কাজ বিনামূল্যে হয় না। প্রতিটি লোকাল কর্মীর নিজের লোড করা মডেল কপি প্রয়োজন হতে পারে, তাই থ্রেড বাড়ালে মেমোরি ব্যবহার বাড়তে পারে এবং একই GPU-এর জন্য প্রতিযোগিতা তৈরি হতে পারে। যুক্তিসংগত প্রশ্ন “সর্বোচ্চ সংখ্যা কত?” নয়, বরং “এই ডিভাইসে স্থিতিশীল ও উপযোগী থাকা সর্বোচ্চ সেটিং কত?”

এই নির্দেশিকায় উদাহরণ হিসেবে MetaStocker-এর লোকাল ব্রাউজার এক্সিকিউশন ব্যবহার করা হয়েছে। একই পদ্ধতি ব্রাউজারভিত্তিক অন্যান্য লোকাল মডেলের ক্ষেত্রেও প্রযোজ্য: একটি থ্রেডের ভিত্তি-পরিমাপ স্থাপন করুন, ছোট ব্যাচে দুটি থ্রেড পরীক্ষা করুন, এবং ত্রুটি বা বিরক্তিকর ধীরগতি ছাড়াই কাজের ধারা উন্নত হলে তবেই বেশি সেটিং রাখুন।

নিরাপদ লোকাল সমান্তরালতা পরীক্ষা: একটি থ্রেডের ভিত্তি সেট করুন — ছোট প্রতিনিধিত্বশীল ব্যাচ চালিয়ে স্থিতিশীলতা ও ব্রাউজারের সাড়া লিখে রাখুন।; দুই কর্মীর পরীক্ষা — মডেল, ফাইল ও প্রম্পট অপরিবর্তিত রেখে দুটি থ্রেডে আবার চালান।; স্থিতিশীল সেটিং রাখুন — নির্ভরযোগ্য হলেই দুটি ব্যবহার করুন; নইলে একটি থ্রেডে ফিরে যান।
এই নির্দেশিকার কাজের ধাপগুলোর চিত্র।

একটি লোকাল থ্রেড আসলে কী ব্যবহার করে

একটি লোকাল থ্রেড হলো AI অনুরোধ সামলানো একজন কর্মী। MetaStocker-এ লোকাল এক্সিকিউশন ব্রাউজারে WebGPU কর্মী ব্যবহার করে। দ্বিতীয় কর্মী আরেকটি অনুরোধ প্রক্রিয়া করতে পারে, তবে নির্বাচিত মডেলের আলাদা কপিও লোড করতে পারে। অর্থাৎ মেমোরি ব্যবহার এমনভাবে বাড়তে পারে, যা ছোট কোনো নিয়ন্ত্রণ সেটিংয়ের চেয়ে “প্রতি সক্রিয় কর্মীর জন্য একটি মডেল”-এর কাছাকাছি।

সঠিক প্রয়োজন মডেল, ব্রাউজার, GPU, ড্রাইভার, ছবির মাত্রা, প্রম্পটের প্রসঙ্গ এবং আর কী খোলা আছে তার ওপর নির্ভর করে। শুধু WebGPU সমর্থন থাকলেই প্রমাণ হয় না যে ডিভাইসে একটি মডেলের জন্য যথেষ্ট মেমোরি আছে। থ্রেডের সংখ্যা RAM দেখে একাই বেছে নেওয়া যায় এমন কোনো নির্দিষ্ট মান নয়; এটিকে কাজের চাপের সেটিং হিসেবে বিবেচনা করুন।

  • ডিভাইসে অতিরিক্ত সক্ষমতা থাকলে বেশি থ্রেড কাজের গতি বাড়াতে পারে।
  • বেশি থ্রেড মেমোরির চাপ, প্রতিযোগিতা, পুনরায় চেষ্টা বা ব্রাউজার ত্রুটিও তৈরি করতে পারে।
  • ব্রাউজারের ক্যাশে সংরক্ষিত মডেল ডেটা সক্রিয় মডেল মেমোরির সমান নয়।

একটি থ্রেডের ভিত্তি-পরিমাপ দিয়ে শুরু করুন

একটি লোকাল থ্রেড এবং ছোট, প্রতিনিধিত্বশীল ব্যাচ দিয়ে শুরু করুন। স্বাভাবিক কাজে যে মডেল, প্রম্পট, ফাইলের ধরন এবং ব্রাউজার সেশন ব্যবহার করবেন, সেগুলোই রাখুন। বাস্তব পর্যবেক্ষণ লিখে রাখুন: মডেল লোড হয় কি না, অনুরোধ সম্পন্ন হয় কি না, ব্রাউজার কতটা সাড়া দেয় এবং ফলাফলে অস্বাভাবিক বেশি সংশোধন প্রয়োজন হয় কি না।

লোকাল ব্যবহারের আগে MetaStocker-এ মডেল ডাউনলোড করতে হয় এবং ইনফারেন্সের জন্য আপনাকেই সেটি লোড করতে হয়। আনলোড করলে সক্রিয় মেমোরি মুক্ত হতে পারে, কিন্তু ক্যাশে থাকা মডেল ফাইল থেকে যায়; ব্রাউজারের মডেল ফাইল মুছে ফেলা আলাদা কাজ। ডাউনলোড সম্পন্ন হয়েছে মানেই কয়েকটি সক্রিয় কর্মী এতে জায়গা পাবে—এমন ধরে নেবেন না।

  • পরীক্ষার আগে অপ্রয়োজনীয় GPU-নির্ভর ট্যাব বন্ধ করুন।
  • শুধু অত্যন্ত ছোট পরীক্ষামূলক ফাইল নয়, সাধারণ উৎপাদন-আকারের প্রিভিউ ব্যবহার করুন।
  • একটি থ্রেডের ফলাফল তুলনার ভিত্তি হিসেবে রাখুন।

নিয়ন্ত্রিত ধাপ হিসেবে দুটি থ্রেড পরীক্ষা করুন

ভিত্তি-পরিমাপ স্থিতিশীল হলে ছোট ব্যাচে দুটি থ্রেড পরীক্ষা করুন। অন্য সবকিছু অপরিবর্তিত রাখুন। শুধু প্রথম সম্পন্ন হওয়া আইটেম নয়, পুরো কাজের ধারা তুলনা করুন: মডেল চালু হওয়ার সময়, সারির আচরণ, ব্রাউজারের সাড়া, সম্পন্ন হওয়ার নির্ভরযোগ্যতা এবং মেটাডেটা পর্যালোচনায় প্রয়োজনীয় পরিশ্রম।

সঙ্গে সঙ্গে বড় ও ঝুঁকিপূর্ণ সেটিংয়ে না গিয়ে ডিভাইসে বাস্তব অতিরিক্ত সক্ষমতা আছে কি না বোঝার জন্য দুটি থ্রেড একটি কার্যকর পরবর্তী পরীক্ষা। দুটি থ্রেড নির্ভরযোগ্যভাবে সম্পন্ন হয় এবং ব্রাউজার সাড়া দিতে থাকে, তাহলে দীর্ঘতর পরীক্ষা করুন। পুরো কাজ ধীর, অস্থিতিশীল বা বোঝা কঠিন হলে একটি থ্রেডে ফিরে যান।

  • শুধু একটি পরিবর্তন করুন: থ্রেডের সংখ্যা।
  • ব্রাউজার অস্থিতিশীল হলে বা ত্রুটি বারবার হলে পরীক্ষা থামান।
  • ভিড় করা সারির চেয়ে নির্ভরযোগ্যভাবে কাজ সম্পন্ন হওয়াকে অগ্রাধিকার দিন।
কাল্পনিক উদাহরণ: একজন অবদানকারী রান্না প্রস্তুতির 12টি ছবি নিয়ে Gemma E2B বেছে নিলেন। একটি থ্রেডে প্রথমে চারটি ছবি প্রক্রিয়া করে তিনি ব্রাউজারের স্থিতিশীল আচরণ নোট করলেন। এরপর একই ধরনের চারটি ছবি দিয়ে দুটি থ্রেডে আবার পরীক্ষা করলেন। দ্বিতীয় পরীক্ষা গ্রহণযোগ্যভাবে শেষ হলে এবং ব্রাউজার সাড়া দিতে থাকলে, বাকি ছবিগুলো দুটি থ্রেডে চালালেন। দুটি কর্মী মেমোরির জন্য প্রতিযোগিতা করলে এবং দ্বিতীয় পরীক্ষা বেশি সময় নিলে বা ব্যর্থ হলে, তিনি একটি থ্রেডই রাখলেন। এটি কাজের ধারার সিদ্ধান্ত, গতির পরিমাপভিত্তিক দাবি নয়।

ধীর সমান্তরাল কাজের কারণ নির্ণয় করুন

দুটি অনুরোধ সক্রিয় থাকলেও সমান্তরাল কাজ ধীর হতে পারে। কর্মীরা GPU মেমোরির জন্য প্রতিযোগিতা করতে পারে, ব্রাউজার ডেটা স্থানান্তরে সময় দিতে পারে, অথবা ডিভাইস মেমোরির চাপ থেকে সামলানোর প্রক্রিয়া শুরু করতে পারে। ছোট ব্যাচে মডেল লোড করতেই বেশি সময় লাগতে পারে, ফলে কাজের পরিমাণ কম হলে বেশি থ্রেড হতাশাজনক মনে হয়।

বড় কিন্তু তুলনাযোগ্য নমুনাজুড়ে ধীরগতি ধারাবাহিক কি না পরীক্ষা করুন। ইন্টারফেসে দেরিতে সাড়া, অসম্পূর্ণ জেনারেশন, বারবার ত্রুটি, মডেল পুনরায় লোড হওয়া বা অস্থিতিশীল ব্রাউজার ট্যাবের লক্ষণ দেখুন। একই সময়ে কতটি অনুরোধ চলছে তা নয়, মোট ব্যবহারযোগ্য আউটপুট ও পর্যালোচনার পরিশ্রম তুলনা করুন।

  • চালু হতে বেশি সময় লাগলে স্থিতিশীল আচরণ বোঝার মতো বড় ব্যাচ পরীক্ষা করুন।
  • শুধু বড় প্রিভিউ ব্যর্থ হলে, উপযুক্ত ক্ষেত্রে প্রিভিউয়ের মাত্রা কমান বা হালকা কাজের চাপ ব্যবহার করুন।
  • ব্রাউজার ধীর হলে অন্য GPU-নির্ভর কাজ বন্ধ করে আবার পরীক্ষা করুন।

ত্রুটি ও মেমোরির চাপের কারণ নির্ণয় করুন

সমান্তরাল কাজ বাড়ানোর পর ত্রুটি দেখা দিলে বোঝা যায় বর্তমান পরিবেশের জন্য সেটিংটি অতিরিক্ত আক্রমণাত্মক, এমনকি একটি থ্রেড কাজ করলেও। মডেল ও ফাইল এখনও কাজ করছে কি না নিশ্চিত করতে একটি থ্রেডে ফিরে যান। এরপর কম ফাইল, সরল প্রসঙ্গ বা নতুন ব্রাউজার সেশন দিয়ে দুটি থ্রেড পরীক্ষা করুন। একটি থ্রেড স্থিতিশীল কিন্তু দুটি নয় হলে বাস্তবসম্মত উত্তর হলো একটি থ্রেড।

শুধু সিস্টেম RAM বাড়ালেই সব সমস্যা মিটবে—এমন ধরে নেবেন না। ব্রাউজার, GPU, ড্রাইভার, মডেল এবং প্রিভিউয়ের সীমাবদ্ধতা—সবই গুরুত্বপূর্ণ হতে পারে। একইভাবে, ক্যাশে থাকা মডেল সক্রিয়ভাবে লোড করা মডেলের সমান সম্পদ ব্যবহার করে—এমনও ধরে নেবেন না। একটি থ্রেডেও সমস্যা থাকলে সমান্তরাল কাজ আবার বদলানোর আগে মডেল লোড, ব্রাউজারের সামঞ্জস্য, WebGPU সমর্থন, ফাইল প্রিভিউ এবং ডিভাইসে উপলব্ধ সম্পদ পরীক্ষা করুন।

  • একটি থ্রেডে সমস্যাটি পুনরায় ঘটিয়ে দেখুন।
  • মডেল লোডের ব্যর্থতা ও ব্যাচের আকারজনিত ব্যর্থতা আলাদা করুন।
  • প্রতিটি পরীক্ষার জন্য ব্রাউজার, মডেল, ফাইলের ধরন এবং থ্রেডের সংখ্যা সংক্ষেপে লিখে রাখুন।

বারবার অনুসরণযোগ্য পরিচালনার নিয়ম বেছে নিন

বেশিরভাগ অবদানকারীর জন্য একটি সহজ নিয়ম যথেষ্ট: ডিফল্ট হিসেবে একটি থ্রেড ব্যবহার করুন, নিজের ডিভাইসে দুটি পরীক্ষা করুন, এবং দুটি থ্রেড কেবল তখনই রাখুন যখন তা স্থিতিশীল ও বাস্তবে সুবিধাজনকভাবে বেশি কার্যকর। সক্রিয় মডেল কপি ও ব্রাউজারের কাজের চাপ বদলে যায় বলে RAM-এর কোনো সর্বজনীন সূত্র বা জাদুকরী থ্রেড সংখ্যা নেই।

মডেল, ব্রাউজার, ড্রাইভার, প্রিভিউয়ের আকার বা প্রম্পটের প্রসঙ্গ বদলালে আবার পরীক্ষা করুন। MetaStocker-এর লোকাল ইনফারেন্স দর্শকের ডিভাইসেই থাকে; লোকাল সমান্তরাল কাজ ব্যর্থ হলে এটি স্বয়ংক্রিয়ভাবে ক্লাউড মডেলে ফিরে যায় না। এক্সপোর্টের আগে সম্পাদনাযোগ্য মেটাডেটা পর্যালোচনা করুন, বিশেষ করে ভিডিওর ক্ষেত্রে, কারণ নমুনা-ভিত্তিক প্রিভিউ পুরো গতির প্রতিটি মুহূর্ত দেখাতে পারে না।

  • ডিফল্ট: একটি থ্রেড।
  • পরীক্ষা: ছোট, নিয়ন্ত্রিত ব্যাচে দুটি থ্রেড।
  • সিদ্ধান্ত: সর্বোচ্চ উপলব্ধ সেটিং নয়, স্থিতিশীল সর্বোচ্চ সেটিং রাখুন।

পরের ধাপে যাওয়ার আগে

  • প্রতিনিধিত্বশীল একটি-থ্রেডের ভিত্তি-পরিমাপ চালান।
  • অন্য কোনো পরিবর্তন না করে দুটি থ্রেড পরীক্ষা করুন।
  • সক্রিয় মেমোরির লক্ষণ, ব্রাউজারের সাড়া এবং ত্রুটি দেখুন।
  • মোট ব্যবহারযোগ্য আউটপুট ও পর্যালোচনার পরিশ্রম তুলনা করুন।
  • সমান্তরাল কাজ ধীর বা অস্থিতিশীল হলে একটি থ্রেডে ফিরে যান।
  • মডেল, ব্রাউজার, প্রিভিউ বা প্রম্পট বদলালে আবার পরীক্ষা করুন।
  • প্রস্তুত সারি এক্সপোর্টের আগে মেটাডেটা পর্যালোচনা করুন।

সূত্র ও সম্পাদনা পদ্ধতি

এই লেখা AI-এর সহায়তায় তৈরি। উদাহরণগুলো শেখানোর জন্য দেওয়া হয়েছে। স্বয়ংক্রিয় যাচাই আপনার স্টক প্ল্যাটফর্মের নিয়ম পরীক্ষা করার বিকল্প নয়। আমরা যেভাবে নির্দেশিকা তৈরি করি.