แอปอัจฉริยะ

เจาะลึก Gemini Nano และ Gemma 4 ที่ขับเคลื่อนระบบอัจฉริยะในอุปกรณ์

ลำโพง

  • Sara Smoot

    หัวหน้าฝ่ายวิศวกรรมของ Gemma

เกี่ยวกับ

เกี่ยวกับการเสวนา

Gemma 4 นำ AI แบบหลายรูปแบบที่มีความสามารถมาสู่อุปกรณ์ Android โดยตรง ในเซสชันนี้ เราจะติดตามวิวัฒนาการของ Gemma จนกลายเป็นตระกูลโมเดลที่สร้างขึ้นเพื่อประสิทธิภาพ และสำรวจสิ่งที่โมเดล E2B และ E4B ที่เพิ่มประสิทธิภาพ Edge สามารถทำได้ในอุปกรณ์ ตั้งแต่การทำความเข้าใจภาพและเสียงไปจนถึงการเรียกใช้ฟังก์ชันแบบ Agent เราจะพูดถึงสถาปัตยกรรมที่อยู่เบื้องหลังประสิทธิภาพดังกล่าว ซึ่งรวมถึง Per-Layer Embeddings (PLE) และแสดงให้เห็นว่า Gemma และ Gemini Nano ทำงานร่วมกันผ่าน AICore อย่างไร คุณจะได้เรียนรู้วิธีที่การฝึกที่คำนึงถึงการแปลงค่า (QAT) ช่วยรักษาความสามารถของโมเดลภายในพื้นที่ RAM ขนาด 1.1-3.5 GB ขณะที่การคาดการณ์แบบหลายโทเค็น (MTP) ช่วยเร่งความเร็วในการถอดรหัสได้ 1.5-3 เท่าเพื่อประสบการณ์การใช้งานแบบเรียลไทม์ที่ตอบสนองได้รวดเร็ว

สรุป

  • โมเดล Gemma 4 ขยายความสามารถในการประมวลผลข้อมูลหลายรูปแบบในอุปกรณ์ด้วยบริบท 128,000 โทเค็นใน E2B/E4B ภายใต้ใบอนุญาต Apache 2
  • โมเดลร่างการคาดการณ์แบบหลายโทเค็นช่วยลดเวลาในการตอบสนองของการถอดรหัสได้ 40% และประหยัดพลังงานได้ 30% ถึง 40% โดยจะแชร์แคช KV ของโมเดลพื้นฐานเพื่อหลีกเลี่ยงการสร้าง Prefill ใหม่
  • การฝึกที่คำนึงถึงการทำ Quantization จะบีบอัดจุดตรวจสอบการทำ Quantization บนอุปกรณ์เคลื่อนที่ที่กำหนดเองให้มีขนาดต่ำกว่า 1 GB โดยใช้การทำ Quantization แบบ 2 บิตที่กำหนดเป้าหมาย
  • แอปพลิเคชัน Android สามารถผสานรวมโมเดลต่างๆ ได้โดยไม่ต้องดำเนินการใดๆ ผ่าน AICore เป็น Gemini Nano 4 หรือรวมโมเดลเหล่านั้นเข้ากับ LiteRT เพื่อปรับแต่งอย่างละเอียดตามต้องการ

แหล่งข้อมูล

Gemini Notebook

หัวข้อ

  • gemini-nano
  • gemma-4
  • on-device-ai
  • mobile-ml
  • aicore
  • litert
  • การแปลงค่าต่อเนื่องเป็นค่าไม่ต่อเนื่อง

ข้อความถอดเสียง

