Made With ML: khóa học ML sản xuất thực chiến
Made With ML dạy phần việc kém hào nhoáng nhất của machine learning: biến một thử nghiệm trong notebook thành thứ chạy được, serve được, và redeploy được mà không đổ vỡ. Khóa học đi trọn một bài toán phân loại từ đầu đến cuối với Ray cho tính toán phân tán và MLflow để tracking, nên quy trình luôn cụ thể. Đáng học nếu bạn đã nắm ML cơ bản và muốn xem phần kết nối sản xuất được làm đúng. Bỏ qua nếu bạn còn chưa rõ train/test split là gì.
Made With ML là gì?
Made With ML là khóa học miễn phí của Goku Mohandas, dạy machine learning qua một ví dụ chạy xuyên suốt: phân loại các bài báo machine learning vào các nhóm như natural-language-processing, computer-vision, hay mlops dựa trên tiêu đề và mô tả. Bài học đặt tại madewithml.com; repo GitHub này chứa code — một Jupyter notebook cộng package Python madewithml/ đã refactor, có script riêng cho training, tuning, evaluation và serving.
Khóa học dạy những gì
- ✓Một ví dụ chạy xuyên suốt — phân loại bài báo ML theo tiêu đề và mô tả vào các nhóm như natural-language-processing hay computer-vision — đi từ thử nghiệm trong notebook đến một API được serve, tạo thành một end-to-end ML pipeline hoàn chỉnh.
- ✓Training và tuning phân tán qua Ray, với script train.py và tune.py nhận các flag --num-workers, --cpu-per-worker, --gpu-per-worker để cùng một đoạn code chạy được cả trên laptop lẫn trên cluster Anyscale.
- ✓Theo dõi thực nghiệm (experiment tracking) bằng MLflow, có luôn MLflow Tracking UI cục bộ tại localhost:8080; README gợi ý Weights & Biases hoặc Comet làm phương án thay thế khi làm việc theo team.
- ✓Lớp model serving dựng trên Ray Serve (serve.py), expose một endpoint /predict, cộng thêm CLI predict.py riêng để suy luận (inference) từng lần một.
- ✓CI/CD cho ML qua GitHub Actions: một workflow workloads chạy training và post kết quả ngay trên pull request, cùng một workflow serve tự rollout model khi PR được merge vào main.
- ✓Bộ test pytest chia thành tests/code, tests/data, tests/model, kèm báo cáo coverage chạy qua đúng những lệnh dùng cho các workload ML.
Bạn sẽ xây dựng được gì
- •Một kỹ sư software hoặc infra muốn xem một model được bọc trong cùng kỷ luật testing, CI/CD và deploy như một service bình thường.
- •Một data scientist đã có model chạy được trong notebook, cần một khuôn mẫu để biến nó thành script, một thực nghiệm được track, và một endpoint được serve.
- •Một sinh viên mới ra trường ngành CS hay data science muốn lấp khoảng cách giữa chương trình học và những gì một team ML sản xuất thực sự duy trì hằng ngày — đây cũng chính là cách README mô tả đối tượng của mình.
- •Học xong, bạn sẽ chạy qua cùng một bài toán phân loại bài báo dưới bốn hình thái: notebook, script Python đã refactor, thực nghiệm MLflow được track, và một endpoint do Ray serve, gọi qua HTTP.
Điểm mạnh
- ✓Một ví dụ chạy xuyên suốt toàn bộ pipeline — notebook, script đã refactor, thực nghiệm được track, CI/CD, endpoint được serve — thay vì các đoạn rời rạc theo từng chủ đề.
- ✓Các vấn đề sản xuất được xử lý nghiêm túc: bộ test pytest cho code, data và model, cộng workflow GitHub Actions post kết quả training thẳng lên pull request.
- ✓Chạy được trên laptop cá nhân hoặc trên Anyscale, nên bạn có thể học theo mà không cần cam kết tài khoản cloud ngay từ đầu.
- ✓Cấp phép MIT, nên code có thể tái sử dụng tự do bên ngoài khóa học.
Hạn chế
- △Nhánh sản xuất sâu hơn — Anyscale Jobs, Anyscale Services, và cấu hình compute GPU mà README nhắc tới (g5.4xlarge) — đòi hỏi tài khoản Anyscale; đường local được README nêu rõ là phương án chậm hơn, phụ.
- △Khóa học dạy trọn một bài toán (phân loại văn bản) từ đầu đến cuối, chứ không phủ computer vision, hệ gợi ý, hay các mảng ML khác.
- △Đây là khóa học một tuyến, không phải tài liệu tra cứu rời rạc — bài CI/CD và serving dựa thẳng vào các bước training, tuning phía trước.
- △Muốn học theo vẫn phải đọc hướng dẫn setup gốc của repo (venv, Python 3.10, pre-commit) trực tiếp, vì bài đánh giá này không nhắc lại từng bước cài đặt.
Các khóa học ML sản xuất thay thế
Câu hỏi thường gặp
Made With ML chủ yếu viết bằng Python, đóng gói dưới dạng Jupyter notebook cho phần bài học và một package Python riêng madewithml/ (config.py, data.py, train.py, tune.py, evaluate.py, predict.py, serve.py) cho các script sản xuất. GitHub cũng liệt kê Jupyter Notebook là ngôn ngữ chính của repo.
Made With ML không bắt buộc phải có GPU. README nói các script training và tuning vẫn chạy được trên CPU laptop cá nhân, chỉ chậm hơn so với chạy trên cluster. Đường setup Anyscale mặc định dùng cấu hình compute có GPU cho các lần chạy lớn hơn, nhưng đây là lựa chọn, không phải bắt buộc.
Made With ML dùng được mà không cần Anyscale. README có hẳn một đường setup local, biến máy cá nhân của bạn thành một cluster Ray một node, song song với lựa chọn Anyscale. Đánh đổi nằm ở tốc độ: chạy local vẫn đi qua đúng các bài học và script, chỉ chậm hơn so với chạy trên cluster được quản lý.
Made With ML dạy Ray cho training, tuning và model serving phân tán, MLflow để theo dõi thực nghiệm, pytest để test code, data và model, và GitHub Actions cho CI/CD. README cũng nhắc tới Weights & Biases hoặc Comet như phương án thay thế cho việc tự host server MLflow.
Made With ML không hướng tới người mới hoàn toàn với machine learning. Khóa học giả định bạn đã hiểu các khái niệm ML cốt lõi và tập trung vào lớp kỹ thuật: testing, serving, CI/CD, và iteration. README nhắm tới developer, data scientist, và sinh viên mới ra trường muốn có kỹ năng sản xuất, không phải người tiếp xúc ML lần đầu.
Made With ML phát hành theo giấy phép MIT, theo metadata GitHub của repo. Giấy phép này cho phép tái sử dụng, chỉnh sửa và phân phối lại code kèm ghi công, không kèm bảo hành, áp dụng cho cả notebook bài học lẫn package Python madewithml/.
Ai nên thử — và ai nên bỏ qua
Nên học Made With ML nếu bạn đã biết train một model cơ bản và muốn xem phần triển khai — tracking, testing, CI/CD, serving — được làm thành một ví dụ mạch lạc thay vì rải rác qua từng bài blog. Kỹ sư software hoặc infra thừa kế hệ thống ML mà không có nền tảng ML sẽ thu được nhiều nhất, vì trọng tâm là thực hành sản xuất chứ không phải bản thân model. Đúng nghĩa một ML course for developers hơn là nhập môn nặng lý thuyết toán. Nên bỏ qua nếu bạn muốn nhập môn lý thuyết ML từ số 0, hoặc muốn nội dung vượt ra ngoài bài toán phân loại văn bản duy nhất mà khóa học xoay quanh.
Repo liên quan
Chưa chắc Made-With-ML có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về Made-With-ML.
