Bỏ qua

Link tài liệu

Công cụ ML no-code/low-code

Mục đích Dùng gì tốt nhất?
:books: Học lý thuyết ML cơ bản Weka hoặc Orange
:test_tube: Học ML kết hợp demo hiện đại Orange hoặc KNIME
:brain: Giáo viên cần trực quan, kéo-thả Orange, RapidMiner
:office_worker: Người đi làm, công ty thực tế KNIME, RapidMiner
Tổng Hợp Thuật Ngữ Machine Learning Cơ Bản

Tổng hợp các thuật ngữ và thành phần cốt lõi trong lĩnh vực Machine Learning, được sắp xếp theo luồng làm việc từ dữ liệu, huấn luyện cho đến đánh giá mô hình.

Nhóm Thuật ngữ Giải thích
Dữ Liệu & Thành Phần Input Data Dữ liệu thô đưa vào để huấn luyện mô hình (ảnh, văn bản, số liệu, v.v.).
Feature Đặc trưng đầu vào (input). Là các đặc trưng được rút ra từ input để giúp mô hình hiểu và học tốt hơn.
Label Nhãn đầu ra (output). Là kết quả đúng tương ứng với input, dùng để mô hình học (trong supervised learning).
Training Data Dữ liệu dùng để huấn luyện mô hình.
Testing Data Dữ liệu dùng để kiểm tra, đánh giá mô hình sau khi đã huấn luyện xong.
Augmented Data Dữ liệu được biến đổi từ input gốc để làm phong phú thêm bộ dữ liệu, giúp mô hình học đa dạng hơn.
Metadata Thông tin phụ trợ (ID, thời gian, vị trí...) không được dùng trực tiếp trong quá trình học của mô hình.
Huấn Luyện & Cấu Hình Hyperparameters Các thông số được cấu hình từ trước khi quá trình huấn luyện bắt đầu (ví dụ: learning rate, batch size...).
Loss Function Hàm tính toán mức độ sai sót giữa dự đoán của mô hình và Label (kết quả thật), giúp mô hình biết cách tự cải thiện.
Overfitting Tình trạng mô hình "học vẹt", học quá kỹ trên Training Data nhưng hoạt động kém trên dữ liệu mới (Testing Data).
Underfitting Tình trạng mô hình học chưa đủ, hoạt động kém trên cả Training DataTesting Data.
Đánh Giá Hiệu Năng Accuracy Tỷ lệ dự đoán đúng trên tổng số tất cả các dự đoán.
Precision Tỷ lệ dự đoán "đúng" trong số những trường hợp được mô hình dự đoán là "đúng". (Đo lường độ chính xác).
Recall Tỷ lệ các trường hợp "đúng" thực tế đã được mô hình tìm thấy (bắt được). (Đo lường độ bao phủ).
F1-score Trung bình hài hòa (harmonic mean) của PrecisionRecall, hữu ích khi cần cân bằng cả hai chỉ số.
Kỹ Thuật Nâng Cao Mask Kỹ thuật giúp mô hình biết cần chú ý hoặc bỏ qua phần nào trong dữ liệu đầu vào (thường dùng trong NLP/Transformer).
Các kỹ thuật hậu xử lý (post-processing) khi không thể hoặc không muốn retrain model
  • Chỉnh ngưỡng phân loại (Classification): Điều chỉnh threshold để cân bằng precision, recall hoặc F1.
  • Đầu ra hồi quy bị lệch nhẹ (Regression): Thêm hoặc trừ một bias correction để hiệu chỉnh kết quả.
  • NLP – sửa câu trả lời: Áp dụng rule-basedpost-processing để làm sạch hoặc điều chỉnh output ngôn ngữ.
  • Model thiếu tự tin (uncalibrated probabilities): Sử dụng probability calibration (Platt scaling, isotonic regression, temperature scaling).
  • Không thể retrain model: Áp dụng post-processing hoặc rule-based adjustments để cải thiện đầu ra.
Model Serialization & Deployment Formats

Các định dạng lưu trữ và triển khai mô hình Machine Learning / Deep Learning

