วงจร autoregressive และ log-probability
Advanced · ให้เห็นภาพรวม ข้ามได้ ไม่นับเป็นเงื่อนไขจบบท ข้ามไปหน้าถัดไป →
หน้านี้ให้เห็นภาพรวม ไม่ต้องลงมือทำ ข้ามได้
วงจรที่วนซ้ำ
ทุกสิ่งที่เรียนมาเกิดขึ้นใน "หนึ่งรอบ" ของการเขียน 1 โทเคน (token)ชิ้นข้อความที่ AI มองเห็นจริงๆ อาจเป็นทั้งคำ ส่วนของคำ หรือตัวอักษรเดียว แต่ละชิ้นมีเลขประจำตัวดูคำศัพท์ทั้งหมด แล้ววนซ้ำไปเรื่อยๆ:
- เอาข้อความทั้งหมดที่มี (คำสั่งของคุณ + คำที่เขียนไปแล้ว) เข้าโมเดล
- ได้คะแนน logit ของทุก token
- แปลงเป็นเปอร์เซ็นต์ด้วย ซอฟต์แมกซ์ (softmax)สูตรที่เปลี่ยนคะแนนดิบเป็นความน่าจะเป็นที่รวมกันได้ 100% โดยยก e กำลังคะแนนแล้วหารด้วยผลรวมดูคำศัพท์ทั้งหมด (ปรับด้วย temperature / top-p)
- การสุ่มเลือกคำ (sampling)การจับฉลากเลือกคำถัดไปตามความน่าจะเป็น คำที่โอกาสสูงถูกเลือกบ่อยกว่า แต่ไม่ใช่ทุกครั้งดูคำศัพท์ทั้งหมด มา 1 token แล้วต่อท้ายข้อความ
- กลับไปข้อ 1 จนกว่าจะเจอ token "จบ"
การเขียนแบบที่ใช้ผลลัพธ์ของตัวเองเป็นบริบทของรอบถัดไปนี้เรียกว่า autoregressive
ประโยคยาวคือการเดาคำถัดไปซ้ำหลายรอบ แต่ละรอบใช้ทุกคำก่อนหน้าเป็นบริบท
ความน่าจะเป็นของทั้งประโยค
โอกาสของทั้งประโยค = ผลคูณของโอกาสในแต่ละรอบ:
ตัวอย่าง: โอกาสของ "ปลา" หลัง "แมวชอบกิน" คือ 0.6572 ถ้าสมมติว่าคำถัดไปมีโอกาส 0.5 ทั้งสองคำรวมกันจะได้
ยิ่งประโยคยาว ผลคูณยิ่งเล็กลงเรื่อยๆ จนเล็กเกินกว่าที่คอมพิวเตอร์เก็บได้แม่น ระบบจริงจึงใช้ log เปลี่ยน "คูณ" เป็น "บวก":
สรุป
- โมเดลเขียนทีละ token และไม่ย้อนกลับไปแก้คำที่เขียนแล้ว
- คำแรกที่ผิดจึงพาคำถัดๆ ไปผิดตาม (เหตุผลข้อ 4 ของหน้าที่แล้ว)

มังคุด
แปลว่าตอนมันตอบยาวๆ มันวนแบบนี้เป็นร้อยรอบเลยเหรอ?