Skip to Content
✨ AI Engineering🤖 Generative AI

Generative AI: Hành trình của một Prompt

Bạn đã bao giờ tự hỏi: “Chuyện gì xảy ra từ khi tôi gõ prompt đến lúc AI trả lời?” Bài viết này sẽ giải thích chi tiết toàn bộ quá trình đó.

📚 Bài viết liên quan:


1. Generative AI là gì?

Generative AI (GenAI) là các hệ thống AI có khả năng tạo ra nội dung mới (text, image, audio, code, video) thay vì chỉ phân loại hoặc dự đoán.

Sự khác biệt với AI truyền thống

AI Truyền thống (Discriminative): Input: "Con vật này là gì?" + [hình con mèo] Output: "Đây là con mèo" (phân loại) Generative AI: Input: "Viết bài thơ về con mèo" Output: "Chú mèo lười biếng nằm hong nắng sớm, Đôi mắt xanh ngọc lấp lánh hồn nhiên..." (tạo mới)

Các loại Generative AI phổ biến

LoạiMô tảVí dụ
LLM (Large Language Model)Sinh văn bảnGPT-5, Gemini 3, Claude 4.5
Image GenerationSinh hình ảnhDALL-E 3, Midjourney, Imagen 3
Audio/VoiceSinh âm thanh/giọng nóiElevenLabs, Suno
Video GenerationSinh videoSora, Runway Gen-3
Code GenerationSinh codeGitHub Copilot, Cursor

2. Học như thế nào? (Learning Pattern)

GenAI học thông qua một quá trình gọi là Self-Supervised Learning (Học tự giám sát).

Mục tiêu đào tạo: Dự đoán từ tiếp theo

Model được huấn luyện với hàng nghìn tỷ tokens từ internet, sách, code, Wikipedia…

Training Data: "The cat sat on the ___" Model học: - "mat" ← xác suất cao (câu phổ biến) - "roof" ← xác suất trung bình (hợp lý) - "airplane" ← xác suất thấp (ít logic) - "xyzabc" ← xác suất ~0 (vô nghĩa)

Token là gì?

Token là đơn vị nhỏ nhất mà model xử lý. Không phải 1 từ = 1 token!

# Tokenization ví dụ (tiếng Anh) "Hello, world!" → ["Hello", ",", " world", "!"] # 4 tokens # Tiếng Việt tốn nhiều token hơn "Xin chào Việt Nam" → ["X", "in", " ch", "ào", " Việt", " Nam"] # ~6-7 tokens

💡 Quy tắc nhanh:

  • Tiếng Anh: 1 token ≈ 0.75 từ
  • Tiếng Việt: 1 từ ≈ 1.5-2 tokens
  • Code: Mỗi dấu ngoặc, space đều tính riêng

Quá trình huấn luyện 3 giai đoạn

Giai đoạnMục đíchDữ liệu
Pre-trainingHọc cấu trúc ngôn ngữ, kiến thức chungTerabytes text từ internet
Fine-tuningHọc làm theo hướng dẫn (instruction)Dataset Q&A được chuẩn bị
RLHFHọc phản hồi an toàn, hữu íchHuman feedback/ratings

3. Kiến trúc Transformer

Hầu hết GenAI hiện đại đều dựa trên kiến trúc Transformer (giới thiệu 2017 bởi Google).

Thành phần chính

Self-Attention: Trái tim của Transformer

Self-Attention cho phép model hiểu được mối quan hệ giữa các từ trong câu.

Câu: "Con mèo đuổi con chuột vì nó đói" Attention tập trung: "nó" → attention cao đến "mèo" (không phải "chuột") Vì model học được rằng: - "mèo đuổi" → mèo là chủ thể hành động - "vì nó đói" → "đói" thường gắn với kẻ săn mồi

🎯 Tại sao Attention quan trọng?

Trước Transformer, các model RNN/LSTM xử lý tuần tự từng từ → Quên thông tin ở đầu câu.

Transformer với Attention có thể nhìn toàn bộ câu cùng lúc → Hiểu context tốt hơn, train nhanh hơn (parallel).


4. Inference Pipeline: Từ Prompt đến Response

Đây là phần quan trọng nhất! Hãy theo dõi hành trình của prompt.

Bước 1: Tokenization

Prompt của bạn được chia thành tokens.

