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

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

เกี่ยวกับ Codelab นี้

subjectอัปเดตล่าสุดเมื่อ พ.ค. 5, 2023
account_circleเขียนโดย Wei Wei

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 บทสรุป

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

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