เรียกใช้การสร้างและการอนุมานเนื้อหาของ Gemma

เมื่อต้องการเรียกใช้โมเดล Gemma คุณต้องตัดสินใจ 2 เรื่องหลักๆ ดังนี้ 1) คุณต้องการเรียกใช้ Gemma เวอร์ชันใด และ 2) คุณจะใช้เฟรมเวิร์กการดำเนินการ AI ใดเพื่อเรียกใช้ ประเด็นสำคัญในการตัดสินใจทั้ง 2 อย่างนี้เกี่ยวข้องกับฮาร์ดแวร์ที่คุณและผู้ใช้มีพร้อมใช้งานเพื่อเรียกใช้โมเดล

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

เลือกเฟรมเวิร์ก

โมเดล Gemma ใช้ได้กับเครื่องมือในระบบนิเวศที่หลากหลาย การเลือก ตัวเลือกที่เหมาะสมขึ้นอยู่กับฮาร์ดแวร์ที่คุณมี (Cloud GPU เทียบกับแล็ปท็อปในเครื่อง) และอินเทอร์เฟซที่คุณต้องการ (โค้ด Python เทียบกับแอปพลิเคชันบนเดสก์ท็อป)

ใช้ตารางต่อไปนี้เพื่อระบุเครื่องมือที่เหมาะกับความต้องการของคุณได้อย่างรวดเร็ว

หากคุณต้องการ... เฟรมเวิร์กที่แนะนำ เหมาะสำหรับ
เรียกใช้ในเครื่องด้วย UI ของ Chat - LM Studio
- Ollama
ผู้เริ่มต้นหรือผู้ใช้ที่ต้องการประสบการณ์การใช้งาน "คล้าย Gemini" บนแล็ปท็อป
ทำงานได้อย่างมีประสิทธิภาพใน Edge - Gemma.cpp
- LiteRT-LM
- llama.cpp
- MediaPipe LLM Inference API
- MLX
การอนุมานในเครื่องที่มีประสิทธิภาพสูงโดยใช้ทรัพยากรน้อยที่สุด
สร้าง/ฝึกใน Python - ไลบรารี Gemma สำหรับ JAX
- Hugging Face Transformers
- Keras
- PyTorch
- Unsloth
นักวิจัยและนักพัฒนาที่สร้างแอปพลิเคชันที่กำหนดเองหรือปรับแต่งโมเดล
ติดตั้งใช้งานในเวอร์ชันที่ใช้งานจริง / ระดับองค์กร - Google Cloud Kubernetes Engine (GKE)
- Google Cloud Run
- Vertex AI
- vLLM
การติดตั้งใช้งานระบบคลาวด์ที่มีการจัดการและปรับขนาดได้พร้อมการรักษาความปลอดภัยระดับองค์กรและการรองรับ MLOps

รายละเอียดเฟรมเวิร์ก

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

1. การอนุมานบนเดสก์ท็อปและในเครื่อง (ประสิทธิภาพสูง)

เครื่องมือเหล่านี้ช่วยให้คุณเรียกใช้ Gemma ในฮาร์ดแวร์สำหรับผู้บริโภค (แล็ปท็อป เดสก์ท็อป) ได้โดย ใช้รูปแบบที่เพิ่มประสิทธิภาพ (เช่น GGUF) หรือตัวเร่งฮาร์ดแวร์ที่เฉพาะเจาะจง

  • LM Studio: แอปพลิเคชันเดสก์ท็อปที่ให้คุณดาวน์โหลดและ แชทกับโมเดล Gemma ในอินเทอร์เฟซที่ใช้งานง่าย และไม่ต้องเขียนโค้ดให้ยุ่งยาก
  • llama.cpp: พอร์ต C++ แบบโอเพนซอร์สยอดนิยมของ Llama (และ Gemma) ที่ทำงานบน CPU และ Apple Silicon ได้อย่างรวดเร็ว
  • LiteRT-LM: มีอินเทอร์เฟซบรรทัดคำสั่ง (CLI) เพื่อเรียกใช้โมเดล .litertlm Gemma ที่ได้รับการเพิ่มประสิทธิภาพบนเดสก์ท็อป (Windows, Linux, macOS) ซึ่งขับเคลื่อนโดย LiteRT (เดิมคือ TFLite)
  • MLX: เฟรมเวิร์กที่ออกแบบมาโดยเฉพาะสำหรับแมชชีนเลิร์นนิงบน Apple Silicon เหมาะสำหรับผู้ใช้ Mac ที่ต้องการประสิทธิภาพในตัว
  • Gemma.cpp: เครื่องมืออนุมาน C++ แบบสแตนด์อโลนที่มีน้ำหนักเบา จาก Google โดยเฉพาะ
  • Ollama: เครื่องมือสำหรับเรียกใช้ LLM แบบเปิดในเครื่อง ซึ่งมักใช้เพื่อขับเคลื่อน แอปพลิเคชันอื่นๆ

2. การพัฒนา Python (การวิจัยและการปรับแต่ง)

