Gemma 3 270M แสดงผลการปรับปรุงประสิทธิภาพที่น่าประหลาดใจด้วยการเพิ่มประสิทธิภาพ KV Cache และ Compilation

ทีมชุมชน BigGo
Gemma 3 270M แสดงผลการปรับปรุงประสิทธิภาพที่น่าประหลาดใจด้วยการเพิ่มประสิทธิภาพ KV Cache และ Compilation

การวิเคราะห์ประสิทธิภาพโดยละเอียดของโมเดล Gemma 3 270M ของ Google เผยให้เห็นการปรับปรุงความเร็วอย่างมีนัยสำคัญผ่านเทคนิคการเพิ่มประสิทธิภาพ ทำให้เกิดการอภิปรายในชุมชนเกี่ยวกับการใช้งานจริงของโมเดลภาษาขนาดเล็ก การวิเคราะห์นี้มาจากการใช้งานที่สร้างขึ้นตั้งแต่เริ่มต้นซึ่งใช้ RAM เพียง 2 GB ในการทำงาน ทำให้นักพัฒนาที่มีฮาร์ดแวร์ระดับปานกลางสามารถเข้าถึงได้

ข้อกำหนดและคุณสมบัติของระบบ

  • ความต้องการหน่วยความจำ: RAM ขั้นต่ำ 2 GB
  • ขนาดโมเดล: 270M parameters
  • หน้าต่างบริบท: 32,000 tokens
  • การใช้งาน: โค้ดเบส PyTorch 500 บรรทัด
  • เฟรมเวิร์กที่รองรับ: PyTorch พร้อม Metal Performance Shaders, ONNX, TorchScript, ตัวเลือกการแปลงเป็น CoreML

การเพิ่มประสิทธิภาพให้ความเร็วที่เพิ่มขึ้นอย่างมาก

การค้นพบที่โดดเด่นที่สุดเกี่ยวข้องกับการปรับปรุงประสิทธิภาพอย่างมากที่ได้จากการใช้ KV caching และ compilation บนฮาร์ดแวร์ Mac Mini M4 CPU โมเดลเพิ่มขึ้นจาก 8 โทเค็นต่อวินาทีในโหมดปกติเป็น 224 โทเค็นต่อวินาทีที่น่าประทับใจเมื่อเปิดใช้งานทั้ง KV cache และ compilation นี่แสดงถึงการเพิ่มประสิทธิภาพเกือบ 28 เท่า ซึ่งแสดงให้เห็นว่าเทคนิคการเพิ่มประสิทธิภาพสามารถเปลี่ยนแปลงการใช้งานของโมเดลขนาดเล็กได้อย่างไร

KV caching ทำงานโดยการจัดเก็บคู่ key-value ที่คำนวณไว้แล้วในระหว่างการสร้างข้อความ เพื่อหลีกเลี่ยงการคำนวณซ้ำซ้อน Compilation ช่วยเพิ่มประสิทธิภาพของโมเดลเพิ่มเติมโดยการแปลงโค้ด PyTorch ให้เป็นโค้ดเครื่องที่มีประสิทธิภาพมากขึ้น

การเปรียบเทียบประสิทธิภาพตามการกำหนดค่าฮาร์ดแวร์

ฮาร์ดแวร์ โหมด โทเค็น/วินาที หน่วยความจำ GPU
Mac Mini M4 CPU ปกติ 8 -
Mac Mini M4 CPU KV cache คอมไพล์แล้ว 224 -
Nvidia A100 GPU ปกติ 28 1.84 GB
Nvidia A100 GPU ปกติคอมไพล์แล้ว 128 2.12 GB
Nvidia A100 GPU KV cache คอมไพล์แล้ว 99 2.12 GB

รูปแบบประสิทธิภาพฮาร์ดแวร์ที่ไม่คาดคิด

การค้นพบที่น่าสนใจเกิดขึ้นเมื่อเปรียบเทียบการกำหนดค่าฮาร์ดแวร์ที่แตกต่างกัน Mac Mini M4 CPU ที่ได้รับการเพิ่มประสิทธิภาพจริงๆ แล้วมีประสิทธิภาพเหนือกว่า Nvidia A100 GPU ในบางสถานการณ์ โดยทำได้ 224 โทเค็นต่อวินาทีเมื่อเทียบกับ 99 โทเค็นต่อวินาทีของ A100 ด้วย KV cache compilation ผลลัพธ์ที่ขัดกับสัญชาตญาณนี้เน้นย้ำว่าโมเดลขนาดเล็กอาจไม่สามารถใช้ทรัพยากร GPU ระดับไฮเอนด์ได้อย่างเต็มที่