ข้อมูลเบื้องต้นและวิวัฒนาการของโมเดล Gemma

  • Sara Smoot

    สวัสดี ยินดีต้อนรับสู่การพูดคุย

  • ฉันชื่อ Sara เป็นหัวหน้าฝ่ายวิศวกรรมของ Gemma ในด้านการสร้างโมเดล

  • ดังนั้น สิ่งที่ฉันจะมาพูดคุยกับคุณในวันนี้คือโมเดลของเรา

  • เราจะพูดถึงความสามารถและวิธีที่เราคิดเกี่ยวกับการออกแบบสำหรับอุปกรณ์เคลื่อนที่

  • ผมจะพูดถึงเทคนิคที่เราสร้างขึ้นในโมเดลเพื่อให้ทำงานได้อย่างมีประสิทธิภาพบนอุปกรณ์เคลื่อนที่

  • เราจะอธิบายวิธีเข้าถึงและวิธีผสานรวมกับ AICore

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

  • ดังนั้น การจะเข้าใจว่าเรากำลังจะไปที่ใดนั้น การเข้าใจว่าเราเคยอยู่ที่ใดมาก่อนจะช่วยได้

  • เราเปิดตัว Gemma 1 ในปี 2024

  • เราเปิดตัวโมเดลพารามิเตอร์ขนาด 2 พันล้านและ 7 พันล้านรายการ ซึ่งเป็นแบบข้อความเท่านั้น และมีขนาดเล็กมากเมื่อเทียบกับสิ่งที่เกิดขึ้นในขณะนั้น

  • หลังจาก Gemma 1 เราได้เปิดตัว Gemma 2 ซึ่งมีความสามารถเพิ่มเติมบางอย่าง

  • เราได้เปิดตัวการเขียนโค้ด

  • นอกจากนี้ เรายังเปิดตัวโมเดลขนาดใหญ่อย่าง 27B ซึ่งขยายขีดความสามารถของซีรีส์ Gemma ได้อย่างมาก

  • หลังจากนั้นไม่นาน Gemma 3 ก็เปิดตัว

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

  • ดังนั้นในแต่ละรุ่น ความสามารถของเราจึงเพิ่มขึ้น และนั่นเป็นความตั้งใจ

  • สิ่งที่เรากำลังทำคือการออกแบบสำหรับฮาร์ดแวร์อุปกรณ์เดียว และเราพยายามที่จะ... หมายถึงรวมถึงโทรศัพท์ แล็ปท็อป GPU และเป้าหมายของเราไม่ใช่การสร้างโมเดลที่ใหญ่ขึ้น แม้ว่าเราจะเพิ่มเป็น 12B ถึง 27B แต่เป้าหมายของเราคือการใส่ความสามารถมากขึ้นในแต่ละเวอร์ชันลงในพื้นที่เท่าเดิม เพราะเราต้องการให้อยู่ในอุปกรณ์ เราต้องการให้อยู่ในเครื่อง

  • เราจึงได้สร้างประสิทธิภาพที่ดีขึ้น

  • และผมจะพูดถึงสิ่งที่เราทำกับ Gemma 4 โดยเฉพาะและวิธีที่เราทำ

  • เราเปิดตัว E2B (ซึ่งจะอธิบายความหมายของ "E" ในอีกสักครู่) เปิดตัว E4B เปิดตัวโมเดลแบบรวม 12B (ซึ่งจะอธิบายเหตุผลที่ทำเช่นนั้น) และยังเปิดตัวโมเดล MoE ด้วย

  • ทั้งหมดนี้เพื่อช่วยพิสูจน์ประสิทธิภาพและช่วยให้นักพัฒนาแอปมีความยืดหยุ่นมากขึ้นสำหรับแอปและสิ่งที่ต้องการสร้าง

  • เมื่อพิจารณาความสามารถอย่างละเอียดมากขึ้น คุณจะเห็นความสามารถที่เราได้เพิ่มเข้ามาเมื่อเวลาผ่านไป

  • มี 2-3 ประเด็นที่อยากจะพูดถึง นั่นคือความยาวของบริบท

  • เราได้เพิ่มความยาวบริบทที่ยาวกว่า Gemma เวอร์ชันก่อนหน้ามาก

  • Gemma 4 มีบริบทสูงสุด 128,000 รายการ

  • ส่วนโมเดลขนาดใหญ่จะรองรับได้สูงสุด 256 รายการ

  • โปรดทราบว่า ML Kit มีการจำกัดความยาวบริบท ดังนั้นโปรดตรวจสอบงบประมาณก่อนที่จะคาดหวังว่าจะเปิดตัวด้วย 128

  • แต่ก็น่าจะเพียงพอสำหรับการอ่านเอกสารขนาดยาว การให้เหตุผลแบบขยาย การเรียกใช้ฟังก์ชัน และยังให้โควต้าเพียงพอสำหรับการทำงานแบบหลายรูปแบบ การใช้ภาพและเสียง

  • วิดีโอเป็นความสามารถใหม่ที่เราเพิ่มเข้ามา โดยเริ่มตั้งแต่ Gemma 3n และเราได้ให้ความสำคัญกับวิดีโอมากขึ้นใน Gemma 4

  • ตอนนี้เราจึงมีการรองรับหลายภาษา

  • เรายังคงฝึกโมเดลในหลายภาษา ดังนั้นคุณจึงมีทั้งการรองรับภาษาในตัวและการรองรับที่ฝึกไว้ล่วงหน้า

  • และทั้งหมดนี้มาพร้อมกับใบอนุญาต Apache 2 ใหม่ล่าสุด ซึ่งเราตื่นเต้นมาก เพราะจะช่วยให้คุณสร้างสิ่งต่างๆ ได้อย่างยืดหยุ่นมากขึ้น และยังช่วยลดอุปสรรคได้มากด้วย

  • การสร้างและดาวน์โหลดโมเดลจะราบรื่นยิ่งขึ้น

