โมเดลภาษาขนาดใหญ่ในอุปกรณ์ที่มี Keras และ TensorFlow Lite

1. ก่อนเริ่มต้น

หนึ่งในความก้าวหน้าด้านแมชชีนเลิร์นนิงที่น่าสนใจที่สุดเมื่อเร็วๆ นี้ก็คือ Large Language Models (LLM) โดยอาจใช้เพื่อสร้างข้อความ แปลภาษา และตอบคำถามอย่างครอบคลุมและเป็นประโยชน์ LLM เช่น Google LaMDA และ PaLM จะได้รับการฝึกจากข้อมูลข้อความปริมาณมหาศาล ซึ่งช่วยให้เรียนรู้รูปแบบทางสถิติและความสัมพันธ์ระหว่างคำและวลีได้ ซึ่งช่วยให้สามารถสร้างข้อความที่คล้ายคลึงกับข้อความที่มนุษย์เขียน และสามารถแปลภาษาต่างๆ ได้อย่างแม่นยำ

LLM มีขนาดใหญ่มากในแง่ของพื้นที่เก็บข้อมูล และโดยทั่วไปแล้วจะใช้พลังงานในการประมวลผลมาก ซึ่งหมายความว่ามักจะใช้งานบนระบบคลาวด์และค่อนข้างยากสำหรับแมชชีนเลิร์นนิงในอุปกรณ์ (ODML) เนื่องจากอุปกรณ์เคลื่อนที่มีความสามารถในการประมวลผลที่จำกัด แต่คุณใช้งาน LLM ที่มีขนาดเล็กได้ (เช่น GPT-2) บนอุปกรณ์ Android ที่ทันสมัยโดยยังคงได้ผลลัพธ์ที่น่าประทับใจ

นี่เป็นการสาธิตการเรียกใช้โมเดล Google PaLM เวอร์ชันที่มีพารามิเตอร์ 1.5 พันล้านรายการใน Google Pixel 7 Pro โดยไม่ต้องเพิ่มความเร็วในการเล่น

PaLM ใน Pixel 7 Pro

ใน Codelab นี้ คุณจะได้เรียนรู้เทคนิคและเครื่องมือในการสร้างแอปที่ขับเคลื่อนโดย LLM (โดยใช้ GPT-2 เป็นโมเดลตัวอย่าง) ด้วยสิ่งต่อไปนี้

  • KerasNLP เพื่อโหลด LLM ก่อนการฝึก
  • KerasNLP เพื่อปรับแต่ง LLM
  • TensorFlow Lite เพื่อแปลง เพิ่มประสิทธิภาพ และทำให้ LLM ใช้งานได้ใน Android

ข้อกำหนดเบื้องต้น

  • ความรู้ขั้นกลางเกี่ยวกับ Keras และ TensorFlow Lite
  • ความรู้พื้นฐานเกี่ยวกับการพัฒนา Android

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้ KerasNLP เพื่อโหลด LLM ก่อนการฝึกและปรับแต่ง
  • วิธีวัดปริมาณและแปลง LLM เป็น TensorFlow Lite
  • วิธีเรียกใช้การอนุมานบนโมเดล TensorFlow Lite ที่แปลงแล้ว

สิ่งที่ต้องมี

  • สิทธิ์เข้าถึง Colab
  • Android Studio เวอร์ชันล่าสุด
  • อุปกรณ์ Android ทันสมัยที่มี RAM มากกว่า 4 GB

2. ตั้งค่า

วิธีดาวน์โหลดโค้ดสำหรับ Codelab นี้

  1. ไปที่ที่เก็บ GitHub สำหรับ Codelab นี้
  2. คลิกโค้ด > ดาวน์โหลดรหัสไปรษณีย์เพื่อดาวน์โหลดรหัสทั้งหมดสำหรับ Codelab นี้

รูปภาพที่เก็บ

  1. แตกไฟล์ ZIP ที่ดาวน์โหลดมาเพื่อคลายแพ็กโฟลเดอร์รูท examples ที่มีทรัพยากรทั้งหมดที่คุณต้องการ

