Hợp đồng giữa tokenizer, embedding và weights

Hợp đồng giữa tokenizer, embedding và weights An architecture diagram generated by Archify. Tokenizer lúc pretrain · "cat" → 4281 · Ba thứ đã co-adapt với nhau suốt pretraining · sinh ra ID Tokenizer lúc pretrain "cat" → 4281 sinh ra ID Embedding matrix E · hàng 4281 học cho "cat" · Ba thứ đã co-adapt với nhau suốt pretraining · |V| × d tham số Embedding matrix E hàng 4281 học cho "cat" |V| × d tham số Transformer + LM head · logits trên đúng |V| chiều · Ba thứ đã co-adapt với nhau suốt pretraining · quen biểu diễn này Transformer + LM head logits trên đúng |V| chiều quen biểu diễn này Đổi sang tokenizer khác · "house" → 4281 · Architecture component Đổi sang tokenizer khác "house" → 4281 Semantic mismatch · vector cũ, token mới · Architecture component Semantic mismatch vector cũ, token mới Thêm token mới · chưa có hàng nào trong E · Architecture component Thêm token mới chưa có hàng nào trong E Khởi tạo rồi train tiếp · random · ghép token cũ · transfer · Architecture component Khởi tạo rồi train tiếp random · ghép token cũ · transfer ID là địa chỉ hàng vector đầu vào vẫn lấy đúng hàng 4281 trả về vector token cũ cần một hàng mới nối thêm hàng vào E Ba thứ đã co-adapt với nhau suốt pretraining Legend Frontend Backend Database Cloud Security External

Vì sao không thể tự ý đổi tokenizer

  • • ID không mang nghĩa, nó chỉ trỏ tới một hàng cụ thể của E
  • • Hàng đó được học cho token mà tokenizer cũ đã sinh ra
  • • Đổi bảng ánh xạ là phá hợp đồng mà toàn bộ weights dựa vào

Thêm token không chỉ là sửa file JSON

  • • Hàng embedding mới chưa từng nhận gradient nào
  • • Khởi tạo hàng mới là một bài toán thật, không phải chi tiết vụn
  • • Một số model tie weights giữa E và LM head, một số thì không

Ba câu luôn đúng

  • • ID 1000 ở hai tokenizer khác nhau là hai token khác nhau
  • • So sánh token ID giữa hai model là việc vô nghĩa
  • • Tokenizer phải được version cùng checkpoint, không tách rời