Định dạng Framework / Môi trường Giải thích / Trường hợp sinh ra Tại sao dùng Khi nào dùng
.h5 TensorFlow / Keras Lưu cả kiến trúc model + weights + optimizer state. Dễ dàng load toàn bộ model, portable trong TF/Keras. Fine-tune hoặc inference trên TensorFlow, khi muốn lưu trọn vẹn model.
.pb TensorFlow Protocol Buffer, lưu graph + weights. Dùng để deploy model TensorFlow, đặc biệt cho production. Deploy server, export model TensorFlow.
.tflite TensorFlow Lite Chuyển đổi .pb hoặc .h5 để chạy trên mobile / edge devices. Nhẹ, tối ưu cho CPU/microcontroller. Inference trên điện thoại, IoT.
.pt / .pth PyTorch Lưu state_dict hoặc full model. Dễ load lại và tiếp tục training, phổ biến trong PyTorch. Fine-tuning, inference PyTorch, nghiên cứu.
.bin HuggingFace / PyTorch Lưu weights của transformer / LLM. Nhiều transformer dùng chuẩn này để load weights nhanh. Khi tải transformer model từ HuggingFace.
.safetensors HuggingFace / PyTorch Thay .bin, safe, nhanh, không thực thi code. Tránh lỗ hổng bảo mật khi load model. Khi deploy hoặc chia sẻ model, muốn tránh rủi ro.
.pkl Python pickle Lưu Python object, có thể là model hoặc data. Dễ dàng serialize Python object. Chỉ dùng local, không nên load từ nguồn lạ.
.ggml / .gguf LLM offline (llama.cpp, GPTQ) Optimized for CPU, small footprint, 4-bit / 8-bit quantization. Chạy LLM offline, tiết kiệm RAM/VRAM. Chạy RAG, chatbot offline trên PC/Mac.
.onnx Framework-neutral Chuẩn trung gian, chuyển model giữa TensorFlow / PyTorch / C++ / edge. Portability giữa framework. Khi deploy cross-platform, hoặc dùng inference engine như ONNX Runtime.
.ckpt TensorFlow / PyTorch / Diffusion Checkpoint lưu weights hoặc toàn bộ model state. Lưu progress training, dễ resume. Resume training, chia sẻ model state.
Model Lifecycle & Serialization in Machine Learning / Deep Learning

Chu kỳ lưu trữ – chuyển đổi – triển khai mô hình