ความสามารถและการเปรียบเทียบแบบหลายโมดัล

  • Sara Smoot

    เอาล่ะ แล้วเราจะทำอะไรกับวิสัยทัศน์ได้บ้าง

  • วิสัยทัศน์สำหรับ Gemma 4 โดยเฉพาะคือมีสัดส่วนภาพที่หลากหลาย

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

  • ซึ่งหมายความว่าข้อความและวัตถุจะไม่บิดเบี้ยว

  • ซึ่งช่วยเพิ่มความสามารถของโมเดลได้อย่างมาก

  • รูปร่างจะยังคงเหมือนเดิม และ OCR ได้รับการปรับปรุงอย่างมากด้วยสัดส่วนภาพที่หลากหลายนี้

  • นอกจากนี้ Vision ยังอ่านแผนภูมิ สเปรดชีต และกราฟได้ด้วย

  • นอกจากนี้ยังแปลจากภาพได้ด้วย คุณจึงถ่ายภาพคำต่างๆ แล้วระบบจะแปลคำเหล่านั้นให้คุณ

  • นอกจากนี้ ยังให้เหตุผลเกี่ยวกับโลกกายภาพได้ด้วย

  • มันสามารถดูรูปภาพ เข้าใจว่าสิ่งต่างๆ อยู่ตรงไหน และเข้าใจว่ามีอะไรอยู่ในรูปภาพ

  • ทำได้หลายอย่างเลย

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

  • ดังนั้น ตอนนี้ฉันหมายถึงให้ตรวจสอบและดูว่ามีอะไรอยู่ใน ML Toolkit แต่คุณมีช่วงที่กว้างมาก

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

  • หากคุณ หากนั่นไม่ใช่ Use Case ที่คุณต้องการใช้ประโยชน์จริงๆ คุณสามารถลดงบประมาณโทเค็นรูปภาพลงได้ค่อนข้างมาก และเรียกคืนพลังงานจำนวนมากนั้นกลับมา และคุณก็ทราบดีว่าในรอบการประมวลผลโมเดลสำหรับแอปพลิเคชันข้อความของคุณ

  • เสียงเป็นโหมดที่ค่อนข้างใหม่สำหรับเรา

  • เราเปิดตัวฟีเจอร์นี้เป็นครั้งแรกใน Gemma 3n

  • ตอนนี้เรากำลังมุ่งเน้นไปที่เรื่องนี้อย่างเต็มที่สำหรับ Gemma 4

  • เสียงจะมีเฉพาะในโมเดลขนาดเล็กที่สุดของเรา ซึ่งได้แก่ E2B, E4B และโมเดล 12B

  • โดยจะถอดเสียงทั้งหมดตามไฟล์เสียง

  • โดยจะแปลเสียงพูด

  • โดยรองรับภาษามากกว่า 35 ภาษาตั้งแต่แกะกล่อง

  • นอกจากนี้ เรายังฝึกโมเดลล่วงหน้าในภาษาต่างๆ กว่า 140 ภาษา ดังนั้นหากคุณต้องการใช้ภาษาที่ไม่ได้อยู่ใน 35 ภาษาของเรา คุณควรปรับแต่งและรับการสนับสนุนที่ดีสำหรับภาษาที่ไม่ได้รองรับตั้งแต่แรก

  • เราได้เพิ่มการให้เหตุผลแบบ Agentic

  • ซึ่งเป็นฟีเจอร์ใหม่ใน Gemma 4 ด้วย

  • วางแผน

  • โดยจะทำงานแบบหลายขั้นตอน

  • ใช้เครื่องมือ

  • โดยจะทำตามคำสั่งอย่างแม่นยำ

  • โดยจะแสดงผลเป็น JSON ที่มีโครงสร้าง

  • ซึ่งสามารถทำทุกอย่างที่คุณคาดหวังจากโมเดลที่ทำงานแบบ Agent ได้

  • ฉันจะบอกว่าให้ดูที่ ตรวจสอบว่าคุณใช้ หากคุณกำลังทำ หากคุณไม่ได้ใช้ ML Toolkit คุณกำลังทำสิ่งต่างๆ ด้วยตัวเอง โปรดตรวจสอบว่าคุณให้ความสนใจกับเทมเพลตแชท

  • เทมเพลตแชทเป็นเรื่องที่ซับซ้อน

  • จึงต้องใช้งานอย่างระมัดระวัง

  • หากคุณใช้ ML Toolkit ระบบจะดำเนินการทั้งหมดนี้ให้คุณ

  • และสุดท้าย Gemma ยังคงมอบความสามารถในการทำความเข้าใจข้อความที่ยอดเยี่ยม

  • และด้วยบริบทที่ยาวขึ้น ตอนนี้เราจึงสามารถวิเคราะห์โค้ด เอกสารที่มีความยาว และแปลภาษาได้

  • ที่จริงแล้ว Android Studio รองรับ Gemma 4 ในโหมดออฟไลน์ด้วยฟังก์ชันการเขียนโค้ด

  • ดังนั้น หากต้องการใช้ Android Studio แบบออฟไลน์ ระบบจะใช้ Gemma 4 เพื่อทำงานเขียนโค้ด

  • ประเด็นสำคัญคือ E2B และ E4B มีขนาดเล็กพอที่จะใส่และทำงานได้ดีในโทรศัพท์ของคุณ

  • ดังนั้นจึงมีความสามารถมากมายที่อัดแน่นอยู่ในอุปกรณ์ขนาดเล็กมาก

  • ซึ่งเป็นความท้าทายด้านวิศวกรรมที่ยากมาก ทีม Gemma จึงภูมิใจกับเรื่องนี้มาก

  • ตัวอย่างความสามารถมีดังนี้

  • ทางด้านซ้าย เราแสดงให้เห็นว่าโมเดลสามารถค้นหาแล็ปท็อปและแสดงพิกัดของแล็ปท็อปได้

  • จากนั้นแอปจะสามารถวาดตัวชี้เพื่อแสดงตำแหน่งของแล็ปท็อปได้

  • ตรงกลาง โมเดลสามารถระบุวัตถุแล้ววาดกรอบล้อมรอบวัตถุเหล่านั้น

  • ซึ่งสามารถนำไปประยุกต์ใช้ได้อย่างน่าสนใจ เช่น การตรวจจับออบเจ็กต์ การหลบหลีกวัตถุ

  • ซึ่งเป็นความสามารถที่ดีมาก

  • ทางด้านขวาแสดงให้เห็นว่าโมเดลสามารถอ่านข้อความได้อย่างไร

  • ดังนั้นจึงแปลได้ว่า "ระวัง มีแมว"

  • นอกจากนี้ยังเข้าใจสิ่งที่เกิดขึ้นในรูปภาพ และเห็นแมวตัวนี้ในท่าทางที่ตลกมาก และสามารถแปลและชี้ให้เห็นว่านี่คือมุกตลกที่ข้อความด้านล่างเขียนว่า "บางอย่างอาจเกิดขึ้น"

  • ซึ่งฉันคิดว่าก็น่ารักดี

  • ดังนั้น การชี้ การตรวจจับออบเจ็กต์ การทำ OCR และการแปล ทั้งหมดนี้ทำได้โดยไม่ต้องใช้ไปป์ไลน์การมองเห็นพิเศษ

  • เอาล่ะ มาดูตัวเลขการประเมินกัน

  • คุณก็รู้ว่าการแสดงให้เห็นถึงความสามารถเป็นสิ่งสำคัญเสมอ แต่หลายคนก็มองว่าสิ่งเหล่านี้เป็นสิ่งที่แสดงให้เห็นถึงจุดแข็งของโมเดล

  • หากดูที่ 2 คอลัมน์สุดท้าย E2B มีประสิทธิภาพเหนือกว่า Gemma 3 27B ซึ่งเป็นโมเดลที่ใหญ่กว่ามากในด้านการให้เหตุผล การเขียนโค้ด และการทำงานแบบ Agentic

  • ลองดู LiveCodeBench

  • เราได้ 44 คะแนนสำหรับ Gemma 4 เทียบกับ 29 คะแนนสำหรับ Gemma 3 27B

  • นอกจากนี้ AIME ยังสูงกว่ามากด้วย

  • Tau2 ซึ่งเป็นการประเมินแบบ Agentic ก็สูงกว่ามากเช่นกัน ซึ่งแสดงให้เห็นถึงความสามารถที่ยอดเยี่ยมในด้านนี้

  • หากเราเพิ่มพารามิเตอร์อีกเพียงไม่กี่รายการ โมเดล E4B ของเราจะเอาชนะโมเดล 27B ได้อย่างชัดเจนในทุกการเปรียบเทียบ

  • ดังนั้นเมื่อเปลี่ยนจาก Gemma 3 เป็น Gemma 4 เราจึงได้เพิ่มความสามารถเข้าไปอีกมากมายในพารามิเตอร์จำนวนเท่าเดิม

