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
Что вам понадобится
- Доступ к Колабу
- Последняя версия 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. Заключение
Поздравляем! Вы создали приложение для генерации связного текста на основе пользовательского ввода, запустив предварительно обученную модель большого языка исключительно на устройстве!