Tự viết Transformer chỉ có bộ giải mã cho LLM từ đầu bằng Python
Google/DeepMind
OpenAI
Meta
Tác giả của một loạt bài viết mô tả chi tiết cách triển khai một khối transformer cho một mô hình ngôn ngữ nhỏ chỉ có bộ giải mã (decoder-only LLM) bằng framework PyTorch. Các thành phần được đề cập bao gồm: cơ chế chú ý đa đầu có mặt nạ (masked Multi-Head Attention), mạng truyền xuôi với hàm kích hoạt GELU (Gaussian Error Linear Unit), lớp chuẩn hóa và các kết nối dư. Bài viết giải thích sự khác biệt so với kiến trúc gốc: sử dụng chuẩn hóa trước (Pre-LN) thay vì chuẩn hóa sau (Post-LN) để đảm bảo sự ổn định trong quá trình huấn luyện.
Tác giả Vladimir, sử dụng ví dụ về nhiệm vụ đánh dấu bản quyền cho văn bản được cấp phép, triển khai một khối transformer cho mô hình ngôn ngữ lớn chỉ dùng bộ giải mã (decoder-only LLM). Ông giải thích rằng transformer là một kiến trúc từ bài báo "Attention Is All You Need" của Google, trong đó một chuỗi được xử lý song song bằng cơ chế attention. Cơ chế Multi-Head Attention dựa trên ba ma trận chiếu: Q, K, V. Ở bước đầu tiên, độ tương đồng giữa các token được tính toán (ma trận attention), và ở bước thứ hai, nội dung token được trộn lẫn theo các trọng số đã tìm được. Để đạt hiệu quả, tất cả các head attention được triển khai thông qua một phép chiếu tuyến tính lớn duy nhất. Sau attention, một mạng Feed Forward với hàm kích hoạt GELU và dropout được áp dụng. Xây dựng transformer bao gồm chuẩn hóa (Pre-LN) và các kết nối dư (residual connections). Ngoài ra, một mặt nạ nhân quả (causal mask) được sử dụng cho bộ giải mã. Nhìn chung, khối này đã sẵn sàng để sử dụng trong việc lắp ráp một mô hình ngôn ngữ lớn, huấn luyện và sinh văn bản.
Nguồn: Habr — хаб NLP —
bản gốc
