Skip to content
ชิปและโครงสร้างพื้นฐาน

อนุมาน

serving · generation

กล่าวโดยย่อ

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

การทำนายข้อมูล (inference) แบ่งเป็นสองขั้นตอนที่มีคุณลักษณะการทำงานที่แตกต่างกัน

Prefill ประมวลผลข้อมูลทั้งหมดพร้อมกันในครั้งเดียว มันสามารถทำงานในเชิงพาราเลลได้ดีและเป็นข้อจำกัดด้านการคำนวณ (compute-bound) ดังนั้นจึงขยายตัวตามความยาวของข้อมูลเข้าและกำหนดระยะเวลาที่ผู้ใช้ต้องรอจนกว่าจะได้ token แรก

Decode สร้างผลลัพธ์ทีละ token โดยแต่ละขั้นตอนต้องทำการประมวลผลทั้งหมดของน้ำหนักโมเดลอีกครั้ง มันเป็นข้อจำกัดด้านความเร็วหน่วยความจำ (memory-bandwidth-bound) และกำหนดอัตราคำต่อวินาทีที่ผู้ใช้รับรู้

การปรับปรุงส่วนใหญ่ของการให้บริการโจมตีหนึ่งในสองขั้นตอนนี้ Continuous batching ทำให้เครื่องเร่งประมวลผลทำงานต่อเนื่องโดยการรวมข้อความที่มาถึงในเวลาแตกต่างกัน KV caching เก็บสถานะการคำนวณความสนใจ (attention) ที่ผ่านมาเพื่อไม่ต้องคำนวณใหม่ทุกขั้นตอน Speculative decoding ใช้โมเดลขนาดเล็กสร้างหลาย token ล่วงหน้าแล้วให้โมเดลใหญ่ตรวจสอบในหนึ่งการประมวลผล Quantisation ลดขนาดน้ำหนักเพื่อให้พอดีในหน่วยความจำเร็ว Mixture-of-experts แยกการประมวลผลแต่ละ token ให้ผ่านเฉพาะส่วนหนึ่งของเครือข่าย

ผลกระทบทางเศรษฐกิจคือประสิทธิภาพการทำนาย (inference efficiency) แทนขนาดโมเดล จะกำหนดว่าผลิตภ

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

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

ดูเพิ่มเติม

อัปเดตล่าสุด 22 ส.ค. 2569

อ่านในภาษา