สถาปัตยกรรมฮาร์ดแวร์และโมเดลในอุปกรณ์

  • Sara Smoot

    แล้วเราจะทำอย่างไร

  • การทำให้โมเดลมีความสามารถมากขึ้นโดยไม่ทำให้มีขนาดใหญ่ขึ้นเป็นปัญหาที่ท้าทาย

  • หากพิจารณาเฉพาะฮาร์ดแวร์ โทรศัพท์จะมีหน่วยความจำน้อยกว่ามาก

  • คือเรากำลังดูที่ 12-16 GB เทียบกับ 80 กว่าๆ ที่คุณอาจได้รับจากเซิร์ฟเวอร์

  • นอกจากนี้ แบนด์วิดท์ยังน้อยกว่ามากด้วย โดยอยู่ที่ 50-80 GB เทียบกับเทราไบต์ที่คุณจะได้รับในเซิร์ฟเวอร์

  • และยังมีข้อจำกัดด้านพลังงานที่รุนแรงอีกด้วย

  • ดังนั้นเราจึงต้องคำนึงถึงสิ่งเหล่านี้ทั้งหมดในขณะที่ใช้โมเดล

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

  • สิ่งแรกที่เราทำคือเราไม่ได้ใช้สถาปัตยกรรมเดียวสำหรับแต่ละขนาด

  • โมเดลแต่ละขนาดจะมีสถาปัตยกรรมแยกต่างหากของตัวเอง

  • ดังนั้น E2B และ E4B จึงมีองค์ประกอบพิเศษบางอย่าง ซึ่งฉันจะเน้นเป็นหลักในช่วงที่เหลือของการพูดคุย แต่ฉันคิดว่าการทราบว่าโมเดล 12B ของเราไม่มีตัวเข้ารหัสการมองเห็นนั้นมีประโยชน์

  • ดังนั้นในโมเดลนี้ เราจึงนำโปรแกรมเปลี่ยนไฟล์ภาพออกเพื่อลดความซับซ้อนในการติดตั้งใช้งานและลดจำนวนพารามิเตอร์ที่โมเดลต้องการ

  • โดยปกติแล้วทีมนี้จะมุ่งเน้นไปที่ฮาร์ดแวร์แล็ปท็อปของเรา

  • โมเดลขนาดใหญ่ของเรามีไว้เพื่อแสดงให้เห็นถึงความสามารถสูงสุด

  • โมเดลเหล่านี้มีทั้งแบบ Dense เต็มรูปแบบและแบบ Mixture of Experts

  • โมเดล Mixture of Experts ยังทำงานบนแล็ปท็อปได้ด้วย และเราสร้างโมเดลนี้ขึ้นเนื่องจากเวลาในการตอบสนองที่ต่ำกว่าซึ่งคุณจะได้รับจากสถาปัตยกรรม Expert

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

  • เอาล่ะ นี่คือที่มาของตัว "E" ซึ่งก็คือ Per-Layer Embeddings

  • นี่เป็นเทคนิคที่น่าสนใจที่เรามี ซึ่งเป็นเทคนิคที่สร้างสรรค์ที่เราได้เพิ่มลงในโมเดล

  • และหากคุณนึกถึงวิธีการทำงานของโมเดล โมเดลต้องการพารามิเตอร์มากขึ้นเพื่อให้ฉลาดขึ้น

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

  • PLE จึงเข้ามาช่วยโดยบอกว่า "เราต้องการพารามิเตอร์เพิ่มเติม"

  • แต่แทนที่จะเพิ่มพารามิเตอร์ลงในโมเดลโดยตรง เรามีตารางการฝังเพิ่มเติม

  • และระบบจะอ่านตารางการฝังนี้สำหรับแต่ละเลเยอร์

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

  • ดังนั้นสิ่งที่โมเดลนี้ทำคือให้โมเดลพารามิเตอร์ 2 พันล้านรายการที่มีประสิทธิภาพ แม้ว่าจำนวนพารามิเตอร์จะมากกว่านั้นเล็กน้อยก็ตาม

  • เราจึงเรียกโมเดลนี้ว่ามีพารามิเตอร์ที่มีประสิทธิภาพ 2 พันล้านรายการ เพราะระบบจะโหลดพารามิเตอร์เพียง 2 พันล้านรายการลงในหน่วยความจำ

  • โดยทั่วไปแล้ว ตารางการฝังจะบันทึกไว้ใน Flash ไม่ใช่ RAM

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

  • นอกจากนี้ยังใช้ RAM ในอุปกรณ์น้อยลงด้วย

  • สิ่งถัดไปที่เราเพิ่มเข้ามาคือโมเดลร่างคำตอบ

  • โมเดลร่างที่เราใช้สำหรับ Gemma คือโมเดลการคาดการณ์แบบหลายโทเค็น

  • และเป็นรูปแบบหนึ่งของการถอดรหัสแบบคาดเดา

  • ซึ่งจะช่วยให้คุณคาดการณ์โทเค็นต่อการส่งผ่านได้มากกว่าโมเดลการถดถอยอัตโนมัติทั่วไป

  • ดังนั้น แทนที่จะให้โมเดลแบบ Autoregressive ทั่วไปทำทีละโทเค็น คุณต้องผ่านโมเดลทั้งหมดทุกโทเค็น

  • สิ่งที่โมเดลร่างหรือ MTP ทำคือจะคาดการณ์โทเค็นครั้งละ 3-4 รายการ จากนั้นเราจะใช้โมเดลหลักเพื่อตรวจสอบโทเค็นเหล่านั้น

  • และหากระบบยอมรับโทเค็นเหล่านั้น โทเค็นก็จะถูกนำไปใช้ และโดยปกติแล้วเราจะได้รับโทเค็น 2, 3, 4 รายการต่อการส่ง 1 ครั้ง แทนที่จะได้รับโทเค็นเพียงรายการเดียวในแต่ละครั้ง

  • ซึ่งเป็นเทคนิคที่ใช้กันโดยทั่วไป

  • โมเดล Drafter พร้อมให้ใช้งานแล้ว

  • สิ่งที่เราทำซึ่งแตกต่างและพิเศษสำหรับ Gemma คือเราแชร์ KV Cache จากโมเดลพื้นฐาน

  • ดังนั้นสำหรับ E2B เราจะทำการเติมข้อมูลล่วงหน้าทั้งหมด สร้างแคชขึ้นมา แล้วโมเดลร่างของเราจะใช้แคช KV นั้น

  • ดังนั้นคุณจึงประหยัดเวลาได้ประมาณ 130 มิลลิวินาทีสำหรับพรอมต์ 100 โทเค็น 1, 000 โทเค็น เนื่องจากคุณไม่ต้องสร้างการเติมล่วงหน้าใหม่สำหรับโมเดลร่าง

  • โมเดลร่างของเราจึงเร็วกว่าโมเดลร่างอื่นๆ ประมาณ 30-40 เท่า

  • หากดูตัวเลข คุณจะเห็นความเร็วที่เพิ่มขึ้นเมื่อใช้โมเดลร่าง

  • เรามีอัตราการยอมรับสูงกว่าโมเดลร่างส่วนใหญ่ถึง 40-60%

  • เรามีเวลาในการตอบสนองการถอดรหัสที่ต่ำลง 40% 40 40% โดยใช้โมเดลร่าง และเรายังใช้พลังงานน้อยลง 30% ถึง 40% โดยใช้โมเดลร่างนี้

  • คุณจึงได้รับการตอบสนองที่รวดเร็วขึ้น อายุการใช้งานแบตเตอรี่ที่ยาวนานขึ้น และไม่ต้องเปลี่ยนแปลงโค้ดใดๆ

  • เครื่องมือนี้ค่อนข้างตรงไปตรงมาและมีเอกสารสนับสนุนที่ดี

