คืออะไร การแบ่งโทเค็น
การแบ่งข้อความเป็นโทเค็นสำหรับการประมวลผลโมเดล
การแบ่งโทเค็น (Tokenization) คือกระบวนการแบ่งข้อความออกเป็นหน่วยย่อย (โทเค็น) สำหรับการประมวลผลต่อไปโดยโมเดลภาษาหรือระบบ NLP
ประเภทของการแบ่งโทเค็น
- ตามคำ — แบ่งตามช่องว่างและเครื่องหมายวรรคตอน
- คำย่อย (BPE) — แบ่งเป็นสตริงย่อยที่พบบ่อย
- ระดับตัวอักษร — แต่ละตัวอักษรเป็นโทเค็นแยก
- SentencePiece — การแบ่งโทเค็นที่ไม่ขึ้นกับภาษา
ทำไมการแบ่งโทเค็นจึงสำคัญ
- กำหนดคำศัพท์ของโมเดล
- ส่งผลต่อการจัดการคำที่หายาก
- กำหนดค่าใช้จ่ายคำขอ API (ต่อโทเค็น)
- ส่งผลต่อความเร็วในการประมวลผล
ตัวอย่างโทเค็น
- "สวัสดีโลก" → ["สวัสดี", "โลก"]
- "การเรียนรู้ของเครื่อง" → ["การเรียนรู้", "ของ", "เครื่อง"]
- "ปัญญาประดิษฐ์" → ["ปัญญา", "ประดิษฐ์"]
ตัวแบ่งโทเค็นยอดนิยม
- tiktoken (OpenAI) — สำหรับโมเดล GPT
- SentencePiece — Google ไม่ขึ้นกับภาษา
- Byte-Level BPE — ทำงานกับไบต์
- WordPiece — BERT และอนุพันธ์