Google AI Edge yığınıyla ince ayarlı bir Gemma 270 milyon modeli dağıtma

Bu eğiticide, özelleştirilmiş bir Gemma modelini Android örnek uygulamasında dağıtma sürecinin tamamı adım adım açıklanmaktadır.

Bu eğitimde:

  1. İnce ayarlı bir modelle başlayın
  2. İnce ayarlı modeli AI Edge Torch kitaplığıyla dönüştürme
    1. Bu işlem, HuggingFace kontrol noktasını .litertlm dosyasına dönüştürür.
  3. İnce ayarlı modelin kalitesini değerlendirme
  4. Özel modeli bir test cihazına göndermek için adb komutlarını çalıştırın.
    1. Bu işlem, .litertlm biçimindeki modeli yerel test için bir Android cihaza aktarır.
  5. Pirate Gemma örnek uygulamasını çalıştırın.
    1. Bu işlem, örnek bir Android uygulamasında ince ayarlı model üzerinde çıkarım çalıştırmak için LiteRT-LM Kotlin kitaplığını kullanır.

1. adım: İnce ayarlı bir modelle başlayın

Bu eğitimde, ince ayarlı bir modelle başlayacağız. Temel model ile ince ayarlı model arasındaki farkı net bir şekilde göstermek için temel Gemma270m modelini alıp korsan gibi konuşacak şekilde ince ayarladık.

Önceden ince ayar yapılmış Pirate Gemma modelini https://huggingface.co/erintwalsh/pirate-gemma adresinde bulabilirsiniz.

Bir modeli ince ayarlama hakkında daha fazla bilgi için Gemma Cookbook ve Unsloth kılavuzlarına bakın.

2. adım: Özel modelinizi komut satırında dönüştürün ve çalıştırın

HuggingFace'te yayınlanmış bir özel modeliniz olduğuna göre, bu modeli indirip .litertlm biçimine dönüştürmek için AI Edge Torch kitaplığını kullanabilirsiniz.

Ön koşullar

Cihazınızda uv tool ve Python 3.11 veya sonraki bir sürümün yüklü olduğundan emin olun.

Modeli dönüştürme

uv tool install litert-torch-nightly

litert-torch export_hf \
  --model=[YOUR-HF-USERNAME]/pirate-gemma \
  --output_dir=/tmp/pirate-gemma \
  --externalize_embedder

Modelinizi yerel olarak çalıştırma

uv tool install litert-lm

litert-lm run  \
  /tmp/pirate-gemma/model.litertlm \
  --prompt="Where is the nearest buried treasure?"

3. adım: Model kalitesini değerlendirin

İnce ayarın kalitesini değerlendirme

Modeliniz yerel olarak çalıştıktan sonra, ince ayarın LiteRT-LM model kalitesini analiz etmek için AI Edge değerlendirme CLI aracını kullanabilirsiniz. Bu araç, orijinal HF modeli ile dönüştürülmüş LiteRT-LM modeli arasında, dönüşüm sonrası kalite eşitliği doğrulaması için yerleşik bir özellik sunar. Bu özellik, herkese açık veri kümeleriyle çalışır. Herkese açık veri kümelerinin yanı sıra kendi verilerinizi ve belirli metrikleri kullanarak özelleştirilmiş değerlendirme görevleri oluşturabilirsiniz. LLM-as-a-Judge kullanarak bu ince ayarlı modeli değerlendirmek için özel görev örneğine bakın.

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. adım: Yerel modelinizi test cihazınıza aktarın

Yeni çalıştırdığınız modeli fiziksel Android cihazınıza göndermek için bu adb talimatlarını kullanın.

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. adım: Captain Gemma örnek uygulamasıyla özel modelinizde çıkarım gerçekleştirin

Captain Gemma, cihazdaki modelle arayüz oluşturmayı gösteren bir uygulamadır. GitHub'da bulup Android Studio'da çalıştırmak için depoyu klonlayın.

Captain Gemma örnek uygulamasını açıp cihazınızda çalıştırın. Bu uygulama, Android cihazınızda ince ayar yapılmış bir model üzerinde çıkarım çalıştırmayı göstermek için Android Compose öğelerini kullanır. Uygulama, kullanıcıdan metin girişi alır ve ince ayarlı Gemma modelinin korsan bilgeliğini döndürür.

.litertlm dosyasını yeni gönderdiğiniz test cihazınızda uygulamayı çalıştırın. Bir sorgu girin ve modelin çıkışını beyaz konuşma kutusunda görün.

Örnek uygulamanın ana ekranı

Örnek kod

Captain Gemma örnek kodunda LiteRT-LM API'leri ile modelinizi ayarlama ve çıkarım çalıştırma örneklerini inceleyin.

6. adım: Model dağıtımı

Özel modelinizi yerel olarak test etmeyi tamamlayıp dağıtmaya hazır olduğunuzda, modelinizi barındırmak için aşağıdaki gibi seçenekler sunulur:

  • .litertlm dosyanızı daha önce oluşturduğunuz HuggingFace model deposuna gönderebilir ve HuggingFace API'lerini kullanarak uygulamanıza indirebilirsiniz.
  • Uygulamanızın model URL'nizi getirmesi ve Android veya iOS için indirmesi amacıyla API'ler sağlayan Firebase gibi bir barındırma hizmeti kullanabilirsiniz.