1. Прежде чем начать
Одним из самых впечатляющих достижений в области машинного обучения за последнее время стали большие языковые модели (LLM). Они могут использоваться для генерации текста, перевода языков и предоставления исчерпывающих и информативных ответов на вопросы. LLM, такие как Google LaMDA и PaLM , обучаются на огромных массивах текстовых данных, что позволяет им выявлять статистические закономерности и взаимосвязи между словами и фразами. Это позволяет им генерировать текст, похожий на написанный человеком, и переводить языки с высокой степенью точности.
LLM-модели занимают очень много места в памяти и, как правило, потребляют много вычислительной мощности, поэтому обычно развертываются в облаке и представляют собой серьезную проблему для машинного обучения на мобильных устройствах (ODML) из-за ограниченной вычислительной мощности мобильных устройств. Однако можно запускать LLM-модели меньшего масштаба (например, GPT-2) на современных устройствах Android и при этом добиваться впечатляющих результатов.
Здесь представлена демонстрация работы версии модели Google PaLM с 1,5 миллиардами параметров на Google Pixel 7 Pro без ускорения воспроизведения.

В этом практическом занятии вы изучите методы и инструменты для создания приложения на основе 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 с более чем 4 ГБ оперативной памяти.
2. Настройка
Чтобы скачать код для этого практического занятия:
- Перейдите в репозиторий GitHub , содержащий этот практический урок.
- Нажмите «Код» > «Скачать zip-архив» , чтобы загрузить весь код для этого практического занятия.

- Распакуйте загруженный zip-файл, чтобы получить корневую папку с
examples, содержащую все необходимые ресурсы.
3. Запустите стартовое приложение.
- Импортируйте папку
examples/lite/examples/generative_ai/androidв Android Studio. - Запустите эмулятор Android , а затем нажмите
Запустить в меню навигации.
Запустите и изучите приложение.
Приложение должно запуститься на вашем устройстве Android. Приложение называется «Автозаполнение». Интерфейс довольно прост: вы можете ввести несколько ключевых слов в текстовое поле и нажать «Сгенерировать »; затем приложение выполняет вывод на основе LLM и генерирует дополнительный текст на основе вашего ввода.
В настоящий момент, если нажать кнопку «Сгенерировать» после ввода нескольких слов, ничего не происходит. Это потому, что LLM ещё не запущен.

4. Подготовьте LLM для развертывания на устройстве.
- Откройте Colab и выполните действия в блокноте (который размещен в репозитории TensorFlow Codelabs на GitHub ).
5. Завершите разработку приложения для Android.
Теперь, когда вы преобразовали модель GPT-2 в TensorFlow Lite, вы наконец можете развернуть ее в приложении.
Запустите приложение
- Перетащите файл модели
autocomplete.tflite, загруженный на предыдущем шаге, в папкуapp/src/main/assets/в Android Studio.

- Нажмите
Запустите приложение через меню навигации и дождитесь его загрузки. - Введите ключевые слова в текстовое поле, а затем нажмите «Сгенерировать» .

6. Заметки об ответственном использовании ИИ
Как отмечалось в первоначальном анонсе OpenAI GPT-2 , у модели GPT-2 есть существенные оговорки и ограничения . Фактически, современные модели LLM, как правило, имеют ряд известных проблем, таких как галлюцинации, негативные результаты, несправедливость и предвзятость; это связано с тем, что эти модели обучаются на реальных данных, что заставляет их отражать реальные проблемы.
Данный практический пример создан исключительно для демонстрации того, как создать приложение на основе моделей LLM с использованием инструментов TensorFlow. Модель, созданная в этом примере, предназначена только для образовательных целей и не предназначена для использования в производственных целях.
Для использования LLM в производстве требуется тщательный отбор обучающих наборов данных и комплексные меры безопасности. Чтобы узнать больше об ответственном ИИ в контексте LLM, обязательно посмотрите техническую сессию « Безопасная и ответственная разработка с использованием генеративных языковых моделей» на Google I/O 2023 и ознакомьтесь с инструментарием ответственного ИИ .
7. Заключение
Поздравляем! Вы создали приложение для генерации связного текста на основе пользовательского ввода, используя предварительно обученную модель обработки больших языков (LGML) исключительно на устройстве!