บทแนะนำนี้จะแนะนำกระบวนการตั้งแต่ต้นจนจบในการติดตั้งใช้งานโมเดล Gemma ที่ปรับแต่งแล้วในแอปตัวอย่าง Android
ในบทแนะนำนี้ เราจะทำสิ่งต่อไปนี้
- เริ่มต้นด้วยโมเดลที่ปรับแต่งแล้ว
- แปลงโมเดลที่ปรับแต่งแล้วด้วยไลบรารี AI Edge Torch
- ซึ่งจะแปลงจุดตรวจสอบ HuggingFace เป็นไฟล์ .litertlm
- ประเมินคุณภาพของโมเดลที่ปรับแต่งแล้ว
- เรียกใช้คำสั่ง adb เพื่อพุชโมเดลที่กำหนดเองไปยังอุปกรณ์ทดสอบ
- การดำเนินการนี้จะพุชโมเดลในรูปแบบ .litertlm ไปยังอุปกรณ์ Android เพื่อ การทดสอบในเครื่อง
- เรียกใช้แอปตัวอย่าง Pirate Gemma
- ซึ่งจะใช้ไลบรารี Kotlin ของ LiteRT-LM เพื่อเรียกใช้การอนุมานในโมเดลที่ปรับแต่งอย่างละเอียดในแอป Android ตัวอย่าง
ขั้นตอนที่ 1: เริ่มต้นด้วยโมเดลที่ปรับแต่งแล้ว
สำหรับบทแนะนำนี้ เราจะเริ่มต้นด้วยโมเดลที่ได้รับการปรับแต่ง เราได้นำโมเดล Gemma270m มาปรับแต่งให้พูดเหมือนโจรสลัดเพื่อแสดงให้เห็นความแตกต่างที่ชัดเจนระหว่างโมเดลพื้นฐานกับโมเดลที่ปรับแต่งแล้ว
คุณดูโมเดล Pirate Gemma ที่ปรับแต่งล่วงหน้าได้ที่
https://huggingface.co/erintwalsh/pirate-gemma
ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับแต่งโมเดลได้ที่ตำราอาหารของ Gemma และคำแนะนำของ Unsloth
ขั้นตอนที่ 2: แปลงและเรียกใช้โมเดลที่กำหนดเองในบรรทัดคำสั่ง
ตอนนี้คุณได้เผยแพร่โมเดลที่กำหนดเองใน HuggingFace แล้ว
คุณสามารถใช้ไลบรารี AI Edge Torch เพื่อดาวน์โหลดและแปลงโมเดลนั้น
เป็นรูปแบบ .litertlm ได้
ข้อกำหนดเบื้องต้น
ตรวจสอบว่าได้ติดตั้ง uv tool และ Python 3.11 ขึ้นไปในอุปกรณ์แล้ว
แปลงโมเดล
uv tool install litert-torch-nightly
litert-torch export_hf \
--model=[YOUR-HF-USERNAME]/pirate-gemma \
--output_dir=/tmp/pirate-gemma \
--externalize_embedder
เรียกใช้โมเดลในเครื่อง
uv tool install litert-lm
litert-lm run \
/tmp/pirate-gemma/model.litertlm \
--prompt="Where is the nearest buried treasure?"
ขั้นตอนที่ 3: ประเมินคุณภาพโมเดล
ประเมินคุณภาพของการปรับแต่ง
เมื่อโมเดลทำงานในเครื่องแล้ว คุณจะใช้เครื่องมือ CLI ของการประเมิน AI Edge เพื่อวิเคราะห์คุณภาพโมเดล LiteRT-LM ของการปรับแต่งได้ เครื่องมือนี้มีการตรวจสอบความเท่าเทียมด้านคุณภาพหลัง Conversion ในตัวระหว่างโมเดล HF เดิมกับโมเดล LiteRT-LM ที่แปลงแล้วด้วยชุดข้อมูลสาธารณะ นอกเหนือจากชุดข้อมูลสาธารณะแล้ว คุณยังสร้างงานประเมินที่กำหนดเองได้โดยใช้ ข้อมูลของคุณเองและเมตริกที่เฉพาะเจาะจง ดูตัวอย่างงานที่กำหนดเองเพื่อประเมินโมเดลที่ปรับแต่งอย่างละเอียดนี้โดยใช้ LLM-as-a-Judge
uv tool install ai-edge-eval
GEMINI_API_KEY="your_actual_api_key_here"
ai_edge_eval \
--framework custom \
--runner litert-lm \
--model-path /path/to/your/model.litertlm \
--custom-tasks-file pirate_gemma_custom_task.py \
--tasks pirate_gemma_eval \
--output-dir /tmp/results
ขั้นตอนที่ 4: พุชโมเดลในเครื่องไปยังอุปกรณ์ทดสอบ
ใช้คำสั่ง adb เหล่านี้เพื่อพุชโมเดลที่คุณเพิ่งเรียกใช้ไปยังอุปกรณ์ Android จริง
adb shell rm -r /data/local/tmp/llm/ # Remove any previously loaded models
adb shell mkdir -p /data/local/tmp/llm/
adb push /tmp/pirate-gemma/model.litertlm /data/local/tmp/llm/pirate-gemma.litertlm
ขั้นตอนที่ 5: เรียกใช้การอนุมานในโมเดลที่กำหนดเองด้วยแอปตัวอย่าง Captain Gemma
Captain Gemma เป็นแอปที่แสดงการเชื่อมต่อกับโมเดลในอุปกรณ์ คุณจะดูได้ใน GitHub และโคลนที่เก็บเพื่อดำเนินการใน Android Studio
เปิดแอปตัวอย่าง Captain Gemma แล้วเรียกใช้บนอุปกรณ์ แอปนี้เป็นแอปที่ใช้องค์ประกอบ Compose ของ Android เพื่อ แสดงการอนุมานที่ทำงานบนโมเดลที่ปรับแต่งแล้วในอุปกรณ์ Android ของคุณ แอปจะรับข้อความที่ผู้ใช้ป้อนและแสดงคำแนะนำของโจรสลัดจากโมเดล Gemma ที่ปรับแต่งแล้ว
เรียกใช้แอปในอุปกรณ์ทดสอบ
ที่คุณเพิ่งพุชไฟล์ .litertlm ไป ป้อนคำค้นหา
และดูเอาต์พุตของโมเดลในกล่องคำพูดสีขาว

โค้ดตัวอย่าง
ดูตัวอย่างการตั้งค่าโมเดลและการเรียกใช้การอนุมานด้วย LiteRT-LM API ในโค้ดตัวอย่างของ Captain Gemma
ขั้นตอนที่ 6: การติดตั้งใช้งานโมเดล
เมื่อทดสอบโมเดลที่กำหนดเองในเครื่องเสร็จแล้วและพร้อมที่จะ นำไปใช้งาน คุณจะมีตัวเลือกในการโฮสต์โมเดล เช่น
- คุณสามารถพุชไฟล์
.litertlmไปยังที่เก็บโมเดล HuggingFace ที่คุณสร้างไว้ก่อนหน้านี้ และดาวน์โหลดไฟล์ดังกล่าวในแอปโดยใช้ HuggingFace API - คุณสามารถใช้บริการโฮสติ้ง เช่น Firebase ซึ่งมี API สำหรับแอปของคุณเพื่อดึง URL ของโมเดลและดาวน์โหลดสำหรับ Android หรือ iOS