Skip to main content

3. Coding Attention Mechanisms (Part 04)

3.5. Che đi (mask) các từ phía sau với cơ chế causal attention

  • Ở phần này, ta sẽ biến đổi cơ chế self-attention tiêu chuẩn để tạo ra cơ chế causal attention - một thành phần cốt lõi của Transformer.

  • Causal attention, còn gọi là masked attention, là một dạng chuyên biệt của self-attention. Cơ chế này giới hạn mô hình chỉ được "nhìn thấy" các token đầu vào trước đó và hiện tại khi xử lí bất kì token nào. Điều này trái ngược với cơ chế self-attention tiêu chuẩn, vốn cho phép "nhìn thấy" toàn bộ chuỗi các token đầu vào.

  • Do đó, khi tính toán attention scores, causal attention đảm bảo mô hình chỉ tính đến các token xuất hiện tại hoặc trước token hiện tại trong chuỗi.

  • Ở hình phía dưới, cơ chế causal attention che (mask) các attention weightsphía trên đường chéo chính. Điều này đảm bảo với 1 đầu vào đã cho, LLM không thể lấy các token tương lai khi tính toán các context vectors.

  • alt

  • Theo dõi code minh họa tại - Theo dõi code minh họa tại 9. Causal-attention.ipynb.

    • Version 01:

    • alt

    • Version 02:

    • alt

Mask thêm các attention weights với dropout

  • Nếu casual mask là để ngăn mô hình ăn gian trong quá trình học khi "nhìn" các future token, thì dropout là để tránh mô hình overfitting vào một tập đơn vị nào đó trong hidden layer. Lưu ý rằng dropout chỉ được sử dụng trong quá trình training.

  • \rightarrow Mục tiêu: Chống overfitting

  • alt

  • Được minh họa ở hình trên, sau khi sử dụng causal mask, ta thêm 1 dropout mask để gán giá trị 0 một cách ngẫu nhiên nhằm giảm overfitting trong quá trình training.

  • alt

  • Ở phần này ta đã tìm hiểu về cơ chế hoạt động và triển khai code của causal attention. Ở phần sau ta sẽ mở rộng thêm và triển khai cơ chế multi-head attention để triển khai cơ chế causal attention song song.