# Input prompt = "Giải thích đệ quy trong Python" # Tokenization tokens = ["Gi", "ải", " th", "ích", " đ", "ệ", " quy", " trong", " Python"] # → Vector IDs: [15234, 892, 1023, 456, 227, 1891, 7823, 234, 12892]

Bước 2: Embedding

Mỗi token ID được chuyển thành vector số (embedding) trong không gian nhiều chiều.

Token "Python" → [0.23, -0.67, 0.91, ..., 0.12] (768-4096 chiều) Các từ có nghĩa tương tự sẽ có vector gần nhau: - "Python" ↔ "Java" ↔ "JavaScript" → Gần nhau - "Python" ↔ "apple" → Xa nhau

Bước 3: Qua các Transformer Layers

Embeddings đi qua nhiều lớp Transformer (GPT-4 có ~120 layers).

Bước 4: Output Generation (Autoregressive)

Model sinh từng token một, mỗi lần chọn token có xác suất cao nhất.

Prompt: "Đệ quy là" Bước 1: "Đệ quy là" → P(kỹ)=0.7, P(một)=0.2 → Chọn "kỹ" Bước 2: "Đệ quy là kỹ" → P(thuật)=0.9 → Chọn "thuật" Bước 3: "Đệ quy là kỹ thuật" → P(lập)=0.6 → Chọn "lập" ... Cho đến khi: Token <END> hoặc max_tokens

Tổng quan Pipeline


5. Non-Determinism: Tại sao câu trả lời không giống nhau?

Nếu chạy cùng 1 prompt 10 lần, bạn có thể nhận được 10 câu trả lời khác nhau. Tại sao?

Temperature

Temperature điều chỉnh độ “sáng tạo” của model.

Temperature = 0 (Deterministic) → Luôn chọn token xác suất CAO NHẤT → Câu trả lời giống nhau mọi lần → Dùng cho: Coding, Math, Facts Temperature = 1 (Creative) → Chọn ngẫu nhiên theo phân phối xác suất → Câu trả lời đa dạng → Dùng cho: Creative writing, Brainstorming

Ví dụ trực quan:

Prompt: "Viết một từ mô tả bầu trời" Token probabilities: "xanh" = 40% "trong" = 25% "đẹp" = 15% "cao" = 10% "rộng" = 10% Temperature=0: Luôn chọn "xanh" (40%) Temperature=0.7: Thường "xanh", đôi khi "trong" hoặc "đẹp" Temperature=1.5: Có thể chọn bất kỳ từ nào

Top-P (Nucleus Sampling)

Top-P giới hạn pool các tokens được xem xét.

Top-P = 0.9 nghĩa là: → Chỉ xem xét các token có tổng xác suất = 90% → Loại bỏ các tokens "đuôi" ít khả năng Ví dụ: Tokens: xanh(40%) + trong(25%) + đẹp(15%) + cao(10%) = 90% → Loại bỏ: "rộng" (10% còn lại) → Giảm khả năng sinh text "lạ"

Top-K

Top-K giới hạn số lượng tokens được xem xét.

Top-K = 3 nghĩa là: → Chỉ xem xét 3 tokens có xác suất cao nhất → Đơn giản hơn Top-P Ví dụ: Chỉ chọn trong ["xanh", "trong", "đẹp"]

Bảng so sánh các tham số

Tham sốGiá trị thấpGiá trị caoDùng khi
Temperature0-0.3: Chính xác, lặp lại0.7-1.5: Sáng tạo, đa dạngCode → thấp; Story → cao
Top-P0.1: Rất hạn chế0.9-1.0: Linh hoạtThường dùng 0.9-0.95
Top-K1-10: Ít lựa chọn50-100: Nhiều lựa chọnThường dùng 40-50

6. Tại sao AI trả lời thuyết phục?

Đây là câu hỏi hay nhất! Tại sao GPT/Gemini/Claude thường đưa ra câu trả lời “có vẻ đúng”?

Lý do 1: Học từ lượng dữ liệu khổng lồ

GPT-4 pre-training: ~13 trillion tokens ≈ 10 triệu cuốn sách ≈ Toàn bộ Wikipedia x1000 ≈ Hàng triệu code repositories

Model đã “đọc” hầu hết những gì con người viết!

Lý do 2: Pattern Recognition siêu mạnh

Transformer với Self-Attention cực kỳ giỏi nhận diện patterns.

