1. ভূমিকা
সংক্ষিপ্ত বিবরণ
এই ল্যাবের লক্ষ্য হল আপনাকে গুগল ক্লাউডে একটি ওপেন মডেল স্থাপনের বাস্তব অভিজ্ঞতা প্রদান করা, যা একটি সাধারণ স্থানীয় সেটআপ থেকে গুগল কুবারনেটস ইঞ্জিন (GKE) তে একটি প্রোডাকশন-গ্রেড স্থাপনে অগ্রগতি করে। আপনি উন্নয়ন জীবনচক্রের প্রতিটি পর্যায়ের জন্য উপযুক্ত বিভিন্ন সরঞ্জাম কীভাবে ব্যবহার করবেন তা শিখবেন।
ল্যাব নিম্নলিখিত পথ অনুসরণ করে:
- দ্রুত প্রোটোটাইপিং : শুরু করা কতটা সহজ তা দেখার জন্য আপনাকে প্রথমে স্থানীয়ভাবে ওল্লামার সাথে একটি মডেল চালাতে হবে।
- উৎপাদন স্থাপন : অবশেষে, আপনি Ollama কে একটি স্কেলেবল সার্ভিং ইঞ্জিন হিসেবে ব্যবহার করে GKE অটোপাইলটে মডেলটি স্থাপন করবেন।
ওপেন মডেল বোঝা
"ওপেন মডেল" বলতে আজকাল মানুষ সাধারণত এমন একটি জেনারেটিভ মেশিন লার্নিং মডেলকে বোঝায় যা সকলের জন্য ডাউনলোড এবং ব্যবহারের জন্য সর্বজনীনভাবে উপলব্ধ । এর অর্থ হল মডেলের স্থাপত্য এবং সবচেয়ে গুরুত্বপূর্ণভাবে, এর প্রশিক্ষিত পরামিতি বা "ওজন" সর্বজনীনভাবে প্রকাশিত হয়।
এই স্বচ্ছতা বন্ধ মডেলের তুলনায় বেশ কিছু সুবিধা প্রদান করে, যেগুলি সাধারণত শুধুমাত্র একটি সীমাবদ্ধ API এর মাধ্যমে অ্যাক্সেস করা হয়:
- অন্তর্দৃষ্টি : ডেভেলপার এবং গবেষকরা মডেলটির অভ্যন্তরীণ কার্যকারিতা বোঝার জন্য "আড়ালে" দেখতে পারেন।
- কাস্টমাইজেশন : ব্যবহারকারীরা ফাইন-টিউনিং নামক একটি প্রক্রিয়ার মাধ্যমে নির্দিষ্ট কাজের জন্য মডেলটিকে অভিযোজিত করতে পারেন।
- উদ্ভাবন : এটি সম্প্রদায়কে শক্তিশালী বিদ্যমান মডেলগুলির উপরে নতুন এবং উদ্ভাবনী অ্যাপ্লিকেশন তৈরি করতে সক্ষম করে।
গুগলের অবদান এবং জেমা পরিবার
বহু বছর ধরে ওপেন-সোর্স এআই আন্দোলনে গুগল একটি মৌলিক অবদানকারী। ২০১৭ সালের "অ্যাটেনশন ইজ অল ইউ নিড" পত্রিকায় প্রবর্তিত বিপ্লবী ট্রান্সফরমার স্থাপত্য প্রায় সমস্ত আধুনিক বৃহৎ ভাষার মডেলের ভিত্তি। এর পরে BERT, T5 এবং নির্দেশনা-সুরক্ষিত Flan-T5 এর মতো ল্যান্ডমার্ক ওপেন মডেলগুলি আসে, প্রতিটিই যা সম্ভব তার সীমানা অতিক্রম করে এবং বিশ্বব্যাপী গবেষণা ও উন্নয়নকে উৎসাহিত করে।
উন্মুক্ত উদ্ভাবনের এই সমৃদ্ধ ইতিহাসের উপর ভিত্তি করে, গুগল জেমা মডেল পরিবারের প্রবর্তন করেছে। জেমা মডেলগুলি শক্তিশালী, ক্লোজড-সোর্স জেমিনি মডেলগুলির জন্য ব্যবহৃত একই গবেষণা এবং প্রযুক্তি থেকে তৈরি করা হয়েছে তবে ওপেন ওয়েট সহ উপলব্ধ করা হয়েছে। গুগল ক্লাউড গ্রাহকদের জন্য, এটি অত্যাধুনিক প্রযুক্তি এবং ওপেন সোর্সের নমনীয়তার একটি শক্তিশালী সমন্বয় প্রদান করে, যা তাদের মডেল জীবনচক্র নিয়ন্ত্রণ করতে, একটি বৈচিত্র্যময় বাস্তুতন্ত্রের সাথে একীভূত করতে এবং একটি বহু-ক্লাউড কৌশল অনুসরণ করতে সক্ষম করে।
জেমা ৩-এর উপর স্পটলাইট
এই ল্যাবে, আমরা এই পরিবারের সর্বশেষ এবং সবচেয়ে সক্ষম প্রজন্মের জেমা ৩-এর উপর আলোকপাত করব। জেমা ৩ মডেলগুলি হালকা কিন্তু অত্যাধুনিক, একটি একক জিপিইউ বা এমনকি একটি সিপিইউতে দক্ষতার সাথে চালানোর জন্য ডিজাইন করা হয়েছে।
- কর্মক্ষমতা এবং আকার : জেমা ৩ মডেলগুলি হালকা কিন্তু অত্যাধুনিক, একটি একক জিপিইউ বা এমনকি একটি সিপিইউতে দক্ষতার সাথে চালানোর জন্য ডিজাইন করা হয়েছে। তারা তাদের আকারের জন্য উচ্চমানের এবং অত্যাধুনিক (SOTA) কর্মক্ষমতা প্রদান করে।
- মোডালিটি : এগুলি মাল্টি-মোডাল, টেক্সট এবং ইমেজ ইনপুট উভয়ই পরিচালনা করে টেক্সট আউটপুট তৈরি করতে সক্ষম।
- মূল বৈশিষ্ট্য : জেমা ৩-এর একটি বৃহৎ ১২৮,০০০ কনটেক্সট উইন্ডো রয়েছে এবং এটি ১৪০টিরও বেশি ভাষা সমর্থন করে।
- ব্যবহারের ধরণ : এই মডেলগুলি বিভিন্ন ধরণের কাজের জন্য উপযুক্ত, যার মধ্যে রয়েছে প্রশ্নের উত্তর, সারসংক্ষেপ এবং যুক্তি।
মূল পরিভাষা
ওপেন মডেলগুলির সাথে কাজ করার সময়, আপনি কয়েকটি সাধারণ শব্দের মুখোমুখি হবেন:
- প্রাক-প্রশিক্ষণের মধ্যে রয়েছে একটি বিশাল, বৈচিত্র্যময় ডেটাসেটের উপর একটি মডেলকে প্রশিক্ষণ দেওয়া যাতে সাধারণ ভাষার ধরণ শেখা যায়। এই মডেলগুলি মূলত শক্তিশালী স্বয়ংক্রিয়-সম্পূর্ণ মেশিন।
- নির্দেশনা টিউনিং একটি পূর্ব-প্রশিক্ষিত মডেলকে সুনির্দিষ্ট নির্দেশাবলী এবং প্রম্পটগুলি আরও ভালভাবে অনুসরণ করার জন্য সূক্ষ্ম-টিউন করে। এই মডেলগুলি "চ্যাট করতে জানে"।
- মডেল ভেরিয়েন্ট : ওপেন মডেলগুলি সাধারণত একাধিক আকারে প্রকাশিত হয় (যেমন, জেমা 3-এর 1B, 4B, 12B, এবং 27B প্যারামিটার সংস্করণ রয়েছে) এবং ভেরিয়েন্ট, যেমন নির্দেশনা-টিউনড (-it), প্রাক-প্রশিক্ষিত, অথবা দক্ষতার জন্য কোয়ান্টাইজড।
- রিসোর্সের চাহিদা : বৃহৎ ভাষা মডেলগুলি বড় এবং হোস্ট করার জন্য উল্লেখযোগ্য কম্পিউটিং রিসোর্সের প্রয়োজন হয়। যদিও এগুলি স্থানীয়ভাবে চালানো যেতে পারে, ক্লাউডে এগুলি স্থাপন করা উল্লেখযোগ্য মূল্য প্রদান করে, বিশেষ করে যখন ওলামার মতো সরঞ্জামগুলির সাথে কর্মক্ষমতা এবং স্কেলেবিলিটির জন্য অপ্টিমাইজ করা হয়।
ওপেন মডেল পরিবেশনের জন্য GKE কেন?
এই ল্যাবটি আপনাকে সহজ, স্থানীয় মডেল বাস্তবায়ন থেকে শুরু করে Google Kubernetes Engine (GKE) তে পূর্ণ-স্কেল উৎপাদন স্থাপন পর্যন্ত গাইড করে। যদিও Ollama-এর মতো সরঞ্জামগুলি দ্রুত প্রোটোটাইপিংয়ের জন্য দুর্দান্ত, উৎপাদন পরিবেশে এমন কিছু চাহিদাপূর্ণ প্রয়োজনীয়তা রয়েছে যা পূরণ করার জন্য GKE অনন্যভাবে অবস্থান করছে।
বৃহৎ পরিসরে AI অ্যাপ্লিকেশনের জন্য, আপনার কেবল একটি চলমান মডেলের চেয়েও বেশি কিছুর প্রয়োজন; আপনার একটি স্থিতিস্থাপক, স্কেলেবল এবং দক্ষ পরিবেশনকারী অবকাঠামো প্রয়োজন। GKE এই ভিত্তি প্রদান করে। আপনি কখন এবং কেন GKE বেছে নেবেন তা এখানে দেওয়া হল:
- অটোপাইলটের মাধ্যমে সরলীকৃত ব্যবস্থাপনা : GKE অটোপাইলট আপনার জন্য অন্তর্নিহিত অবকাঠামো পরিচালনা করে। আপনি আপনার অ্যাপ্লিকেশন কনফিগারেশন এবং অটোপাইলট প্রভিশনের উপর মনোযোগ দেন এবং স্বয়ংক্রিয়ভাবে নোডগুলিকে স্কেল করেন।
- উচ্চ কর্মক্ষমতা এবং স্কেলেবিলিটি : GKE-এর স্বয়ংক্রিয় স্কেলিং ব্যবহার করে চাহিদাপূর্ণ, পরিবর্তনশীল ট্র্যাফিক পরিচালনা করুন। এটি নিশ্চিত করে যে আপনার অ্যাপ্লিকেশনটি কম ল্যাটেন্সি সহ উচ্চ থ্রুপুট প্রদান করতে পারে, প্রয়োজন অনুসারে স্কেলিং উপরে বা নীচে করতে পারে।
- স্কেলে খরচ-কার্যকারিতা : দক্ষতার সাথে সম্পদ পরিচালনা করুন। অলস সম্পদের জন্য অর্থ প্রদান এড়াতে GKE কাজের চাপ শূন্যে নামিয়ে আনতে পারে এবং আপনি স্টেটলেস ইনফারেন্স ওয়ার্কলোডের খরচ উল্লেখযোগ্যভাবে কমাতে স্পট ভিএম ব্যবহার করতে পারেন।
- পোর্টেবিলিটি এবং সমৃদ্ধ ইকোসিস্টেম : পোর্টেবল, কুবারনেটস-ভিত্তিক স্থাপনার মাধ্যমে ভেন্ডর লক-ইন এড়িয়ে চলুন। GKE সর্বোত্তম পর্যবেক্ষণ, লগিং এবং সুরক্ষা সরঞ্জামের জন্য বিশাল ক্লাউড নেটিভ (CNCF) ইকোসিস্টেমে অ্যাক্সেসও প্রদান করে।
সংক্ষেপে, যখন আপনার AI অ্যাপ্লিকেশন উৎপাদনের জন্য প্রস্তুত থাকে এবং গুরুতর স্কেল, কর্মক্ষমতা এবং পরিচালন পরিপক্কতার জন্য তৈরি একটি প্ল্যাটফর্মের প্রয়োজন হয় তখন আপনি GKE-তে চলে যান।
তুমি কি শিখবে
এই ল্যাবে, আপনি নিম্নলিখিত কাজগুলি কীভাবে সম্পাদন করবেন তা শিখবেন:
- ওল্লামার সাথে স্থানীয়ভাবে একটি উন্মুক্ত মডেল চালান।
- পরিবেশনের জন্য ওল্লামার সাথে গুগল কুবারনেটস ইঞ্জিন (GKE) অটোপাইলটে একটি উন্মুক্ত মডেল স্থাপন করুন।
- GKE-তে স্থানীয় উন্নয়ন কাঠামো থেকে উৎপাদন-গ্রেড পরিবেশনকারী স্থাপত্যের অগ্রগতি বুঝুন।
2. প্রকল্প সেটআপ
গুগল অ্যাকাউন্ট
যদি আপনার ইতিমধ্যেই একটি ব্যক্তিগত Google অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি Google অ্যাকাউন্ট তৈরি করতে হবে।
কর্মক্ষেত্র বা স্কুল অ্যাকাউন্টের পরিবর্তে ব্যক্তিগত অ্যাকাউন্ট ব্যবহার করুন ।
গুগল ক্লাউড কনসোলে সাইন-ইন করুন
একটি ব্যক্তিগত গুগল অ্যাকাউন্ট ব্যবহার করে গুগল ক্লাউড কনসোলে সাইন-ইন করুন।
বিলিং সক্ষম করুন
একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট সেট আপ করুন
আপনি যদি গুগল ক্লাউড ক্রেডিট ব্যবহার করে বিলিং সেট আপ করেন, তাহলে আপনি এই ধাপটি এড়িয়ে যেতে পারেন।
একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট সেট আপ করতে, ক্লাউড কনসোলে বিলিং সক্ষম করতে এখানে যান ।
কিছু নোট:
- এই ল্যাবটি সম্পূর্ণ করতে ক্লাউড রিসোর্সে $1 USD এর কম খরচ হবে।
- আরও চার্জ এড়াতে আপনি এই ল্যাবের শেষে রিসোর্স মুছে ফেলার ধাপগুলি অনুসরণ করতে পারেন।
- নতুন ব্যবহারকারীরা $300 USD বিনামূল্যে ট্রায়ালের জন্য যোগ্য।
একটি প্রকল্প তৈরি করুন (ঐচ্ছিক)
যদি আপনার কাছে এই ল্যাবের জন্য ব্যবহার করতে চান এমন কোন বর্তমান প্রকল্প না থাকে, তাহলে এখানে একটি নতুন প্রকল্প তৈরি করুন ।
৩. ক্লাউড শেল এডিটর খুলুন
- সরাসরি ক্লাউড শেল এডিটরে যেতে এই লিঙ্কে ক্লিক করুন।
- আজই যদি যেকোনো সময় অনুমোদনের অনুরোধ করা হয়, তাহলে চালিয়ে যেতে অনুমোদন করুন- এ ক্লিক করুন।