เทคนิคการทำ Quantization และการเพิ่มประสิทธิภาพ

  • Sara Smoot

    นวัตกรรมถัดไปของเราคือการทำ Quantization

  • โดยทั่วไปแล้ว การทำ Quantization ก็ไม่ใช่เทคนิคใหม่ แต่เราให้ความสำคัญเป็นพิเศษกับโมเดลบนอุปกรณ์เคลื่อนที่เพื่อให้แน่ใจว่าเรามีการทำ Quantization ที่ทำงานร่วมกับฮาร์ดแวร์ของอุปกรณ์เคลื่อนที่ได้เป็นอย่างดี

  • เราคำนึงถึง 2-3 สิ่งเกี่ยวกับโมเดล QAT

  • วิธีแรกคือเราใช้ QAT ซึ่งสำหรับผู้ที่ไม่ทราบคือการฝึกที่คำนึงถึงการควอนไทซ์ (Quantization-Aware Training)

  • ซึ่งหมายความว่าเมื่อเราทำการฝึก เราจะพิจารณาและตระหนักถึงข้อเท็จจริงที่ว่าเราจะทำการ Quantize

  • ซึ่งจะช่วยให้โมเดลเข้าใจว่าพารามิเตอร์จะถูกจัดกลุ่ม และช่วยรักษาคุณภาพไว้

  • และยังช่วยรักษาคุณภาพไว้ด้วย และโดยปกติแล้ว เราสามารถลดขนาดโมเดลลงได้เหลือเพียงเศษเสี้ยวของขนาดเดิม

  • ดังนั้น หากคุณเปลี่ยนจากโมเดล 16 บิตเป็นโมเดล 4 บิต และรักษาคุณภาพทั้งหมดไว้ เราจะประหยัดหน่วยความจำได้มากจริงๆ

  • ดังนั้น E2B จึงมาในรูปแบบการควอนไทซ์ 2 แบบที่แตกต่างกัน

  • เรามีรูปแบบ Q4_0

  • ซึ่งเป็นการทำ Quantization อเนกประสงค์มากกว่า

  • ซึ่งคุณปรับแต่งได้

  • ซึ่งทำงานร่วมกับไลบรารีการควอนไทเซชันอื่นๆ ได้เป็นอย่างดี

  • ซึ่งช่วยให้คุณเล่นและมีการควอนไทเซชันที่อาจทำงานได้ดีกับ Use Case ของคุณ

  • นอกจากนี้ เรายังมีการ Quantization ที่พิเศษมาก ซึ่งเราเรียกว่า Mobile Quant ซึ่งเป็นการ Quantization ที่มีประสิทธิภาพสูงมาก และเราได้ทำการวิจัยมากมายเพื่อทำให้การ Quantization นี้มีประสิทธิภาพสูงสุด

  • ซึ่งไม่ได้รับการรองรับในรันไทม์ส่วนใหญ่ แต่ ML Kit และ Android Studio รองรับ คุณจึงใช้ได้

  • คุณใช้บัตรดังกล่าวได้ที่นั่น

  • นวัตกรรมบางอย่างที่เราสร้างขึ้นมาคือการใช้การเปิดใช้งานแบบคงที่

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

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

  • อีกสิ่งหนึ่งที่เราทำคือการทำ Quantization ตามช่องทาง

  • เราจัดโครงสร้างและบีบอัดโมเดลในลักษณะที่อิงตามช่องทาง ซึ่งทำงานได้ดีกับฮาร์ดแวร์มือถือส่วนใหญ่

  • เรากำหนดเป้าหมายเป็นการ Quantize แบบ 2 บิต

  • ดังนั้น การแปลงค่าแบบ 2 บิตจึงมักจะสูญเสียข้อมูลบางส่วนไป

  • การทำ PTQ เป็นเรื่องยากมาก

  • เราได้ทำการวิจัยและเข้าใจโมเดลของเราดีพอที่จะรู้ว่าพารามิเตอร์ใดสามารถบีบอัดให้เหลือ 2 บิตได้ และทำได้ดีด้วยการฝึกที่คำนึงถึงการควอนไทซ์

  • ซึ่งจะช่วยประหยัดพื้นที่เก็บข้อมูลได้มาก และยังคงรักษาคุณภาพไว้ได้เกือบทั้งหมด

  • ดังนั้นโมเดล Quant พิเศษของเราจึงมีขนาดน้อยกว่า 1 กิกะไบต์ ซึ่งคุณก็ทราบดีว่ามีขนาดเล็กกว่าโมเดล Quant แบบ 4 บิตที่เรามีอยู่พอสมควร

  • อีกสิ่งหนึ่งที่เราได้สร้างไว้ในการ Quantization ที่กำหนดเองคือเราได้ทำการฝังและการ Quantization ของ KV แคช

  • มีเทคนิคมากมายในการทำทั้ง 2 อย่างนี้

  • เราได้ทำการวิจัยแล้ว และนี่คือสิ่งที่จะทำงานร่วมกับโมเดลของเราได้เป็นอย่างดี

  • และเราได้รวมข้อมูลทั้งหมดไว้ในจุดตรวจสอบเหล่านี้

  • ดังนั้นทั้งหมดนี้จึงช่วยลดหน่วยความจำที่ใช้งานอยู่ได้อย่างมาก

  • ซึ่งช่วยประหยัดแบนด์วิดท์ได้มากในการย้ายพารามิเตอร์ไปมา

  • และยังช่วยให้คุณจัดการและเก็บแชทยาวๆ และสิ่งต่างๆ ได้โดยไม่ต้องกังวลว่าพื้นที่เก็บข้อมูลจะเต็ม