Pattern học được: "X là Y vì Z" → Cấu trúc giải thích "Bước 1... Bước 2..." → Cấu trúc hướng dẫn "def function_name(params):" → Cấu trúc Python → Khi bạn hỏi "Giải thích X", model tự động dùng pattern giải thích!

Lý do 3: Compression = Understanding?

Một giả thuyết thú vị: Nén hiệu quả = Hiểu sâu

Để dự đoán từ tiếp theo chính xác, model PHẢI hiểu: - Grammar (ngữ pháp) - Facts (kiến thức) - Logic (suy luận) - Context (ngữ cảnh) → "Nén" terabytes text vào model GB = Phải "hiểu" để nén!

Lý do 4: RLHF - Học từ phản hồi con người

Giai đoạn RLHF: Human: "Câu trả lời A tốt hơn B" Model: Cập nhật weights để ưu tiên kiểu A → Model học được style trả lời "thuyết phục" → Câu văn mạch lạc, có cấu trúc, giải thích từng bước

⚠️ Cảnh báo: “Thuyết phục” ≠ “Đúng”

Model có thể tự tin nói sai! Ví dụ: Q: "Ai phát minh ra điện thoại?" A: "Thomas Edison phát minh ra điện thoại vào năm 1876." → Câu trả lời rất tự tin → Nhưng SAI! (Alexander Graham Bell mới đúng) Đây gọi là "Hallucination"

⚠️ Luôn verify thông tin quan trọng! GenAI giỏi tổng hợp và trình bày, nhưng có thể “bịa” sự thật.


7. Prompting: Nghệ thuật ra lệnh cho AI

Prompt tốt = Output tốt. Đây là một số kỹ thuật cơ bản.

Zero-Shot Prompting

Không cần ví dụ, chỉ cần instruction rõ ràng.

❌ "Phân loại sentiment" ✅ "Phân loại sentiment của câu sau thành 'positive', 'negative', hoặc 'neutral': 'Sản phẩm này tuyệt vời!'"

Few-Shot Prompting

Cho vài ví dụ trước khi hỏi.

Ví dụ 1: "Tôi yêu món này!" → positive Ví dụ 2: "Chất lượng tệ quá" → negative Ví dụ 3: "Giao hàng bình thường" → neutral Bây giờ phân loại: "Sẽ mua lại lần nữa!" → positive

Chain-of-Thought (CoT)

Yêu cầu model giải thích từng bước.

❌ "25 x 17 = ?" ✅ "Tính 25 x 17. Giải thích từng bước." Output: "Bước 1: 25 x 10 = 250 Bước 2: 25 x 7 = 175 Bước 3: 250 + 175 = 425 Đáp án: 425"

System Prompt

Đặt vai trò và quy tắc cho model.

system = """Bạn là trợ lý lập trình Python. Quy tắc: - Luôn thêm type hints - Viết docstring theo Google style - Giải thích logic trước khi code""" user = "Viết hàm tính giai thừa"

8. Bài tập thực hành 🧪

Bài 1: Khám phá Temperature

  1. Truy cập Google AI Studio 
  2. Dùng prompt: “Viết 1 câu mô tả buổi sáng”
  3. Thử với Temperature: 0, 0.5, 1.0, 1.5
  4. Quan sát sự khác biệt

Bài 2: So sánh Tokenization

  1. Truy cập OpenAI Tokenizer 
  2. So sánh số tokens:
    • “Hello world” vs “Xin chào thế giới”
    • def calculate(x): vs function calculate(x) { }

Bài 3: Chain-of-Thought

Hỏi model 1 câu logic phức tạp với và không có CoT:

❌ "A có 5 quả táo, cho B 2 quả, B cho lại A 1 quả. Hỏi A có mấy quả?" ✅ "A có 5 quả táo, cho B 2 quả, B cho lại A 1 quả. Hãy tính từng bước và cho biết A có mấy quả?"

Tóm tắt

Khái niệmÝ nghĩa
Generative AIAI tạo nội dung mới (text, image, code…)
TransformerKiến trúc với Self-Attention, nền tảng của LLM
TokenĐơn vị nhỏ nhất model xử lý
InferenceQuá trình từ prompt → response
TemperatureĐiều chỉnh độ sáng tạo (0 = chính xác, 1+ = sáng tạo)
Top-P/Top-KGiới hạn pool tokens được xem xét
PromptingNghệ thuật viết instruction hiệu quả

Bài tiếp theo: Context Window - Hiểu về giới hạn tokens và cách tối ưu.

Last updated on