2 điểm bởi GN⁺ 2025-03-06 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Giới thiệu blog

  • Đây là bài viết thứ tám trong chuỗi blog dựa trên cuốn sách "Build a Large Language Model (from Scratch)" của Sebastian Raschka.
  • Bài viết này trình bày cách triển khai "trainable self-attention".

Cách hoạt động của LLM dựa trên transformer kiểu GPT chỉ dành cho decoder

  • Chuỗi ký tự được tách thành các token, và mỗi token được ánh xạ thành một chuỗi vector để tạo token embedding.
  • Positional embedding được tạo ra để hình thành chuỗi embedding đầu vào.
  • Sử dụng embedding đầu vào để tạo attention score cho từng token.
  • Chuẩn hóa attention score để tạo attention weight.
  • Tạo context vector cho từng token.

Cơ chế scaled dot-product attention

  • Tính attention score bằng cách chiếu chuỗi đầu vào thành ba ma trận (query, key, value).
  • Chuẩn hóa attention score để tạo attention weight, rồi dùng chúng để tính context vector.
  • Toàn bộ quá trình này được thực hiện thông qua phép nhân ma trận hiệu quả.

Phép chiếu giữa các không gian bằng ma trận

  • Ma trận được dùng để chiếu vector sang không gian có chiều khác.
  • Chiếu embedding đầu vào sang không gian query, key, value để tính attention score.

Chuẩn hóa attention score

  • Sử dụng hàm softmax để chuẩn hóa attention score.
  • Chuẩn hóa bằng cách chia cho căn bậc hai của số chiều để giải quyết vấn đề gradient nhỏ.

Tạo context vector

  • Sử dụng attention weight để tính context vector của từng token.
  • Chiếu embedding đầu vào sang không gian value, rồi lấy tổng có trọng số theo attention weight để tạo context vector.

Bước tiếp theo

  • Sẽ tiếp tục đề cập đến causal self-attention và multi-head attention.
  • Cũng có kế hoạch khám phá câu hỏi "vì sao" đằng sau cơ chế self-attention.

Kết luận

  • Bài viết blog này có thể giúp hiểu rõ hơn về cơ chế self-attention.
  • Có thể để lại câu hỏi hoặc ý kiến bổ sung trong phần bình luận.

Chưa có bình luận nào.

Chưa có bình luận nào.