Batching
ความหมาย
หัวข้อที่มีชื่อว่า “ความหมาย”การรวมหลายคำขอไว้คำนวณพร้อมกันเป็นชุดเดียว เพื่อใช้ GPU ได้เต็มที่และเพิ่มปริมาณงานรวม
ตอนสร้างคำตอบ (Decode) ของคำขอเดียว GPU มักใช้เวลาไปกับการอ่านน้ำหนักโมเดลจากหน่วยความจำมากกว่าการคำนวณ การนำหลายคำขอมารวมเป็น batch ทำให้อ่านน้ำหนักชุดเดียวแล้วใช้กับหลายคำขอได้ Throughput รวมจึงเพิ่มขึ้น
ข้อแลกเปลี่ยนคือแต่ละคำขออาจรอนานขึ้น (Latency) และ batch ใหญ่ขึ้นต้องใช้หน่วยความจำสำหรับ KV Cache มากขึ้น ซอฟต์แวร์ให้บริการโมเดลหลายตัวมีการจัด batch ต่อเนื่องเมื่อมีคำขอเข้า-ออกตลอดเวลา แต่ไม่ใช่ทุกโปรแกรมรองรับ และผลที่ได้ขึ้นกับโปรแกรม backend และฮาร์ดแวร์ จึงควรดูผลทดสอบเป็นกรณีไป คำนี้ยังใช้กับการประมวลผล prompt เป็นก้อน (batch size) ได้ด้วย ซึ่งเป็นการตั้งค่าต่างความหมายกัน