Разверните точно настроенную модель Gemma 270m с помощью стека Google AI Edge.

В этом руководстве подробно описан весь процесс развертывания пользовательской модели Gemma в тестовом приложении Android.

В этом уроке мы:

  1. Начните с точно настроенной модели.
  2. Преобразуйте точно настроенную модель с помощью библиотеки AI Edge Torch.
    1. Это преобразует контрольную точку HuggingFace в файл .litertlm.
  3. Оцените качество доработанной модели.
  4. Выполните команды adb, чтобы загрузить пользовательскую модель на тестовое устройство.
    1. Это позволит загрузить модель в формате .litertlm на устройство Android для локального тестирования.
  5. Запустите демонстрационное приложение Pirate Gemma.
    1. В этом примере приложения для Android будет использоваться библиотека LiteRT-LM на языке Kotlin для выполнения инференса на основе доработанной модели.

Шаг 1: Начните с доработанной модели.

В этом уроке мы начнем с доработанной модели. Чтобы наглядно показать разницу между базовой моделью и доработанной, мы взяли базовую модель Gemma270m и доработали ее так, чтобы она говорила как пират.

Предварительно доработанную модель Pirate Gemma можно найти по ссылке https://huggingface.co/erintwalsh/pirate-gemma

Для получения более подробной информации о тонкой настройке модели см. руководства Gemma Cookbook и 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: Оценка качества модели

Оцените качество тонкой настройки.

После запуска модели локально, вы можете использовать инструмент командной строки AI Edge для оценки качества модели LiteRT-LM после тонкой настройки. Этот инструмент предлагает встроенную проверку соответствия качества после преобразования между исходной моделью 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 и запустите его на своем устройстве. Это приложение использует элементы Android Compose для демонстрации выполнения инференции на основе точно настроенной модели на вашем устройстве Android. Приложение принимает текстовый ввод от пользователя и возвращает пиратскую мудрость точно настроенной модели Gemma.

Запустите приложение на тестовом устройстве, на которое вы только что загрузили файл .litertlm . Введите запрос и посмотрите результат работы модели в белом окне с текстом.

Главный экран демонстрационного приложения

Пример кода

Примеры настройки модели и выполнения инференса с использованием API LiteRT-LM можно найти в примере кода Captain Gemma.

Шаг 6: Развертывание модели

После завершения локального тестирования вашей пользовательской модели и готовности к развертыванию, существуют варианты размещения вашей модели, такие как:

  • Вы можете загрузить свой файл .litertlm в созданный ранее репозиторий моделей HuggingFace и скачать его в своё приложение, используя API HuggingFace.
  • Вы можете использовать хостинг-сервис, например Firebase, который предоставляет API для вашего приложения, позволяющие получить URL-адрес вашей модели и загрузить её для Android или iOS.