TROISINH
FrontierLong Context

Native Long-Context Training — Train dài từ đầu, reason tốt hơn extend

Tại sao train model từ đầu với context 128K tốt hơn hẳn việc 'kéo dài' model 4K? Giải mã bản chất native long-context training và tại sao attention cần được 'luyện' đúng từ đầu.

Mọi người đều quảng cáo "context window 128K", nhưng thực tế khi bạn nhét một tài liệu dài vào, model bắt đầu "lú" sau 32K token — bỏ qua thông tin ở giữa, hallucinate sự kiện ở cuối. Đó là vì hầu hết các model đang dùng trick YaRN hay Position Interpolation để "kéo dài" context sau khi đã train xong với 4K. Native Long-Context Training không phải là trick — đó là việc dạy model đọc sách dày từ đầu, thay vì đọc truyện ngắn rồi tự nhủ "tôi hiểu dài hơn được".

Vấn đề

Context extension là giải pháp "chữa cháy" có giới hạn cứng.

Công nghệ YaRN và Position Interpolation (PI) cho phép model được train với context 4K "tự nhiên" hoạt động ở 128K bằng cách nội suy RoPE hoặc điều chỉnh attention temperature. Nhưng đây là hậu quả của việc ép buộc: model học rằng 1000 tokens là "xa" trong thế giới 4K, nhưng trong thế giới 128K, 1000 tokens chỉ là "gần". Đây là distance miscalibration — giống như bạn quen đi 100m thì mệt, nhưng runner marathon thì 100m chỉ là khởi động.

Kết quả? Benchmark RULER cho thấy Llama 3.1 405B — dù kiến trúc support 128K — bắt đầu degrade nghiêm trọng sau 32K tokens khi dùng post-hoc extension. Các model bị "Lost in the Middle" (quên thông tin ở giữa sequence) và attention entropy collapse (attention weights phân bố đều quá mức, mất khả năng focus). Bạn có thể đẩy 128K tokens vào context, nhưng model không thực sự "nhìn" được toàn bộ — nó chỉ đang cố gắng nhớ lại bằng cách nén thông tin một cách tuyệt vọng.

Ý tưởng cốt lõi

Attention là cơ bắp — bạn không thể biến sprinter thành marathon runner chỉ bằng cách kéo dài đường chạy.

Native Long-Context Training bắt đầu từ continued pretraining: lấy base model đã pretrain với 4K, nhưng ngay lập tức switch sang train với sequence length target (32K, 128K, thậm chí 1M tokens) thay vì gradual expansion. Điều này cho phép attention patterns và position embeddings co-evolve — phát triển đồng thời trong môi trường có thực.

Đây là các yếu tố cốt lõi:

1. Hierarchical Attention Patterns

Khi train với context dài thực sự, model tự phát triển local precision heads (chú ý chi tiết gần) và global summarization heads (tóm tắt toàn cục) một cách tự nhiên. Khác với extension nơi model cố gắng "hack" lại attention đã cứng nhắc, native training cho phép các head này học cách phối hợp: một số head giữ thông tin chi tiết gần, số khác nén thông tin xa thành "gist" truyền dọc sequence.

2. Distance Calibration thực tế

RoPE (Rotary Position Embedding) có base frequency (thường là 10,000). Trong context 4K, wavelength của RoPE được thiết kế để phân biệt vị trí tương đối trong phạm vi ngắn. Khi extend lên 128K bằng interpolation, bạn ép wavelength bao phủ khoảng cách xa hơn, nhưng model chưa từng thấy các khoảng cách đó trong training — giống như đưa bản đồ 1:1000 cho người chỉ quen đọc bản đồ 1:50. Native training cho phép RoPE calibrate với actual distance distribution mà model gặp phải.

3. Counter-Intuitive Curriculum

Nghiên cứu năm 2026 (How to Train Your Long-Context Visual Document Model) chỉ ra điều bất ngờ: training tại độ dài evaluation thường tốt hơn training trên context dài hơn nhiều. Nếu bạn cần model hoạt động tốt ở 32K, train đúng 32K thường tốt hơn train 1M rồi hi vọng nó "downgrade" tốt. Lý do: training 1M tạo ra "compression artifacts" — model học cách nén quá mức, làm mất precision ở short-range khi quay lại 32K.

4. Memory Stack & Distributed Training

