Большие языковые модели на устройстве с Keras и TensorFlow Lite

1. Прежде чем начать

Одним из самых впечатляющих прорывов в области машинного обучения за последнее время стали модели больших языков (LLM). Их можно использовать для создания текста, перевода на языки и ответов на вопросы исчерпывающим и информативным способом. LLM, такие как Google LaMDA и PaLM , обучаются на огромных объемах текстовых данных, что позволяет им изучать статистические закономерности и связи между словами и фразами. Это позволяет им генерировать текст, похожий на текст, написанный человеком, и переводить языки с высокой степенью точности.

LLM очень велики с точки зрения хранилища и, как правило, потребляют много вычислительной мощности для работы, что означает, что они обычно развертываются в облаке и представляют собой довольно сложную задачу для машинного обучения на устройстве (ODML) из-за ограниченной вычислительной мощности на мобильных устройствах. . Но можно запустить LLM меньшего масштаба (например, GPT-2) на современном Android-устройстве и при этом добиться впечатляющих результатов.

Вот демо-версия модели Google PaLM с 1,5 миллиардами параметров на Google Pixel 7 Pro без ускорения воспроизведения.

PaLM на 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

Что вам понадобится

  • Доступ к Колабу
  • Последняя версия Android Studio.
  • Современное Android-устройство с оперативной памятью более 4 ГБ.

2. Настройте

Чтобы загрузить код для этой лаборатории кода:

  1. Перейдите в репозиторий GitHub для этой лаборатории кода.
  2. Нажмите «Код» > «Загрузить zip» , чтобы загрузить весь код для этой лаборатории кода.

изображение репо

  1. Разархивируйте загруженный zip-файл, чтобы распаковать корневую папку examples со всеми необходимыми ресурсами.

3. Запустите стартовое приложение.

  1. Импортируйте папку examples/lite/examples/generative_ai/android в Android Studio.
  2. Запустите эмулятор Android и нажмите кнопку выполнить.png Запускаем в меню навигации.

Запустите и изучите приложение

Приложение должно запуститься на вашем устройстве Android. Приложение называется «Автозаполнение». Пользовательский интерфейс довольно прост: вы можете ввести несколько исходных слов в текстовое поле и нажать «Создать» ; Затем приложение выполняет вывод на LLM и генерирует дополнительный текст на основе вашего ввода.

Прямо сейчас, если вы нажмете «Создать» после ввода нескольких слов, ничего не произойдет. Это потому, что у него еще нет LLM.

скриншот стартового приложения

4. Подготовьте LLM к развертыванию на устройстве.

5. Заполните приложение для Android.

Теперь, когда вы преобразовали модель GPT-2 в TensorFlow Lite, вы наконец можете развернуть ее в приложении.

Запустите приложение

  1. Перетащите файл модели autocomplete.tflite , загруженный на последнем шаге, в папку app/src/main/assets/ в Android Studio.

добавить модель в Android Studio

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

скриншот готового приложения

6. Заметки об ответственном ИИ

Как отмечалось в исходном объявлении OpenAI GPT-2 , модель GPT-2 имеет заметные предостережения и ограничения . Фактически, сегодня у студентов LLM обычно есть некоторые хорошо известные проблемы, такие как галлюцинации, оскорбительная продукция, справедливость и предвзятость; это связано с тем, что эти модели обучаются на реальных данных, что позволяет им отражать проблемы реального мира.

Эта лаборатория кода создана только для того, чтобы продемонстрировать, как создать приложение на базе LLM с помощью инструментов TensorFlow. Модель, созданная в этой лаборатории, предназначена только для образовательных целей и не предназначена для промышленного использования.

Использование LLM в производстве требует продуманного выбора наборов обучающих данных и комплексных мер по снижению безопасности. Чтобы узнать больше об ответственном искусственном интеллекте в контексте программ LLM, обязательно посмотрите техническую сессию «Безопасная и ответственная разработка с использованием генеративных языковых моделей» на конференции Google I/O 2023 и ознакомьтесь с набором инструментов для ответственного искусственного интеллекта .

7. Заключение

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

Узнать больше