Khai giảng
Ôn tập Học máy
- Hướng dẫn làm quen với hệ thống.
- Học máy là gì.
Mô hình hồi quy tuyến tính + Thuật toán Gradient Descent
Ôn tập mô hình AI
Pytorch và Hugging Face
Kỹ thuật lấy mẫu con (Subsampling) (Nguyên tắc 1)
- Concentration inequalities
- Bất đẳng thức Markov
- Bất đẳng thức Chebyshev
- Luật số lớn yếu (Weak Law of Large Numbers)
- Luật số lớn mạnh (Strong Law of Large Numbers)
- Định luật giới hạn trung tâm (Central Limit Theorem - CLT)
- Một số bất đẳng thức khác
- Áp dụng lấy mẫu để tính toán tối ưu cho chi phí rủi ro thực nghiệm (Empirical Risk Minimization)
Làm việc và lưu trữ, theo dõi dữ liệu
Các kỹ thuật training hiệu quả 1 (Nguyên tắc 2)
- Sử dụng các thuật toán training.
- Cài đặt các tham số khởi tạo
Lưu trữ dữ liệu với Cloud Storage và tự động hóa quá trình training
Giảm chiều dữ liệu
PCA - Principal Component Analysis
PCA
Một số phương pháp để cải thiện training
CPUs
- Giới thiệu CPU
- Tính toán song song trên CPUs
- Nhiều lệnh song song (ILP)
- Một lệnh trên nhiều luồng dữ liệu (SIMD)
- Đa luồng (Multi-thread parallelism)
- Phân tán (Distributed Compute)
- Bài tập: Lập trình multi threading.
Đồng bộ và bất đồng bộ
Thực hành deploy pipeline lên VPS
RAM và cơ chế cache của CPUs
Flask - Restful API
Giới thiệu
- Webserver
- Restful API
- Flask + AI Model
Machine Learning CI/CD
Tự động hóa Machine Learng Pipeline bao gồm Continuous Integration (CI) để kiểm thử hệ thống và Continous Delivery (CD) để tự động đưa ứng dụng lên production.
Deploy AI Model bằng Docker
- Docker là gì?
- Phân biệt image và container
- Cài đặt Docker
- Xây dựng Docker Image và chạy docker Container
- Docker container
Scaling ML Model với Google Cloud
- Cloud Storage: Lưu trữ data lớn + Model lớn
- Load Balancing: Phân luồng Máy chủ
- Compute Engine: Máy chủ
- Instance Group: Tự động scaling máy chủ
MLOps
- Hiểu rõ khái niệm MLOps
- End-to-End Machine Learning Workflow
GPUs vs TPUs
GPUs và TPUs
- Sự khác biệt giữa CPUs và GPUs (tối ưu cho độ trễ và tối ưu cho băng thông)
- Giới thiệu CUDA
- Graphic Pipelines
- Demo training trên A100
- Song song trên GPU
- Giới thiệu thư viện PyCUDA
- Lập trình song song với PyCUDA
So sánh GPUs và TPUs
- Điểm mạnh của TPUs so với GPUs
- TPU paper: https://arxiv.org/pdf/1704.04760.pdf
- Turing SM: https://developer.nvidia.com/blog/nvidia-turing-architecture-in-depth/
Học máy chính xác thấp
- Số thực dấu phẩy động
- Lượng tử hóa mô hình
Xây dựng Crawler Web và xây dựng Text Dataset
- Chi tiết về HTML/CSS
- Xử lý text từ website
- Build Text Dataset
Tối ưu hóa mô hình
Bên cạnh lượng tử hóa chúng ta sẽ đề cập đến
- Tỉa mô hình
- Nén mô hình với Huffman Coding
- Phân cụm tham số
- Trắt lọc chi thức
Distributed Training và ONNX
- Multi-GPUs Training
- ONNX
Làm Project Chung