Tokenizer: từ chuỗi ký tự đến tensor vào model

Tokenizer: từ chuỗi ký tự đến tensor vào model A data-flow diagram generated by Archify. 01 / Văn bản 02 / Token 03 / Token ID 04 / Batch tensor 05 / Model Văn bản thô · chuỗi ký tự · 01 / Văn bản · người đọc Văn bản thô chuỗi ký tự người đọc Subword · BPE / WordPiece · 02 / Token · cân bằng Subword BPE / WordPiece cân bằng Special token · [CLS] [SEP] [PAD] · 02 / Token · theo checkpoint Special token [CLS] [SEP] [PAD] theo checkpoint Token IDs · [13809, 2545, ...] · 03 / Token ID · chỉ là index Token IDs [13809, 2545, ...] chỉ là index Truncation · max_length · 03 / Token ID · mất thông tin Truncation max_length mất thông tin Padding · cùng chiều dài · 04 / Batch tensor · đúng shape Padding cùng chiều dài đúng shape Attention mask · 1 thật / 0 pad · 04 / Batch tensor · đúng nghĩa Attention mask 1 thật / 0 pad đúng nghĩa Tensor · [batch, seq_len] · 05 / Model · return_tensors Tensor [batch, seq_len] return_tensors Embedding · [batch, seq, hidden] · 05 / Model · vector thực Embedding [batch, seq, hidden] vector thực chuẩn hoá + tách encoding bọc theo format tokenizer rule tra vocabulary lookup ID riêng lookup gom thành batch batching vượt context giới hạn cắt rồi mới pad batching đánh dấu vị trí attention input_ids tensor attention_mask tensor tra embedding table model input Legend primary data policy / PII async batch data store

Vì sao là subword

  • • Word-based: vocabulary bùng nổ, nhiều [UNK]
  • • Character: gần như không có [UNK] nhưng chuỗi rất dài
  • • Subword: giữ từ phổ biến, tách nhỏ từ hiếm

Padding và mask là hai việc khác nhau

  • • Padding làm tensor có đúng shape chữ nhật
  • • Attention mask làm phép tính có đúng ngữ nghĩa
  • • Thiếu mask, self-attention vẫn nhìn vào [PAD]