ข้ามไปที่เนื้อหาหลัก

พื้นฐาน

โทเค็นของ AI คืออะไร

โทเค็นคือหน่วยที่โมเดลภาษาอ่านและเขียนจริง ไม่ใช่คำหรือตัวอักษร ทำความเข้าใจการแบ่งโทเค็น วิธีนับอินพุตและเอาต์พุต และเหตุใดตัวแบ่งโทเค็นของโมเดลเองเท่านั้นที่ให้ตัวเลขที่แม่นยำ

บทความทั้งหมด · ตรวจสอบล่าสุด:

โทเค็นไม่ใช่คำ และไม่ใช่ตัวอักษร

ตัวแบ่งโทเค็นจะแยกข้อความเป็นชิ้นจากคลังคำคงที่ที่เรียนรู้ไว้ตอนฝึก คำสั้นที่พบบ่อยมักเป็นหนึ่งโทเค็นพอดี ส่วนคำที่ยาวหรือพบน้อยอาจแบ่งเป็นสองหรือสามชิ้น สัญลักษณ์แปลกตัวเดียวก็อาจกินมากกว่าหนึ่งโทเค็นได้ด้วยตัวเอง เครื่องหมายวรรคตอน ช่องว่าง และการขึ้นบรรทัดใหม่ก็เป็นโทเค็นเช่นกัน ไม่ใช่ของฟรี

ด้วยเหตุนี้จำนวนโทเค็น จำนวนคำ และจำนวนตัวอักษรจึงเปลี่ยนแปลงเป็นอิสระต่อกัน สองประโยคที่มีจำนวนคำเท่ากันอาจใช้จำนวนโทเค็นต่างกัน และการเขียนประโยคใหม่ด้วยคำที่สั้นและพบบ่อยกว่าอาจลดจำนวนโทเค็นได้โดยไม่ทำให้ข้อความสั้นลง

การแบ่งโทเค็นต่างกันไปตามภาษาและโมเดล

ทุกโมเดลมาพร้อมตัวแบ่งโทเค็นและคลังคำคงที่ของตัวเอง สร้างขึ้นจากข้อความที่ใช้ฝึกโมเดลนั้น คำหรือวลีที่พบบ่อยในข้อความฝึกนั้นมักถูกอัดให้เป็นโทเค็นจำนวนน้อยแต่ยาวขึ้น ส่วนคำหรือวลีที่พบน้อยมักถูกแบ่งเป็นชิ้นจำนวนมากแต่สั้นลง

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

คำขอหนึ่งครั้งใช้ทั้งโทเค็นอินพุตและโทเค็นเอาต์พุต

ทุกคำขอมีกลุ่มโทเค็นสองกลุ่ม ซึ่งนับและมักคิดราคาแยกกัน โทเค็นอินพุตคือทุกสิ่งที่ส่งไปยังโมเดล ได้แก่ คำสั่ง บทสนทนาที่มองเห็น เอกสารที่แนบมา และผลลัพธ์จากเครื่องมือ โทเค็นเอาต์พุตคือทุกสิ่งที่โมเดลสร้างกลับมา

โทเค็นอินพุตไม่ใช่ต้นทุนครั้งเดียวในบทสนทนาที่มีหลายรอบ เพราะทุกคำขอใหม่จะส่งบทสนทนาที่ผ่านมาซ้ำอีกครั้ง ข้อความก่อนหน้าและวัสดุที่แนบมาจึงถูกนับเป็นอินพุตซ้ำในทุกรอบ ไม่ใช่แค่รอบที่เพิ่มเข้ามาครั้งแรก

โทเค็นคือหน่วยที่ใช้วัดหน้าต่างบริบท

หน้าต่างบริบทคืองบประมาณที่แสดงเป็นโทเค็น ซึ่งอินพุตและเอาต์พุตของคำขอเดียวใช้ร่วมกัน "หน้าต่างบริบทคืออะไร" อธิบายว่างบประมาณนี้ทำงานอย่างไรในทางปฏิบัติ สิ่งที่สำคัญตรงนี้คือหน่วยวัดเท่านั้น หน้าต่างไม่ได้วัดเป็นคำ ตัวอักษร หรือจำนวนข้อความ แต่วัดเป็นโทเค็น และอินพุตกับเอาต์พุตดึงจากยอดรวมเดียวกัน

ประเมินต้นทุนโดยไม่ใช้ตัวเลขตายตัว

ต้นทุนที่อิงตามโทเค็นคือการคูณ โทเค็นที่ใช้คูณด้วยอัตราที่กำหนดไว้ต่อโมเดล ผู้ให้บริการกำหนดและเปลี่ยนอัตราเหล่านี้ตามตารางเวลาของตัวเอง และโมเดลที่มีความสามารถสูงกว่ามักมีราคาต่อโทเค็นแพงกว่าโมเดลที่เล็กกว่า โดยโทเค็นเอาต์พุตมักคิดราคาแพงกว่าโทเค็นอินพุต ไม่มีสิ่งใดในนี้ที่ทำให้คุ้มค่าที่จะพิมพ์ตัวเลขที่แน่นอนไว้ที่นี่ อัตราที่พิมพ์ไว้ในหน้านี้จะผิดภายในไม่กี่เดือน