การผสานรวมระบบและสถาปัตยกรรมความปลอดภัย

  • Sara Smoot

    โอเค เราจะผสานรวมผ่าน AICore

  • ดังนั้นสิ่งที่คุณจะได้รับจาก AICore คือโมเดล Gemini Nano 4

  • Gemini Nano 4 เป็น Gemma ที่สร้างและเรียกใช้ผ่าน AICore

  • AICore มีประโยชน์หลายอย่างสำหรับคุณ

  • ซึ่งเป็นวิธีที่ง่ายที่สุด และจริงๆ แล้วผมจะพูดถึงอีกวิธีหนึ่งอย่างรวดเร็ว

  • อีกเส้นทางหนึ่งคือการใช้ LiteRT ซึ่งเป็นเส้นทางที่กำหนดเองและลงมือทำจริงมากกว่า

  • หากคุณเลือกวิธีนี้ โมเดลจะรวมอยู่ในแอปของคุณ

  • โดยจะไม่ใช้โมเดลที่แชร์ซึ่งโฮสต์อยู่ในอุปกรณ์

  • ดังนั้นคุณจะต้องตระหนักถึงความทรงจำของคุณ

  • คุณจะต้องคอยสังเกตการใช้พลังงานของตัวเอง

  • คุณจะต้องลงมือจัดการทรัพยากรในโทรศัพท์และวิธีจัดการด้วยตนเองมากขึ้น

  • แต่จะช่วยให้คุณควบคุมได้อย่างเต็มที่

  • คุณสามารถใช้การปรับแต่งอย่างละเอียดกับ LiteRT ซึ่งจะช่วยให้คุณมีตัวเลือกเพิ่มเติมสำหรับการปรับแต่ง

  • หากใช้ AICore คุณจะใช้ API ของชุดเครื่องมือ ML ได้ และนี่เป็นวิธีที่ง่ายที่สุด

  • และเมื่อใช้ฟีเจอร์นี้ คุณจะได้รับฟังก์ชันการทำงานทั้งหมดที่ฉันพูดถึง การฝังต่อเลเยอร์จะได้รับการจัดการอย่างเหมาะสม และรันไทม์รองรับการมีพารามิเตอร์ที่ไม่ได้อยู่ใน RAM และการมีพารามิเตอร์การฝังที่ไม่ได้อยู่ใน RAM

  • เนื่องจากมี MTP ในตัวอยู่แล้ว จึงทำงานได้โดยอัตโนมัติ

  • นอกจากนี้ยังใช้ Quant สำหรับอุปกรณ์เคลื่อนที่ของเราด้วย

  • และทำงานบนรันไทม์ที่ออกแบบมาเพื่อโฮสต์และทำงานร่วมกับการควอนไทเซชันนั้นได้เป็นอย่างดี

  • ดังนั้นจึงสามารถทำงานและทำสิ่งต่างๆ ด้วยความแม่นยำระดับ 2 บิตได้ในกรณีที่เราต้องการ ซึ่งช่วยประหยัดและทำให้มีประสิทธิภาพมากทีเดียว

  • หากต้องการเจาะลึกมากขึ้น ก็มีการพูดคุยอีก 2 รายการที่จัดขึ้นแล้วหรือกำลังจะจัดขึ้น

  • เซสชัน ML Kit ของ David จะครอบคลุมเส้นทาง Gemini Nano 4 วิธีการและวิธีใช้โมเดลผ่าน ML Kit จากนั้นเซสชัน LiteRT ของ Chintan และ Fergus จะครอบคลุมวิธีใช้ LiteRT และวิธีพัฒนาด้วย LiteRT

  • นี่คือลักษณะของขั้นตอนคำขอสำหรับ Gemma

  • มีแพลตฟอร์ม API ที่ผ่านการประมวลผลอินพุตบางอย่าง และทั้งหมดนี้มีมาให้คุณในตัว

  • ส่วนหนึ่งของการประมวลผลอินพุตคือสัญญาณความปลอดภัย

  • คุณจะได้รับความปลอดภัยในตัวด้วย AICore

  • โดยจะตรวจสอบว่าเราสร้างความปลอดภัยไว้ในโมเดลเป็นจำนวนมาก

  • ซึ่งเป็นความปลอดภัยอีกชั้นสำหรับแอปบนมือถือ

  • โดยจะผ่านการกำหนดค่าฟีเจอร์และรันไทม์ในอุปกรณ์

  • และจะตรวจสอบความปลอดภัยอีกครั้งในเอาต์พุต

  • โดยจะตรวจสอบสัญญาณเอาต์พุตเพื่อให้แน่ใจว่าเอาต์พุตที่สร้างขึ้นปลอดภัย

  • ซึ่งเป็นมาตรการรักษาความปลอดภัยอีกชั้นหนึ่งนอกเหนือจากที่เราสร้างไว้ในโมเดล

  • นอกจากนี้ยังอัปเดตและแชร์ในแอปต่างๆ ด้วย

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

