E · Training Architecture
Encoder–decoder · đọc chuỗi nguồn rồi tạo chuỗi đích
Kiến trúc hai nửa tách biệt: khối Encoder đọc hiểu toàn bộ chuỗi nguồn hai chiều, sau đó khối Decoder sinh chuỗi đích từng bước.
1Định nghĩa
Kiến trúc Encoder–Decoder (như bản Transformer gốc, T5, BART hay Whisper cho nhận dạng giọng nói) tách mô hình thành hai cụm mạng riêng biệt cho bài toán biến đổi chuỗi sang chuỗi (sequence-to-sequence). Khối Encoder chạy trước một lần để đọc toàn bộ dữ liệu nguồn (như câu tiếng Anh hoặc đoạn âm thanh) thành chuỗi vector biểu diễn cố định.
Sau đó, khối Decoder sinh dần từng token của câu đích. Bên trong mỗi lớp decoder có tới hai bước Attention: self-attention một chiều để đọc các token đích vừa sinh ra, và cross-attention để tra cứu trực tiếp biểu diễn nguồn do Encoder tạo sẵn.
Ví dụ đời thường: Kiến trúc Encoder–Decoder giống như công việc của một dịch giả chuyên nghiệp: trước hết người dịch đọc trọn vẹn cả câu tiếng Anh gốc để nắm chắc ý nghĩa tổng thể (khối Encoder đọc chuỗi nguồn), sau đó mới đặt bút viết từng từ tiếng Việt một, vừa viết vừa liếc lại câu tiếng Anh gốc và những từ tiếng Việt mình vừa viết ra (khối Decoder sinh chuỗi đích).
2Luồng
- Token hóa nguồn và đích
Giữ riêng token của dữ liệu nguồn và nhãn cần tạo.
- Encoder mã hóa nguồn
Biểu diễn nguồn được tạo trước khi decoder sử dụng.
- Decoder đọc nguồn và đích trước đó
Self-attention causal trên đích; cross-attention tới nguồn.
- Chấm điểm token đích
Loss được tính trên nhãn đích hợp lệ; inference tự sinh đích từ đầu.
Mã Mermaid
flowchart TD
step1["Token hóa nguồn và đích"]
step2["Encoder mã hóa nguồn"]
step3["Decoder đọc nguồn và đích trước đó"]
step4["Chấm điểm token đích"]
step1 --> step2
step2 --> step3
step3 --> step4 Các mũi tên biểu diễn quan hệ dữ liệu hoặc quyết định thiết kế. Chọn từng nút để đọc bài liên quan; mở sơ đồ Markdown / Mermaid bên dưới để sao chép.
3Giải pháp
Trong dịch thuật, encoder chạy cho câu nguồn; decoder sinh bản dịch. T5 dùng cấu trúc này cho bài toán text-to-text. Không bắt buộc mọi ứng dụng dịch hoặc tóm tắt đều dùng encoder–decoder: decoder-only cũng có thể làm các nhiệm vụ đó.
Inference có thể cache self-attention của đích và key/value từ nguồn cho cross-attention. Phải tính cả chi phí encoder, state nguồn và vòng decode; cache chỉ của decoder-only chưa mô tả đủ hệ thống.
4Profiling
- Chất lượng biến đổi nguồn–đích
Đánh giá trên cặp dữ liệu giữ riêng và kiểm tra bảo toàn nội dung; chỉ loss thấp chưa đảm bảo bản dịch đúng.
- Encoder time và decode time
Đo hai pha riêng theo độ dài nguồn/đích, bộ nhớ của state nguồn và cache đích; kiểm tra output không đọc nhãn tương lai.
Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.
5Ví dụ
Một cặp dịch minh họa
Nguồn: “xin chào”. Đích: “hello”. Encoder đọc nguồn; decoder nhận ký hiệu bắt đầu rồi học dự đoán các token của “hello” theo tokenizer của model.
T5 khôi phục đoạn văn bị che
Đầu vào có các đoạn bị thay bằng ký hiệu đặc biệt; chuỗi đích chứa nội dung cần phục hồi. Cùng cấu trúc có thể fine-tune cho dịch hoặc tóm tắt.
6Thuật ngữ
- Cross-attention
- Attention chéo: query từ phía decoder đọc key/value của biểu diễn nguồn.
- Teacher forcing
- Trong training, đưa token đích đúng trước đó vào decoder để học dự đoán token đích kế tiếp.
Glossary (2)
- Tokenizer
- Bộ chuyển đổi văn bản và chuỗi mã token theo bảng từ vựng.
- Cache
- Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.