1. ভূমিকা
লার্জ ল্যাঙ্গুয়েজ মডেল (LLM) আমাদের স্মার্ট অ্যাপ্লিকেশন তৈরির পদ্ধতি পরিবর্তন করছে। কিন্তু বাস্তব জগতে ব্যবহারের জন্য এই শক্তিশালী মডেলগুলি প্রস্তুত করা কঠিন হতে পারে। তাদের প্রচুর কম্পিউটিং শক্তি প্রয়োজন, বিশেষ করে গ্রাফিক্স কার্ড (GPU) এবং একসাথে অনেক অনুরোধ পরিচালনা করার জন্য স্মার্ট উপায়। এছাড়াও, আপনি খরচ কম রাখতে চান এবং বিলম্ব ছাড়াই আপনার অ্যাপ্লিকেশনটি সুচারুভাবে চলতে চান।
এই কোডল্যাব আপনাকে দেখাবে কিভাবে এই চ্যালেঞ্জগুলি মোকাবেলা করতে হয়! আমরা দুটি মূল সরঞ্জাম ব্যবহার করব:
- vLLM : LLM-এর জন্য এটিকে একটি অতি দ্রুত ইঞ্জিন হিসেবে ভাবুন। এটি আপনার মডেলগুলিকে আরও দক্ষতার সাথে চালাতে সাহায্য করে, একসাথে আরও অনুরোধ পরিচালনা করে এবং মেমরির ব্যবহার হ্রাস করে।
- গুগল ক্লাউড রান : এটি গুগলের সার্ভারলেস প্ল্যাটফর্ম। অ্যাপ্লিকেশন স্থাপনের জন্য এটি দুর্দান্ত কারণ এটি আপনার জন্য সমস্ত স্কেলিং পরিচালনা করে - শূন্য ব্যবহারকারী থেকে হাজার হাজার, এবং আবার নিচে নেমে আসা। সর্বোপরি, ক্লাউড রান এখন GPU সমর্থন করে , যা LLM হোস্ট করার জন্য অপরিহার্য!
একসাথে, vLLM এবং Cloud Run আপনার LLM গুলিকে পরিবেশন করার জন্য একটি শক্তিশালী, নমনীয় এবং সাশ্রয়ী উপায় অফার করে। এই নির্দেশিকায়, আপনি একটি উন্মুক্ত মডেল স্থাপন করবেন, যা এটিকে একটি স্ট্যান্ডার্ড ওয়েব API হিসাবে উপলব্ধ করবে।
তুমি কি শিখবে
- পরিবেশনের জন্য সঠিক মডেলের আকার এবং বৈকল্পিক কীভাবে নির্বাচন করবেন।
- OpenAI-সামঞ্জস্যপূর্ণ API এন্ডপয়েন্ট পরিবেশন করার জন্য vLLM কীভাবে সেট আপ করবেন।
- ডকারের সাহায্যে কীভাবে ভিএলএলএম সার্ভার কনটেইনারাইজ করবেন।
- কিভাবে আপনার কন্টেইনারের ছবি গুগল আর্টিফ্যাক্ট রেজিস্ট্রিতে পুশ করবেন।
- GPU অ্যাক্সিলারেশন ব্যবহার করে ক্লাউড রানে কীভাবে কন্টেইনার স্থাপন করবেন।
- আপনার ব্যবহৃত মডেলটি কীভাবে পরীক্ষা করবেন।
তোমার যা লাগবে
- গুগল ক্লাউড কনসোল অ্যাক্সেস করার জন্য ক্রোম এর মতো একটি ব্রাউজার
- একটি নির্ভরযোগ্য ইন্টারনেট সংযোগ
- বিলিং সক্ষম করা একটি Google ক্লাউড প্রকল্প
- একটি আলিঙ্গন মুখ অ্যাক্সেস টোকেন (যদি আপনার কাছে এখনও না থাকে তবে এখানে একটি তৈরি করুন)
- পাইথন, ডকার এবং কমান্ড লাইন ইন্টারফেসের সাথে প্রাথমিক পরিচিতি
- একটি কৌতূহলী মন এবং শেখার আগ্রহ
2. শুরু করার আগে
গুগল ক্লাউড প্রজেক্ট সেটআপ করুন
এই কোডল্যাবের জন্য একটি সক্রিয় বিলিং অ্যাকাউন্ট সহ একটি Google ক্লাউড প্রজেক্ট প্রয়োজন।
- প্রশিক্ষকের নেতৃত্বে সেশনের জন্য: আপনি যদি শ্রেণীকক্ষে থাকেন, তাহলে আপনার প্রশিক্ষক আপনাকে প্রয়োজনীয় প্রকল্প এবং বিলিংয়ের তথ্য সরবরাহ করবেন। সেট আপ সম্পূর্ণ করতে আপনার প্রশিক্ষকের নির্দেশাবলী অনুসরণ করুন।
- স্বাধীন শিক্ষার্থীদের জন্য: যদি আপনি নিজে এটি করেন এবং আপনার কোনও সক্রিয় বিলিং অ্যাকাউন্ট না থাকে, তাহলে আপনার নিজস্ব পেমেন্ট তথ্য ব্যবহার করে একটি বিলিং অ্যাকাউন্ট সেট আপ করতে হবে। একটি নতুন বিলিং অ্যাকাউন্ট তৈরি করতে এবং আপনার প্রকল্পের জন্য এটি সক্ষম করতে Google Cloud Billing ডকুমেন্টেশন দেখুন।
একটি গুগল ক্লাউড প্রকল্প তৈরি করুন
এই কোডল্যাবের জন্য আপনার সমস্ত কাজকে অন্যান্য প্রকল্প থেকে আলাদা করে সংগঠিত রাখতে, আপনাকে একটি নতুন গুগল ক্লাউড প্রকল্প তৈরি করে শুরু করতে হবে।
প্রকল্প তৈরির পৃষ্ঠাটি খুলতে, ক্লিক করুন:
প্রকল্প তৈরির পৃষ্ঠায় প্রয়োজনীয় তথ্য লিখুন:
- প্রকল্পের নাম - আপনি আপনার পছন্দের যেকোনো নাম লিখতে পারেন (যেমন জেনাই-ওয়ার্কশপ)
- অবস্থান - এটিকে "কোন সংস্থা নয়" হিসেবে ছেড়ে দিন
- বিলিং অ্যাকাউন্ট - যদি এই বিকল্পটি উপস্থিত হয়, তাহলে "গুগল ক্লাউড প্ল্যাটফর্ম ট্রায়াল বিলিং অ্যাকাউন্ট" অথবা আপনার পছন্দের বিলিং অ্যাকাউন্ট নির্বাচন করুন। যদি আপনি এই বিকল্পটি দেখতে না পান, তাহলে আপনি পরবর্তী ধাপে যেতে পারেন।
তৈরি করা প্রজেক্ট আইডিটি কপি করুন, আপনার পরে এটির প্রয়োজন হবে। 
সবকিছু ঠিক থাকলে, তৈরি করুন বোতামে ক্লিক করুন।
ক্লাউড শেল কনফিগার করুন
ক্লাউড শেল হল একটি পূর্ব-কনফিগার করা পরিবেশ যেখানে এই কোডল্যাবের জন্য প্রয়োজনীয় সমস্ত সরঞ্জাম রয়েছে। আপনার প্রকল্পটি সফলভাবে তৈরি হয়ে গেলে, ক্লাউড শেল সেট আপ করার জন্য নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন।
ক্লাউড শেল চালু করুন
ক্লাউড শেল চালু করতে, ক্লিক করুন:
যদি অনুমোদন চাওয়ার জন্য একটি পপআপ প্রদর্শিত হয়, তাহলে Authorize এ ক্লিক করুন।