เฟรมเวิร์กมาตรฐานสำหรับนักพัฒนา AI ที่สร้างแอปพลิเคชัน ไปป์ไลน์ หรือ โมเดลการฝึก

  • Hugging Face Transformers: มาตรฐานอุตสาหกรรมสำหรับ การเข้าถึงโมเดลและไปป์ไลน์อย่างรวดเร็ว
  • Unsloth: ไลบรารีที่เพิ่มประสิทธิภาพสำหรับการปรับแต่ง LLM ซึ่งช่วยให้คุณฝึกโมเดล Gemma ได้เร็วขึ้น 2-5 เท่าโดยใช้หน่วยความจำน้อยลงอย่างมาก ทำให้สามารถปรับแต่งโมเดลบน GPU สำหรับผู้บริโภค (เช่น ระดับฟรีของ Google Colab)
  • Keras / JAX / PyTorch: ไลบรารีหลัก สำหรับการวิจัยการเรียนรู้เชิงลึกและการติดตั้งใช้งานสถาปัตยกรรมที่กำหนดเอง

3. การติดตั้งใช้งานบนอุปกรณ์เคลื่อนที่และอุปกรณ์ Edge (ในอุปกรณ์)

เฟรมเวิร์กที่ออกแบบมาเพื่อเรียกใช้ LLM โดยตรงบนอุปกรณ์ของผู้ใช้ (Android, iOS, เว็บ) โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต ซึ่งมักจะใช้ NPU (หน่วยประมวลผลนิวรอน)

  • LiteRT-LM: เฟรมเวิร์กโอเพนซอร์สเต็มรูปแบบสำหรับการพัฒนา LLM ในอุปกรณ์ ซึ่งให้ประสิทธิภาพสูงสุดและการควบคุมแบบละเอียด พร้อมรองรับการเร่งความเร็ว CPU, GPU และ NPU บน Android และ iOS โดยตรง
  • MediaPipe LLM Inference API: วิธีที่ง่ายที่สุดในการผสานรวม Gemma เข้ากับแอปข้ามแพลตฟอร์ม โดยมี API ระดับสูงที่ทำงานได้ใน Android, iOS และเว็บ

4. การติดตั้งใช้งานในระบบคลาวด์และการติดตั้งใช้งานจริง

บริการที่มีการจัดการสำหรับการปรับขนาดแอปพลิเคชันให้รองรับผู้ใช้หลายพันคนหรือการเข้าถึง พลังการประมวลผลมหาศาล

  • Vertex AI: แพลตฟอร์ม AI ที่มีการจัดการเต็มรูปแบบของ Google Cloud เหมาะสำหรับแอปพลิเคชันระดับองค์กรที่ต้องมี SLA และการปรับขนาด
  • Google Cloud Kubernetes Engine (GKE): สำหรับการจัดระเบียบคลัสเตอร์การแสดงผลของคุณเอง
  • vLLM: เครื่องมืออนุมานและแสดงผลที่มีปริมาณงานสูงและประหยัดหน่วยความจำ ซึ่งมักใช้ในการติดตั้งใช้งานระบบคลาวด์

ตรวจสอบว่าเฟรมเวิร์กที่คุณเลือกนั้นรองรับรูปแบบโมเดล Gemma ที่คุณต้องการใช้งาน เช่น รูปแบบ Keras ในตัว รูปแบบ Safetensors หรือ GGUF

เลือกโมเดล Gemma

โมเดล Gemma มีให้ใช้งานในหลายเวอร์ชันและหลายขนาด ซึ่งรวมถึงโมเดล Gemma หลักหรือโมเดลพื้นฐาน และโมเดลเวอร์ชันที่มีความเชี่ยวชาญมากขึ้น เช่น PaliGemma และ DataGemma รวมถึงโมเดลอีกมากมายที่ชุมชนนักพัฒนา AI สร้างขึ้นบนเว็บไซต์ต่างๆ เช่น Kaggle และ Hugging Face หากไม่แน่ใจว่าควรเริ่มต้นด้วยโมเดลใด ให้เลือกโมเดล Gemma Core ล่าสุดที่ได้รับการปรับแต่งตามคำสั่ง (IT) ซึ่งมีจำนวนพารามิเตอร์น้อยที่สุด โมเดล Gemma ประเภทนี้มีข้อกำหนดด้านการประมวลผลต่ำและสามารถตอบกลับพรอมต์ได้หลากหลายโดยไม่ต้องมีการพัฒนาเพิ่มเติม