3. เรียกใช้แอปเริ่มต้น

  1. นำเข้า examples/lite/examples/generative_ai/android โฟลเดอร์ไปยัง Android Studio
  2. เริ่มโปรแกรมจำลอง Android แล้วคลิกexecute.png เรียกใช้ในเมนูการนำทาง

เรียกใช้และสำรวจแอป

แอปควรเปิดในอุปกรณ์ Android แอปนี้ชื่อว่า "เติมข้อความอัตโนมัติ" UI ค่อนข้างตรงไปตรงมา คุณพิมพ์คำตั้งต้นในกล่องข้อความแล้วแตะสร้างได้ จากนั้นแอปจะเรียกใช้การอนุมานใน LLM และสร้างข้อความเพิ่มเติมตามข้อมูลที่ป้อน

ขณะนี้ หากคุณแตะสร้างหลังจากพิมพ์คำบางคำ ไม่มีอะไรเกิดขึ้น เนื่องจากยังไม่ได้เรียกใช้ LLM

ภาพหน้าจอสำหรับแอปเริ่มต้น

4. เตรียม LLM สำหรับการติดตั้งใช้งานในอุปกรณ์

5. ติดตั้งแอป Android ให้เสร็จสมบูรณ์

เมื่อคุณแปลงโมเดล GPT-2 เป็น TensorFlow Lite แล้ว ในที่สุดก็นำไปใช้งานได้ในแอป

เรียกใช้แอป

  1. ลากไฟล์โมเดล autocomplete.tflite ที่ดาวน์โหลดจากขั้นตอนสุดท้ายลงในโฟลเดอร์ app/src/main/assets/ ใน Android Studio

เพิ่มโมเดลใน Android Studio

  1. คลิก execute.png เรียกใช้ในเมนูการนำทาง แล้วรอให้แอปโหลด
  2. พิมพ์คำตั้งต้นในช่องข้อความ จากนั้นแตะสร้าง

ภาพหน้าจอสำหรับแอปที่เสร็จแล้ว

6. หมายเหตุเกี่ยวกับ AI ที่มีความรับผิดชอบ

ตามที่ระบุไว้ในประกาศของ OpenAI GPT-2 ฉบับเดิม มีข้อควรระวังและข้อจำกัดสําหรับโมเดล GPT-2 อันที่จริงแล้ว ปัจจุบัน LLM มักมีอุปสรรคที่เป็นที่ทราบกันดี เช่น ความไม่สมเหตุสมผล ผลลัพธ์ที่ไม่เหมาะสม ความยุติธรรม และการมีอคติ นั่นเป็นเพราะโมเดลเหล่านี้ได้รับการฝึกโดยใช้ข้อมูลในชีวิตจริง ซึ่งทำให้โมเดลเหล่านั้นสะท้อนถึงปัญหาในโลกแห่งความเป็นจริง

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

การใช้งานจริงของ LLM จำเป็นต้องมีการเลือกชุดข้อมูลการฝึกอย่างรอบคอบและการลดความเสี่ยงด้านความปลอดภัยที่ครอบคลุม หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับ AI ที่มีความรับผิดชอบในบริบทของ LLM โปรดดูเซสชันทางเทคนิคเกี่ยวกับการพัฒนาที่ปลอดภัยและมีความรับผิดชอบด้วยโมเดลภาษาที่สร้างขึ้นที่งาน Google I/O 2023 และดูชุดเครื่องมือ AI ที่มีความรับผิดชอบ

7. บทสรุป

ยินดีด้วย คุณสร้างแอปเพื่อสร้างข้อความที่สอดคล้องกันตามข้อมูลจากผู้ใช้ด้วยการเรียกใช้โมเดลภาษาขนาดใหญ่ที่ฝึกล่วงหน้าในอุปกรณ์เท่านั้น

ดูข้อมูลเพิ่มเติม