প্রোজেক্ট আইডি সেট করুন
উপরের প্রজেক্ট তৈরির ধাপ থেকে replace-with-your-project-id আপনার আসল প্রজেক্ট আইডি দিয়ে প্রতিস্থাপন করুন। সঠিক প্রজেক্ট আইডি সেট করতে ক্লাউড শেল টার্মিনালে নিম্নলিখিত কমান্ডটি কার্যকর করুন।
gcloud config set project replace-with-your-project-id
এখন তুমি দেখতে পাবে যে ক্লাউড শেল টার্মিনালে সঠিক প্রকল্পটি নির্বাচিত হয়েছে। নির্বাচিত প্রকল্প আইডিটি হলুদ রঙে হাইলাইট করা হয়েছে।

প্রয়োজনীয় API গুলি সক্ষম করুন
ক্লাউড রানের মতো গুগল ক্লাউড পরিষেবাগুলি ব্যবহার করতে, আপনাকে প্রথমে আপনার প্রকল্পের জন্য তাদের সংশ্লিষ্ট API গুলি সক্রিয় করতে হবে। এই কোডল্যাবের জন্য প্রয়োজনীয় পরিষেবাগুলি সক্ষম করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডগুলি চালান:
gcloud services enable run.googleapis.com
gcloud services enable cloudbuild.googleapis.com
gcloud services enable secretmanager.googleapis.com
gcloud services enable artifactregistry.googleapis.com
৩. সঠিক মডেল নির্বাচন করা
আপনি Hugging Face Hub এবং Kaggle এর মতো ওয়েবসাইটগুলিতে অনেকগুলি খোলা মডেল খুঁজে পেতে পারেন। যখন আপনি Google Cloud Run এর মতো পরিষেবাতে এই মডেলগুলির মধ্যে একটি ব্যবহার করতে চান, তখন আপনাকে এমন একটি বেছে নিতে হবে যা আপনার কাছে থাকা সংস্থানগুলির সাথে মানানসই (যেমন NVIDIA L4 GPU)।
শুধু আকারের বাইরে, মডেলটি আসলে কী করতে পারে তা বিবেচনা করতে ভুলবেন না। সব মডেল একই রকম হয় না; প্রত্যেকটির নিজস্ব সুবিধা এবং অসুবিধা রয়েছে। উদাহরণস্বরূপ, কিছু মডেল বিভিন্ন ধরণের ইনপুট পরিচালনা করতে পারে (যেমন ছবি এবং টেক্সট - যা মাল্টিমোডাল ক্ষমতা হিসাবে পরিচিত), অন্যরা একবারে আরও তথ্য মনে রাখতে এবং প্রক্রিয়া করতে পারে (অর্থাৎ তাদের আরও বড় প্রসঙ্গ উইন্ডো থাকে)। প্রায়শই, বড় মডেলগুলিতে ফাংশন কলিং এবং চিন্তাভাবনার মতো আরও উন্নত ক্ষমতা থাকবে।
আপনার পছন্দসই মডেলটি সার্ভিং টুল দ্বারা সমর্থিত কিনা তা পরীক্ষা করাও গুরুত্বপূর্ণ (এই ক্ষেত্রে vLLM)। আপনি এখানে vLLM দ্বারা সমর্থিত সমস্ত মডেল পরীক্ষা করতে পারেন।
এবার, আসুন জেমা ৩ অন্বেষণ করি, যা গুগলের উন্মুক্তভাবে উপলব্ধ লার্জ ল্যাঙ্গুয়েজ মডেল (এলএলএম) এর নতুন পরিবার। জেমা ৩ তাদের জটিলতার উপর ভিত্তি করে চারটি ভিন্ন স্কেলে আসে, যা পরামিতিগুলিতে পরিমাপ করা হয়: ১ বিলিয়ন, ৪ বিলিয়ন, ১২ বিলিয়ন এবং একটি মোটা ২৭ বিলিয়ন।
এই প্রতিটি আকারের জন্য, আপনি দুটি প্রধান প্রকার পাবেন:
- একটি বেস (প্রাক-প্রশিক্ষিত) সংস্করণ: এটি হল সেই মৌলিক মডেল যা প্রচুর পরিমাণে তথ্য থেকে শিখেছে।
- একটি নির্দেশনা-সংযুক্ত সংস্করণ: নির্দিষ্ট নির্দেশাবলী বা আদেশগুলি আরও ভালভাবে বুঝতে এবং অনুসরণ করার জন্য এই সংস্করণটিকে আরও পরিমার্জিত করা হয়েছে।
বৃহত্তর মডেলগুলি (৪ বিলিয়ন, ১২ বিলিয়ন এবং ২৭ বিলিয়ন প্যারামিটার) মাল্টিমোডাল , যার অর্থ তারা ছবি এবং টেক্সট উভয়ই বুঝতে এবং কাজ করতে পারে। তবে, সবচেয়ে ছোট ১ বিলিয়ন প্যারামিটার ভেরিয়েন্টটি কেবল টেক্সটের উপর ফোকাস করে।
এই কোডল্যাবের জন্য, আমরা Gemma 3 এর 1 বিলিয়ন ভেরিয়েন্ট ব্যবহার করব: gemma-3-1b-it । একটি ছোট মডেল ব্যবহার করলে আপনি সীমিত সম্পদের সাথে কীভাবে কাজ করবেন তা শিখতে পারবেন, যা খরচ কমাতে এবং আপনার অ্যাপটি ক্লাউডে সুচারুভাবে চালানোর জন্য গুরুত্বপূর্ণ।
4. পরিবেশগত পরিবর্তনশীল এবং গোপনীয়তা
একটি পরিবেশ ফাইল তৈরি করুন
আমরা এগিয়ে যাওয়ার আগে, এই কোডল্যাব জুড়ে আপনার ব্যবহৃত সমস্ত কনফিগারেশন এক জায়গায় রাখা একটি ভাল অভ্যাস। শুরু করতে, আপনার টার্মিনাল খুলুন এই পদক্ষেপগুলি অনুসরণ করুন:
- এই প্রকল্পের জন্য একটি নতুন ফোল্ডার তৈরি করুন ।
- নতুন তৈরি ফোল্ডারে নেভিগেট করুন।
- এই ফোল্ডারের মধ্যে একটি খালি .env ফাইল তৈরি করুন (এই ফাইলটি পরে আপনার পরিবেশের ভেরিয়েবলগুলিকে ধরে রাখবে)
এই পদক্ষেপগুলি সম্পাদন করার জন্য এখানে কমান্ডটি দেওয়া হল:
mkdir vllm-gemma3 && cd vllm-gemma3 && cloudshell edit .env
এরপর, নীচে তালিকাভুক্ত ভেরিয়েবলগুলি কপি করুন এবং আপনার তৈরি করা .env ফাইলে পেস্ট করুন।
PROJECT_ID=your_project_id
REGION=your_region
MODEL_PROVIDER=google
MODEL_VARIANT=gemma-3-1b-it
MODEL_NAME=${MODEL_PROVIDER}/${MODEL_VARIANT}
AR_REPO_NAME=vllm-gemma3-repo
SERVICE_NAME=${MODEL_VARIANT}-service
IMAGE_NAME=${REGION}-docker.pkg.dev/${PROJECT_ID}/${AR_REPO_NAME}/${SERVICE_NAME}
SERVICE_ACC_NAME=${SERVICE_NAME}-sa
SERVICE_ACC_EMAIL=${SERVICE_ACC_NAME}@${PROJECT_ID}.iam.gserviceaccount.com
আপনার নির্দিষ্ট প্রকল্পের তথ্য দিয়ে প্লেসহোল্ডার মানগুলি ( your_project_id এবং your_region ) প্রতিস্থাপন করতে ভুলবেন না। উদাহরণস্বরূপ ( PROJECT_ID=unique-ai-project এবং REGION=us-central1 )। ক্লাউড রানে GPU সমর্থন করে এমন অঞ্চলগুলির তালিকা এখানে দেখুন।
.env ফাইলটি সম্পাদনা এবং সংরক্ষণ করা হয়ে গেলে, টার্মিনাল সেশনে পরিবেশ ভেরিয়েবলগুলি লোড করতে এই কমান্ডটি টাইপ করুন:
source .env
আপনি যেকোনো একটি ভেরিয়েবল ইকো করে পরীক্ষা করতে পারেন যে ভেরিয়েবলগুলি সফলভাবে লোড হয়েছে কিনা। উদাহরণস্বরূপ:
echo $SERVICE_NAME
যদি আপনি .env ফাইলে নির্ধারিত মানটি পান, তাহলে ভেরিয়েবলগুলি সফলভাবে লোড হবে।
সিক্রেট ম্যানেজারে একটি গোপন তথ্য সংরক্ষণ করুন
অ্যাক্সেস কোড, শংসাপত্র এবং পাসওয়ার্ড সহ যেকোনো সংবেদনশীল তথ্যের জন্য, একটি গোপন ব্যবস্থাপক ব্যবহার করাই সুপারিশকৃত পদ্ধতি।
Gemma 3 মডেল ব্যবহার করার আগে, আপনাকে প্রথমে শর্তাবলী স্বীকার করতে হবে, কারণ সেগুলি গেটেড। আপনি Gamma 3 মডেল কার্ড অন হাগিং ফেস হাবের মাধ্যমে শর্তাবলী স্বীকার করতে পারেন।
একবার আপনার কাছে Hugging Face Access Token হয়ে গেলে, Secret Manager পৃষ্ঠায় যান এবং এই নির্দেশাবলী অনুসরণ করে একটি গোপনীয়তা তৈরি করুন।
- গুগল ক্লাউড কনসোলে যান
- উপরের বাম ড্রপডাউন বার থেকে প্রকল্পটি নির্বাচন করুন।
- সার্চ বারে সিক্রেট ম্যানেজার সার্চ করুন এবং প্রদর্শিত হলে সেই অপশনটিতে ক্লিক করুন।
যখন আপনি সেই সিক্রেট ম্যানেজার পৃষ্ঠায় থাকবেন:
- +সিক্রেট তৈরি করুন বোতামে ক্লিক করুন,
- এই তথ্যগুলি পূরণ করুন:
- নাম : HF_TOKEN
- গোপন মান : <your_hf_access_token>
- আপনার কাজ শেষ হয়ে গেলে "গোপন তৈরি করুন" বোতামে ক্লিক করুন।
গুগল ক্লাউড সিক্রেট ম্যানেজারে এখন আপনার কাছে গোপনীয়তা হিসেবে "হাগিং ফেস অ্যাক্সেস টোকেন" থাকা উচিত।
আপনি টার্মিনালে নিচের কমান্ডটি কার্যকর করে সিক্রেটটিতে আপনার অ্যাক্সেস পরীক্ষা করতে পারেন, সেই কমান্ডটি সিক্রেট ম্যানেজার থেকে এটি পুনরুদ্ধার করবে:
gcloud secrets versions access latest --secret=HF_TOKEN
আপনার অ্যাক্সেস টোকেনটি টার্মিনাল উইন্ডোতে পুনরুদ্ধার এবং প্রদর্শিত হতে দেখা যাবে।
ক্লাউড বিল্ড পরিষেবা অ্যাকাউন্টে গোপন অ্যাক্সেস মঞ্জুর করুন
যেহেতু গোপন তথ্যটি এখন সিক্রেট ম্যানেজারে নিরাপদে সংরক্ষিত আছে,
এটি করার জন্য টার্মিনালে এই কমান্ডগুলি চালান:
# Get the project number
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
# Grant Cloud Build access to the Hugging Face Token secret
gcloud secrets add-iam-policy-binding HF_TOKEN \
--member="serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
--role="roles/secretmanager.secretAccessor"
৫. একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
একটি উৎপাদন পরিবেশে নিরাপত্তা বৃদ্ধি এবং কার্যকরভাবে অ্যাক্সেস পরিচালনা করার জন্য, পরিষেবাগুলিকে নিবেদিত পরিষেবা অ্যাকাউন্টের অধীনে পরিচালনা করা উচিত যা তাদের নির্দিষ্ট কাজের জন্য প্রয়োজনীয় অনুমতিগুলিতে কঠোরভাবে সীমাবদ্ধ।
একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে এই কমান্ডটি চালান
gcloud iam service-accounts create $SERVICE_ACC_NAME --display-name='Cloud Run vLLM Model Serving SA'
নিম্নলিখিত কমান্ডটি প্রয়োজনীয় অনুমতি সংযুক্ত করে
gcloud secrets add-iam-policy-binding HF_TOKEN \
--member="serviceAccount:${SERVICE_ACC_EMAIL}" \
--role="roles/secretmanager.secretAccessor"
৬. আর্টিফ্যাক্ট রেজিস্ট্রিতে একটি ছবি তৈরি করুন
এই ধাপে একটি ডকার ইমেজ তৈরি করা জড়িত যাতে মডেলের ওজন এবং একটি পূর্বে ইনস্টল করা vLLM অন্তর্ভুক্ত থাকে।
১. আর্টিফ্যাক্ট রেজিস্ট্রিতে একটি ডকার রিপোজিটরি তৈরি করুন
আপনার তৈরি ছবিগুলি পুশ করার জন্য আর্টিফ্যাক্ট রেজিস্ট্রিতে একটি ডকার রিপোজিটরি তৈরি করা যাক। টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:
gcloud artifacts repositories create ${AR_REPO_NAME} \
--repository-format docker \
--location ${REGION}
2. মডেল সংরক্ষণ করা
GPU-এর সেরা অনুশীলন ডকুমেন্টেশনের উপর ভিত্তি করে, আপনি হয় ML মডেলগুলিকে কন্টেইনার ছবির ভিতরে সংরক্ষণ করতে পারেন অথবা ক্লাউড স্টোরেজ থেকে লোড করার জন্য অপ্টিমাইজ করতে পারেন ।
অবশ্যই, প্রতিটি পদ্ধতির নিজস্ব সুবিধা এবং অসুবিধা রয়েছে। আপনি সেগুলি সম্পর্কে আরও জানতে ডকুমেন্টেশনটি পড়তে পারেন। সহজ করার জন্য, আমরা কেবল কন্টেইনার ছবিতে মডেলটি সংরক্ষণ করব। আপনি পরবর্তী সেশনে এটি করবেন।
৩. একটি ডকার ফাইল তৈরি করুন
Dockerfile নামে একটি ফাইল তৈরি করুন এবং নীচের বিষয়বস্তুগুলি এতে অনুলিপি করুন:
FROM vllm/vllm-openai:v0.16.0
ARG MODEL_NAME
ARG HF_TOKEN
ENV HF_HOME=/model-cache
ENV MODEL_NAME=${MODEL_NAME}
# Use the HF_TOKEN argument to log in and download the model
RUN huggingface-cli login --token ${HF_TOKEN} && \
huggingface-cli download ${MODEL_NAME}
# Prevent vLLM from trying to download the model again at runtime
ENV HF_HUB_OFFLINE=1
EXPOSE 8080
ENTRYPOINT python3 -m vllm.entrypoints.openai.api_server \
--port ${PORT:-8080} \
--model ${MODEL_NAME} \
--gpu-memory-utilization 0.90 \
${MAX_MODEL_LEN:+--max-model-len "$MAX_MODEL_LEN"}
৪. স্থাপনার জন্য একটি yaml ফাইল তৈরি করুন
এরপর, একই ডিরেক্টরিতে cloudbuild.yaml নামে একটি ফাইল তৈরি করুন। এই ফাইলটি Cloud Build এর জন্য অনুসরণীয় ধাপগুলি সংজ্ঞায়িত করে। নিম্নলিখিত বিষয়বস্তুটি cloudbuild.yaml এ কপি করে পেস্ট করুন:
steps:
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args:
- '-c'
- |
docker build \
--build-arg MODEL_NAME=${_MODEL_NAME} \
--build-arg HF_TOKEN=$$HF_TOKEN_SECRET \
-t ${_IMAGE_NAME} .
secretEnv: ['HF_TOKEN_SECRET']
images:
- '${_IMAGE_NAME}'
availableSecrets:
secretManager:
- versionName: projects/${PROJECT_ID}/secrets/HF_TOKEN/versions/latest
env: 'HF_TOKEN_SECRET'
৫. ক্লাউড বিল্ডে বিল্ড জমা দিন
নিচের কোডটি কপি করে পেস্ট করুন এবং টার্মিনালে রান করুন:
gcloud builds submit . \
--config=cloudbuild.yaml \
--region=${REGION} \
--substitutions=_MODEL_NAME=${MODEL_NAME},_IMAGE_NAME=${IMAGE_NAME}
এই কমান্ডটি আপনার কোড ( Dockerfile এবং cloudbuild.yaml ) আপলোড করে, আপনার শেল ভেরিয়েবলগুলিকে প্রতিস্থাপন ( _MODEL_NAME এবং _IMAGE_NAME ) হিসাবে পাস করে এবং বিল্ড শুরু করে।
ক্লাউড বিল্ড এখন cloudbuild.yaml এ সংজ্ঞায়িত ধাপগুলি কার্যকর করবে। আপনি আপনার টার্মিনালে লগগুলি অনুসরণ করতে পারেন অথবা ক্লাউড কনসোলে বিল্ড বিশদের লিঙ্কে ক্লিক করে। এটি সম্পন্ন হয়ে গেলে, কন্টেইনার চিত্রটি আপনার আর্টিফ্যাক্ট রেজিস্ট্রি সংগ্রহস্থলে উপলব্ধ হবে, স্থাপনের জন্য প্রস্তুত।
৬. ক্লাউড রানে স্থাপন করুন
এখন আপনি ক্লাউড রানে পরিষেবাটি স্থাপন করতে প্রস্তুত। টার্মিনালে এই কমান্ডটি কার্যকর করুন:
gcloud run deploy ${SERVICE_NAME} \
--image ${IMAGE_NAME} \
--region ${REGION} \
--service-account ${SERVICE_ACC_EMAIL} \
--gpu 1 \
--gpu-type nvidia-l4 \
--cpu 4 \
--memory 16Gi \
--max-instances 3 \
--concurrency 80 \
--no-allow-unauthenticated
৭. পরিষেবাটি পরীক্ষা করুন
একটি প্রক্সি তৈরি করতে টার্মিনালে নিম্নলিখিত কমান্ডটি চালান, যাতে আপনি লোকালহোস্টে চলমান পরিষেবাটি অ্যাক্সেস করতে পারেন:
gcloud run services proxy ${SERVICE_NAME} --region ${REGION}
একটি নতুন টার্মিনাল উইন্ডোতে, সংযোগ পরীক্ষা করার জন্য টার্মিনালে এই curl কমান্ডটি চালান।
curl -X POST http://localhost:8080/v1/completions \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemma-3-1b-it",
"prompt": "Cloud Run is a ",
"max_tokens": 128,
"temperature": 0.90
}'
যদি আপনি নীচের মত একই রকম আউটপুট দেখতে পান:
{"id":"cmpl-e96d05d2893d42939c1780d44233defa","object":"text_completion","created":1746870778,"model":"google/gemma-3-1b-it","choices":[{"index":0,"text":"100% managed Kubernetes service. It's a great option for many use cases.\n\nHere's a breakdown of key features and considerations:\n\n* **Managed Kubernetes:** This means Google handles the underlying infrastructure, including scaling, patching, and maintenance. You don't need to worry about managing Kubernetes clusters.\n* **Serverless:** You only pay for the compute time your application actually uses. No charges when your code isn't running.\n* **Scalability:** Cloud Run automatically scales your application based on demand. You can easily scale up or down to handle fluctuating traffic.\n*","logprobs":null,"finish_reason":"length","stop_reason":null,"prompt_logprobs":null}],"usage":{"prompt_tokens":6,"total_tokens":134,"completion_tokens":128,"prompt_tokens_details":null}}
৮. উপসংহার
অভিনন্দন! আপনি এই কোডল্যাবটি সফলভাবে সম্পন্ন করেছেন। আপনি শিখেছেন কিভাবে:
- লক্ষ্য স্থাপনের জন্য উপযুক্ত মডেল আকার নির্বাচন করুন।
- একটি OpenAI-সামঞ্জস্যপূর্ণ API পরিবেশন করার জন্য vLLM সেট আপ করুন।
- ডকারের সাহায্যে vLLM সার্ভার এবং মডেল ওয়েটগুলিকে নিরাপদে কন্টেইনারাইজ করুন।
- একটি কন্টেইনার ছবি গুগল আর্টিফ্যাক্ট রেজিস্ট্রিতে পুশ করুন।
- ক্লাউড রানে একটি GPU-ত্বরিত পরিষেবা স্থাপন করুন।
- একটি প্রমাণিত, স্থাপন করা মডেল পরীক্ষা করুন।
আপনার শেখার যাত্রা চালিয়ে যেতে লামা, মিস্ট্রাল, অথবা কুয়েনের মতো অন্যান্য আকর্ষণীয় মডেলগুলি ব্যবহার করে নির্দ্বিধায় অন্বেষণ করুন!
9. পরিষ্কার করা
ভবিষ্যতে চার্জ এড়াতে, আপনার তৈরি করা রিসোর্সগুলি মুছে ফেলা গুরুত্বপূর্ণ। আপনার প্রকল্পটি পরিষ্কার করতে নিম্নলিখিত কমান্ডগুলি চালান।
১. ক্লাউড রান পরিষেবাটি মুছে ফেলুন:
gcloud run services delete ${SERVICE_NAME} --region=${REGION} --quiet
2. আর্টিফ্যাক্ট রেজিস্ট্রি রিপোজিটরি মুছে ফেলুন:
gcloud artifacts repositories delete ${AR_REPO_NAME} --location=${REGION} --quiet
৩. পরিষেবা অ্যাকাউন্টটি মুছুন:
gcloud iam service-accounts delete ${SERVICE_ACC_EMAIL} --quiet
৪. সিক্রেট ম্যানেজার থেকে সিক্রেটটি মুছে ফেলুন:
gcloud secrets delete HF_TOKEN --quiet