บทที่ 1 · AI เดาคำถัดไปยังไง หน้า 2/11 ~3 นาที

Token: AI ไม่ได้อ่านเป็น “คำ”

เพราะ AI ไม่ได้มองเห็นตัวอักษรทีละตัวแบบเรา

ก่อนข้อความจะเข้าโมเดล มันถูก ตัวหั่นข้อความ (tokenizer)ตัวแปลงข้อความเป็นลำดับ token ก่อนส่งให้โมเดล แต่ละโมเดลใช้ตัวหั่นไม่เหมือนกันดูคำศัพท์ทั้งหมด หั่นเป็นชิ้นๆ ที่เรียกว่า โทเคน (token)ชิ้นข้อความที่ AI มองเห็นจริงๆ อาจเป็นทั้งคำ ส่วนของคำ หรือตัวอักษรเดียว แต่ละชิ้นมีเลขประจำตัวดูคำศัพท์ทั้งหมด ชิ้นหนึ่งอาจเป็นทั้งคำ ส่วนของคำ หรือตัวอักษรเดียว แล้วแต่ละชิ้นจะถูกแปลงเป็นเลข ID

โมเดลจึงเห็น "strawberry" เป็นเลขไม่กี่ตัว ไม่ใช่ตัวอักษรเรียงกัน การถามให้มันนับตัว r จึงเหมือนยื่นรหัสตัวเลขให้คุณ แล้วถามว่าคำนั้นสะกดด้วยตัว r กี่ตัว

รายการ token ทั้งหมดที่โมเดลรู้จักเรียกว่า คลังคำของโมเดล (vocabulary)รายการ token ทั้งหมดที่โมเดลรู้จัก โมเดลจริงมีราว 50,000–200,000 tokenดูคำศัพท์ทั้งหมด

ลองพิมพ์อะไรก็ได้ แล้วดูว่ามันถูกหั่นยังไง:

AI หั่นข้อความเป็น token ยังไง

พิมพ์อะไรก็ได้ เช่น ชื่อตัวเอง แล้วดูว่าโดนหั่นเป็นกี่ชิ้น

token
≈ 5
ตัวอักษร
12
token ต่อตัวอักษร
≈ 0.42
  1. แมว
  2. ชอ
  3. บกิ
  4. นป
  5. ลา

ตอนนี้แสดงแบบประมาณ (≈) — ตัวหั่นจริงจะโหลดเมื่อเลื่อนมาถึง

แต่ละโมเดลหั่นไม่เหมือนกัน ตัวเลขนี้ใช้เปรียบเทียบให้เห็นภาพ

ประโยคความหมายเดียวกัน (เรื่องวันลาพักร้อน)

  • ภาษาไทย = ≈ 30 token จาก 83 ตัวอักษร
  • ภาษาอังกฤษ = ≈ 24 token จาก 124 ตัวอักษร

ไทยใช้ token มากกว่า ข้อความเลยยาวขึ้น แพงขึ้น และเต็ม context เร็วขึ้น ตัวหั่นรุ่นเก่ามักห่างกันยิ่งกว่านี้

ตารางตัวเลขสำหรับโปรแกรมอ่านหน้าจอ: token ทีละชิ้น
ลำดับข้อความจำนวน token
1แมว1
2ชอ1
3บกิ1
4นป1
5ลา1

AI เห็นข้อความเป็นชิ้นๆ ที่เรียกว่า token ไม่ใช่ตัวอักษรหรือคำแบบที่เราเห็น

มังคุด มาสคอตมังคุด

มังคุด

งั้นชื่อหนูก็ถูกหั่นด้วยเหรอ?