LLM → Prompt
Để dễ hình dung, chúng ta có thể xem AI System như kiến trúc Client - Server:
IDE Chat Window (Nơi bạn nhập Prompt) ↔ Context Window (Vùng nhớ đệm xử lý Token) ↔ LLM (Bộ não đã được train)
LLM (Large Language Model)
- LLM là một mô hình ngôn ngữ lớn, bản chất nó là mạng nơ-ron nhân tạo (Neural Network) khổng lồ được huấn luyện trên lượng dữ liệu cực lớn (dữ liệu chữ, ảnh,...).
- Với các Developer: Source code → Compile → Binary (.exe)
- Với LLM: Hàng nghìn tỷ token dữ liệu → Training → LLM
Với các Developer
Source code → Compile → Binary (.exe)
Với LLM
Hàng nghìn tỷ token dữ liệu → Training → LLM
Sau khi train xong
- Dữ liệu gốc không còn dược lưu nguyên vẹn
- Model chỉ giữ lại các weights
- Các weights này chứa những thứ mà model đã học được
- LLM không phải là Database
- Nó không hoạt động kiểu:
SELECT answer
FROM knowledge
WHERE question = ?
- Thay vào đó, nó hoạt động gần giống: Dựa trên những gì đã học, hãy dự đoán token tiếp theo hợp lý nhất. Ví dụ: Laravel là framework của...
→ Model dự đoán: PHP (vì trong quá trình train nó đã thấy mẫu này rất nhiều lần).
Model
Model là một phiên bản cụ thể của LLM được huấn luyện, tinh chỉnh và phát hành.
Ví dụ: GPT-4o, Claude Sonet, Gemini 3.0 Pro,... (Tất cả đều là LLM, nhưng là những model khác nhau).
Góc nhìn dev: Ngôn ngữ lập trình → Framework → Phiên bản cụ thể
Ví dụ:
PHP (Laravel 10, Laravel 11, Symfony)
LLM (GPT-4o, GPT-4o mini, Claude Sonet, Gemini Pro)
→ Mỗi model có: tốc độ khác nhau, chi phí khác nhau, khả năng suy luận khác nhau, context window khác nhau và độ chính xác khác nhau.
- Các yếu tố thường dùng để so sánh model:
- Khả năng: lập trình, suy luận, toán học, phân tích
- Tốc độ
- Chi phí: Model mạnh hơn thường đắt hơn =)))
- Khả năng nhớ: Context cảng lớn càng tăng khả năng nhớ và xử lý nội dung trong 1 context window
Tóm lại: Model là một phiên bản cụ thể của LLM, được huấn luyện và tối ưu với những đặc tính về tốc độ, chi phí, khả năng suy luận và ghi nhớ context
→ Về mặt khái niệm thì LLM là loại công nghệ, còn Model là sản phẩm cụ thể được tạo ra từ công nghệ đó
Token (Primitive Data Type)
- AI không đọc trực tiếp từ ngữ, chữ cái hay câu văn như con người. Trước khi đưa vào model, văn bản sẽ được chia thành đơn vị nhỏ hơn gọi là Token
- Một token có thể là một từ hoàn chỉnh, ví dụ: Sh*t
- Subword, ví dụ như: programming → program + ming
- Dấu câu: ['.', ',', '!', '?']
- Khoảng trắng hoặc ký tự đặc biệt
Ví dụ:
const text = "Hello world!";
Trước khi AI xử lý:
["Hello", "world", "!"]
→ Nhưng thực tế phức tạp hơn rất nhiều vì AI dùng thuật toán tokenization (BPE, SentencePiece, WordPiece,...) chứ không chỉ split theo dấu cách
- Token không phải từ bởi nhiều người thường nghĩ rằng: 1 từ = 1 token (điều này là sai !!!)
Ví dụ:
- Hello → có thể là 1 token
- Authentication có thể thành (auth, entication) → 2 token
Quy tắc ước lượng
- Đối với tiếng Anh: 1 token ≈ 4 ký tự
- Hoặc: 100 token ≈ 75 từ
→ Đây chỉ là quy tắc gần đúng
→ Token là dữ liệu cơ bản mà LLM sử dụng để đọc, ghi nhớ và sinh văn bản. Mọi prompt, code hay câu trả lời đều phải được chuyển thành token trước khi model xử lý
Context Window
- Context Window là vùng bộ nhớ tạm thời mà model sử dụng trong 1 lần suy luận (inference)
Mọi thứ AI nhìn thấy trước khi trả lời đều nằm trong context window:
- Prompt hiện tại
- Lịch sử đoạn chat
- System prompt
- Tệp đính kèm
- Code được paste
- Kết quả từ RAG (nếu có)
Nói đơn giản: Context Window là toàn bộ dữ liệu được nạp vào cho model xử lý ở thời điểm hiện tại
Với các Developer có thể liên tưởng đến CPU ↔ RAM
Trong máy tính:
- CPU là nơi xử lý
- RAM là nơi chứa dữ liệu đang làm việc
Với LLM ↔ Context Window
Trong AI:
- LLM là bộ não xử lý
- Context Window là vùng nhớ ngắn hạn
→ AI không thực sự nhớ bạn là ai. Nó chỉ trả lời dựa trên dữ liệu trước đó vẫn nằm trong Context Window
Vì sao Context Window quan trọng???
Trường hợp 1: Chat thông thường
- Context lớn giúp AI nhớ cuộc trò chuyện lâu hơn → ít quên thông tin trước đó
Trường hợp 2: Phân tích code
- Ví dụ bạn gửi: Project ASP.NET Web APIs - 100 file - 40.000 dòng code
- Model có Context Window lớn sẽ đọc được nhiều file hơn trong 1 lần xử lý
Trường hợp 3: Phân tích document
- Ví dụ một file PDF 500 trang
- Context lớn thì có thể nạp nhiều nội dung và xử lý trong 1 lần
Mối quan hệ giữa Token và Context
Prompt → Tokenizer → Tokens → Context Window → LLM → Output Tokens
→ LLM không đọc trực tiếp văn bản, nó chỉ đọc các token nằm bên trong Context Window
AI hiện nay
Chi phí
- Hầu hết các AI hiện nay tính tiền theo: Input Tokens + Output Tokens
- Ví dụ: Bạn gửi 5.000 token và AI trả lời 2.000 token → Tổng sử dụng: 7.000 token
Giới hạn Context Window
- Model không thể đọc vô hạn dữ liệu
- Ví dụ: 128k token (bao gồm prompt, code, tệp đính kèm) → vượt quá giới hạn này thì một phần nội dung sẽ bị cắt bỏ
Tốc độ xử lý
- Ít token hơn → Xử lý nhanh hơn → Chi phí thấp hơn
AI hiểu câu hỏi và generate code như nào???
Tokenization
- Prompt + code được chia thành các token
Context Assembly
- Token từ prompt, code, document và lịch sử chat được nạp vào Context Window
Inference
- LLM phân tích context và dự báo token tiếp theo có xác suất cao nhất
Generation
- Các token được sinh ra liên tục và ghép thành câu trả lời hoặc đoạn code hoàn chỉnh
Lưu ý: mọi số liệu hay thống kê trong bài viết trên chỉ mang tính tham khảo và ước lượng. Nếu có sai sót xin hãy hoan hỉ cho tại hạ!!!
Top comments (0)