การสาธิตในอุปกรณ์ในพื้นที่

  • Sara Smoot

    เอาล่ะ ฉันจะเริ่มการสาธิตแล้ว

  • นี่คือผู้ช่วยแบบเสียง

  • ฉันจะแสดงให้ดูบนแล็ปท็อป

  • สิ่งที่เราอยากให้คุณสังเกตคือฟีเจอร์นี้ทำงานในอุปกรณ์โดยสมบูรณ์

  • โดยจะเรียงซ้อนกันโดยใช้ VAD

  • โดยจะผ่าน STT จากนั้นจะเข้าสู่ Gemma แล้วจึงผ่าน TTS ซึ่งเป็นโมเดลการอ่านออกเสียงข้อความ

  • ซึ่งกำลังสตรีมและทำงานบนโมเดล E2B ด้วย

  • นี่คือโมเดลที่ทำงานบนแล็ปท็อป แต่เป็นโมเดลเดียวกันกับที่ทำงานบนโทรศัพท์

  • ทั้งหมดนี้ทำได้ในโทรศัพท์

  • เดโมนี้สร้างขึ้นด้วย LiteRT

  • ควรสร้างด้วย ML Kit ได้ด้วย

  • คอยดูเวลาในการตอบสนอง ไม่มีการส่งข้อมูลไปกลับของเซิร์ฟเวอร์ และดูวิธีจัดการกับการหยุดชะงัก

  • Gemma เล่าเรื่องเกี่ยวกับตัวคุณให้ฟังหน่อย

  • ฉันคือ Gemma 4 โมเดลภาษาขนาดใหญ่ที่พัฒนาโดย Google DeepMind

  • ฉันประมวลผลข้อความและรูปภาพเพื่อให้ข้อมูลและทำงานต่างๆ ให้เสร็จสมบูรณ์

  • เยี่ยมเลย

  • ช่วยเล่าเรื่องเชกสเปียร์ให้ฟังหน่อยได้ไหม

  • วิลเลียม เช็คสเปียร์เป็นนักเขียนบทละครและกวีชาวอังกฤษที่ได้รับการยกย่องอย่างกว้างขวางว่าเป็นนักเขียนที่ยิ่งใหญ่ที่สุดในภาษาอังกฤษ

  • เดี๋ยวก่อนนะ

  • คุณรู้ไหมว่า

  • ฉันอยากรู้เรื่องระบบสุริยะมาก

  • ช่วยเล่าเรื่องนั้นให้ฉันฟังหน่อยได้ไหม

  • ระบบสุริยะประกอบด้วยดวงอาทิตย์และทุกสิ่งที่ยึดติดกับดวงอาทิตย์ด้วยแรงโน้มถ่วง ซึ่งรวมถึงดาวเคราะห์ 8 ดวง ดาวเคราะห์แคระ ดวงจันทร์ ดาวเคราะห์น้อย และดาวหาง

  • เจ๋งเลย

  • ช่วยอธิบายการทำงานของหลุมดำหน่อย

  • หลุมดำก่อตัวขึ้นเมื่อดาวฤกษ์มวลมหาศาลยุบตัวลงภายใต้แรงโน้มถ่วงของตัวเอง ทำให้เกิดบริเวณกาลอวกาศที่มีแรงโน้มถ่วงรุนแรงมากจนไม่มีสิ่งใดหลุดรอดออกมาได้ แม้แต่แสง

  • เจ๋งมากเลย

  • ขอขอบคุณ

  • ด้วยความยินดี

  • คุณมีคำถามอื่นๆ ที่เราสามารถตอบได้ไหม

  • โอเค

  • มีผู้ช่วยด้านเสียง

  • โอเค ต่อไป

  • นี่จะเป็นผู้ช่วยในเครื่องที่ใช้ความสามารถด้านวิดีโอ

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

  • สิ่งที่คุณควรให้ความสนใจคือฟีเจอร์นี้สร้างขึ้นจากโมเดล E4B

  • พูดคุยได้อย่างเป็นธรรมชาติ

  • เราจะแสดงให้เห็นว่าต้องทำอย่างไร

  • โดยจะใช้การเรียกใช้เครื่องมือในเบื้องหลัง และสามารถเข้าถึงสิ่งต่างๆ ในโทรศัพท์ได้

  • และยังดูสนุกสนานด้วย

  • Hey Gemma ตอนนี้เรามีอินเทอร์เน็ตไหม

  • ไม่ ตอนนี้เราไม่มีการเชื่อมต่ออินเทอร์เน็ต

  • คำเตือนนี้เกี่ยวกับอะไร

  • นั่นเป็นภาษาสเปน

  • ป้ายนั้นเป็นคำเตือนเกี่ยวกับถิ่นที่อยู่ของเสือพูมา

  • โดยระบุว่าเสือพูมาเป็นส่วนหนึ่งของสภาพแวดล้อมในท้องถิ่น และคุณควรระมัดระวังหากพบเสือพูมา

  • อนุพันธ์ของฟังก์ชันนี้คืออะไร

  • อนุพันธ์ของ x ยกกำลังสองบวก 7x บวก 10 คือ 2x บวก 7

  • ตลกดี

  • สวัสดี

  • สวัสดี Cindy

  • Gemma คืนนี้กลุ่มเราจะไปเดินป่ากันตอนกี่โมงนะ

  • คุณมีกำหนดการเดินป่าแบบกลุ่มเวลา 18:00 น.

  • วันนี้

  • นี่คือเสือพูมาใช่ไหม

  • ไม่ใช่ นั่นคือสุนัข

  • เด็กดี

