В этом руководстве подробно описан весь процесс развертывания пользовательской модели Gemma в тестовом приложении Android.
В этом уроке мы:
- Начните с точно настроенной модели.
- Преобразуйте точно настроенную модель с помощью библиотеки AI Edge Torch.
- Это преобразует контрольную точку HuggingFace в файл .litertlm.
- Оцените качество доработанной модели.
- Выполните команды adb, чтобы загрузить пользовательскую модель на тестовое устройство.
- Это позволит загрузить модель в формате .litertlm на устройство Android для локального тестирования.
- Запустите демонстрационное приложение Pirate Gemma.
- В этом примере приложения для 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.