Danh sách bài viết

LLMs & Generative AI

Hiểu cách ChatGPT hoạt động và build ứng dụng dùng LLM.

23/05/2026
14-16 tuần đọc
0 lượt xem

Module 1: Foundation LLM

  • Bài 1: LLM là gì? Phân biệt với ML / DL truyền thống
  • Bài 2: Tokenization — vì sao LLM chia chữ thành token
  • Bài 3: BPE (Byte-Pair Encoding) — thuật toán token hóa của GPT
  • Bài 4: SentencePiece và WordPiece — của Google / BERT
  • Bài 5: Vocabulary và token ID
  • Bài 6: Text Embedding — biến token thành vector
  • Bài 7: Context window — giới hạn input của LLM

Module 2: Transformer

  • Bài 8: Trước Transformer — vì sao RNN không đủ
  • Bài 9: Attention mechanism — ý tưởng cốt lõi
  • Bài 10: Self-Attention — token "nhìn" các token khác
  • Bài 11: Multi-Head Attention — nhiều góc nhìn song song
  • Bài 12: Positional Encoding — đưa thông tin thứ tự vào model
  • Bài 13: Kiến trúc Transformer block — Attention + FFN + Residual
  • Bài 14: Encoder-only (BERT) vs Decoder-only (GPT) vs Encoder-Decoder (T5)

Module 3: Hugging Face

  • Bài 15: Hugging Face Hub — kho model open source
  • Bài 16: Transformers library — load và chạy model trong 5 dòng code
  • Bài 17: Pipeline API — giải quyết task NLP nhanh
  • Bài 18: AutoModel và AutoTokenizer — pattern chuẩn
  • Bài 19: Chạy SLM (Small Language Model) trên máy cá nhân — Llama-3.2-1B, Phi-3-mini
  • Bài 20: Datasets library — load dataset chuẩn

Module 4: Prompt Engineering

  • Bài 21: 3 vai trò trong prompt: System / User / Assistant
  • Bài 22: Context — cung cấp background cho LLM
  • Bài 23: Task description — yêu cầu cụ thể
  • Bài 24: Output format — ép LLM trả về đúng cấu trúc
  • Bài 25: Zero-shot prompting
  • Bài 26: Few-shot prompting — học từ ví dụ
  • Bài 27: Chain-of-Thought (CoT) — ép suy luận từng bước
  • Bài 28: Self-consistency và Tree-of-Thoughts (intro)
  • Bài 29: Structured Output: JSON mode, Pydantic schema
  • Bài 30: Sampling: Temperature, Top-K, Top-P — điều khiển độ sáng tạo

Module 5: OpenAI API & Apps

  • Bài 31: OpenAI API — gọi GPT từ Python
  • Bài 32: Anthropic Claude API — alternative với context dài
  • Bài 33: Streaming response — hiển thị token theo thời gian thực
  • Bài 34: Chi phí token và cách tối ưu

Module 6: RAG

  • Bài 35: RAG là gì? Vì sao cần nó
  • Bài 36: Embedding model — chọn model phù hợp (sentence-transformers, BGE, OpenAI)
  • Bài 37: Vector Database basic — ChromaDB cho prototype
  • Bài 38: Chunking strategy — chia tài liệu sao cho hiệu quả
  • Bài 39: Similarity search và top-k retrieval
  • Bài 40: Re-ranking để cải thiện độ chính xác
  • Bài 41: Xây dựng QA system trên PDF cá nhân

Module 7: Function Calling

  • Bài 42: Function Calling là gì? Vì sao LLM cần gọi function
  • Bài 43: Định nghĩa tool schema (JSON Schema)
  • Bài 44: Workflow: LLM chọn tool → app thực thi → trả kết quả về
  • Bài 45: Parallel tool calls và sequential tool calls
  • Bài 46: Tool error handling — khi function fail

Module 8: Fine-tuning

  • Bài 47: Khi nào nên fine-tune, khi nào dùng RAG / prompt engineering
  • Bài 48: Full fine-tuning vs Parameter-Efficient Fine-tuning (PEFT)
  • Bài 49: LoRA (Low-Rank Adaptation) — fine-tune chỉ vài % tham số
  • Bài 50: QLoRA — fine-tune trên GPU consumer (4-bit quantization)
  • Bài 51: Chuẩn bị dataset cho fine-tune (instruction tuning format)
  • Bài 52: Fine-tune SLM với Hugging Face trl library
  • Bài 53: RLHF / DPO intuition — alignment với feedback con người

Module 9: LLM Evaluation

  • Bài 54: Vì sao đánh giá LLM khó hơn ML truyền thống
  • Bài 55: Reference-based metrics: BLEU, ROUGE, BERTScore
  • Bài 56: LLM-as-Judge — dùng LLM mạnh để chấm LLM yếu
  • Bài 57: Hallucination — phát hiện và đo lường
  • Bài 58: RAG evaluation: Faithfulness, Answer Relevancy, Context Precision
  • Bài 59: Benchmark phổ biến: MMLU, HellaSwag, HumanEval (overview)