แหล่งข้อมูลและขั้นตอนถัดไป

  • Sara Smoot

    เอาล่ะ เริ่มสร้างได้เลย

  • ลิงก์เหล่านี้ที่อยู่ด้านบนเป็นลิงก์ไปยังจุดตรวจสอบ

  • หากต้องการดูจุดตรวจสอบและโค้ดโมเดลโดยตรง ก็สามารถดูได้ทั้งหมด

  • คุณสามารถใช้ ML ได้ โดยมี Gemma, Gemini Nano 4, ลิงก์ ML Kit

  • เช็คพอยต์จะอยู่ใน Hugging Face ส่วนโค้ดของเราจะอยู่ในฐานของโค้ด Transformers

  • คุณไปดูสิ่งที่เราทำได้

  • นอกจากนี้ คุณยังรับ Checkpoint จาก Kaggle ได้ด้วย

  • ขอย้ำอีกครั้งว่าหากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ ML Kit โปรดดูการนำเสนอ ML Kit ของ David

  • และเรายังมีการนำเสนอ LiteRT ของ Chintan และ Fergus ในภายหลังด้วย

  • หากต้องการดูวิธีเข้าถึงและใช้โมเดลในแอปผ่าน LiteRT

  • ขอขอบคุณ

  • ผมตื่นเต้นมากที่จะได้เห็นสิ่งที่คุณทุกคนจะสร้างขึ้น