18.2
SageMaker AI, Bedrock, Kendra, Personalize আর Textract
নিজের model বানানো, generative AI, ডকুমেন্টে খোঁজা, recommendation, ডকুমেন্ট থেকে তথ্য বের করা, আর একটা cheat sheet।
24 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই লেসন শেষে তুমি পারবে
- এই অধ্যায়ের সোনালি নিয়মটা খাটাতে: আগে বানানো-তৈরি (pre-trained) managed AI service খোঁজো, আর SageMaker AI বাছো শুধু তখনই, যখন কোনো তৈরি service কাজটা পারে না আর নিজের data দিয়ে model শেখাতেই হবে।
- SageMaker AI-তে machine learning-এর পুরো জীবনচক্রটা ধাপে ধাপে বলতে (data, label দেওয়া, build, train আর tune, deploy, monitor), আর প্রতিটা ধাপের tool-এর নাম বলতে।
- Payload-এর মাপ, processing-এর সময় আর traffic-এর ধরন দেখে real-time, serverless, asynchronous আর batch inference-এর মধ্যে বাছতে।
- Amazon Bedrock foundation model, retrieval-augmented generation (RAG), Guardrails আর agent দিয়ে কী করে, Amazon Q-এর কী হলো, আর SAA-C03 পরীক্ষা generative AI-কে কীভাবে দেখে, তা বোঝাতে।
- Amazon Kendra (স্বাভাবিক ভাষায় প্রতিষ্ঠানের ভেতরের খোঁজ), Amazon Personalize (real-time recommendation) আর Amazon Textract (document থেকে form, table আর হাতের লেখা)-এর পরীক্ষার scenario চিনতে, আর প্রত্যেকটার এখনকার অবস্থা জানতে।
- অধ্যায় ১৮-এর সব AI service একটা cheat sheet-এ রাখতে, আর upload → S3 → Lambda → AI service, এই event-driven pattern-টা নকশা করতে, asynchronous job, Lambda-র সময়সীমা আর একই event দুবার আসার ব্যাপারসহ।
#নিজের model বানাবে, নাকি তৈরিটা নেবে?
লেসন ১৮.১-এ আমরা দেখেছি pre-trained AI service-গুলো: Rekognition, Transcribe, Polly, Translate, Lex, Comprehend। AWS-এর কেউ আগেই লাখ লাখ উদাহরণ জোগাড় করেছে, model শিখিয়েছে, আর সেটা চালাচ্ছে; তুমি শুধু request পাঠাও, উত্তর পাও। এই লেসনে আসছে অন্য দিকটা, SageMaker AI দিয়ে নিজের model বানানো, তারপর Bedrock দিয়ে generative AI, আর আরও তিনটা তৈরি service: Kendra, Personalize আর Textract।
পুরো অধ্যায়ের পরীক্ষার মূল কথা একটাই সিদ্ধান্ত। Scenario পড়ো, keyword ধরো, আর নিজেকে জিজ্ঞেস করো: কোনো managed, pre-trained service কি কাজটা আগে থেকেই করে? করলে সেটাই উত্তর, কারণ তাতে data scientist লাগে না, training data লাগে না, server লাগে না, আর কোনো model-এর দেখাশোনাও করতে হয় না। প্রশ্ন যখন বলে তৈরি service-গুলো কাজটা পারে না (শুধু তোমার কারখানাতেই হয় এমন ত্রুটি, তোমার নিজের ব্যবসার data থেকে কোনো আন্দাজ) আর নিজের data দিয়ে custom model train করতেই হবে, শুধু তখনই SageMaker AI ঠিক উত্তর।
#Amazon SageMaker AI
Amazon SageMaker AI হলো developer আর data scientist-দের জন্য AWS-এর পুরোপুরি managed, শুরু থেকে শেষ পর্যন্ত machine learning platform। এটা ছাড়া একটা team-কে data জোগাড় করে label দিতে হয়, GPU server ভাড়া নিয়ে সাজাতে হয়, framework install করতে হয়, training চালাতে হয়, কোন পরীক্ষায় কী হলো তার হিসাব রাখতে হয়, তারপর model চালানোর জন্য একটা API বানিয়ে scale করতে হয়, সব আলাদা আলাদা জায়গায়। SageMaker AI প্রতিটা ধাপ একটা service-এ এনে দেয়, প্রতিটা job-এর জন্য server চালু করে আর job শেষ হলে বন্ধ করে।
#Machine learning-এর জীবনচক্র
Machine learning-এ programmer নিয়ম লিখে দেয় না, model উদাহরণ দেখে নিজেই নিয়মটা শেখে। Slide-এর উদাহরণটা ধরো: একজন ছাত্রের পরীক্ষার নম্বর আন্দাজ করা।
পুরোনো data
অতীতের উদাহরণ জোগাড় করো, যেসব তথ্য জরুরি মনে হয় সেগুলোসহ: IT-তে কত বছরের অভিজ্ঞতা, AWS নিয়ে কত বছর, course-এ কত ঘণ্টা, practice test-এ কত। হাজারো আগের ছাত্রছাত্রীর তথ্য, S3-এ।
Label দেওয়া
প্রতিটা উদাহরণের সাথে বসাও সেই উত্তর, যেটা model-কে শেখাতে চাও: এই ছাত্র পেয়েছে ৬৭০, ওই জন ৮৯০, আরেকজন ৯৩৪। Label দেওয়া উদাহরণ মানে “input আর তার সঠিক উত্তর”। ছবি বা document-এর বেলায় প্রায়ই মানুষকে label বসাতে হয়; সেই কাজটা গুছিয়ে দেয় SageMaker Ground Truth।
Build
একটা algorithm বাছো (built-in কোনোটা, অথবা PyTorch, TensorFlow বা scikit-learn-এ নিজের code), আর training script লেখো, SageMaker Studio-র একটা notebook-এ।
Train আর tune
একটা training job তোমার চাওয়া instance (GPU বা CPU) চালু করে, S3 থেকে data পড়ে, শেখে, model artifact আবার S3-এ লেখে, আর বন্ধ হয়ে যায়; টাকা দাও যতটুকু মিনিট চলল। Automatic model tuning আলাদা আলাদা setting-এ (learning rate, tree-এর গভীরতা) অনেকগুলো training job চালিয়ে সবচেয়ে ভালোটা রাখে।
Deploy আর আন্দাজ
Model-কে একটা endpoint-এর পেছনে বসাও আর তাকে নতুন data পাঠাও: নতুন এক ছাত্রের অভিজ্ঞতা আর পড়ার ঘণ্টা। Model উত্তর দেয় “আন্দাজ ৯০৬: pass”। শেখা model দিয়ে উত্তর বের করাকে বলে inference।
নজর রাখা আর আবার train
দুনিয়া বদলায়, তাই গত বছর যে model ঠিক ছিল, সে ধীরে ধীরে ভুল হতে থাকে (drift)। চলতি input আর prediction-কে training-এর baseline-এর সাথে মেলাও, আর মান পড়ে গেলে নতুন label দেওয়া data দিয়ে আবার train করো।
SageMaker AI-তে machine learning-এর জীবনচক্র
পুরোনো data থেকে একটা prediction পর্যন্ত, তারপর দুনিয়া বদলালে model-এর ওপর নজর রাখা। শেষ scenario দেখায় কখন model বানানোই উচিত না।
পরিস্থিতি
Slide-এর উদাহরণ: পুরোনো ছাত্রছাত্রীদের থেকে শেখা, তারপর নতুন একজনের নম্বর আন্দাজ করা।
S3-এ আছে পুরোনো data: হাজারো আগের ছাত্রছাত্রীর IT অভিজ্ঞতা কত বছরের, AWS নিয়ে কত বছর, course-এ কত ঘণ্টা দিয়েছে। Model এই input-গুলো থেকেই শিখবে।
#পথের প্রতিটা ধাপের tool
| ধাপ | SageMaker AI tool | কী করে |
|---|---|---|
| Data-তে label | Ground Truth | তোমার নিজের কর্মী বা কোনো vendor দিয়ে labelling job, সাথে automated labelling, যেটা শুধু অনিশ্চিত item-গুলো মানুষের কাছে পাঠায় |
| খুঁটিয়ে দেখা আর build | Studio (notebook, JupyterLab) | পুরো জীবনচক্রের জন্য web IDE |
| Code ছাড়া model | Canvas (সাথে Autopilot, AutoML engine) | একজন business analyst একটা table upload করে, কোন column আন্দাজ করবে বেছে দেয়, আর Canvas নিজে নিজে algorithm আর setting চেষ্টা করে; time-series forecasting-ও করে |
| তৈরি model দিয়ে শুরু | JumpStart | শত শত pre-trained open model (vision, text, foundation model), তোমার account-এ deploy বা fine-tune করার জন্য |
| Train আর tune | Training job, automatic model tuning | প্রতি job-এ managed instance, ৯০% পর্যন্ত কম খরচে Spot Instance, অনেক চেষ্টার মধ্যে সেরাটা |
| Deploy | Endpoint, batch transform | Host করা model; নিচে চারটা inference option |
| নজর রাখা | Model Monitor | Baseline-এর তুলনায় data আর মানের drift ধরে, CloudWatch দিয়ে সতর্ক করে |
| ব্যাখ্যা আর পক্ষপাত যাচাই | Clarify | Training-এর আগে-পরে bias-এর মাপ, আর কোন input প্রতিটা prediction-কে চালাল |
#Model deploy করা: prediction পাওয়ার চারটা উপায়
কীভাবে deploy করবে তা নির্ভর করে prediction কীভাবে লাগে তার ওপর: একটা একটা করে আর সাথে সাথে, মাঝে মাঝে, বড় আর ধীর, নাকি নির্দিষ্ট সময়ে একসাথে লাখ লাখ।
| Option | কখন ব্যবহার করবে | মনে রাখার সীমা |
|---|---|---|
| Real-time inference | স্থির traffic, প্রতিটা request-এ কম latency (customer অপেক্ষা করতে করতে loan-এর risk score) | তোমার বাছা instance সবসময় চালু; payload ২৫ MB পর্যন্ত, প্রতি request ৬০ সেকেন্ড (stream করা উত্তরে ৮ মিনিট) |
| Serverless inference | থেমে থেমে বা অনিশ্চিত traffic; অলস থাকলে খরচ শূন্য | Instance বাছতে হয় না; অনেকক্ষণ চুপ থাকার পর cold start; payload ৪ MB পর্যন্ত, ৬০ সেকেন্ড |
| Asynchronous inference | বড় input বা লম্বা processing (উঁচু resolution-এর ছবি, লম্বা video, বড় document), প্রায় real time হলেই চলে | Request queue-তে বসে; input আর output S3-এ; payload ১ GB পর্যন্ত, এক ঘণ্টা পর্যন্ত; SNS খবর দেয়; শূন্যে নামতে পারে |
| Batch transform | নির্দিষ্ট সময়ে পুরো dataset একসাথে score (রাতে প্রত্যেক customer-এর চলে যাওয়ার ঝুঁকি) | কোনো স্থায়ী endpoint নেই; S3 থেকে পড়ে, S3-এ লেখে, gigabyte-এর data, ঘণ্টা বা দিন ধরে চলে |
SageMaker AI-এর inference option বাছাই
একই রকম model, পরিবেশনের চারটা উপায়। দেখো অলস বসে থাকার সময় কোনটার খরচ কত, আর খুব বড় বা খুব ধীর request-এর কী হয়।
পরিস্থিতি
একটা bank-এর loan app প্রত্যেক আবেদনকারীর score বের করে, customer অপেক্ষা করতে করতেই।
Real-time endpoint তোমার বাছা instance-এ সারাদিন চলে, স্থির traffic-এর জন্য তৈরি। ব্যস্ত হোক বা না হোক, প্রতি ঘণ্টা চলার টাকা দিতে হয়।
#SageMaker AI-এর নিরাপত্তা আর খরচ
- IAM role: training job, endpoint আর notebook চলে একটা execution role দিয়ে, যেটা ঠিক যে S3 bucket আর KMS key লাগে, শুধু সেগুলোরই অনুমতি দেয় (অধ্যায় ২)।
- Network: job আর endpoint তোমার VPC-র subnet-এ security group দিয়ে চলতে পারে; network isolation চালু থাকলে training container internet-এ একদমই যেতে পারে না; caller-রা endpoint-এ পৌঁছায় private পথে, VPC interface endpoint (PrivateLink, লেসন ২২.২) দিয়ে।
- Encryption: data, model artifact আর যুক্ত volume KMS key দিয়ে encrypt (লেসন ২১.২); যাতায়াতে TLS।
- খরচ: training-এর bill হয় instance চলার প্রতি সেকেন্ডে, আর job-এর সাথে থেমে যায়; checkpoint-সহ managed Spot training নিলে অনেক সাশ্রয়। Real-time endpoint প্রতি ঘণ্টায় bill তোলে, কেউ না ডাকলেও, তাই অলস endpoint হলো bill-এর পুরোনো চমক: হঠাৎ হঠাৎ আসা traffic-এর জন্য serverless বা asynchronous (শূন্যে নামে) নাও, আর যে endpoint লাগে না সেটা delete করো।
#Generative AI: Amazon Bedrock আর Amazon Q
#Foundation model আর Bedrock
Foundation model (FM) হলো বিশাল এক model, যেটা সাধারণ ধরনের বিপুল data (লেখা, code, ছবি) দিয়ে শেখানো, আর এমন অনেক কাজ পারে যার জন্য তাকে আলাদা করে শেখানো হয়নি: প্রশ্নের উত্তর, সারাংশ, লেখা, শ্রেণিবিভাগ, তথ্য বের করা। Large language model (LLM, দেখা হয়েছিল লেসন ১৭.৩-এ) হলো লেখার foundation model। একটা বানাতে লাখ লাখ ডলার লাগে, তাই প্রায় সব কোম্পানি foundation model ব্যবহার করে, বানায় না।
Amazon Bedrock হলো foundation model একটা API দিয়ে ব্যবহারের পুরোপুরি managed, serverless উপায়। Amazon বা অন্য কোম্পানির একটা model বাছো, তাকে prompt পাঠাও, আর token ধরে টাকা দাও (অথবা provisioned throughput কেনো)। কোনো GPU বা server চালাতে হয় না। যে অংশগুলো জানা দরকার:
- Model বাছাই: কয়েকটা কোম্পানির model একই API-র পেছনে;
ConverseAPI দিয়ে call নতুন করে না লিখেই model বদলানো যায়। - Knowledge Base (RAG): Bedrock-কে তোমার document দেখিয়ে দাও (S3, SharePoint, Confluence আর অন্য উৎসে)। সে সেগুলো ছোট ছোট টুকরো (chunk) করে, একটা embedding model দিয়ে vector-এ বদলায়, একটা vector store-এ রাখে (OpenSearch Serverless, Aurora PostgreSQL, S3 Vectors বা Bedrock-এর নিজের সামলানো store), আর প্রশ্নের সময় দরকারি টুকরোগুলো খুঁজে এনে prompt-এ জুড়ে দেয়, যাতে model তোমার data থেকে, সূত্রসহ উত্তর দেয়। এর নাম retrieval-augmented generation (RAG)।
- Guardrails: prompt আর উত্তরের ওপর নিয়ম: নিষিদ্ধ বিষয়, content filter, PII শনাক্ত করে ঢেকে দেওয়া, আর grounding check, যেটা খুঁজে আনা লেখায় সমর্থন নেই এমন উত্তর ধরে।
- Agent: model ধাপে ধাপে পরিকল্পনা করে আর তোমার API বা Lambda function ডাকে (order দেখা, appointment নেওয়া)। এগুলো চালায় Bedrock Agents (এখন “Agents Classic” নামে maintenance-এ) আর নতুন AgentCore।
- নিজের মতো করে নেওয়া: label দেওয়া উদাহরণ দিয়ে fine-tuning, label ছাড়া নিজের ক্ষেত্রের লেখা দিয়ে continued pre-training, আর ছোট, সস্তা model-এ distillation। আগে prompt আর RAG চেষ্টা করো; customise করার খরচ বেশি।
- গোপনীয়তা: তোমার prompt আর data দিয়ে মূল model শেখানো হয় না, model-এর মালিক কোম্পানির সাথেও ভাগ হয় না; traffic PrivateLink দিয়ে private রাখা যায়, KMS দিয়ে encrypt।
Bedrock-এ একটা নিয়মকানুন-সহকারী
ঢাকার একটা বিশ্ববিদ্যালয়ের assistant ছাত্রছাত্রীদের উত্তর দেয় বিশ্ববিদ্যালয়ের নিজের নিয়মের document থেকে। Retrieval ছাড়া কী হয় তার সাথে মেলাও, আর একটা guardrail-কে কাজ করতে দেখো।
পরিস্থিতি
আগে ঠিক অংশটা খুঁজে আনো, তারপর model সেখান থেকে উত্তর দিক।
একজন ছাত্র এমন প্রশ্ন করে যার উত্তর আছে শুধু বিশ্ববিদ্যালয়ের পরীক্ষার নিয়মে, internet-এ না।
#Generative AI-এর জন্য Bedrock না SageMaker AI
- Bedrock: API দিয়ে foundation model ব্যবহার, serverless, যতটুকু ব্যবহার ততটুকু টাকা, RAG, guardrail আর agent ভেতরেই। “সবচেয়ে কম operational overhead-এ generative AI যোগ করো”, এর স্বাভাবিক উত্তর।
- SageMaker AI (JumpStart, training আর endpoint): যখন তোমার বাছা instance-এ model নিজেই host করতে হবে, Bedrock-এ নেই এমন model লাগবে, বা code-এর পুরো নিয়ন্ত্রণ রেখে train আর fine-tune করতে হবে। নিয়ন্ত্রণ বেশি, চালানোর ঝামেলাও বেশি।
#Amazon Q-এর কী হলো
Amazon Q ২০২৩-এ এসেছিল AWS-এর generative AI সহকারী হিসেবে, দুটো product-এ, আর দুটোই এখন অন্য দিকে চলে গেছে:
- Amazon Q Business connector দিয়ে কোম্পানির data থেকে কর্মীদের প্রশ্নের উত্তর দিত। অক্টোবর ২০২৫-এ AWS আনে Amazon Quick Suite (এখন Amazon Quick), যার ভেতরে আছে Quick Sight, মানে আগের QuickSight (লেসন ১৭.৫); জুন ২০২৬-এ AWS Q Business-কে maintenance-এ নিয়েছে, আর ৩০ জুলাই ২০২৬ থেকে এটা নতুন customer নেয় না; বদলি হিসেবে AWS বলে Amazon Quick।
- Amazon Q Developer হলো code লেখা আর AWS console-এর সহকারী। এর IDE plugin আর paid subscription-এর support শেষ হবে ৩০ এপ্রিল ২০২৭-এ, উত্তরসূরি Kiro; AWS console-এ Q চলতে থাকবে।
#Amazon Kendra
Amazon Kendra হলো একটা পুরোপুরি managed, ML-চালিত প্রতিষ্ঠানের document খোঁজার service। Document যেখানে আছে সেখানেই পড়ে (লেখা, PDF, HTML, PowerPoint, Word, প্রশ্নোত্তরের তালিকা), একটা index বানায়, আর স্বাভাবিক ভাষার প্রশ্নের জবাবে ফেরত দেয় উত্তরটাই, শুধু শব্দওয়ালা file-এর তালিকা না।
সাধারণ keyword search-এ “Where is the IT support desk?” লিখলে পাবে “IT” আর “desk” শব্দওয়ালা ৫০টা document। Kendra বোঝে এটা জায়গা জানতে চাওয়ার প্রশ্ন, facilities guide-এর ঠিক বাক্যটা খুঁজে বের করে, আর উত্তর দেয় “1st floor”, উৎস হিসেবে document-টা দেখিয়ে।
- Connector index করে S3, RDS আর অন্য database, SharePoint, OneDrive, Google Drive, Salesforce, Confluence, ServiceNow, website আর আরও অনেক কিছু (৩০-এর বেশি), আর বাকি যেকোনো কিছুর document API দিয়ে ঠেলে দেওয়া যায়।
- Access control: প্রতিটা document-এ user আর তার group-এর অনুমতি দেখে ফল ছাঁকা হয়, তাই একজন intern board-এর কার্যবিবরণী খুঁজে পায় না।
- Incremental learning: Kendra ব্যবহারকারীদের আচরণ আর feedback (click, thumbs up) থেকে শেখে, আর মানুষ যে ফলগুলো কাজের পেয়েছে সেগুলো ওপরে তোলে।
- Tuning: data source-এর গুরুত্ব, নতুনত্ব (নতুন document আগে) বা নিজের বানানো field ধরে হাতে করে ফলের গুরুত্ব বাড়ানো যায়।
- RAG retriever: একটা Kendra index হতে পারে Bedrock Knowledge Base-এর retriever (আর Q Business-এরও ছিল), তাই একটা generative assistant একই index করা document থেকে উত্তর দেয়।
Amazon Kendra: শুধু document না, উত্তর
একটা বিশ্ববিদ্যালয় SharePoint-এর circular আর S3-এর form index করে। দেখো স্বাভাবিক ভাষার একটা প্রশ্ন, অনুমতি যাচাই, click থেকে শেখা, আর Bedrock-এর retriever হিসেবে Kendra।
পরিস্থিতি
Slide-এর উদাহরণ: “Where is the IT support desk?”
Connector SharePoint আর S3 bucket ঘুরে একটা index বানায়। Kendra PDF, Word, PowerPoint আর HTML পড়ে, আর প্রতিটা document-এর অনুমতির তথ্যও রাখে।
#Amazon Personalize
Amazon Personalize হলো real-time personalised recommendation-এর জন্য পুরোপুরি managed ML service, বানানো Amazon.com যে প্রযুক্তিতে চলে সেটা দিয়েই। Algorithm বাছতে হয় না, server চালাতে হয় না: তাকে তিন ধরনের data দাও (interaction: কে কখন কী click করেছে, কিনেছে বা দেখেছে; item: product বা লেখার বিবরণ; user: ইচ্ছা হলে profile-এর তথ্য), কাজের জন্য একটা recipe বাছো (একজন user-এর জন্য recommendation, একই রকম item, একটা তালিকা ব্যক্তি অনুযায়ী সাজানো, এখন চলতি), আর সে model train করে একটা campaign বা recommender দিয়ে সেটা চালায়।
- Real time: তোমার app প্রতিটা click বা কেনাকাটা একটা event tracker দিয়ে
PutEventsকরে পাঠায়, আর পরের recommendation কয়েক সেকেন্ডেই সেটা মাথায় রাখে, আবার train না করেই। - Slide-এর উদাহরণ: একজন বাগানের যন্ত্রপাতি কিনেছে, তাই পরের কেনার জিনিসটা সুপারিশ করো।
- Customer-এর সাথে যেখানে যোগাযোগ, সবখানে: website, mobile app, SMS আর email marketing (batch job প্রত্যেক user-এর তালিকা বা user segment বানায় campaign-এর জন্য)।
- মাস না, কয়েক দিনে চালু: ML solution নিজে build, train আর deploy করতে হয় না।
- Use case: retail আর e-commerce, media আর বিনোদন (পরে কী দেখবে বা পড়বে), ব্যক্তি অনুযায়ী marketing।
বাংলাদেশি এক marketplace-এ Amazon Personalize
Order-এর ইতিহাস দিয়ে train, real time-এ recommendation, একদম নতুন shopper সামলানো, আর marketing email-এ তালিকা দেওয়া।
পরিস্থিতি
দুই বছরের ইতিহাস কয়েক দিনেই একটা recommender হয়ে যায়।
Shop S3 থেকে দুই বছরের interaction (কে কী দেখেছে বা কিনেছে, কখন) আর item-এর বিবরণ import করে। Algorithm বাছতে হয় না: শুধু একটা recipe বেছে নাও, “একজন user-এর জন্য recommendation”।
#Amazon Textract
Amazon Textract machine learning দিয়ে scan করা document (ছবি আর PDF file) থেকে ছাপা লেখা, হাতের লেখা আর data নিজে থেকেই বের করে। সাধারণ optical character recognition (OCR) একটা ছবিকে লেখার লাইনে বদলায়, ওখানেই থামে; Textract এর সাথে গঠনটাও রাখে:
- Form আসে key-value জোড়া হিসেবে: “Account No:” → “1234 5678”, “Date of birth:” → “23.05.1997”, আর checkbox টিক দেওয়া কি না।
- Table আসে row, column আর cell হিসেবে, merge করা cell আর header-সহ।
- Query: সহজ ইংরেজিতে জিজ্ঞেস করো (“What is the applicant’s monthly income?”) আর value-টা ফেরত পাও, পৃষ্ঠার কোথায় আছে না জেনেই।
- Signature আর layout (শিরোনাম, অনুচ্ছেদ, তালিকা, header আর footer)।
বিশেষ কাজের API:
- Invoice আর receipt-এর জন্য
AnalyzeExpense: vendor, তারিখ, মোট, tax আর line item, নকশা যেমনই হোক। - পরিচয়পত্রের জন্য
AnalyzeID: আজ পর্যন্ত এটা পড়ে শুধু US passport আর US driver’s licence। - বন্ধকি আর loan-এর file-এর জন্য
AnalyzeLending: প্রতিটা পৃষ্ঠার ধরন ঠিক করে, আর প্রতিটা ধরনের document থেকে তথ্য বের করে।
Slide-এর use case: financial services (invoice, আর্থিক report), healthcare (চিকিৎসার record, বিমার দাবি), public sector (tax form, ID document, passport)।
#Synchronous না asynchronous
Synchronous (AnalyzeDocument, DetectDocumentText, AnalyzeExpense, AnalyzeID) | Asynchronous (StartDocumentAnalysis, StartDocumentTextDetection, StartExpenseAnalysis) | |
|---|---|---|
| Input | Request-এর ভেতরে byte, অথবা S3-এর একটা object | শুধু S3-এর একটা object |
| মাপ | ১০ MB পর্যন্ত, PDF বা TIFF এক পৃষ্ঠা মাত্র | PDF বা TIFF ৫০০ MB আর ৩,০০০ পৃষ্ঠা পর্যন্ত (ছবি ১০ MB) |
| ফল | Response-এর ভেতরেই, কয়েক সেকেন্ডে | এখনই একটা job ID; Textract কাজ শেষের খবর দেয় একটা SNS topic-এ; ফল আনো GetDocumentAnalysis দিয়ে (পাতায় পাতায়) বা S3-এর output ঠিকানা থেকে |
| কখন | User অপেক্ষা করছেন এমন এক পৃষ্ঠার form | অনেক পৃষ্ঠার PDF, একসাথে বিপুল scan, যা একটা request-এর সময়ে শেষ হওয়ার না |
বাংলাদেশে যে সীমাটা জরুরি: Textract পড়ে ইংরেজি, ফরাসি, জার্মান, ইতালীয়, পর্তুগিজ আর স্প্যানিশ, আর হাতের লেখা শুধু ইংরেজিতে। বাংলা লেখা সমর্থিত না, তাই বাংলায় পূরণ করা form Textract-এর কাজ না।
সাধারণ OCR না Textract?
ঢাকার একটা bank-এর scan করা একটা loan আবেদন। কীভাবে পড়বে বেছে নাও, আর দেখো program হাতে কী পায়।
Scan করা form
LOAN APPLICATION · Example Bank PLC
Applicant name: Nusrat Jahan
NID number: 1234 5678 90
Date of birth: 23.05.1997
Monthly income: BDT 85,000
Loan amount: BDT 5,00,000
| Month | Deposits | Withdrawals |
| Jul 2026 | 92,000 | 61,500 |
| Aug 2026 | 88,500 | 70,200 |
| Sep 2026 | 90,100 | 58,900 |
স্বাক্ষর: ~N. Jahan~
Scan কীভাবে পড়বে বেছে নাও
Program হাতে যা পায়
এখনও কিছু পড়া হয়নি। ওপরের একটা বোতাম চাপো।
#আরও কিছু AI service, যেগুলো এখনও চোখে পড়তে পারে
| Service | কী করত | অবস্থা (নভেম্বর ২০২৬) | পরীক্ষায় |
|---|---|---|---|
| Amazon Forecast | তোমার ইতিহাস থেকে time-series আন্দাজ (চাহিদা, মজুত, কর্মী) | ২৯ জুলাই ২০২৪ থেকে নতুন customer নেয় না; AWS বলে SageMaker Canvas-এর forecasting | পুরোনো প্রশ্নে: “time-series data থেকে চাহিদার forecast” → Forecast; নতুন নকশায় Canvas |
| Amazon Fraud Detector | Online payment, sign-up আর ভুয়া account-এর জন্য জালিয়াতির score | ৭ নভেম্বর ২০২৫ থেকে নতুন customer নেয় না (maintenance) | পুরোনো প্রশ্নে: “ML অভিজ্ঞতা ছাড়াই ML দিয়ে online জালিয়াতি ধরো” → Fraud Detector |
| Amazon Lookout পরিবার | যন্ত্রের sensor (Equipment), product-এর ছবি (Vision), ব্যবসার metric (Metrics)-এ অস্বাভাবিকতা | Lookout for Metrics ১০ অক্টোবর ২০২৫-এ বন্ধ, Lookout for Vision ৩১ অক্টোবর ২০২৫-এ, Lookout for Equipment ৭ অক্টোবর ২০২৬-এ | এখন পরিধির বাইরে |
| Amazon Augmented AI (A2I) | Rekognition, Textract বা নিজের model-এর কম confidence-এর ফল মানুষকে দিয়ে যাচাই (লেসন ১৮.১) | SageMaker AI-এর অংশ; ৩০ জুলাই ২০২৬ থেকে নতুন customer নেয় না (maintenance) | এখনকার in-scope তালিকায় নেই, তবে practice প্রশ্নে আসে: “কম confidence-এর ফল মানুষের কাছে পাঠাও” → A2I |
SAA-C03 guide-এর আগের version-এ (version 1.1) Forecast, Fraud Detector আর Kendra in scope ছিল; এখনকার তালিকায় নেই। এদের এক লাইনের keyword জেনে রাখো, কিন্তু নতুন system এদের ওপর বানিও না।
#Cheat sheet: অধ্যায় ১৮-এর সব AI service
Notes-এর cheat sheet এসেছিল ভাঙা ভাঙা লাইনে; এখানে সেটা একটা table, অধ্যায়ের প্রতিটা service-সহ। লেসন ১৮.১-এর service-গুলো সেখানেই শেখানো হয়েছে। শেষ column-টা দেখায় এখনকার SAA-C03 exam guide-এ কোন service কোথায় আছে: in scope, out of scope, নাকি তালিকাতেই নেই (v1.1 মানে guide-এর আগের version)।
| Service | মূল কাজ | পরীক্ষার keyword | SAA-C03 তালিকা (নভেম্বর ২০২৬) |
|---|---|---|---|
| Rekognition (১৮.১) | ছবি আর video বিশ্লেষণ | Image or video analysis, facial recognition, collection-এ মুখ খোঁজা, content moderation, celebrity | in scope |
| Transcribe (১৮.১) | কথা থেকে লেখা | Speech-to-text, subtitle, call centre-এর recording থেকে লেখা, বক্তা আলাদা করা, PII redaction | in scope |
| Polly (১৮.১) | লেখা থেকে জীবন্ত কণ্ঠ | Text-to-speech, পড়ে শোনানো, SSML, lexicon | in scope |
| Translate (১৮.১) | ভাষা অনুবাদ | Multi-lingual application, user-এর লেখা অনুবাদ, custom terminology | in scope |
| Lex + Connect (১৮.১) | Chatbot + cloud contact centre | কথা বা লেখার conversational bot, call centre-এর IVR, cloud contact centre | Lex in scope; Connect তালিকায় নেই |
| Comprehend (১৮.১) | লেখার বিশ্লেষণ (NLP) | Sentiment analysis, key phrase, entity, লেখায় PII শনাক্ত | in scope |
| Comprehend Medical (১৮.১) | চিকিৎসার লেখার বিশ্লেষণ | Clinical note, ওষুধ আর মাত্রা, PHI, HIPAA-eligible NLP | আলাদা করে তালিকায় নেই |
| SageMaker AI | Custom ML model build, train আর deploy | নিজের data-য় custom model, ML-এর পুরো জীবনচক্র, data scientist | in scope (SageMaker AI নামে) |
| Bedrock | Foundation model দিয়ে generative AI | API দিয়ে foundation model, serverless generative AI, কোম্পানির document দিয়ে RAG | তালিকায় নেই |
| Kendra | বুদ্ধিমান প্রাতিষ্ঠানিক খোঁজ | Internal document আর knowledge base জুড়ে স্বাভাবিক ভাষায় খোঁজ | তালিকায় নেই (v1.1-এ ছিল) |
| Personalize | ব্যক্তি অনুযায়ী recommendation | Real-time recommendation, e-commerce-এর পরামর্শ, মাপমতো marketing email | out of scope |
| Textract | Document থেকে লেখা আর data | Scan করা PDF, invoice আর receipt থেকে table, form আর হাতের লেখা বের করা | in scope |
| Forecast / Fraud Detector | Time-series আন্দাজ / online জালিয়াতি | নতুন customer নেয় না; শুধু পুরোনো প্রশ্নে | তালিকায় নেই (v1.1-এ ছিল) |
| A2I | মানুষের review-এর loop | কম confidence-এর prediction মানুষ দেখে | তালিকায় নেই |
বানাবে না কিনবে? AI service বাছো
একটা scenario বাছো, service আন্দাজ করো, তারপর কারণটা পড়ো। আগে জিজ্ঞেস করো: আগে থেকে শেখানো কোনো service কি এটা করেই? কেউ না পারলে তবেই SageMaker AI-তে বানাও।
১. একটা scenario বেছে নাও(প্রথমবারেই ঠিক: 0/11)
গাজীপুরের এক garments রপ্তানিকারককে এমন ত্রুটি ধরতে হবে যা শুধু তার নিজের dye house-এই হয়: রঙের দাগ, ফসকে যাওয়া সেলাই। তার কাছে ৪০,০০০ ছবি আছে, যেগুলোতে inspector-রা label দিতে পারেন।
২. তোমার উত্তর
#Event-driven AI pattern
AI service সাধারণত কেউ বোতাম চেপে ডাকে না, ডাকে একটা event। পরীক্ষা যে pattern নিয়ে বারবার প্রশ্ন করে:
User file upload করে → S3 bucket → S3 event notification (বা EventBridge) → Lambda function → AI service (Textract, Transcribe, Rekognition, Comprehend) → ফল জমা হয় DynamoDB বা S3-এ।
- App S3-এ upload করে (pre-signed URL দিয়ে, লেসন ১০.১)।
ObjectCreated-এর S3 event notification একটা Lambda function চালায়, অথবা event পাঠায় EventBridge-এ, যেটা আরও বেশি field দিয়ে filter করে কয়েকটা target-এ পাঠাতে পারে (লেসন ১০.৭, লেসন ১৯.৫)।- Lambda bucket আর key দিয়ে AI service-কে ডাকে; service নিজেই S3 থেকে object পড়ে।
- ফল যায় DynamoDB-তে (app যাতে query করতে পারে, লেসন ১৫.৪) বা JSON হয়ে S3-এ।
বাস্তব system-এ তিনটা জিনিস ভুল হয়, আর পরীক্ষা সেগুলো জানে:
- লম্বা কাজ asynchronous। অনেক পৃষ্ঠার PDF, এক ঘণ্টার call recording বা লম্বা video একটা request-এর ভেতরে process হয় না। Asynchronous API ব্যবহার করো (
StartDocumentAnalysis,StartTranscriptionJob,StartLabelDetection): সাথে সাথে একটা job ID দেয়, আর কাজ শেষ হলে service খবর দেয় একটা SNS topic-এ (Transcribe দেয় EventBridge দিয়ে), যেটা দ্বিতীয় একটা Lambda চালায় ফল এনে রাখার জন্য। ৩০০ পৃষ্ঠার PDF synchronousAnalyzeDocument-এ পাঠালে ব্যর্থ হয়: সে নেয় এক পৃষ্ঠা। - Lambda সর্বোচ্চ ১৫ মিনিট চলে (লেসন ১৫.১)। যে function job শুরু করে তারপর লম্বা video-র জন্য loop-এ বসে অপেক্ষা করে, সে টাকা নষ্ট করে আর time out হয়। Job শুরু করো, ফিরে যাও, আর কাজ শেষের event-কে পরের ধাপ শুরু করতে দাও (অথবা Step Functions দিয়ে অপেক্ষা করো, Lambda-র সময়ের টাকা না দিয়ে)।
- Event একাধিকবার আসতে পারে। S3 event notification পৌঁছায় অন্তত একবার, আর asynchronous invocation-এ error হলে Lambda আবার চেষ্টা করে। Idempotency না থাকলে একটা invoice দুবার process হয়: Textract-এর bill দুবার, payment table-এ row দুটো। Handler-কে idempotent বানাও, যেমন কাজ শুরুর আগে object-এর key আর version (বা ETag) DynamoDB-তে একটা শর্তসাপেক্ষ লেখা (conditional write) দিয়ে লিখে রাখো, আর key আগে থেকেই থাকলে event-টা বাদ দাও।
Upload → S3 → Lambda → Textract
একটা bank নিজে থেকেই loan-এর file পড়ে। দেখো স্বাভাবিক পথ, একটা লম্বা PDF, একটা Lambda function যে বেশি অপেক্ষা করে, আর একই event দুবার আসা।
পরিস্থিতি
ছোট আর দ্রুত: synchronous call-ই যথেষ্ট।
Officer এক পৃষ্ঠার scan করা loan আবেদন S3-এ upload করেন।
# Lambda: S3 ObjectCreated → start an asynchronous Textract job, once per object version
import boto3, hashlib, os, urllib.parse
ddb = boto3.client("dynamodb")
textract = boto3.client("textract")
def handler(event, context):
for rec in event["Records"]:
bucket = rec["s3"]["bucket"]["name"]
key = urllib.parse.unquote_plus(rec["s3"]["object"]["key"])
version = rec["s3"]["object"].get("versionId", rec["s3"]["object"]["eTag"])
try: # idempotency: only the first delivery of this object version wins
ddb.put_item(
TableName=os.environ["JOBS_TABLE"],
Item={"pk": {"S": f"{bucket}/{key}#{version}"}, "status": {"S": "STARTED"}},
ConditionExpression="attribute_not_exists(pk)",
)
except ddb.exceptions.ConditionalCheckFailedException:
continue # duplicate event: already started
job = textract.start_document_analysis(
DocumentLocation={"S3Object": {"Bucket": bucket, "Name": key}},
FeatureTypes=["FORMS", "TABLES"],
NotificationChannel={"SNSTopicArn": os.environ["TOPIC_ARN"],
"RoleArn": os.environ["TEXTRACT_ROLE_ARN"]},
ClientRequestToken=hashlib.sha256(f"{key}#{version}".encode()).hexdigest()[:64],
)
print("started", key, job["JobId"]) # a second function handles the SNS message
#কোথায় ভুল হয়
- সমাধান হয়ে যাওয়া সমস্যায় SageMaker project: অশ্লীল ছবি খুঁজতে model শেখাতে কয়েক সপ্তাহ গেল, অথচ Rekognition-এর content moderation একটা API call-এই করে দেয়। আগে managed service দেখো।
- Model ধীরে ধীরে ভুল হয়ে যায়: data সরে গেছে (নতুন supplier, customer-এর নতুন আচরণ, মূল্যস্ফীতি), কেউ নজর রাখেনি। Input আর মানের ওপর নজর রাখো, নতুন label রাখো, নির্দিষ্ট সময়ে বা alarm বাজলে আবার train করো।
- বড় বা ধীর request real-time endpoint-এ ব্যর্থ: payload ২৫ MB-র বেশি বা processing ৬০ সেকেন্ডের বেশি। Asynchronous inference নাও।
- Bill-এ দেখা যায় endpoint সারা মাস চলেছে: real-time endpoint প্রতি ঘণ্টায় bill তোলে। হঠাৎ হঠাৎ traffic-এর জন্য serverless বা শূন্যে নামা asynchronous, নির্দিষ্ট সময়ের scoring-এর জন্য batch transform, আর test endpoint delete করো।
- Chatbot নিয়ম বানিয়ে বলে: RAG ছাড়া foundation model সাধারণ জ্ঞান থেকে উত্তর দেয়। Knowledge Base আর grounding check যোগ করো।
- Kendra এমন document দেখায় যেটা user-এর দেখার কথা না: document index হয়েছিল তাদের access list ছাড়া, অথবা query-র সাথে user-এর পরিচয় যায়নি। অনুমতিসহ index করো, আর user ও group পাঠাও।
- User এইমাত্র যা করল, recommendation তা মানে না: app কখনো
PutEventsপাঠায় না, তাই Personalize শুধু গতকালের batch import জানে। - Form থেকে Textract সমতল লেখা দেয়: call-টা ছিল
DetectDocumentText(সাধারণ OCR); form আর table feature দিয়েAnalyzeDocument, বা Query ব্যবহার করো। - ৩০০ পৃষ্ঠার PDF ব্যর্থ: synchronous API-তে পাঠানো হয়েছিল। SNS topic-সহ
StartDocumentAnalysisব্যবহার করো। - বাংলা form-এ আবোলতাবোল আসে, বা
AnalyzeID-এ NID card ব্যর্থ: Textract বাংলা পড়ে না, আরAnalyzeIDপড়ে শুধু US-এর document। - Lambda function time out হয়: সে asynchronous job-এর জন্য অপেক্ষা করছিল। Job শুরু করে ফিরে যাও, কাজ শেষের event-এ সাড়া দাও।
- একই file দুবার process হয়: S3 event দুবার এসেছে আর retry হয়েছে, idempotency ছাড়া।
#System design-এ AI service
মনে রাখার pattern:
- Document নেওয়া: S3 → Lambda → Textract (async + SNS) → DynamoDB, কম confidence-এর field-এর জন্য A2I বা একটা review screen।
- Media process করা: S3 → Lambda → Transcribe বা Rekognition video (async job) → ফল S3-এ → লেখা থেকে অন্তর্দৃষ্টির জন্য Comprehend → খোঁজার জন্য OpenSearch।
- নিজস্ব prediction: S3-এ data → SageMaker AI training → API Gateway আর Lambda-র পেছনে real-time endpoint, অথবা রাতে batch transform, score আবার S3-এ লিখে Athena আর QuickSight-এর জন্য।
- Generative assistant: Bedrock + Knowledge Base (document S3-এ, vector OpenSearch Serverless-এ বা managed storage-এ) + Guardrails, API Gateway-র পেছনে Lambda থেকে ডাকা।
- Personalisation: web আর app-এর back end Personalize campaign ডাকে, front end থেকে
PutEvents; email campaign-এর জন্য batch segment।
#নিজে করে দেখো
এই command-গুলো AWS CLI v2 দিয়ে ap-south-1 (মুম্বাই, বাংলাদেশের কাছে)-এ চলে, placeholder account 111122223333। প্রতিটা call-এর bill হয় request, পৃষ্ঠা, মিনিট বা instance-ঘণ্টা ধরে; শেষ হলে SageMaker endpoint delete করে দিও।
# 1. Textract: a one-page loan form, synchronously, with forms, tables and a query
aws textract analyze-document \
--document '{"S3Object":{"Bucket":"loan-scans-example","Name":"2026/11/form-0042.png"}}' \
--feature-types FORMS TABLES QUERIES \
--queries-config '{"Queries":[{"Text":"What is the monthly income?","Alias":"INCOME"}]}' \
--query 'Blocks[?BlockType==`QUERY_RESULT`].[Text,Confidence]'
# [ [ "BDT 85,000", 97.8 ] ]
# 2. Textract: a 120-page statement, asynchronously, with an SNS completion message
aws textract start-document-analysis \
--document-location '{"S3Object":{"Bucket":"loan-scans-example","Name":"2026/11/statement-0042.pdf"}}' \
--feature-types TABLES \
--notification-channel SNSTopicArn=arn:aws:sns:ap-south-1:111122223333:textract-done,RoleArn=arn:aws:iam::111122223333:role/TextractSnsRole
# { "JobId": "4a1c0b7e9d0f..." }
aws textract get-document-analysis --job-id 4a1c0b7e9d0f... --max-results 1000 \
--query '[JobStatus,DocumentMetadata.Pages]'
# [ "SUCCEEDED", 120 ] (IN_PROGRESS until the SNS message arrives)
# 3. Textract: a receipt
aws textract analyze-expense \
--document '{"S3Object":{"Bucket":"loan-scans-example","Name":"receipts/r-981.jpg"}}' \
--query 'ExpenseDocuments[0].SummaryFields[?Type.Text==`TOTAL`].ValueDetection.Text'
# [ "1,250.00" ]
# 4. Kendra: a natural-language question (existing index)
aws kendra query --index-id 0f9a2c4e-1b2d-4c3e-8f5a-6b7c8d9e0f1a \
--query-text "Where is the IT support desk?" \
--query 'ResultItems[0].[Type,DocumentExcerpt.Text]'
# [ "ANSWER", "The IT support desk is on the 1st floor, room 104." ]
# 5. Personalize: send a click, then ask for recommendations (existing campaign)
aws personalize-events put-events --tracking-id 5e6f7a8b-2c3d-4c1d-9e2f-0a1b2c3d4e5f \
--user-id u-2041 --session-id s-77 \
--event-list '[{"eventType":"click","itemId":"panjabi-117","sentAt":"2026-11-01T10:15:00Z"}]'
aws personalize-runtime get-recommendations \
--campaign-arn arn:aws:personalize:ap-south-1:111122223333:campaign/shop-home \
--user-id u-2041 --num-results 3
# { "itemList": [ {"itemId":"panjabi-122"}, {"itemId":"nagra-031"}, {"itemId":"attar-009"} ] }
# 6. SageMaker AI: a training job on Spot, then a serverless endpoint
aws sagemaker create-training-job --training-job-name defect-v7 \
--algorithm-specification TrainingImage=111122223333.dkr.ecr.ap-south-1.amazonaws.com/defect-train:1.4,TrainingInputMode=File \
--role-arn arn:aws:iam::111122223333:role/SageMakerExecRole \
--input-data-config '[{"ChannelName":"train","DataSource":{"S3DataSource":{"S3DataType":"S3Prefix","S3Uri":"s3://defects-example/train/"}}}]' \
--output-data-config S3OutputPath=s3://defects-example/models/ \
--resource-config InstanceType=ml.g5.xlarge,InstanceCount=1,VolumeSizeInGB=50 \
--enable-managed-spot-training \
--stopping-condition MaxRuntimeInSeconds=14400,MaxWaitTimeInSeconds=21600
aws sagemaker create-endpoint-config --endpoint-config-name defect-v7-sls \
--production-variants '[{"VariantName":"main","ModelName":"defect-v7","ServerlessConfig":{"MemorySizeInMB":4096,"MaxConcurrency":5}}]'
aws sagemaker create-endpoint --endpoint-name defect --endpoint-config-name defect-v7-sls
aws sagemaker-runtime invoke-endpoint --endpoint-name defect \
--content-type image/jpeg --body fileb://piece-5512.jpg out.json && cat out.json
# {"label": "oil_spot", "score": 0.94, "box": [412, 180, 470, 236]}
aws sagemaker delete-endpoint --endpoint-name defect
# 7. Bedrock: one question to a foundation model (model access already enabled)
aws bedrock-runtime converse --model-id amazon.nova-lite-v1:0 \
--messages '[{"role":"user","content":[{"text":"In one sentence, what is Amazon Textract?"}]}]' \
--query 'output.message.content[0].text'
# "Amazon Textract is an AWS service that extracts text, forms and tables from scanned documents."
Console-এও চেষ্টা করো: Textract-এর demo page-এ একটা scan করা form upload করো, আর Raw text tab-কে Forms আর Tables tab-এর সাথে মেলাও; এক screen-এই OCR আর Textract-এর তফাতটা দেখা যায়।
#সারসংক্ষেপ
মূল কথা
- সোনালি নিয়ম: আগে managed pre-trained service; SageMaker AI শুধু তখন, যখন কোনো তৈরি service মানায় না আর নিজের data দিয়ে custom model train করতেই হবে। SageMaker দিয়ে বাড়াবাড়ি করা পরীক্ষার পুরোনো ভুল উত্তর।
- SageMaker AI (ডিসেম্বর ২০২৪-এ SageMaker থেকে নাম বদল; “SageMaker” এখন Unified Studio-সহ unified data আর AI platform-এরও নাম) = শুরু থেকে শেষের ML platform: data → label (Ground Truth) → build (Studio, JumpStart, code ছাড়া Canvas/Autopilot) → train আর tune → deploy → monitor (Model Monitor, Clarify)। Ground Truth, Model Monitor, Clarify আর A2I ৩০ জুলাই ২০২৬ থেকে নতুন customer-এর জন্য বন্ধ।
- Inference: real-time (স্থির, কম latency, ২৫ MB, ৬০ সেকেন্ড), serverless (হঠাৎ হঠাৎ, cold start, ৪ MB), asynchronous (১ GB, এক ঘণ্টা, S3 + SNS, শূন্যে নামে), batch transform (পুরো dataset, endpoint নেই)।
- Bedrock = এক API দিয়ে serverless foundation model, সাথে Knowledge Base (RAG), Guardrails, agent আর fine-tuning। Amazon Q Business → Amazon Quick (২০২৬-এ নতুন customer-এর জন্য বন্ধ); Q Developer → Kiro (support শেষ এপ্রিল ২০২৭)। Bedrock আর Q SAA-C03-এর in-scope তালিকায় নেই।
- Kendra = স্বাভাবিক ভাষায় উত্তর দেওয়া ML-চালিত প্রাতিষ্ঠানিক খোঁজ (“Where is the IT support desk?” → “1st floor”), connector, অনুমতি, incremental learning; জুন ২০২৬ থেকে maintenance-এ, নতুন project-এ Bedrock Knowledge Base।
- Personalize = Amazon.com-এর প্রযুক্তিতে real-time recommendation, চলতি আচরণের জন্য
PutEvents, marketing email; এখন SAA-C03-এর পরিধির বাইরে। - Textract = লেখা, হাতের লেখা, form (key-value), table, Query,
AnalyzeExpense,AnalyzeID(শুধু US document); sync ১ পৃষ্ঠা / ১০ MB, async ৩,০০০ পৃষ্ঠা / ৫০০ MB, SNS-সহ; ইংরেজি আর পাঁচটা ইউরোপীয় ভাষা। ছবি → Rekognition; document → Textract। - Forecast (২০২৪-এ বন্ধ) আর Fraud Detector (২০২৫-এ বন্ধ) আসে শুধু পুরোনো প্রশ্নে।
- Pattern: upload → S3 → event (বা EventBridge) → Lambda → AI service → DynamoDB/S3; লম্বা কাজ async job + SNS; Lambda সর্বোচ্চ ১৫ মিনিট; একই event দুবার এলে idempotent handler; managed service = operational excellence।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
এই অধ্যায়ের সোনালি নিয়ম অনুযায়ী SageMaker AI কখন ঠিক উত্তর?
নিজেকে যাচাই করোপ্রশ্ন
Slide-এর পরীক্ষার নম্বরের উদাহরণটা machine learning জীবনচক্রের ক্রমে সাজাও।
নিজেকে যাচাই করোপ্রশ্ন
SageMaker AI-এর কোন অংশ training data-য় label দেওয়ার জন্য মানুষ (তোমার কর্মী বা vendor) গুছিয়ে দেয়, আর automated labelling চালু থাকলে শুধু অনিশ্চিত item-গুলো মানুষের কাছে পাঠায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা sales team-এ কোনো data scientist নেই। তারা আগের customer-দের একটা spreadsheet থেকে আন্দাজ করতে চায় আগামী মাসে কে service ছেড়ে যাবে, কোনো code না লিখে। কোনটা মানায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা clinic-এর appointment app দিনে কয়েক ডজন বার, এলোমেলো সময়ে একটা SageMaker AI model ডাকে। Request ছোট (১ MB-র কম), এক সেকেন্ডে শেষ হয়। Clinic চায় model অলস থাকলে খরচ শূন্য হোক, আর instance বাছতে চায় না। কোন inference option নেওয়া উচিত?
নিজেকে যাচাই করোপ্রশ্ন
একটা drone জরিপ কোম্পানি তার SageMaker AI model-এ মাঠের ৬০০ MB-র ছবি পাঠায়। প্রতিটায় প্রায় ২০ মিনিট লাগে, আর app-কে শুধু জানালেই হয় কখন ফল তৈরি। কাজ না থাকলে খরচ শূন্যে নামতে হবে। কোনটা সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
একটা বিমা কোম্পানিকে প্রতি রাতে S3-এ file হিসেবে রাখা ৩০ লাখ policy-র নবায়নের ঝুঁকি score করে আবার S3-এ লিখতে হবে, Athena-র জন্য। দিনে কারও prediction লাগে না। সবচেয়ে সাশ্রয়ী option কোনটা?
নিজেকে যাচাই করোপ্রশ্ন
একটা garments কারখানার ত্রুটি-ধরা model চালুর সময় ৯৬% নির্ভুল ছিল। কারখানা সুতার supplier বদলানোর পর inspector-রা দেখেন প্রতি সপ্তাহে model আরও বেশি ত্রুটি মিস করছে। কোন দুটো পদক্ষেপ এর সমাধান?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
ঢাকার একটা news portal-কে পাঠকদের comment-এ upload করা অশ্লীল বা সহিংস ছবি নিজে থেকেই আলাদা করতে হবে। একজন developer প্রস্তাব দেন ৫০,০০০ label দেওয়া ছবি জোগাড় করে SageMaker AI-তে একটা classifier train করার। Architect কী সুপারিশ করবেন?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি এমন feature চায়, যেটা একটা foundation model দিয়ে customer-দের লম্বা email-এর সারাংশ করবে আর উত্তরের খসড়া লিখবে, কোনো server বা GPU না চালিয়ে, ব্যবহার অনুযায়ী দামে। কোন service মানায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা foundation model-এর ওপর বানানো বিশ্ববিদ্যালয়ের assistant বিশ্ববিদ্যালয়ের নিজের উপস্থিতির নিয়ম নিয়ে আত্মবিশ্বাসী কিন্তু ভুল উত্তর দেয়। উত্তর আসতে হবে S3-এ রাখা বিশ্ববিদ্যালয়ের নিয়মের PDF থেকে, সূত্রসহ। কী যোগ করতে হবে?
নিজেকে যাচাই করোপ্রশ্ন
Bedrock-এ বানানো একটা bank-এর ভেতরের assistant-কে বিনিয়োগের পরামর্শ দেওয়া থেকে বিরত থাকতে হবে, আর প্রশ্ন আর উত্তর দুই জায়গাতেই account নম্বর আর NID নম্বর ঢেকে দিতে হবে। কোন feature এটা করে?
নিজেকে যাচাই করোপ্রশ্ন
নভেম্বর ২০২৬ পর্যন্ত AI service-এর নাম আর অবস্থা নিয়ে কোন দুটো কথা ঠিক?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা telecom-এর কর্মীরা বারবার জানতে চান কোন জিনিস কোথায় আর কোন কাজের নিয়ম কী। উত্তর লুকিয়ে আছে SharePoint page, S3-এর PDF manual আর একটা RDS knowledge table-এ। তাঁরা লিখতে চান “Where is the IT support desk?” আর পেতে চান উত্তর, file-এর তালিকা না। পরীক্ষার keyword-এর সাথে কোন service মেলে?
নিজেকে যাচাই করোপ্রশ্ন
একটা বিশ্ববিদ্যালয় board-এর কার্যবিবরণী, বেতনের circular আর প্রকাশ্য নোটিশ একটা Kendra index-এ রেখেছে। Intern-দের ফলে কখনো board-এর কার্যবিবরণী আসা চলবে না। কী করলে এটা কাজ করে?
নিজেকে যাচাই করোপ্রশ্ন
Registrar অফিসের officer-রা আগে প্রথমে আসা গত বছরের admission circular বাদ দিয়ে বারবার নতুনটাই খোলেন। এক মাস পরে নতুনটা সবার জন্য প্রথমে আসে। Kendra-র কোন feature এর ব্যাখ্যা?
নিজেকে যাচাই করোপ্রশ্ন
বাংলাদেশের একটা marketplace চায় প্রত্যেক ক্রেতার home page-এর recommendation গত কয়েক মিনিটে তিনি যা করেছেন তা মানুক, Amazon.com-এর প্রযুক্তি দিয়েই, কোনো data scientist নিয়োগ না করে। কোন service মানায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা shop-এর Personalize recommendation customer-এর কাজের পরের দিন বদলায়, কারণ team রাতে একবার S3 থেকে interaction import করে। কয়েক সেকেন্ডে সাড়া দিতে কী যোগ করতে হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা পোশাকের brand মাপমতো marketing email পাঠাতে চায়, যেখানে প্রত্যেক customer দেখবেন যে product-গুলো তাঁর কেনার সম্ভাবনা সবচেয়ে বেশি, তাঁর browsing আর কেনাকাটার আচরণ দেখে। পরীক্ষার এই keyword কোন service-এর?
নিজেকে যাচাই করোপ্রশ্ন
একটা bank scan করা loan form-এ সাধারণ একটা OCR tool চালিয়ে লেখার লাইন পায়, ফলে developer-কে আন্দাজ করতে হয় কোন সংখ্যা কোন field-এর। বদলে কী ব্যবহার করা উচিত?
নিজেকে যাচাই করোপ্রশ্ন
কাজ আর service-এর কোন দুটো জোড়া ঠিক?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা Lambda function tender-এর ৩০০ পৃষ্ঠার একটা PDF Textract AnalyzeDocument-এ পাঠিয়ে error পায়। ঠিক নকশা কোনটা?
নিজেকে যাচাই করোপ্রশ্ন
একটা accounts team নানা নকশার হাজারো supplier invoice আর দোকানের receipt পায়, আর template না বানিয়েই vendor-এর নাম, তারিখ, মোট আর line item বের করতে চায়। Textract-এর কোন API এর জন্য বানানো?
নিজেকে যাচাই করোপ্রশ্ন
বাংলাদেশের একটা bank customer-দের NID card-এ Textract AnalyzeID চালিয়ে খারাপ ফল পায়। কেন, আর কী করা উচিত?
নিজেকে যাচাই করোপ্রশ্ন
দুই ঘণ্টার একটা call recording upload হলে S3 একটা Lambda function চালায়। Function একটা Transcribe job শুরু করে, তারপর শেষ না হওয়া পর্যন্ত loop-এ job-এর অবস্থা দেখতে থাকে। Function বারবার ব্যর্থ হয়। কারণ আর সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা invoice process করার pipeline (S3 → Lambda → Textract → DynamoDB) মাঝে মাঝে একই invoice দুবার লেখে আর Textract-কে দুবার টাকা দেয়। সবচেয়ে ভালো সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
মানালে Well-Architected Framework custom model-এর চেয়ে managed, pre-trained AI service কেন পছন্দ করে, তার কোন দুটো কারণ?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
এগুলোর কোনটা Textract-এর ক্ষমতা নয়?
নিজেকে যাচাই করোপ্রশ্ন
২০২৬-এ নতুন একটা project শুরু করা এক retailer বিক্রির ইতিহাস থেকে প্রতিটা দোকানের সাপ্তাহিক চাহিদার ML forecast চায়। একজন সহকর্মী Amazon Forecast-এর কথা বলেন। সঠিক পরামর্শ কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা bank-এর pipeline-কে S3-এ upload করা অনেক পৃষ্ঠার loan file পড়ে বের করা field জমা রাখতে হবে, serverless থেকে, সবচেয়ে কম operational overhead-এ। নকশায় কোন দুটো ধাপ থাকবে?
বেছে নাও ২