Syllabus GCP machine learning
Tuần 0: Foundation ML
Ngày F1: Linear & Logistic Regression
Mục tiêu: Hiểu cơ chế toán học đằng sau, không chỉ gọi API.
Lý thuyết: Gradient descent, loss function (MSE, cross-entropy), regularization (L1/L2).
Thực hành: Implement linear regression từ đầu bằng numpy (không dùng sklearn), so sánh với
sklearn.LinearRegression.
Ngày F2: Decision Trees, Random Forest, XGBoost
Mục tiêu: Hiểu tại sao boosted trees thường thắng trên dữ liệu tabular.
Lý thuyết: Entropy/Gini, bagging vs boosting, overfitting trong trees.
Thực hành: Train Random Forest và XGBoost trên cùng 1 dataset, so sánh feature importance.
Ngày F3: Neural Networks cơ bản
Mục tiêu: Hiểu backpropagation, không chỉ
model.fit().Lý thuyết: Forward/backward pass, activation functions, vanishing gradient.
Thực hành: Xây 1 MLP đơn giản bằng PyTorch cho bài toán classification.
Ngày F4: CNN cho ảnh
Mục tiêu: Hiểu convolution, pooling ở mức trực giác.
Lý thuyết: Kernel/filter, receptive field, transfer learning.
Thực hành: Fine-tune 1 pretrained CNN (ResNet) trên tập ảnh nhỏ.
Ngày F5: Transformer cơ bản
Mục tiêu: Hiểu attention mechanism - nền tảng của mọi LLM sẽ dùng trong Tuần 12.
Lý thuyết: Self-attention, positional encoding, encoder-decoder vs decoder-only.
Thực hành: Đọc và trace qua 1 implementation attention đơn giản (vd minGPT), không cần train.
Tuần 1: Low-code AI & BigQuery ML
Ngày 1: Tổng quan kiến trúc Google Cloud AI stack
Mục tiêu: Nắm bản đồ tổng thể - đâu là low-code (BigQuery ML, AutoML), đâu là custom (Vertex/Agent Platform custom training), đâu là foundation models (Model Garden).
Lý thuyết: So sánh BigQuery ML vs Agent Platform AutoML vs custom training về chi phí, tốc độ, độ linh hoạt.
Thực hành: Tạo project GCP, bật billing alert, enable các API cần thiết (BigQuery, Vertex/Agent Platform, Storage).
Ngày 2: BigQuery ML - classification & regression
Mục tiêu: Tự viết được
CREATE MODELcho bài toán tabular thực tế.Lý thuyết: Cú pháp
CREATE MODEL, các model_type (LOGISTIC_REG, LINEAR_REG, BOOSTED_TREE_CLASSIFIER), TRANSFORM clause.Thực hành: Lấy dataset public (vd
bigquery-public-data.ml_datasets), train 1 model logistic regression, đánh giá bằngML.EVALUATE.
Ngày 3: BigQuery ML - feature engineering & forecasting/clustering
Mục tiêu: Biết chọn đúng loại model theo bài toán business.
Lý thuyết: ARIMA_PLUS cho time series, K-MEANS cho clustering, ML.FEATURE_CROSS, ML.BUCKETIZE.
Thực hành: Forecast doanh thu theo tuần bằng ARIMA_PLUS, visualize kết quả bằng Looker Studio hoặc notebook.
Ngày 4: Agent Platform AutoML & Model Garden
Mục tiêu: Hiểu khi nào AutoML hợp lý hơn custom code (thời gian, chi phí, team không có ML expert).
Lý thuyết: Quy trình AutoML tabular/image/text, giới hạn (không kiểm soát kiến trúc, cost per node-hour).
Thực hành: Train 1 AutoML tabular model trên Agent Platform, so sánh AUC với BigQuery ML ở Ngày 2.
Ngày 5: Chi phí & giới hạn thực tế của low-code
Mục tiêu: Hiểu tại sao production team thường không dừng ở AutoML.
Lý thuyết: BigQuery slot pricing vs on-demand, cost của AutoML training node-hours, khi nào low-code trở thành nợ kỹ thuật (khó version control, khó CI/CD).
Thực hành: Tính chi phí ước lượng cho 1 pipeline retrain hàng tuần bằng BigQuery ML vs custom training; viết ghi chú trade-off.
Tuần 2: Data Engineering & Model Prototyping
Ngày 6: Data preprocessing tools - chọn đúng công cụ theo scale
Mục tiêu: Biết khi nào dùng BigQuery SQL, Dataflow, Spark, hay pandas.
Lý thuyết: Ngưỡng dữ liệu (GB vs TB), batch vs streaming, chi phí vận hành Dataflow.
Thực hành: Viết 1 pipeline Dataflow (Apache Beam Python) đơn giản đọc từ GCS, transform, ghi vào BigQuery.
Ngày 7: Feature Store
Mục tiêu: Hiểu vai trò Feature Store trong việc tránh training-serving skew.
Lý thuyết: Online vs offline feature serving, feature consolidation, point-in-time lookup.
Thực hành: Tạo 1 feature group trong Agent Platform Feature Store, ingest batch, query online serving latency.
Ngày 8: Notebook environments - Workbench & Colab Enterprise
Mục tiêu: Setup môi trường prototyping an toàn, có collaboration.
Lý thuyết: Managed vs user-managed notebooks, service account scoping, VPC-SC cho notebook.
Thực hành: Tạo Workbench instance, train 1 model nhỏ bằng PyTorch, lưu artifact vào GCS.
Ngày 9: Experiment tracking
Mục tiêu: Có khả năng so sánh nhiều runs một cách có hệ thống, không phải "nhớ trong đầu".
Lý thuyết: Vertex/Agent Platform Experiments, ML Metadata, lineage tracking.
Thực hành: Chạy 3 training runs với hyperparameter khác nhau, log vào Experiments, so sánh trên UI.
Ngày 10: Data privacy & PII
Mục tiêu: Biết cách xử lý dữ liệu nhạy cảm đúng chuẩn compliance thực tế (không chỉ lý thuyết thi).
Lý thuyết: DLP API để phát hiện PII, tokenization/masking, data governance (Dataplex), quyền truy cập theo nguyên tắc least-privilege.
Thực hành: Chạy Cloud DLP scan trên 1 bảng BigQuery có dữ liệu giả PII, thiết lập masking policy.
Tuần 3: Model Building Strategy
Ngày 11: Chọn model type theo bài toán
Mục tiêu: Có framework ra quyết định ARIMA vs DNN vs LLM, không đoán mò.
Lý thuyết: Trade-off interpretability vs performance, data size threshold cho từng loại model.
Thực hành: Viết decision tree cá nhân (dạng flowchart) cho việc chọn model dựa trên: loại dữ liệu, latency yêu cầu, interpretability yêu cầu.
Ngày 12: Chọn sản phẩm GCP phù hợp
Mục tiêu: Biết map bài toán → AutoML / BigQuery ML / Agent Platform Pipelines / custom training.
Lý thuyết: So sánh 4 hướng tiếp cận về maintainability và team skill cần thiết.
Thực hành: Viết 3 case study giả định (ví dụ: fraud detection, demand forecasting, chatbot support) và chọn stack phù hợp, giải thích lý do.
Ngày 13: Deployment strategy planning
Mục tiêu: Nắm được khi nào dùng batch, khi nào real-time, khi nào edge.
Lý thuyết: Latency SLA, cost per prediction, batch vs online trade-off.
Thực hành: Thiết kế kiến trúc (trên giấy/diagram) cho 1 hệ thống recommendation cần cả batch scoring và real-time re-ranking.
Ngày 14: Interpretability requirements
Mục tiêu: Hiểu khi nào business/luật pháp yêu cầu model giải thích được (vd tín dụng, y tế).
Lý thuyết: SHAP, feature attribution, glass-box models (linear, decision tree) vs black-box (deep learning).
Thực hành: Chạy Vertex Explainable AI trên 1 model tabular, đọc feature attribution.
Ngày 15: Khi nào KHÔNG nên dùng LLM
Mục tiêu: Tránh cái bẫy "LLM cho mọi thứ" phổ biến trong production hiện nay.
Lý thuyết: Chi phí inference LLM vs model truyền thống, latency, khi nào 1 model nhỏ + rule-based đủ tốt.
Thực hành: Viết bài phân tích ngắn (300 từ) so sánh chi phí/lợi ích giữa dùng Gemini API vs train XGBoost cho 1 use case classification đơn giản.
Tuần 4: Training & Hardware
Ngày 16: Tổ chức training data trên GCP
Mục tiêu: Thiết kế data layout tối ưu cho training pipeline lớn.
Lý thuyết: TFRecord vs Parquet, sharding, GCS vs BigQuery cho từng loại dữ liệu (tabular/text/image).
Thực hành: Convert 1 dataset ảnh nhỏ sang TFRecord, benchmark tốc độ đọc so với đọc file gốc.
Ngày 17: Custom training trên Agent Platform
Mục tiêu: Tự chạy được 1 custom training job production-grade (không phải notebook).
Lý thuyết: Custom container vs prebuilt container, CustomJob vs HyperparameterTuningJob, machine spec.
Thực hành: Đóng gói code training thành Docker image, push lên Artifact Registry, submit CustomJob.
Ngày 18: Hyperparameter tuning
Mục tiêu: Biết tự động hóa tuning thay vì tune tay.
Lý thuyết: Bayesian optimization trong Vertex Vizier, search space design, early stopping.
Thực hành: Chạy HyperparameterTuningJob với 10-15 trials, phân tích kết quả bằng parallel coordinates plot.
Ngày 19: Troubleshooting training failures
Mục tiêu: Có khả năng debug thực chiến khi job crash lúc 2h sáng.
Lý thuyết: OOM errors, checkpointing, retry logic, Cloud Logging/Error Reporting cho training job.
Thực hành: Cố tình gây lỗi OOM (batch size quá lớn), đọc log, sửa và chạy lại thành công.
Ngày 20: CPU/GPU/TPU và distributed training
Mục tiêu: Hiểu sâu hơn exam yêu cầu - khi nào data parallelism đủ, khi nào cần model parallelism.
Lý thuyết: TPU pod slicing, NCCL/all-reduce cho GPU multi-node, chi phí GPU spot/preemptible vs on-demand.
Thực hành: Chạy 1 job training với
MirroredStrategy(data parallelism) trên nhiều GPU ảo (hoặc mô phỏng), đo speedup thực tế.
Tuần 5: Serving & Scaling
Ngày 21: Batch vs online inference
Mục tiêu: Triển khai đúng loại inference theo yêu cầu nghiệp vụ.
Lý thuyết: BatchPredictionJob vs Endpoint, chi phí giữ endpoint sống 24/7.
Thực hành: Deploy 1 model lên Vertex Endpoint, gọi thử online prediction; chạy song song 1 batch prediction job.
Ngày 22: Custom containers cho serving
Mục tiêu: Serve được model không thuộc framework được hỗ trợ sẵn.
Lý thuyết: Cấu trúc custom serving container (health check, predict route), prebuilt container cho PyTorch/XGBoost.
Thực hành: Viết Flask/FastAPI serving wrapper cho 1 model sklearn, đóng gói container, deploy lên Cloud Run.
Ngày 23: Model Registry & rollout strategies
Mục tiêu: Quản lý version model như quản lý code (không "model_final_v2_thật.pkl").
Lý thuyết: Model Registry versioning, canary deployment, traffic splitting.
Thực hành: Đăng ký 2 version model vào Model Registry, thiết lập traffic split 90/10 trên endpoint.
Ngày 24: Feature Store cho online serving & scaling backend
Mục tiêu: Đảm bảo latency thấp khi serve ở scale lớn.
Lý thuyết: Autoscaling endpoint (min/max replicas), Feature Store online serving latency budget.
Thực hành: Load test endpoint bằng
locusthoặchey, quan sát autoscaling behavior và latency p99.
Ngày 25: Cost optimization cho serving
Mục tiêu: Đây là kỹ năng đề thi gần như không hỏi sâu nhưng production luôn cần.
Lý thuyết: Right-sizing machine type, batching request phía client, model quantization/distillation để giảm chi phí GPU serving.
Thực hành: So sánh chi phí/tháng giữa serving trên CPU n1-standard vs GPU T4 cho cùng 1 model, tính break-even theo QPS.
Tuần 6: Pipelines & Automation (Section 5 - 18%)
Ngày 26: Kubeflow Pipelines / Agent Platform Pipelines cơ bản
Mục tiêu: Viết được pipeline component đầu tiên.
Lý thuyết: KFP SDK,
@component,@pipeline, container-based components.Thực hành: Viết pipeline 3 bước (load data → train → evaluate) bằng KFP, chạy trên Agent Platform Pipelines.
Ngày 27: Data & model validation trong pipeline
Mục tiêu: Ngăn "garbage in, garbage out" tự động.
Lý thuyết: TensorFlow Data Validation (TFDV) hoặc custom schema check, model validation threshold trước khi deploy.
Thực hành: Thêm component validate schema và validate accuracy threshold vào pipeline Ngày 26 (fail pipeline nếu không đạt).
Ngày 28: Managed Airflow & Ray
Mục tiêu: Biết khi nào Kubeflow không đủ và cần Airflow/Ray.
Lý thuyết: Cloud Composer (Managed Airflow) cho orchestration đa hệ thống, Ray cho distributed compute-heavy workload.
Thực hành: Viết 1 DAG Airflow đơn giản trigger pipeline Vertex mỗi ngày.
Ngày 29: Retraining policy & CI/CD/CT
Mục tiêu: Thiết kế được hệ thống retrain tự động có kiểm soát, không phải "cron chạy bừa".
Lý thuyết: Trigger theo lịch vs theo drift signal, Cloud Build cho CI/CD, CT (continuous training) pipeline.
Thực hành: Viết
cloudbuild.yamlbuild image + trigger pipeline khi push code lên GitHub (Cloud Build trigger).
Ngày 30: Pipeline như code (IaC)
Mục tiêu: Pipeline production không nên click tay trên UI.
Lý thuyết: Terraform cho GCP resources (Vertex, BigQuery, IAM), reproducibility, environment tách dev/staging/prod.
Thực hành: Viết Terraform script tạo 1 BigQuery dataset + 1 GCS bucket + 1 service account với quyền tối thiểu.
Tuần 7: Monitoring & Security cơ bản
Ngày 31: Rủi ro bảo mật AI systems
Mục tiêu: Nhận diện được data exfiltration, prompt injection trong hệ thống LLM.
Lý thuyết: Model Armor, safety filters, regex-based guardrail, VPC-SC để chặn exfiltration.
Thực hành: Cấu hình 1 safety filter cơ bản trên Gemini API call, test với input độc hại giả lập.
Ngày 32: Responsible AI & bias monitoring
Mục tiêu: Có checklist thực tế để đánh giá fairness, không chỉ khái niệm suông.
Lý thuyết: Fairness metrics (demographic parity, equal opportunity), Vertex Model Monitoring bias detection.
Thực hành: Chạy fairness evaluation trên model classification Ngày 2, kiểm tra performance theo từng nhóm subgroup.
Ngày 33: Model Monitoring - drift detection
Mục tiêu: Phát hiện model xuống cấp trước khi business bị ảnh hưởng.
Lý thuyết: Training-serving skew, data drift, concept drift, feature attribution drift - phân biệt rõ 4 loại này.
Thực hành: Bật Vertex Model Monitoring trên endpoint Ngày 21, cấu hình alert threshold cho feature drift.
Ngày 34: Monitoring & evaluating gen AI solutions (mức cơ bản)
Mục tiêu: Đánh giá chất lượng LLM output một cách có hệ thống - nền tảng trước khi đi sâu ở Tuần 12.
Lý thuyết: LLM-as-a-judge, automated eval metrics (BLEU/ROUGE hạn chế với gen AI), human-in-the-loop eval.
Thực hành: Viết 1 eval pipeline nhỏ dùng Gemini làm judge để chấm điểm output của 1 prompt khác trên tập 10 câu hỏi mẫu.
Tuần 8: Production Mastery
Ngày 35: Incident response cho ML system (mức nhập môn)
Mục tiêu: Biết phải làm gì khi model "sập" lúc production đang chạy - sẽ đào sâu hơn ở Tuần 13.
Lý thuyết: Rollback strategy, feature flag cho model, runbook mẫu.
Thực hành: Viết 1 runbook incident response ngắn cho tình huống "endpoint latency tăng đột biến".
Ngày 36: Cost governance toàn hệ thống
Mục tiêu: Nhìn tổng chi phí ML system chứ không chỉ từng phần riêng lẻ.
Lý thuyết: Budget alerts, labels cho cost attribution theo team/project, committed use discounts.
Thực hành: Thiết lập budget alert cho project, gắn label cho toàn bộ resource đã tạo trong 7 tuần qua.
Ngày 37: Security review toàn diện (mức nhập môn)
Mục tiêu: Audit lại toàn bộ hệ thống đã xây theo checklist bảo mật thực tế - sẽ mở rộng sang supply chain/model security ở Tuần 13.
Lý thuyết: IAM least privilege audit, VPC-SC perimeter, encryption at rest/in transit (mặc định GCP nhưng cần hiểu rõ).
Thực hành: Chạy Security Command Center scan (hoặc checklist thủ công) trên project, sửa ít nhất 3 misconfiguration.
Ngày 38-39: Capstone project #1 - End-to-end production system (predictive ML)
Mục tiêu: Ghép toàn bộ kiến thức Tuần 1-7 thành 1 hệ thống hoàn chỉnh.
Lý thuyết: Không có lý thuyết mới - đây là ngày tổng hợp.
Thực hành: Xây 1 hệ thống hoàn chỉnh: data ingestion (Dataflow) → feature store → training pipeline (KFP, có validation) → CI/CD (Cloud Build) → serving (Endpoint với canary) → monitoring (drift alert). Viết README mô tả kiến trúc.
Tuần 9: Distributed Data Processing
Khối bổ sung #1 - production MLE trên GCP thường xuyên đụng streaming pipeline, không chỉ batch SQL.
Ngày 40: Apache Beam internals
Mục tiêu: Hiểu mô hình lập trình Beam đủ sâu để tự viết pipeline phức tạp, không chỉ copy example.
Lý thuyết: PCollection, ParDo, Combine, side input, DoFn lifecycle.
Thực hành: Viết 1 pipeline Beam có custom
DoFnxử lý transform không có sẵn, chạy local bằng DirectRunner.
Ngày 41: Windowing & Triggers
Mục tiêu: Xử lý đúng dữ liệu theo thời gian trong streaming.
Lý thuyết: Fixed windows, sliding windows, session windows; trigger dựa trên event time vs processing time.
Thực hành: Viết pipeline tính aggregate (vd tổng đơn hàng) theo sliding window 5 phút trên dữ liệu giả lập streaming.
Ngày 42: Streaming pipelines với Pub/Sub + Dataflow
Mục tiêu: Xây được pipeline streaming thật, không chỉ lý thuyết.
Lý thuyết: Pub/Sub topic/subscription, Dataflow Streaming Engine, backpressure.
Thực hành: Publish message giả lập vào Pub/Sub, đọc bằng Dataflow streaming job, ghi kết quả real-time vào BigQuery.
Ngày 43: Watermarks & Exactly-once processing
Mục tiêu: Tránh 2 lỗi phổ biến nhất trong streaming: dữ liệu trễ bị bỏ sót và xử lý trùng lặp.
Lý thuyết: Watermark là gì, late data handling, deduplication, checkpointing.
Thực hành: Cấu hình allowed lateness cho pipeline Ngày 42, test bằng cách gửi message có timestamp trễ.
Ngày 44: Cost & autoscaling cho streaming jobs
Mục tiêu: Streaming job chạy 24/7 rất dễ đốt tiền nếu không kiểm soát.
Lý thuyết: Dataflow autoscaling (Streaming Engine), so sánh chi phí Dataflow streaming vs Pub/Sub + Cloud Functions cho workload nhỏ.
Thực hành: Bật autoscaling cho streaming job, load test bằng cách tăng throughput publish, quan sát worker scale up/down.
Tuần 10: Advanced Feature Engineering
Ngày 45: Feature selection
Mục tiêu: Giảm chiều dữ liệu có cơ sở khoa học, không phải "thử bỏ cột xem sao".
Lý thuyết: Mutual Information, Chi-square test, Recursive Feature Elimination (RFE).
Thực hành: Áp dụng cả 3 phương pháp trên 1 dataset tabular, so sánh tập feature được chọn.
Ngày 46: Leakage detection
Mục tiêu: Tránh lỗi kinh điển khiến model "quá tốt" lúc train nhưng sập khi lên production.
Lý thuyết: Target leakage (feature chứa thông tin từ tương lai), train-test contamination, temporal leakage trong time series.
Thực hành: Cố tình tạo 1 dataset có leakage, train model đạt AUC gần 1.0, tìm ra nguyên nhân và fix.
Ngày 47: Embedding features
Mục tiêu: Biến dữ liệu phi cấu trúc (text/ảnh) thành feature dùng được cho model truyền thống.
Lý thuyết: Text embeddings (Vertex AI Embeddings API), image embeddings, dimensionality (768d, 1536d...), khi nào nên fine-tune embedding riêng.
Thực hành: Sinh embedding cho 1 tập văn bản ngắn bằng Vertex Embeddings API, dùng làm feature cho model classification.
Ngày 48: Feature freshness
Mục tiêu: Đảm bảo feature phục vụ inference không bị "cũ" so với thực tế.
Lý thuyết: TTL (time-to-live) cho feature, backfill strategy, late-arriving data trong feature pipeline.
Thực hành: Cấu hình TTL cho 1 feature trong Feature Store, mô phỏng tình huống backfill sau khi phát hiện lỗi dữ liệu quá khứ.
Ngày 49: Feature quality monitoring
Mục tiêu: Feature cũng cần monitoring như model, không chỉ monitor output.
Lý thuyết: Feature drift vs data drift (phân biệt rõ), schema validation liên tục, alerting khi feature distribution thay đổi bất thường.
Thực hành: Thiết lập alert khi 1 feature có tỷ lệ null tăng đột biến hoặc phân phối lệch khỏi baseline.
Tuần 11: Advanced Evaluation & Error Analysis
Ngày 50: Classification metrics sâu & calibration
Mục tiêu: Chọn đúng metric theo bài toán, không mặc định dùng accuracy.
Lý thuyết: Precision, Recall, F1, PR Curve vs ROC Curve (khi nào PR tốt hơn ROC với dữ liệu mất cân bằng), model calibration.
Thực hành: Trên 1 dataset imbalanced, vẽ cả ROC và PR curve, giải thích tại sao PR curve informative hơn ở đây; kiểm tra calibration bằng reliability diagram.
Ngày 51: Forecasting metrics
Mục tiêu: Đánh giá đúng model time series, tránh dùng nhầm MAE cho bài toán có scale khác nhau.
Lý thuyết: MAPE, WAPE, SMAPE - khi nào mỗi metric bị lệch (MAPE lỗi khi actual gần 0).
Thực hành: Tính cả 3 metric trên model ARIMA_PLUS đã train ở Ngày 3, so sánh kết quả và giải thích khác biệt.
Ngày 52: Ranking metrics
Mục tiêu: Đánh giá đúng hệ thống recommendation/search.
Lý thuyết: NDCG, MAP, MRR - ý nghĩa và khi nào dùng metric nào.
Thực hành: Tính NDCG cho 1 tập kết quả ranking giả lập (query + list kết quả có relevance score).
Ngày 53: GenAI evaluation
Mục tiêu: Đánh giá LLM output đúng chuẩn, chuẩn bị nền cho Tuần 12.
Lý thuyết: Faithfulness, groundedness, toxicity - phân biệt rõ 3 khái niệm và cách đo từng loại.
Thực hành: Viết rubric đánh giá groundedness cho 5 câu trả lời của 1 LLM dựa trên context cho trước, chấm điểm thủ công rồi so với LLM-as-a-judge.
Ngày 54: Error analysis & slicing
Mục tiêu: Biết model sai ở đâu, không chỉ biết model sai bao nhiêu.
Lý thuyết: Slicing theo subgroup, confusion matrix theo từng slice, root-cause analysis workflow.
Thực hành: Lấy model classification Ngày 2, slice performance theo 2-3 nhóm thuộc tính khác nhau, tìm ra nhóm có error rate cao nhất và giả thuyết nguyên nhân.
Tuần 12: GenAI Production
Khối bổ sung #4 - PMLE ngày càng đụng nhiều GenAI, đề thi cũng đã thêm hẳn phần fine-tune Gemini.
Ngày 55: RAG fundamentals - chunking strategy
Mục tiêu: Hiểu vì sao chunking sai là nguyên nhân số 1 khiến RAG system trả lời tệ.
Lý thuyết: Fixed-size chunking vs semantic chunking, chunk overlap, ảnh hưởng của chunk size đến retrieval quality.
Thực hành: Chunk 1 tài liệu dài bằng 2 chiến lược khác nhau, so sánh chất lượng câu trả lời cuối cùng.
Ngày 56: Retrieval & reranking
Mục tiêu: Xây pipeline retrieval 2 giai đoạn thực chiến, không chỉ top-k similarity search.
Lý thuyết: Dense retrieval vs hybrid search (BM25 + embedding), reranking model.
Thực hành: Thêm bước rerank vào kết quả retrieval Ngày 55, so sánh top-3 trước/sau rerank.
Ngày 57: Vertex AI Vector Search / ANN
Mục tiêu: Triển khai vector search ở scale production, không phải brute-force cosine similarity trong notebook.
Lý thuyết: Approximate Nearest Neighbor (ANN) index, trade-off recall vs latency, index building/updating.
Thực hành: Tạo 1 Vector Search index trên Vertex AI, deploy, query thử với embedding từ Ngày 47.
Ngày 58: Prompt engineering nâng cao
Mục tiêu: Kiểm soát output LLM đủ chặt để dùng trong hệ thống production (không phải chatbot demo).
Lý thuyết: Structured output (JSON mode/schema), tool calling / function calling.
Thực hành: Viết 1 prompt bắt Gemini trả về JSON theo schema cố định, kèm 1 tool-calling flow đơn giản (vd gọi "get_weather").
Ngày 59: Agent systems
Mục tiêu: Hiểu kiến trúc agent thực tế, không chỉ prompt chain đơn giản.
Lý thuyết: Agent Development Kit (ADK), memory (short-term vs long-term), planning/orchestration giữa nhiều tool.
Thực hành: Xây 1 agent đơn giản dùng ADK có 2 tool và khả năng nhớ ngữ cảnh qua nhiều lượt hội thoại.
Ngày 60: GenAI evaluation pipeline end-to-end
Mục tiêu: Ghép Ngày 53 (metric) + hệ thống RAG (Ngày 55-58) thành 1 vòng eval tự động.
Lý thuyết: Golden dataset cho RAG eval, hallucination rate tracking theo thời gian, regression test khi đổi prompt/model.
Thực hành: Xây 1 eval set 15-20 câu hỏi cho hệ thống RAG đã xây, chạy tự động và log groundedness score theo từng lần thay đổi prompt.
Tuần 13: ML SRE & Security cho MLOps
Ngày 61: SLI/SLO cho ML systems
Mục tiêu: Định lượng được "hệ thống đang chạy tốt" bằng con số, không phải cảm tính.
Lý thuyết: SLI (latency p95/p99, error rate) vs SLO (mục tiêu cam kết) vs SLA, error budget.
Thực hành: Định nghĩa SLO cho endpoint đã deploy ở Ngày 21 (vd p99 < 300ms, availability 99.9%), tính error budget hàng tháng.
Ngày 62: Alert design
Mục tiêu: Alert phải đáng tin, không gây "alert fatigue" khiến on-call bỏ qua cảnh báo thật.
Lý thuyết: Burn rate alerting (multi-window, multi-burn-rate), phân biệt alert cần page ngay vs alert chỉ cần ticket.
Thực hành: Cấu hình 1 burn-rate alert trong Cloud Monitoring dựa trên SLO Ngày 61.
Ngày 63: Incident management
Mục tiêu: Biết vận hành 1 incident từ đầu đến cuối theo quy trình chuẩn, không phải hoảng loạn cá nhân.
Lý thuyết: Severity levels, escalation path, postmortem blameless.
Thực hành: Viết 1 postmortem giả định đầy đủ (timeline, root cause, action items) cho 1 sự cố mô phỏng (vd model drift gây sai lệch dự đoán 3 ngày không ai phát hiện).
Ngày 64: Capacity planning
Mục tiêu: Tránh cả 2 thái cực: overprovision (tốn tiền) và underprovision (sập khi traffic tăng).
Lý thuyết: QPS forecasting dựa trên traffic pattern, autoscaling limits và cold-start latency.
Thực hành: Dựa vào traffic giả định tăng 3x vào mùa cao điểm, tính toán lại min/max replicas cho endpoint.
Ngày 65: Supply chain security
Mục tiêu: Đảm bảo image/model deploy lên production không bị compromise.
Lý thuyết: Artifact Registry vulnerability scanning, Binary Authorization, khái niệm SLSA framework.
Thực hành: Bật vulnerability scanning cho Artifact Registry, cấu hình Binary Authorization policy chặn image chưa được attest.
Ngày 66: Secret management
Mục tiêu: Không bao giờ hardcode API key/credential trong code hoặc container.
Lý thuyết: Secret Manager, Customer-Managed Encryption Keys (CMEK), rotation policy.
Thực hành: Chuyển 1 API key đang hardcode trong pipeline (từ Tuần 12) sang Secret Manager, cấu hình IAM để chỉ service account cụ thể đọc được.
Ngày 67: Model security
Mục tiêu: Hiểu các vector tấn công nhắm vào chính model, không chỉ hạ tầng xung quanh.
Lý thuyết: Model extraction (đánh cắp model qua query), model inversion (suy ngược dữ liệu train), prompt injection, data poisoning.
Thực hành: Viết checklist phòng thủ cho 1 endpoint public-facing (rate limiting, output filtering, input sanitization) áp dụng cho hệ thống đã xây.
Tuần 14: ML System Design (Case Studies)
Ngày 68: Case study - Fraud detection system
Mục tiêu: Thiết kế hệ thống real-time có yêu cầu latency cực thấp (<100ms) và class imbalance nặng.
Lý thuyết: Trade-off giữa rule-based pre-filter và model scoring, feature real-time vs precomputed.
Thực hành: Vẽ full architecture diagram (ingestion → feature → model → decision → feedback loop), ước lượng cost/QPS.
Ngày 69: Case study - Ads ranking system
Mục tiêu: Thiết kế hệ thống ranking ở scale hàng triệu request/giây.
Lý thuyết: Two-tower model architecture, candidate generation vs ranking (2-stage funnel), online learning.
Thực hành: Thiết kế kiến trúc 2-stage (candidate retrieval + ranking), xác định latency budget cho từng stage.
Ngày 70: Case study - Recommendation system
Mục tiêu: Cân bằng giữa personalization, cold-start problem, và diversity.
Lý thuyết: Collaborative filtering vs content-based vs hybrid, cold-start solution (dùng embedding từ Tuần 10).
Thực hành: Thiết kế hệ thống recommendation cho user mới (cold-start) và user cũ, chọn chiến lược khác nhau cho mỗi nhóm.
Ngày 71: Case study - Demand forecasting system
Mục tiêu: Thiết kế hệ thống forecast ở scale nhiều SKU/nhiều cửa hàng, không phải 1 time series đơn lẻ.
Lý thuyết: Hierarchical forecasting, global model vs per-series model, retraining cadence.
Thực hành: Thiết kế pipeline forecast cho 1000+ SKU, quyết định dùng 1 global model hay nhiều model nhỏ, giải thích trade-off.
Ngày 72: Case study - RAG-based support chatbot (tổng hợp GenAI)
Mục tiêu: Ghép toàn bộ Tuần 12 (RAG, Vector Search, Agent) vào 1 case study hoàn chỉnh có SLO.
Lý thuyết: Kết hợp retrieval quality, hallucination control, và latency budget cho chatbot production.
Thực hành: Thiết kế full architecture cho chatbot hỗ trợ khách hàng, bao gồm fallback khi retrieval confidence thấp, escalation sang human agent.
Ngày 73-74: Capstone project #2 - End-to-end GenAI + SRE production system
Mục tiêu: Ghép toàn bộ Tuần 9-14 thành 1 hệ thống hoàn chỉnh, bổ sung cho Capstone #1 (predictive ML) ở Tuần 8.
Lý thuyết: Không có lý thuyết mới - ngày tổng hợp.
Thực hành: Xây 1 hệ thống RAG production có: streaming ingestion (Beam), vector search, agent với tool calling, eval pipeline tự động, SLO + alerting, secret management đúng chuẩn. Viết postmortem giả định cho 1 sự cố và README kiến trúc đầy đủ.
Tuần 15: Ôn thi & Mock Exam
Ngày 75: Ôn tập Section 1-3 (exam)
Mục tiêu: Củng cố lại các điểm yếu qua flashcard/quiz tự làm.
Lý thuyết: Rà lại toàn bộ ghi chú Tuần 1-4.
Thực hành: Làm 20-30 câu hỏi mô phỏng (tự viết hoặc từ nguồn uy tín) cho Section 1-3.
Ngày 76: Ôn tập Section 4-6 (exam)
Mục tiêu: Củng cố phần serving, pipeline, monitoring.
Lý thuyết: Rà lại ghi chú Tuần 5-7.
Thực hành: Làm 20-30 câu hỏi mô phỏng cho Section 4-6.
Ngày 77: Ôn tập khối production mở rộng
Mục tiêu: Đảm bảo các khối bổ sung (Tuần 9-14) không bị quên trước khi thi, vì đề thi có thể hỏi khía cạnh nhẹ của các mảng này (đặc biệt GenAI và data processing).
Lý thuyết: Rà lại ghi chú Tuần 9-14, tập trung vào phần liên quan trực tiếp đến exam guide (RAG/Vector Search, distributed training, monitoring).
Thực hành: Làm 15-20 câu hỏi tự soạn dựa trên case study đã làm ở Tuần 14.
Ngày 78: Mock exam đầy đủ + review
Mục tiêu: Kiểm tra sẵn sàng thi thật.
Lý thuyết: Không có - full mock exam.
Thực hành: Làm 1 bài mock exam đầy đủ (~50-60 câu, giới hạn thời gian như thi thật), review từng câu sai, quay lại đúng ngày tương ứng trong syllabus để học lại.