- যদি স্ক্রিনের নীচে টার্মিনালটি না দেখা যায়, তাহলে এটি খুলুন:
- ভিউ ক্লিক করুন
- টার্মিনাল ক্লিক করুন

- টার্মিনালে, এই কমান্ড দিয়ে আপনার প্রকল্পটি সেট করুন:
gcloud config set project [PROJECT_ID]- উদাহরণ:
gcloud config set project lab-project-id-example - যদি আপনি আপনার প্রজেক্ট আইডি মনে রাখতে না পারেন, তাহলে আপনি আপনার সমস্ত প্রজেক্ট আইডি তালিকাভুক্ত করতে পারেন:
gcloud projects list
- উদাহরণ:
- আপনার এই বার্তাটি দেখা উচিত:
Updated property [core/project].
৪. ওল্লামার সাথে জেমা চালান
আপনার প্রথম লক্ষ্য হল একটি ডেভেলপমেন্ট পরিবেশে যত দ্রুত সম্ভব Gemma 3 চালানো। আপনি Ollama ব্যবহার করবেন, একটি টুল যা স্থানীয়ভাবে বৃহৎ ভাষার মডেল চালানোকে নাটকীয়ভাবে সহজ করে তোলে। এই কাজটি আপনাকে একটি উন্মুক্ত মডেল নিয়ে পরীক্ষা-নিরীক্ষা শুরু করার সবচেয়ে সহজ উপায় দেখায়।
ওলামা একটি বিনামূল্যের, ওপেন-সোর্স টুল যা ব্যবহারকারীদের তাদের নিজস্ব কম্পিউটারে স্থানীয়ভাবে জেনারেটিভ মডেল (বৃহৎ ভাষা মডেল, দৃষ্টি-ভাষা মডেল এবং আরও অনেক কিছু) চালাতে দেয়। এটি এই মডেলগুলিতে অ্যাক্সেস এবং ইন্টারঅ্যাক্ট করার প্রক্রিয়াটিকে সহজ করে তোলে, এগুলিকে আরও অ্যাক্সেসযোগ্য করে তোলে এবং ব্যবহারকারীদের তাদের সাথে ব্যক্তিগতভাবে কাজ করতে সক্ষম করে।
ওল্লামা ইনস্টল করুন এবং চালান
এখন, আপনি ওল্লামা ইনস্টল করতে, জেমা 3 মডেলটি ডাউনলোড করতে এবং কমান্ড লাইন থেকে এর সাথে ইন্টারঅ্যাক্ট করতে প্রস্তুত।
- ক্লাউড শেল টার্মিনালে, ওল্লামা ডাউনলোড এবং ইনস্টল করুন:
এই কমান্ডটি ওল্লামা ডাউনলোড করে, ইনস্টল করে এবং ওল্লামা পরিষেবা শুরু করে।curl -fsSL https://ollama.com/install.sh | sh - ব্যাকগ্রাউন্ডে ওল্লামা পরিষেবা শুরু করুন:
ollama serve & - ওল্লামার সাথে জেমা ৩ ১বি মডেলটি টানুন (ডাউনলোড করুন):
ollama pull gemma3:1b - স্থানীয়ভাবে মডেলটি চালান:
ollama run gemma3:1bollama runকমান্ডটি মডেলটিকে প্রশ্ন জিজ্ঞাসা করার জন্য একটি প্রম্পট (>>>) উপস্থাপন করে। - একটি প্রশ্ন দিয়ে মডেলটি পরীক্ষা করুন। উদাহরণস্বরূপ,
Why is the sky blue?টাইপ করুন এবং ENTER টিপুন। আপনি নিম্নলিখিতগুলির মতো একটি উত্তর দেখতে পাবেন:>>> Why is the sky blue? Okay, let's break down why the sky is blue – it's a fascinating phenomenon related to how light interacts with the Earth's atmosphere. Here's the explanation: **1. Sunlight and Colors:** * Sunlight appears white, but it's actually made up of all the colors of the rainbow (red, orange, yellow, green, blue, indigo, and violet). Think of a prism splitting sunlight. **2. Rayleigh Scattering:** * As sunlight enters the Earth's atmosphere... ...
- টার্মিনালে ওলামা প্রম্পট থেকে বেরিয়ে আসতে,
/byeটাইপ করুন এবং ENTER টিপুন।
ওল্লামার সাথে OpenAI SDK ব্যবহার করুন
এখন যেহেতু ওলামা পরিষেবাটি চলছে, আপনি প্রোগ্রাম্যাটিকভাবে এর সাথে ইন্টারঅ্যাক্ট করতে পারেন। আপনি ওপেনএআই পাইথন এসডিকে ব্যবহার করবেন, যা ওলামা যে API প্রকাশ করে তার সাথে সামঞ্জস্যপূর্ণ।
- ক্লাউড শেল টার্মিনালে, uv ব্যবহার করে একটি ভার্চুয়াল পরিবেশ তৈরি এবং সক্রিয় করুন। এটি নিশ্চিত করে যে আপনার প্রকল্পের নির্ভরতাগুলি পাইথন সিস্টেমের সাথে বিরোধ না করে।
uv venv --python 3.14 source .venv/bin/activate - টার্মিনালে, OpenAI SDK ইনস্টল করুন:
uv pip install openai - টার্মিনালে প্রবেশ করে
ollama_chat.pyনামে একটি নতুন ফাইল তৈরি করুন:cloudshell edit ollama_chat.py - নিম্নলিখিত পাইথন কোডটি
ollama_chat.pyতে পেস্ট করুন। এই কোডটি স্থানীয় ওল্লামা সার্ভারে একটি অনুরোধ পাঠায়।from openai import OpenAI client = OpenAI( base_url = 'http://localhost:11434/v1', api_key='ollama', # required by OpenAI SDK, but not used by Ollama ) response = client.chat.completions.create( model="gemma3:1b", messages=[ { "role": "user", "content": "Why is the sky blue?" }, ], ) print(response.choices[0].message.content) - আপনার টার্মিনালে স্ক্রিপ্টটি চালান:
কয়েক সেকেন্ড পরে, আপনি কমান্ড লাইন থেকে যে প্রতিক্রিয়া পেয়েছেন তার অনুরূপ একটি প্রতিক্রিয়া দেখতে পাবেন।python3 ollama_chat.py - স্ট্রিমিং মোড চেষ্টা করার জন্য, টার্মিনালে নিম্নলিখিতটি চালিয়ে
ollama_stream.pyনামে আরেকটি ফাইল তৈরি করুন:cloudshell edit ollama_stream.py - নিম্নলিখিত কন্টেন্টটি
ollama_stream.pyফাইলে পেস্ট করুন। অনুরোধেstream=Trueপ্যারামিটারটি লক্ষ্য করুন। এটি মডেলটিকে টোকেন তৈরি হওয়ার সাথে সাথেই ফেরত পাঠাতে দেয়।from openai import OpenAI client = OpenAI( base_url = 'http://localhost:11434/v1', api_key='ollama', ) stream = client.chat.completions.create( model="gemma3:1b", messages=[ { "role": "user", "content": "Why is the sky blue?" }, ], stream=True ) for chunk in stream: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="", flush=True) print() - টার্মিনালে স্ট্রিমিং স্ক্রিপ্টটি চালান:
এখন প্রতিক্রিয়াটি টোকেন বাই টোকেন প্রদর্শিত হবে।python3 ollama_stream.py
চ্যাটবটের মতো ইন্টারেক্টিভ অ্যাপ্লিকেশনগুলিতে ব্যবহারকারীর অভিজ্ঞতা ভালো করার জন্য স্ট্রিমিং একটি সহায়ক বৈশিষ্ট্য। ব্যবহারকারীকে সম্পূর্ণ উত্তর তৈরি হওয়ার জন্য অপেক্ষা করতে বাধ্য করার পরিবর্তে, স্ট্রিমিং প্রতিক্রিয়াটি তৈরি হওয়ার সাথে সাথে টোকেন-বাই-টোকেন প্রদর্শন করে। এটি তাৎক্ষণিক প্রতিক্রিয়া প্রদান করে এবং অ্যাপ্লিকেশনটিকে অনেক বেশি প্রতিক্রিয়াশীল করে তোলে।
তুমি যা শিখেছ: ওল্লামার সাথে ওপেন মডেল চালানো
আপনি Ollama ব্যবহার করে একটি ওপেন মডেল সফলভাবে পরিচালনা করেছেন। আপনি দেখেছেন যে Gemma 3 এর মতো একটি শক্তিশালী মডেল ডাউনলোড করা এবং কমান্ড-লাইন ইন্টারফেসের মাধ্যমে এবং Python-এর মাধ্যমে প্রোগ্রাম্যাটিকভাবে এর সাথে ইন্টারঅ্যাক্ট করা কতটা সহজ। এই কর্মপ্রবাহ দ্রুত প্রোটোটাইপিং এবং স্থানীয় উন্নয়নের জন্য আদর্শ। আরও উন্নত স্থাপনার বিকল্পগুলি অন্বেষণ করার জন্য এখন আপনার একটি শক্ত ভিত্তি রয়েছে।
৫. GKE অটোপাইলটে ওল্লামার সাথে জেমা মোতায়েন করুন
সরলীকৃত অপারেশন এবং স্কেলেবিলিটির জন্য প্রয়োজনীয় উৎপাদন কাজের চাপের জন্য, Google Kubernetes Engine (GKE) হল পছন্দের প্ল্যাটফর্ম। এই কাজে, আপনি GKE অটোপাইলট ক্লাস্টারে Ollama ব্যবহার করে Gemma স্থাপন করবেন।
GKE অটোপাইলট হল GKE-তে অপারেশনের একটি মোড যেখানে Google আপনার ক্লাস্টার কনফিগারেশন পরিচালনা করে, যার মধ্যে রয়েছে আপনার নোড, স্কেলিং, নিরাপত্তা এবং অন্যান্য পূর্ব-কনফিগার করা সেটিংস। এটি একটি সত্যিকারের "সার্ভারলেস" কুবারনেটস অভিজ্ঞতা তৈরি করে, যা অন্তর্নিহিত কম্পিউট পরিকাঠামো পরিচালনা না করেই ইনফারেন্স ওয়ার্কলোড চালানোর জন্য উপযুক্ত।
GKE পরিবেশ প্রস্তুত করুন
কুবারনেটসে স্থাপনের চূড়ান্ত কাজের জন্য, আপনি একটি GKE অটোপাইলট ক্লাস্টার সরবরাহ করবেন।
- ক্লাউড শেল টার্মিনালে, আপনার প্রকল্প এবং পছন্দসই অঞ্চলের জন্য পরিবেশ ভেরিয়েবল সেট করুন।
export PROJECT_ID=$(gcloud config get-value project) export REGION=europe-west1 gcloud config set compute/region $REGION - টার্মিনালে নিম্নলিখিতটি চালিয়ে আপনার প্রকল্পের জন্য GKE API সক্ষম করুন:
gcloud services enable container.googleapis.com - টার্মিনালে নিম্নলিখিতটি চালিয়ে একটি GKE অটোপাইলট ক্লাস্টার তৈরি করুন:
gcloud container clusters create-auto gemma-cluster \ --region $REGION \ --release-channel rapid - টার্মিনালে নিম্নলিখিতটি চালিয়ে আপনার নতুন ক্লাস্টারের জন্য শংসাপত্রগুলি পান:
gcloud container clusters get-credentials gemma-cluster \ --region $REGION
ওল্লামা এবং জেমা মোতায়েন করুন
এখন যেহেতু আপনার একটি GKE অটোপাইলট ক্লাস্টার আছে, আপনি Ollama সার্ভার স্থাপন করতে পারেন। অটোপাইলট আপনার ডিপ্লয়মেন্ট ম্যানিফেস্টে সংজ্ঞায়িত প্রয়োজনীয়তার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে কম্পিউট রিসোর্স (CPU এবং মেমোরি) সরবরাহ করবে।
- টার্মিনালে নিম্নলিখিতটি চালিয়ে
gemma-deployment.yamlনামে একটি নতুন ফাইল তৈরি করুন:cloudshell edit gemma-deployment.yaml - নিম্নলিখিত YAML কনফিগারেশনটি
gemma-deployment.yamlএ পেস্ট করুন। এই কনফিগারেশনটি এমন একটি ডিপ্লয়মেন্টকে সংজ্ঞায়িত করে যা CPU তে চালানোর জন্য অফিসিয়াল Ollama ইমেজ ব্যবহার করে। অটোপাইলটের কনফিগারেশনের একটি ব্যাখ্যা এখানে দেওয়া হল:apiVersion: apps/v1 kind: Deployment metadata: name: ollama-gemma spec: replicas: 1 selector: matchLabels: app: ollama-gemma template: metadata: labels: app: ollama-gemma spec: containers: - name: ollama-gemma-container image: ollama/ollama:0.12.10 resources: requests: cpu: "8" memory: "8Gi" ephemeral-storage: "10Gi" limits: cpu: "8" memory: "8Gi" ephemeral-storage: "10Gi" # We use a script to start the server and pull the model command: ["/bin/bash", "-c"] args: - | ollama serve & OLLAMA_PID=$! echo "Waiting for Ollama server to start..." sleep 5 echo "Pulling Gemma model..." ollama pull gemma3:1b echo "Model pulled. Ready to serve." wait $OLLAMA_PID ports: - containerPort: 11434 env: - name: OLLAMA_HOST value: "0.0.0.0" --- apiVersion: v1 kind: Service metadata: name: llm-service spec: selector: app: ollama-gemma type: ClusterIP ports: - protocol: TCP port: 8000 targetPort: 11434-
image: ollama/ollama:latest: এটি অফিসিয়াল ওলামা ডকার ইমেজ নির্দিষ্ট করে। -
resources: আমরা স্পষ্টভাবে 8টি vCPU এবং 8Gi মেমোরির অনুরোধ করছি। GKE অটোপাইলট অন্তর্নিহিত কম্পিউট সরবরাহ করতে এই মানগুলি ব্যবহার করে। যেহেতু আমরা GPU ব্যবহার করছি না, মডেলটি CPU-তে চলবে। 8Gi মেমোরি Gemma 1B মডেল এবং এর প্রেক্ষাপট ধরে রাখার জন্য যথেষ্ট। -
command/args: পড শুরু হওয়ার সাথে সাথে মডেলটি টানা হয়েছে কিনা তা নিশ্চিত করার জন্য আমরা স্টার্টআপ কমান্ডটি ওভাররাইড করি। স্ক্রিপ্টটি ব্যাকগ্রাউন্ডে সার্ভারটি শুরু করে, এটি প্রস্তুত হওয়ার জন্য অপেক্ষা করে,gemma3:1bমডেলটি টেনে আনে এবং তারপর সার্ভারটি চালু রাখে। -
OLLAMA_HOST: এটি0.0.0.0এ সেট করলে নিশ্চিত হয় যে Ollama কন্টেইনারের মধ্যে সমস্ত নেটওয়ার্ক ইন্টারফেসে শুনতে পাবে, যার ফলে এটি Kubernetes পরিষেবার জন্য অ্যাক্সেসযোগ্য হবে।
-
- টার্মিনালে, আপনার ক্লাস্টারে ডিপ্লয়মেন্ট ম্যানিফেস্ট প্রয়োগ করুন:
অটোপাইলটকে রিসোর্স সরবরাহ করতে এবং পড শুরু করতে কয়েক মিনিট সময় লাগবে। আপনি এটি পর্যবেক্ষণ করতে পারেন:kubectl apply -f gemma-deployment.yaml পড স্ট্যাটাসkubectl get pods --watchRunningপর্যন্ত এবংREADY1/1হওয়া পর্যন্ত অপেক্ষা করুন।
GKE এন্ডপয়েন্ট পরীক্ষা করুন
আপনার Ollama পরিষেবা এখন আপনার GKE অটোপাইলট ক্লাস্টারে চলছে। আপনার ক্লাউড শেল টার্মিনাল থেকে এটি পরীক্ষা করার জন্য, আপনি kubectl port-forward ব্যবহার করবেন।
- একটি নতুন ক্লাউড শেল টার্মিনাল ট্যাব খুলুন (টার্মিনাল উইন্ডোতে + আইকনে ক্লিক করুন)।
port-forwardকমান্ডটি একটি ব্লকিং প্রক্রিয়া, তাই এর নিজস্ব টার্মিনাল সেশন প্রয়োজন। - নতুন টার্মিনালে, একটি স্থানীয় পোর্ট (যেমন,
8000) পরিষেবার পোর্টে (8000) ফরোয়ার্ড করতে নিম্নলিখিত কমান্ডটি চালান: আপনি আউটপুট দেখতে পাবেন যেখানে ফরোয়ার্ডিং শুরু হয়েছে তা নির্দেশ করা হবে। এই টার্মিনালটি চালু রাখুন।kubectl port-forward service/llm-service 8000:8000 - আপনার মূল টার্মিনালে ফিরে যান।
- আপনার স্থানীয় পোর্ট
8000এ একটি অনুরোধ পাঠান। Ollama সার্ভার একটি OpenAI-সামঞ্জস্যপূর্ণ API প্রকাশ করে এবং পোর্ট ফরোয়ার্ডের কারণে, আপনি এখন এটিhttp://127.0.0.1:8000এ অ্যাক্সেস করতে পারবেন। মডেলটি সম্পূর্ণ হওয়ার সাথে সাথে পরিষেবাটি একটি JSON প্রতিক্রিয়া প্রদান করবে।curl http://127.0.0.1:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "gemma3:1b", "messages": [ {"role": "user", "content": "Explain why the sky is blue."} ] }'
৬. পরিষ্কার-পরিচ্ছন্নতা
এই ল্যাবে ব্যবহৃত রিসোর্সের জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, GKE ক্লাস্টার মুছে ফেলার জন্য এই পদক্ষেপগুলি অনুসরণ করুন।
- ক্লাউড শেল টার্মিনালে, GKE অটোপাইলট ক্লাস্টারটি মুছে ফেলুন:
এই কমান্ডটি ক্লাস্টার এবং সমস্ত সংশ্লিষ্ট সম্পদ মুছে ফেলবে।gcloud container clusters delete gemma-cluster \ --region $REGION --quiet
৭. উপসংহার
দারুন কাজ! এই ল্যাবে, আপনি গুগল ক্লাউডে ওপেন মডেল স্থাপনের জন্য বেশ কয়েকটি মূল পদ্ধতির মধ্য দিয়ে যাত্রা করেছেন। আপনি ওল্লামার সাথে স্থানীয় উন্নয়নের সরলতা এবং গতি দিয়ে শুরু করেছিলেন। অবশেষে, আপনি গুগল কুবারনেটস ইঞ্জিন অটোপাইলট এবং ওল্লামা ফ্রেমওয়ার্ক ব্যবহার করে জেমাকে একটি উৎপাদন-গ্রেড, স্কেলেবল পরিবেশে স্থাপন করেছেন।
অন্তর্নিহিত অবকাঠামো পরিচালনা না করেই চাহিদাপূর্ণ, স্কেলযোগ্য কাজের চাপের জন্য Google Kubernetes Engine-এ ওপেন মডেল স্থাপন করার জ্ঞান এখন আপনার আছে।
সংক্ষিপ্তসার
এই ল্যাবে, আপনি শিখেছেন:
- ওপেন মডেলগুলি কী এবং কেন সেগুলি গুরুত্বপূর্ণ।
- ওল্লামার সাথে স্থানীয়ভাবে একটি উন্মুক্ত মডেল কীভাবে চালানো যায়।
- অনুমানের জন্য ওল্লামা ব্যবহার করে গুগল কুবারনেটস ইঞ্জিন (GKE) অটোপাইলটে কীভাবে একটি ওপেন মডেল স্থাপন করবেন।
আরও জানুন
- জেমা মডেল সম্পর্কে আরও জানুন অফিসিয়াল ডকুমেন্টেশনে ।
- GitHub-এর Google Cloud Generative AI সংগ্রহস্থলে আরও উদাহরণ অন্বেষণ করুন।
- GKE অটোপাইলট সম্পর্কে আরও পড়ুন।
- অন্যান্য উপলব্ধ উন্মুক্ত এবং মালিকানাধীন মডেলগুলির জন্য ভার্টেক্স এআই মডেল গার্ডেন ব্রাউজ করুন।