
Context window là gì?
Context window (cửa sổ ngữ cảnh) là số token tối đa mà một mô hình ngôn ngữ lớn (LLM) có thể xử lý cùng trong một lượt forward pass, bao gồm cả input (prompt) và output (generated text). Điều này xác định mức độ “nhìn thấy” thông tin mà model có trong một lần suy luận.
Độ phức tạp tính toán của self-attention chuẩn là O(n²) đối với độ dài chuỗi n, do đó việc tăng context window làm tăng đáng kể chi phí inference.

Kích thước context window phổ biến
Các mô hình LLM hiện đại có các mức độ context window khác nhau, thường được tăng dần qua các phiên bản mới:
| Mô hình | Context window | Ghi chú |
|---|---|---|
| GPT-4 (chuẩn) | 8.192 token | GPT-4 Technical Report |
| GPT-4 (32k) | 32.768 token | GPT-4 Technical Report |
| GPT-4 Turbo / GPT-4o | 128.000 token | OpenAI blog 2023-2024 |
| Claude 2.1 | 200.000 token | ~150.000 từ, ~500 trang |
| Claude 3 Opus / Sonnet / Haiku | 200.000 token (mặc định), lên tới >1M token | Anthropic news 2024 |
| Gemini 1.5 Pro | 1.048.576 token (~1M) | Google blog Feb 2024 |
| Llama 3 (8B/70B) | 8.192 token | HuggingFace blog |
| Llama 3.1 (8B/70B/405B) | 128.000 token | Meta AI blog Jul 2024 |
| Mistral 7B v0.1 | 8.192 token (sliding window 4.096) | arXiv:2310.06825 |
Các model như Claude 3.5 và Gemini 1.5 Pro mang lại khả năng xử lý tài liệu dài như cuốn sách, bộ mã nguồn, hoặc transcript video trong một lần truy vấn.
Kỹ thuật mở rộng context window
Để vượt qua giới hạn O(n²) của self-attention chuẩn, các nhà nghiên cứu đã đề xuất nhiều kỹ thuật:
RoPE (Rotary Position Embedding)
Mã hóa vị trí bằng ma trận xoay, đồng thời nhúng phụ thuộc vị trí tương đối vào self-attention. RoPE cho phép thay đổi độ dài chuỗi linh hoạt và được dùng bởi Llama, Mistral, Qwen, Yi.
RoFormer: Enhanced Transformer with Rotary Position Embedding (Su et al., 2021)

Sliding Window Attention (SWA)
Mỗi layer chỉ attend vào một cửa sổ gần nhất thay vì toàn bộ chuỗi. Mistral 7B sử dụng SWA với window = 4.096 hidden states, nhờ stacked layers cho phép attend xa hơn một cách ngầm định.
Mistral 7B (Jiang et al., 2023)
Sparse Attention
Chỉ tính attention trên tập con các cặp token (pattern: global tokens, sliding window, dilated window). Longformer kết hợp local windowed attention + global attention, giảm O(n²) → O(n).
Longformer: The Long-Document Transformer (Beltagy et al., 2020)
LongRoPE
Kỹ thuật dựa trên RoPE đạt tới ~2 triệu token cho LLaMA2/Mistral. Sử dụng non-uniformity trong positional interpolation và progressive extension strategy (fine-tune 256k → 2.048k).
LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens (Ding et al., 2024)
YaRN (Yet another RoPE extensioN method)
Phương pháp hiệu quả, yêu cầu 10x ít tokens và 2.5x ít training steps để mở rộng context window của các model RoPE-based.
YaRN: Efficient Context Window Extension of Large Language Models (Peng et al., 2023)
RAG (Retrieval-Augmented Generation)
Thay vì nhồi toàn bộ kiến thức vào context window, RAG lấy các đoạn văn bản liên quan từ vector database đưa vào prompt. Giảm nhu cầu context window và cung cấp nguồn trích dẫn.
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis et al., 2020)
Context Compression (LLMLingua)
LLMLingua thực hiện nén prompt từ coarse-to-fine, đạt tới 20x nén với mất mát performance nhỏ, giảm chi phí inference và latency.
LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models (Jiang et al., 2023)
Hạn chế của việc mở rộng context
Dù có nhiều kỹ thuật, vẫn còn những thách thức quan trọng:
- Lost in the Middle: Performance giảm mạnh khi thông tin quan trọng nằm ở giữa context — model hay nhớ tốt nhất ở đầu và cuối, kém ở giữa.
- Chi phí tính toán: Attention cost tăng theo bình phương độ dài (dense attention).
- Catastrophic values: Vị trí mới ngoài training window có thể gây giá trị bất thường vào RoPE.
Vì vậy, RAG và context compression thường là lựa chọn hiệu quả hơn cho nhiều trường hợp thực tế.
Kết luận
Context window là yếu tố then chốt quyết định khả năng xử lý dữ liệu dài của LLM. Mặc dù có nhiều kỹ thuật mở rộng như RoPE, SWA, LongRoPE, YaRN, việc lựa chọn kỹ thuật phù hợp vẫn phụ thuộc vào trade-off giữa độ dài, chi phí và chất lượng. Trong thực tế, kết hợp RAG hoặc context compression thường mang lại kết quả tốt nhất cho nhiều ứng dụng.
