Bộ công cụ hằng ngày của AI Engineer: vector hoá với NumPy, đọc–lọc–gộp–làm sạch dữ liệu với Pandas, vẽ biểu đồ khám phá với Matplotlib. Thực hành trọn một vòng EDA trên Titanic, kết thúc bằng bảng đặc trưng sẵn sàng cho mô hình.
Mô hình ML đầu tiên, viết tay bằng NumPy rồi bằng scikit-learn: hàm mất mát MSE, gradient descent theo batch và mini-batch, chia train/validation/test, overfitting–underfitting, hồi quy đa thức và regularization Ridge/Lasso.
Từ hồi quy sang phân loại: sigmoid, softmax, cross-entropy, viết hồi quy logistic bằng NumPy; rồi đánh giá đúng cách với confusion matrix, precision/recall/F1, chọn ngưỡng, ROC-AUC, dữ liệu mất cân bằng, cross-validation và Pipeline chống rò rỉ dữ liệu.
Cây quyết định chia dữ liệu bằng Gini/entropy, vì sao một cây dễ overfit, Random Forest gộp nhiều cây (bagging), gradient boosting sửa lỗi tuần tự; thực hành với scikit-learn, giới thiệu XGBoost/LightGBM/CatBoost, feature importance và permutation importance.
Khi dữ liệu không có nhãn: viết K-means từ đầu, chọn số cụm bằng elbow và silhouette, khi nào dùng DBSCAN; giảm chiều bằng PCA (tự viết bằng SVD), nén ảnh chữ số, trực quan hoá bằng t-SNE/UMAP và phát hiện bất thường.
Hiểu Deep Learning từ gốc: nơ-ron, hàm kích hoạt, vì sao cần phi tuyến, đồ thị tính toán và backpropagation; tự viết một engine autograd nhỏ kiểu micrograd, huấn luyện MLP bằng NumPy, rồi kiểm tra kết quả với autograd của PyTorch.
Vì sao MLP không hợp với ảnh, phép tích chập hoạt động thế nào (tự viết bằng NumPy), padding, stride, pooling, trường tiếp nhận; lịch sử LeNet → AlexNet → VGG → ResNet; tự xây CNN và khối residual bằng PyTorch, huấn luyện trên CIFAR-10 với data augmentation.
Cách dân chuyên nghiệp làm phân loại ảnh: lấy mô hình đã học trên ImageNet (torchvision, timm), linear probing rồi fine-tuning toàn bộ với learning rate theo tầng; chuẩn bị dữ liệu bằng ImageFolder, augmentation, xử lý lệch lớp, phân tích lỗi và chọn backbone.
Từ 'ảnh này là gì' tới 'vật ở đâu': bounding box, IoU và NMS tự viết bằng NumPy, cách đọc mAP, detector một giai đoạn và hai giai đoạn, huấn luyện YOLO26 trên dữ liệu tự gán nhãn; phân đoạn ngữ nghĩa và instance với U-Net, Mask R-CNN, Segment Anything.
Self-attention tự viết bằng PyTorch, cách ViT biến ảnh thành chuỗi patch, so sánh ViT với CNN; CLIP học ảnh và chữ chung một không gian embedding bằng contrastive learning — phân loại không cần dữ liệu huấn luyện và dựng công cụ tìm ảnh bằng mô tả; tổng quan SigLIP, DINOv2 và mô hình đa phương thức.
Bài cuối của lộ trình: xuất mô hình PyTorch sang ONNX, phục vụ bằng FastAPI + ONNX Runtime, đo độ trễ, lượng tử hoá INT8, đóng Docker; theo dõi thí nghiệm, quản lý phiên bản dữ liệu–mô hình, giám sát drift trong production và 5 dự án portfolio để xin việc AI Engineer.