Một hàng của bảng embedding được cập nhật như thế nào

Một hàng của bảng embedding được cập nhật như thế nào A sequence diagram generated by Archify. chỉ tra những ID thật sự có trong batch vector của các hàng được chọn logits tại từng vị trí gradient của loss theo đầu ra gradient chỉ chảy về hàng đã tra gradient thưa cho toàn bộ E ghi giá trị mới vào đúng những hàng đó Forward Backward Cập nhật tham số Batch · 8.192 token ID · Sequence participant Batch 8.192 token ID Bảng E · V hàng, phần lớn không dùng · Sequence participant Bảng E V hàng, phần lớn không dùng Transformer · forward qua các block · Sequence participant Transformer forward qua các block Cross-entropy · so với token kế tiếp · Sequence participant Cross-entropy so với token kế tiếp Optimizer · cập nhật thưa · Sequence participant Optimizer cập nhật thưa Legend request return default message

Embedding học bằng đúng cơ chế của mọi weight khác

  • • Không có thuật toán riêng nào dành cho bảng E
  • • Nó nhận gradient từ cùng một hàm loss next-token
  • • Cấu trúc ngữ nghĩa là sản phẩm phụ của việc đoán token kế tiếp

Nhưng gradient của nó rất thưa

  • • Một batch chỉ chạm vài nghìn hàng trong hơn trăm nghìn hàng
  • • Hàng không được tra thì gradient bằng 0 và giá trị không đổi
  • • Vì vậy framework cài đặt riêng cho sparse gradient của embedding

Hệ quả: tần suất quyết định chất lượng vector

  • • Token phổ biến được cập nhật hàng triệu lần trong một run
  • • Token hiếm có thể chỉ được chạm vài lần
  • • Vector của chúng vì thế còn rất gần giá trị khởi tạo ngẫu nhiên