DEV Community

Cover image for LLM, Model, Token, Context Window
Đạt Trương Thành
Đạt Trương Thành

Posted on

LLM, Model, Token, Context Window

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 = ?
Enter fullscreen mode Exit fullscreen mode
  • 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!";
Enter fullscreen mode Exit fullscreen mode

Trước khi AI xử lý:

["Hello", "world", "!"]
Enter fullscreen mode Exit fullscreen mode

→ 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)