Tác tửMô hình 🇷🇺 24.07.2026 05:03

Từ LLM đến Agent: Hiểu các lớp giữa mô hình và ứng dụng

Google/DeepMindGoogle/DeepMind OpenAIOpenAI MistralMistral
Bài viết này khám phá các lớp giữa một mô hình ngôn ngữ lớn (LLM) và ứng dụng agent, bắt đầu từ tokenization, sampling, và KV-cache, qua các mẫu chat và Jinja, đến các định dạng lưu trữ mô hình và runtime như llama.cpp. Nó giải thích các lỗi thường gặp như token suy luận tiêu tốn ngân sách sinh và vấn đề độ dài ngữ cảnh.
Bài viết mô tả toàn bộ lộ trình từ một LLM đến một agent. Cốt lõi, mô hình dự đoán token tiếp theo trong một vòng lặp tự hồi quy, sử dụng tokenizer để chuyển đổi văn bản thành ID token và detokenizer để chuyển đổi ngược lại. Bộ nhớ đệm KV (KV-cache) tăng tốc quá trình sinh bằng cách lưu trữ các cặp khóa-giá trị trước đó. Văn bản đầu vào mà mô hình mong đợi không phải là JSON thô mà là một prompt được định dạng theo template chat (chat template) của mô hình, vốn là một template Jinja chuyển đổi một danh sách các tin nhắn thành một chuỗi có chứa các token đặc biệt (ví dụ: ChatML, Llama 3). Đối với các mô hình suy luận (reasoning models), prompt có thể bao gồm một khối <think>; nếu mô hình dành quá nhiều token cho việc suy luận, nó có thể hết hạn mức sinh (generation budget) trước khi đưa ra câu trả lời cuối cùng. Bài viết cũng giải thích rằng việc tính phí và độ dài ngữ cảnh (context length) dựa trên prompt đã được token hóa sau template chat, chứ không phải JSON của API. Lưu trữ mô hình trên đĩa bao gồm các trọng số safetensors, config.json, các tệp tokenizer và chat_template trong tệp tokenizer_config.json. Các runtime như llama.cpp tải một tệp GGUF gộp các thành phần này, cung cấp một giao diện cấp cao từ văn bản đến văn bản.
Nguồn: Habr — хаб ML — bản gốc
Bài viết liên quan trước đây ↓
Tin mới