Phase Framework / Use-case File / Format điển hình Mục đích / Lý do sinh ra file Trường hợp sử dụng ví dụ
Training TensorFlow, PyTorch, HuggingFace LLM .ckpt (TensorFlow), .pt / .bin (PyTorch), .pkl Lưu toàn bộ weights + optimizer state + metadata training Khi tiếp tục training, checkpoint giữa các epoch
Checkpoint / Saved Model TensorFlow, PyTorch .h5 (Keras), .pt (PyTorch), .safetensors Lưu weights model đã training xong, loại bỏ optimizer info Chia sẻ model, restart training, chuẩn bị export
Export Phase TensorFlow, PyTorch, ONNX, LLM .onnx, .tflite, .pb, .gguf, .safetensors Chuẩn hóa để chạy inference offline hoặc trên môi trường khác, có thể quantize Deploy trên server, mobile, hoặc local CPU/GPU
Inference / Deployment TensorFlow Serving, PyTorch, LLM .onnx, .tflite, .gguf, .safetensors, .h5 Load model đã export, thực hiện forward pass để dự đoán Chatbot, RAG, Recommendation, API phục vụ người dùng
Optional Quantized LLMs, HuggingFace .gguf, .pt (8-bit, 4-bit) Giảm dung lượng, tăng tốc inference Macbook, CPU-limited device, local RAG system
Machine Learning Engineering / MLOps – Model Lifecycle & Serialization
flowchart TD
    A[Training Phase] --> B[Save checkpoint / state_dict]
    B -->|Files: .h5, .pt, .pth, .ckpt, .pkl| C[Export Phase]
    C --> D[Convert / Export]
    D -->|Files: .pb, .onnx, .tflite, .ggml/.gguf, .safetensors| E[Inference / Deployment Phase]
    E -->|Load model for prediction: .h5, .pt, .onnx, .tflite, .gguf, .safetensors| F[Use in Application]
  1. Training (Huấn luyện)

    • Mục tiêu: Tạo ra weights của model dựa trên dữ liệu.
    • File thường sinh ra:
      • .h5 → TensorFlow/Keras
      • .pt / .pth → PyTorch
      • .ckpt → checkpoint (TensorFlow, Diffusion)
      • .pkl → lưu Python object (state_dict, config)
    • Khi nào dùng: Trong quá trình train, để tiếp tục train (resume), lưu intermediate model.
  2. Export (Xuất model)

    • Mục tiêu: Chuẩn hóa model để deploy hoặc chia sẻ.
    • File thường sinh ra:
      • .pb → TensorFlow graph cho production.
      • .onnx → Framework-neutral, port sang nhiều môi trường (PyTorch → C++ / TensorRT / Edge).
      • .tflite → Mobile / Edge devices.
      • .safetensors → weights transformer, an toàn, không thực thi code.
      • .ggml / .gguf → LLM offline, CPU-friendly, 4/8-bit quantized.
    • Khi nào dùng: Khi muốn chạy inference ngoài môi trường training, hoặc chia sẻ model offline.
  3. Inference / Deployment (Sử dụng model)

    • Mục tiêu: Dùng model đã huấn luyện để dự đoán / RAG / chatbot / recommendation.
    • File thường load:
      • .h5 / .pt / .pth → load trực tiếp vào TF hoặc PyTorch.
      • .onnx → load vào ONNX Runtime hoặc C++ engine.
      • .tflite → load trên mobile.
      • .gguf → load offline trên CPU / PC, dùng llama.cpp, GPTQ.
      • .safetensors → load transformer LLM an toàn.
    • Khi nào dùng: Khi triển khai ứng dụng, inference real-time hoặc batch.
Model Quantization trong Machine Learning / LLMs
  • Machine Learning Optimization
    • Kỹ thuật giảm số bit dùng để biểu diễn weights/activations của mô hình (từ 16-bit → 8-bit → 4-bit → 2-bit).
  • LLM Inference Optimization
    • Giúp chạy các mô hình ngôn ngữ lớn (LLMs) trên máy tính cá nhân, edge device hoặc GPU yếu bằng cách giảm dung lượng & RAM/VRAM cần thiết.
  • Trade-off
    • Giữa kích thước model (GB) ↔ chất lượng đầu ra (accuracy, fluency).
    • Ví dụ: Q4_K_M thường là “điểm ngọt” cân bằng chất lượng và hiệu năng.
  • Ứng dụng
    • Chạy chatbot, RAG, inference LLM offline.
    • Triển khai trên laptop, MacBook, CPU-only hoặc GPU VRAM thấp.
Tên Bit Phương pháp Kích thước (~GB) Chất lượng Ghi chú
Q2_K 2-bit K-quant ~2.5 GB Thấp nhất Rất nhỏ, chất lượng thấp
Q3_K_S 3-bit K-quant (Small) ~3.5 GB Thấp Nhỏ gọn, dùng khi RAM hạn chế
Q4_0 4-bit Legacy quantization ~4.0 GB Trung bình Phiên bản cũ, ít dùng hơn Q4_K
Q4_K_S 4-bit K-quant (Small) ~4.0 GB Trung bình Cân bằng size & chất lượng, nhỏ gọn hơn Q4_K_M
Q4_K_M 4-bit K-quant (Medium) ~4.3 GB Trung bình – tốt nhất Khuyến nghị: cân bằng chất lượng & hiệu năng
Q5_K_M 5-bit K-quant (Medium) ~5.2 GB Cao Chất lượng gần 8-bit, kích thước vừa phải
Q8_0 8-bit Legacy quantization ~7.2 GB Gần như FP16 Rất sát bản gốc, cần nhiều RAM hơn
F16 16-bit Full precision (FP16) ~14 GB Chuẩn gốc, cao nhất Kích thước lớn, ít nén, dùng để training