โทเคน
tokenisation · tokenizer
กล่าวโดยย่อ
โทเคนคือหน่วยข้อความที่เล็กที่สุดที่โมเดลภาษาประมวลผล: โทเคนไอเซอร์สร้างจากส่วนของคำทั่วไป หนึ่งโทเคนในภาษาอังกฤษโดยเฉลี่ยประมาณ 4 ตัวอักษร หรือประมาณ 0.75 คำ กำหนดขอบเขตของบริบทและราคา API ทั้งคู่ถูกคิดเป็นโทเคน ไม่ใช่คำ
โมเดลไม่เห็นตัวอักษรหรือคำ ข้อความจะถูกแบ่งโดย โทเค็นไนเซอร์ ออกเป็นส่วนย่อยๆ ที่ปรากฏบ่อยในข้อมูลการฝึกอบรม คำทั่วไปจะกลายเป็นโทเค็นเดียว คำที่หายากจะแตกเป็นส่วนๆ ช่องว่างและเครื่องหมายวรรคตอนจะเก็บของตัวเอง
"unbelievable" → "un" + "believ" + "able"
"the" → "the"
" " → หนึ่งโทเค็นต่อระดับการเยื้องในโค้ดมีสามผลที่ตามมา และทั้งสามอย่างมีค่าใช้จ่าย
ภาษาไม่เท่าเทียมกัน โทเค็นไนเซอร์ที่ฝึกอบรมส่วนใหญ่จากส่วนย่อยภาษาอังกฤษจะแบ่งภาษาเกาหลีหรือภาษาญี่ปุ่นอย่างรุนแรง เอกสารเดียวกันมีค่าใช้จ่ายมากขึ้นในโทเค็น — และดังนั้นจึงมีค่าใช้จ่ายมากขึ้นในสกุลเงินและมากขึ้นของ หน้าต่างบริบท — ในภาษาเหล่านั้น
งานระดับอักขระเป็นเรื่องยาก โมเดลที่ถูกขอให้นับตัวอักษรในคำกำลังทำงานกับส่วนย่อย ไม่ใช่ตัวอักษร นี่คือเหตุผลที่ปริศนาการสะกดคำล้มเหลวในลักษณะที่ดูไร้สาระเมื่อเทียบกับความสามารถอื่นๆ ของโมเดล
ความยาวของผลลัพธ์เป็นตัวกำหนดค่าใช้จ่าย เนื่องจากโทเค็นผลลัพธ์เป็นด้านที่มีค่าใช้จ่ายสูง "ตอบเป็นสามหัวข้อ" จึงเป็นการตัดสินใจด้านงบประมาณพอๆ กับการตัดสินใจด้านการจัดรูปแบบ
คำถามที่พบบ่อย
- 1,000 คำ มีกี่โทเค็น?
- โดยประมาณ 1,300 token ในภาษาอังกฤษ ภาษาเกาหลี ญี่ปุ่น และจีน มักต้องการจำนวน token มากกว่าเมื่อเทียบกับความยาวที่เห็นได้ เนื่องจากอักษรเหล่านี้แยกเป็นส่วนเล็กกว่าเมื่อใช้ tokenizer ที่พบบ่อย
- ทำไมฉันถึงต้องชำระค่าใช้จ่ายแยกกันสำหรับอินพุตและเอาต์พุต?
- อินพุตสามารถประมวลผลแบบพาราเลลล์ได้; เอาต์พุตต้องสร้างทีละโทเคน โดยแต่ละโทเคนต้องใช้การทำงานเต็มรูปแบบของโมเดล ทำให้ค่าใช้จ่ายต่อโทเคนสูงหลายเท่า