โปรดพิจารณาปัจจัยต่อไปนี้เมื่อเลือกรุ่น Gemma

  • Gemma หลัก และตระกูลโมเดลอื่นๆ เช่น PaliGemma, CodeGemma แนะนำ Gemma (หลัก) โมเดล Gemma นอกเหนือจากเวอร์ชันหลักมี สถาปัตยกรรมเดียวกับโมเดลหลัก และได้รับการฝึกให้ทำงานได้ดีขึ้นใน งานที่เฉพาะเจาะจง หากแอปพลิเคชันหรือเป้าหมายของคุณไม่สอดคล้องกับ ความเชี่ยวชาญของ Gemma เวอร์ชันใดเวอร์ชันหนึ่งโดยเฉพาะ คุณควรเริ่มต้นด้วยโมเดลหลักหรือโมเดลพื้นฐานของ Gemma
  • ปรับแต่งตามคำสั่ง (IT), ฝึกไว้ล่วงหน้า (PT), ปรับแต่ง (FT), แบบผสม (mix): แนะนํา IT
    • Gemma ที่ได้รับการปรับแต่งตามคำสั่ง (IT) คือโมเดลที่ได้รับการฝึกให้ตอบสนองต่อคำสั่งหรือคำขอที่หลากหลายในภาษาของมนุษย์ โมเดลเวอร์ชันเหล่านี้เป็นจุดเริ่มต้นที่ดีที่สุด เนื่องจากสามารถตอบกลับพรอมต์ได้โดยไม่ต้องฝึกโมเดลเพิ่มเติม
    • Gemma ที่ฝึกล่วงหน้า (PT) คือโมเดลที่ได้รับการฝึกให้ทำการอนุมานเกี่ยวกับภาษาหรือข้อมูลอื่นๆ แต่ยังไม่ได้รับการฝึกให้ทำตามคำสั่งของมนุษย์ โมเดลเหล่านี้ต้องมีการฝึกหรือปรับแต่งเพิ่มเติมเพื่อให้ทำงานได้อย่างมีประสิทธิภาพ และมีไว้สำหรับนักวิจัยหรือนักพัฒนาซอฟต์แวร์ที่ต้องการศึกษาหรือ พัฒนาความสามารถของโมเดลและสถาปัตยกรรมของโมเดล
    • Gemma ที่ได้รับการปรับแต่ง (FT) อาจถือเป็นรุ่นไอที แต่โดยทั่วไปจะได้รับการฝึกให้ทำงานเฉพาะเจาะจง หรือทำงานได้ดี ในการทดสอบประสิทธิภาพ Generative AI ที่เฉพาะเจาะจง ตระกูลโมเดล PaliGemma มีโมเดล FT หลายรายการ
    • แบบผสม (mix) ของ Gemma คือโมเดล PaliGemma เวอร์ชันต่างๆ ที่ได้รับการปรับแต่งตามคำสั่งด้วยคำสั่งที่หลากหลายและ เหมาะสำหรับการใช้งานทั่วไป
  • พารามิเตอร์: แนะนำให้ใช้หมายเลขที่เล็กที่สุดที่ใช้ได้ โดยทั่วไปแล้ว ยิ่งโมเดลมีพารามิเตอร์มากเท่าใด ก็ยิ่งมีความสามารถมากขึ้นเท่านั้น อย่างไรก็ตาม การเรียกใช้โมเดลขนาดใหญ่ขึ้นต้องใช้ทรัพยากรการประมวลผลที่ใหญ่ขึ้นและซับซ้อนมากขึ้น และโดยทั่วไปจะทำให้การพัฒนาแอปพลิเคชัน AI ช้าลง หากยังไม่ได้พิจารณาว่าโมเดล Gemma ขนาดเล็กไม่ตอบโจทย์ความต้องการของคุณ ให้เลือกโมเดลที่มีพารามิเตอร์จำนวนน้อย
  • ระดับการหาปริมาณ: แนะนำให้ใช้ความแม่นยำครึ่งหนึ่ง (16 บิต) ยกเว้น การปรับแต่ง การควอนไทซ์เป็นหัวข้อที่ซับซ้อนซึ่งสรุปได้ว่าขนาดและความแม่นยำของข้อมูล และส่งผลให้โมเดล Generative AI ใช้หน่วยความจำเท่าใดในการคำนวณและสร้างคำตอบ หลังจากฝึกโมเดล ด้วยข้อมูลที่มีความแม่นยำสูง ซึ่งโดยทั่วไปคือข้อมูลทศนิยมแบบ 32 บิต แล้ว คุณจะแก้ไขโมเดลอย่าง Gemma ให้ใช้ข้อมูลที่มีความแม่นยำต่ำกว่า เช่น ขนาด 16, 8 หรือ 4 บิต ได้ โมเดล Gemma ที่มีการควอนไทซ์เหล่านี้ยังคงทำงานได้ดี ขึ้นอยู่กับความซับซ้อนของงาน ขณะที่ใช้ทรัพยากรการคำนวณและหน่วยความจำน้อยลงอย่างมาก อย่างไรก็ตาม เครื่องมือสำหรับการปรับแต่งโมเดลที่ผ่านการควอนไทซ์มี ข้อจำกัดและอาจไม่พร้อมใช้งานภายในเฟรมเวิร์กการพัฒนา AI ที่คุณเลือก โดยปกติแล้ว คุณต้องปรับแต่งโมเดลอย่าง Gemma ที่ความแม่นยำเต็มรูปแบบ แล้วจึงจะทําการหาปริมาณโมเดลที่ได้

ดูรายการโมเดล Gemma ที่สำคัญซึ่ง Google เผยแพร่ได้ที่หัวข้อ เริ่มต้นใช้งานโมเดล Gemma รายการโมเดล Gemma

เรียกใช้คำขอการสร้างและการอนุมาน

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

การจัดรูปแบบพรอมต์

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