เครื่องคำนวณ VRAM สำหรับ LLM
ประมาณหน่วยความจำ GPU ที่ต้องใช้รัน LLM แยกเป็นน้ำหนักโมเดลตามระดับ quantization, KV cache ตาม context length และ batch รวมถึง overhead พร้อมเทียบกับการ์ดจอที่ใช้กันจริง
Loading tool...
เครื่องคำนวณ VRAM สำหรับ LLM คืออะไร?
เครื่องคำนวณ VRAM สำหรับ LLM ประมาณหน่วยความจำ GPU ที่โมเดลภาษาชนิด decoder-only ต้องใช้ตอน inference โดยแยกสามส่วน คือ น้ำหนักโมเดล (จำนวนพารามิเตอร์คูณบิตต่อน้ำหนัก) KV cache (2 x layer x KV head x head dimension x context length x batch x ไบต์ต่อ KV หนึ่งค่า) และค่าสำรอง overhead ที่ปรับได้ แล้วเทียบยอดรวมกับ GPU และ unified memory ที่ใช้กันจริง
ประโยชน์หลัก
- รู้ว่ารันได้หรือไม่ก่อนดาวน์โหลดไฟล์หลายสิบ GB
- เห็นว่าส่วนไหนกินหน่วยความจำมากที่สุด น้ำหนัก KV cache หรือ overhead
- รองรับ GQA และ MQA จึงไม่ประเมินโมเดลรุ่นใหม่สูงเกินจริง
- ระบุ overhead ของ quantization ที่ใช้ และขอบเขตที่สูตรนี้ไม่ครอบคลุม
กรณีการใช้งาน
- •ตัดสินว่าโมเดล 70B จะรันบนการ์ด 48 GB ที่ context 32k ได้ไหม
- •กำหนดความยาว context ให้พอดีกับงบหน่วยความจำการ์ดที่มี
- •เทียบ quantization จากหน่วยความจำจริง ไม่ใช่ดูแค่ชื่อเรียก
- •เช็คว่าจำเป็นต้อง quantize KV cache ไหมสำหรับงานที่ใช้ context ยาว
วิธีประมาณ VRAM สำหรับ LLM
- เลือกโมเดล: เลือก preset เพื่อเติมจำนวน layer, attention head, KV head และ head dimension หรือจะกรอกสถาปัตยกรรมเองก็ได้
- เลือกระดับ quantization: เลือกรูปแบบน้ำหนัก ทุกตัวเลือกจะแสดงบิตต่อน้ำหนัก รวม overhead ของ block scale ที่รูปแบบ GGUF ต้องจ่าย
- ตั้ง context และ batch: ใส่ context length ที่จะใช้จริงและจำนวน sequence ที่รันพร้อมกัน แล้วเลือก dtype ของ KV cache
- เทียบกับการ์ดของคุณ: เลือก GPU แล้วดูผลว่ารันได้ไหม margin ที่เหลือ และคำเตือนเรื่อง sparse model หรือ sliding window
คุณสมบัติหลัก
- แยกน้ำหนักโมเดล KV cache และ overhead เป็นตัวเลขคนละส่วน
- ใช้จำนวน KV head ของ GQA และ MQA ไม่ใช่แค่ attention head
- รองรับ FP16, FP8, Q8_0, Q4_K_M และ Q4_0 พร้อมระบุบิตต่อน้ำหนัก
- เลือก dtype ของ KV cache ตั้งแต่ FP16 ลงถึง 4 บิต
- เช็คว่ารันได้ไหมกับการ์ด 8 GB ถึง 128 GB และ unified memory
- ระบุชัดว่าการประมาณนี้ไม่ครอบคลุมอะไร