สิ่งที่ยังจริงอยู่ไม่ว่าตารางราคาปัจจุบันจะเป็นอย่างไรคือรูปแบบของต้นทุน พรอมต์ที่สั้นและตรงประเด็นกว่า และคำตอบที่สั้นและตรงประเด็นกว่าใช้โทเค็นน้อยกว่า และการส่งไฟล์แนบขนาดใหญ่ซ้ำในทุกรอบของบทสนทนายาวเป็นหนึ่งในสาเหตุที่พบบ่อยที่สุดที่การใช้โทเค็นเพิ่มขึ้นโดยไม่มีใครตั้งใจให้เป็นแบบนั้น

ตัวเลขที่แม่นยำต้องใช้ตัวแบ่งโทเค็นของโมเดลเอง

กฎคร่าวๆ เรื่องโทเค็นต่อคำเป็นเพียงการประมาณสำหรับภาษาหนึ่งที่ประมวลผลโดยตัวแบ่งโทเค็นหนึ่งตัว และไม่สามารถนำไปใช้กับภาษาอื่น ตัวอักษรอื่น หรือโมเดลอื่นได้ การจัดรูปแบบก็เปลี่ยนตัวเลขเช่นกัน โค้ด JSON และข้อความที่มีเครื่องหมายวรรคตอนหนาแน่นมักถูกแบ่งโทเค็นได้อย่างมีประสิทธิภาพน้อยกว่าข้อมูลเดียวกันที่เขียนเป็นร้อยแก้วธรรมดา

หากตัวเลขที่แม่นยำมีความสำคัญ เพราะคำขอใกล้ถึงขีดจำกัดบริบท หรือเพราะต้องคาดการณ์ต้นทุนอย่างแม่นยำ วิธีเดียวที่เชื่อถือได้คือส่งข้อความจริงผ่านตัวแบ่งโทเค็นของโมเดลนั้นโดยเฉพาะ หรือผ่านบริการนับโทเค็นที่โมเดลมีให้ ก่อนที่จะส่งไป การประมาณจากจำนวนคำหรือตัวอักษรเป็นเพียงการเดาที่แต่งให้ดูเป็นตัวเลข

คำถามที่พบบ่อย

โทเค็นเหมือนกับคำหรือไม่
ไม่เหมือน คำสั้นที่พบบ่อยมักเป็นหนึ่งโทเค็น แต่คำที่ยาวหรือพบน้อยอาจแบ่งเป็นหลายโทเค็น และเครื่องหมายวรรคตอน ช่องว่าง และการขึ้นบรรทัดใหม่ก็นับเป็นโทเค็นด้วยตัวเอง จำนวนโทเค็นและจำนวนคำจึงสอดคล้องกันแบบคร่าวๆ เท่านั้น
ทำไมประโยคเดียวกันจึงใช้จำนวนโทเค็นต่างกันในเครื่องมือต่างกัน
แต่ละเครื่องมือมักรายงานการนับจากตัวแบ่งโทเค็นของโมเดลใดโมเดลหนึ่งโดยเฉพาะ และแต่ละโมเดลก็มีคลังคำของตัวเองที่สร้างจากข้อความฝึกของตัวเอง การนับที่แม่นยำสำหรับตัวแบ่งโทเค็นของโมเดลหนึ่งเป็นเพียงการประมาณสำหรับอีกโมเดล
การจัดรูปแบบอย่างโค้ดหรือ JSON ใช้โทเค็นมากกว่าข้อความธรรมดาหรือไม่
บ่อยครั้งใช่ การเว้นวรรคย่อหน้า เครื่องหมายวรรคตอน และสัญลักษณ์ที่ซ้ำกันล้วนเป็นโทเค็นเอง ดังนั้นรูปแบบที่มีโครงสร้างหนาแน่นอาจใช้โทเค็นมากกว่าข้อมูลเดียวกันที่เขียนเป็นประโยคธรรมดาอย่างเห็นได้ชัด
จะทราบจำนวนโทเค็นที่แม่นยำของคำขอก่อนส่งได้อย่างไร
ส่งข้อความที่แน่นอนผ่านตัวแบ่งโทเค็นของโมเดลนั้นโดยเฉพาะ หรือผ่านบริการนับโทเค็นที่โมเดลมีให้ การประมาณใดๆ ที่อิงจำนวนคำหรือตัวอักษรเป็นเพียงค่าประมาณ และความคลาดเคลื่อนจะเพิ่มขึ้นตามความแตกต่างของภาษา ตัวอักษร และการจัดรูปแบบ

ลองใช้ดีกว่าอ่านเฉยๆ

ClawAI นับโทเค็นอินพุตและเอาต์พุตที่คำขอใช้จริงหลังจากสร้างคำตอบแล้ว และแสดงต้นทุนกับโควตาที่ใช้ไปสำหรับคำตอบนั้น แทนที่จะเป็นการประมาณล่วงหน้า