Để train native 1M tokens, cần kết hợp:

  • Activation recomputation: trade 20-30% compute để giảm memory (không lưu activations, recompute trong backward).
  • Context Parallelism (Ring Attention): phân tán sequence dài qua nhiều GPU theo vòng tròn, mỗi GPU chỉ giữ 1 chunk.
  • Sparse Attention Hybrid: Kết hợp full attention với Native Sparse Attention (NSA) để giảm O(n²) xuống O(n) trong training mà vẫn giữ khả năng học long-range dependencies.

That's it. Native training không phải là "scale lên" — đó là việc dạy model một kỹ năng hoàn toàn khác: cách đọc tài liệu dài mà không bị ngộp thông tin.

Tại sao nó hoạt động

Attention Entropy và Information Flow

Trong model 4K extended, attention entropy (độ hỗn loạn của attention weights) tăng vọt khi sequence dài hơn training length. Điều này tạo ra "blurry attention" — model không thể focus vào token cụ thể vì nó cố gắng nhìn tất cả cùng lúc. Native training với sequence dài buộc model học cách sparse attention patterns từ đầu: chỉ attend vào 10-20% tokens quan trọng, ignore phần còn lại. Đây là cách human đọc sách — bạn không nhớ từng chữ 100 trang trước, bạn nhớ "chương đó nói về gì".

Co-evolution của Position Encoding

Khi train native, RoPE hoặc ALiBi không bị "ép" vào khuôn ép. Thay vào đó, chúng điều chỉnh theo thống kê thực tế: trong 128K tokens, khoảng cách trung bình giữa các entity liên quan là bao nhiêu? Model học rằng 2000 tokens trong 128K context là "gần" (cùng paragraph), trong khi 2000 tokens trong 4K context là "xa" (nửa document). Đây là relative distance calibration không thể có qua post-hoc extension.

Giảm "Lost in the Middle"

Hiện tượng model bỏ qua thông tin ở giữa sequence xuất phát từ việc attention weights ở giữa bị "dilute" bởi quá nhiều tokens xung quanh. Native training với curriculum đúng độ dài cho phép model phát triển recency biashierarchical compression: nó học cách tóm tắt đoạn giữa thành "key-value compressed state" thay vì cố gắng attend trực tiếp.

Ý nghĩa thực tế

So sánh với Post-hoc Extension

Tiêu chíPost-hoc Extension (YaRN/PI)Native Long-Context Training
Training CostThấp (fine-tune 1-10B tokens)Cao (pretrain 100B+ tokens ở độ dài mới)
Needle-in-HaystackDegrade >40% ở middle positionsLinear accuracy đến 100K+
Distance CalibrationMiscalibrated (ép buộc)Tự nhiên
Reasoning QualityThường bị "lú" ở context thựcMaintains coherence dài hạn
Data RequirementsKhông cần dữ liệu dài thựcCần high-quality documents 100K+ tokens

Ai đang dùng?

  • DeepSeek (R1/V3 128K native): Train từ đầu với Ring Attention và NSA.
  • Meta (Llama 4 10M context): Kết hợp native training với specialized long-context data curation.
  • Qwen3 VL: Native multimodal long-context training cho visual documents.

Limitations thực tế:

  • Data Scarcity: Tìm 100K token coherent, high-quality documents khó hơn nhiều so với 4K chunks. Phải dùng synthetic data hoặc code repositories.
  • Compute Wall: Dù có Flash Attention và Ring Attention, train 1M tokens vẫn cần massive GPU clusters (O(n²) attention chưa biến mất, chỉ được phân tán).
  • Inference Mismatch: Model train native 128K có thể perform kém ở 2K nếu không được instruction-tune cho variable lengths (quá nén thông tin).
  • Overfitting Risk: Train quá nhiều ở ultra-long contexts tạo "compression artifacts" — model tóm tắt quá sớm ngay cả khi cần chi tiết.

Đào sâu hơn

Paper gốc:

Bài liên quan TroiSinh:

Cùng cụm (Long Context):

  • Ring Attention — Kỹ thuật phân tán sequence qua nhiều GPU để train context triệu token.
  • YaRN & LongRoPE — Phương pháp post-hoc extension ngược lại, dùng khi không thể train native.

Đọc tiếp:

  • Flash Attention — Tối ưu memory bandwidth cho attention O(n²), prerequisite để train dài.
  • KV Cache — Hiểu vấn đề memory mà native training giải quyết ở inference time.
  • Inference Frontier — Các kỹ thuật tối ưu inference cho model đã được train native long-context.

On this page