ชุมชนมองว่าปรากฏการณ์นี้เกิดจากขนาดที่กะทัดรัดของโมเดลที่ไม่สามารถใช้ความสามารถในการคำนวณของ GPU ได้อย่างเต็มที่ นอกจากนี้ สถาปัตยกรรมหน่วยความจำที่ใช้ร่วมกันระหว่าง CPU และ GPU บนระบบ Mac ให้ข้อได้เปรียบที่การกำหนดค่าหน่วยความจำ GPU แยกต่างหากไม่สามารถเทียบได้

การใช้งานจริงสำหรับโมเดลขนาดกะทัดรัด

แม้จะมีขนาดเล็กกว่า โมเดลพารามิเตอร์ 270M เหล่านี้แสดงให้เห็นถึงความสามารถสำหรับกรณีการใช้งานเฉพาะ สมาชิกชุมชนได้ระบุการใช้งานจริงหลายประการรวมถึงการจำแนกข้อความ การตรวจจับสแปม การสรุปเนื้อหา และงานประมวลผลภาษาธรรมชาติพื้นฐาน โมเดลเหล่านี้มีความเป็นเลิศโดยเฉพาะเมื่อปรับแต่งสำหรับงานที่แคบและเฉพาะเจาะจงมากกว่าการใช้งานทั่วไป

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

กรณีการใช้งานที่แนะนำสำหรับโมเดล 270M

  • การจำแนกประเภทและการจัดหมวดหมู่ข้อความ
  • การตรวจจับสแปมและการกรองเนื้อหา
  • การสรุปเอกสารสำหรับโดเมนเฉพาะ
  • งานการจดจำเอนทิตีที่มีชื่อ (NER)
  • การใช้เครื่องมือพื้นฐานและการเรียกใช้ฟังก์ชัน
  • การติดแท็กเนื้อหาและการตรวจจับข้อมูลซ้ำ
  • การตรวจสอบไวยากรณ์และการทำความสะอาดข้อความ
  • การแปลภาษาหลายภาษาสำหรับวลีง่าย ๆ

คุณค่าทางการศึกษาและการเข้าถึงได้

การใช้งาน PyTorch 500 บรรทัดได้สร้างความสนใจอย่างมากในหมู่นักวิจัยและนักพัฒนาที่ต้องการเข้าใจสถาปัตยกรรม transformer โค้ดเบสที่ย่อยได้ให้โอกาสในการเรียนรู้ที่ระบบขนาดใหญ่ที่มุ่งเน้นการผลิตไม่สามารถเสนอได้ การเข้าถึงได้นี้ช่วยให้สามารถทดลองกับ quantization การปรับแต่ง และเทคนิคการเพิ่มประสิทธิภาพอื่นๆ บนฮาร์ดแวร์ผู้บริโภค

โมเดลนี้ทำหน้าที่เป็นก้าวสำคัญสำหรับนักพัฒนาที่เปลี่ยนจากการเรียนรู้ของเครื่องแบบดั้งเดิมไปสู่โมเดลภาษาสมัยใหม่ โดยเสนอประสบการณ์ปฏิบัติจริงโดยไม่ต้องใช้ทรัพยากรการคำนวณที่แพง

ข้อพิจารณาการฝึกอบรมและข้อจำกัด

การฝึกอบรมโมเดลดังกล่าวตั้งแต่เริ่มต้นยังคงใช้การคำนวณอย่างเข้มข้นแม้จะมีขนาดเล็กกว่า การคำนวณของชุมชนแนะนำว่าการฝึกอบรมโมเดล 270M ที่คล้ายกันบนฮาร์ดแวร์ผู้บริโภคเช่น RTX 3090 จะต้องใช้เวลาประมาณสี่ปีในการประมวลผล 6 ล้านล้านโทเค็นทั่วไปที่ใช้ในการฝึกอบรม ความเป็นจริงนี้เสริมคุณค่าของโมเดลที่ฝึกอบรมไว้แล้วสำหรับนักพัฒนาและนักวิจัยส่วนใหญ่

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

อ้างอิง: Gemma 3 270M From Scratch