- LLaMA.cpp ซึ่งเขียนโค้ดอนุมานของ LLaMa ขึ้นใหม่ด้วย C++ ล้วน ทำให้สามารถรันได้บนฮาร์ดแวร์หลากหลาย เช่น Pixel5, MacBook Pro M2, Raspberry Pi เป็นต้น
- โดยทั่วไปโมเดลขนาดใหญ่ต้องใช้ GPU ราคาแพง แล้วสิ่งนี้เป็นไปได้อย่างไร?
- GPU เหมาะกับดีปเลิร์นนิงเพราะมีแบนด์วิดท์หน่วยความจำและความสามารถในการคำนวณสูง แต่แบนด์วิดท์หน่วยความจำมักเป็นคอขวดของการอนุมาน
- เพราะสำหรับการคำนวณจริง ข้อมูลต้องถูกย้ายจากหน่วยความจำ HBM (RAM) ไปยังหน่วยความจำบนชิป
- Quantization (การควอนไทซ์) มีความสำคัญต่อการใช้ RAM สำหรับน้ำหนักของ LLaMa
- หากลดความแม่นยำลง ก็สามารถลดปริมาณหน่วยความจำที่ต้องใช้ในการเก็บโมเดลได้อย่างมาก
- การควอนไทซ์ช่วยลดปริมาณหน่วยความจำที่ต้องใช้ในการเก็บโมเดล ทำให้สามารถใส่โมเดลลงในหน่วยความจำของ GPU มาตรฐานในดาต้าเซ็นเตอร์และ GPU สำหรับผู้บริโภคระดับสูงได้
- แบนด์วิดท์หน่วยความจำเป็นปัจจัยจำกัดสำหรับงานเกือบทั้งหมดที่เกี่ยวข้องกับการสุ่มตัวอย่างของทรานส์ฟอร์เมอร์
- เมื่อใช้วิธีอย่างการควอนไทซ์เพื่อลดความต้องการหน่วยความจำ การให้บริการโมเดลก็ทำได้ง่ายขึ้นมาก
- นี่จึงเป็นอีกเหตุผลหนึ่งของ distillation หรือการ "ฝึกโมเดลขนาดเล็กกว่าให้นานขึ้น"
3 ความคิดเห็น
ผมได้ลองทดสอบ embedding โดยเรียกใช้ llama2 ด้วย LlamaCpp บนเครื่องโลคัล
https://breezymind.com/llamacpp-embedding
คอมเมนต์แรกใน HN มีประโยชน์ดีนะ
ความคิดเห็นจาก Hacker News