Улучшите свои стабильные модификаторы диффузии с помощью извлечения и создания

Повысьте эффективность своих константных модификаторов диффузии с помощью извлечения и создания

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

Stable Diffusion – это модель текст-изображение, позволяющая создавать высококачественные изображения всего за несколько секунд. В ноябре 2022 года мы объявили, что клиенты AWS могут создавать изображения из текста с помощью моделей Stable Diffusion в Amazon SageMaker JumpStart, центре машинного обучения (ML), предлагающем модели, алгоритмы и решения. Эволюция продолжилась в апреле 2023 года с введением Amazon Bedrock, полностью управляемой службы, предлагающей доступ к передовым основным моделям, включая Stable Diffusion, через удобный API.

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

Enhanced Retrieval Augmented Generation (ERAG) – это процесс, в котором языковая модель получает контекстные документы из внешнего источника данных и использует эту информацию для генерации более точного и информативного текста. Эта техника особенно полезна для задач обработки естественного языка (NLP), требующих глубоких знаний. Теперь мы расширяем её влияние на мир генерации изображений на основе текста. В этом посте мы покажем, как использовать возможности ERAG для улучшения запросов, отправляемых вашим моделям Stable Diffusion. Вы можете создать своего собственного помощника по генерации запросов с использованием больших языковых моделей (LLM) на Amazon Bedrock, а также на SageMaker JumpStart.

Методы создания запросов для генерации изображений на основе текста

Создание запроса для модели текст-изображение может показаться простым на первый взгляд, но это задача, замаскированная сложностью. Это не просто набор нескольких слов в ожидании того, что модель создаст изображение, соответствующее вашему представлению. Эффективные запросы должны предоставлять четкие инструкции, оставляя место для креативности. Они должны находить баланс между конкретностью и неопределенностью и должны быть адаптированы к конкретно используемой модели. Для решения проблемы создания запросов отрасль исследовала различные подходы:

  • Библиотеки запросов – Некоторые компании создают сборники заранее написанных запросов, к которым можно получить доступ и настроить их. Эти библиотеки содержат широкий спектр запросов, адаптированных к различным случаям использования, позволяющий выбрать или настроить запросы, соответствующие вашим конкретным потребностям.
  • Шаблоны и рекомендации для запросов – Многие компании и организации предоставляют пользователям набор готовых шаблонов и рекомендаций для запросов. Эти шаблоны предлагают структурированные форматы для написания запросов, что делает процесс создания эффективных инструкций простым.
  • Участие сообщества и пользователей – Платформы, основанные на принципе толпы, и пользовательские сообщества часто играют важную роль в улучшении запросов. Пользователи могут делиться своими настроенными моделями, успешными запросами, советами и bewt-практиками с сообществом, помогая другим учиться и совершенствовать навыки написания запросов.
  • Настройка модели – Компании могут настраивать свои модели текст-изображение, чтобы лучше понимать и отвечать на определенные типы запросов. Настройка модели позволяет улучшить ее производительность для конкретных областей применения.

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

Использование RAG для разработки запросов

В этом разделе мы рассмотрим, какое революционное значение имеют методики RAG в создании запросов, работая в гармонии с уже существующими подходами. Путем безупречного внедрения RAG в процесс мы можем оптимизировать и улучшить эффективность проектирования запросов.

Семантический поиск в базе запросов

Представьте себе компанию, которая накопила огромный справочник подсказок в своей библиотеке или создала большое количество шаблонов подсказок, каждый из которых разработан для конкретных случаев и целей. Традиционно пользователи, ищущие вдохновение для своих подсказок «текст-изображение», вручную просматривают эти библиотеки, часто просматривая обширные списки вариантов. Этот процесс может быть времязатратным и неэффективным. Встраивая подсказки из библиотеки подсказок с помощью моделей встроенного текста, компании могут создать семантический поисковой движок. Вот как это работает:

  • Встраивание подсказок – Компания использует встроенный текст для преобразования каждой подсказки в ее библиотеке в числовое представление. Эти встроенные тексты улавливают семантическое значение и контекст подсказок.
  • Запрос пользователя – Когда пользователи предоставляют свои собственные подсказки или описывают желаемое изображение, система также может анализировать и встраивать их входные данные.
  • Семантический поиск – Используя встроенные тексты, система выполняет семантический поиск. Она извлекает наиболее релевантные подсказки из библиотеки на основе запроса пользователя, учитывая как ввод пользователя, так и исторические данные в библиотеке подсказок.

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

Хотя семантический поиск упрощает процесс поиска соответствующих подсказок, RAG берет это на себя, используя эти результаты поиска для генерации оптимизированных подсказок. Вот как это работает:

  • Результаты семантического поиска – После извлечения наиболее релевантных подсказок из библиотеки, система представляет эти подсказки пользователю вместе с исходным вводом пользователя.
  • Модель генерации текста – Пользователь может выбрать подсказку из результатов поиска или предоставить дополнительный контекст своих предпочтений. Система подает выбранную подсказку и ввод пользователя на обработку в LLM.
  • Оптимизированная подсказка – LLM с пониманием языковых нюансов создает оптимизированную подсказку, которая объединяет элементы выбранной подсказки и ввода пользователя. Новая подсказка разработана с учетом требований пользователя и предназначена для получения желаемого изображения на выходе.

Комбинация семантического поиска и генерации подсказок не только упрощает процесс поиска подсказок, но и гарантирует, что сгенерированные подсказки будут высоко релевантны и эффективны. Это дает возможность настраивать и настраивать подсказки, что, в конечном итоге, приводит к улучшению результатов создания текстовых изображений. Ниже приведены примеры изображений, сгенерированных с помощью Stable Diffusion XL с использованием подсказок из семантического поиска и генерации подсказок.

Исходная подсказка Подсказки из семантического поиска Оптимизированная подсказка LLM

мультфильм с маленькой собачкой

  • милый мультфильм о собаке, которая обедает за столом
  • мультфильм о песике-панке, в стиле аниме, на белом фоне
  • мультфильм о мальчике и его собаке, идущих по лесной дорожке

Мультсцена, на которой мальчик счастливо идет, держась за руку, по лесной дорожке со своим милым питомцем – собакой, в стиле анимации.

Применения RAG-архитектуры для различных отраслей

Прежде чем мы рассмотрим применение нашей предлагаемой архитектуры RAG, давайте начнем с отрасли, в которой модель генерации изображений наиболее применима. В AdTech скорость и креативность имеют решающее значение. Генерация альтернативных подсказок на основе RAG может добавить мгновенную ценность, создавая множество изображений быстро для рекламной кампании. Человеческие решающие лица могут просмотреть автоматически сгенерированные изображения, чтобы выбрать кандидатское изображение для кампании. Эта функция может быть самостоятельным приложением или встроена в популярные программные инструменты и платформы, доступные в настоящее время.

Еще одна отрасль, в которой модель Stable Diffusion может повысить производительность, – это медиа и развлечения. Архитектура RAG может помочь в случаях использования создания аватаров, например. Начиная с простой подсказки, RAG может добавить гораздо больше цвета и характеристик к идеям аватаров. Он может генерировать множество вариантов подсказок и предоставлять более креативные идеи. Из этих сгенерированных изображений вы можете найти наиболее подходящий вариант для заданного приложения. Это увеличивает производительность благодаря автоматическому генерированию множества вариантов подсказок. Вариативность, которую она может предложить, – это немедленная выгода от решения.

Обзор решения

Делегирование клиентам возможности создания собственного помощника на основе RAG для разработки подсказок на AWS является свидетельством гибкости современной технологии. AWS предлагает множество вариантов и сервисов для поддержки этой задачи. Следующая схема архитектуры-справочника иллюстрирует использование RAG-приложения для разработки подсказок на AWS.

Когда дело доходит до выбора подходящих LLN для вашего помощника на основе ИИ, AWS предоставляет широкий спектр выбора, чтобы удовлетворить ваши конкретные требования.

Во-первых, вы можете выбрать LLM, доступные через SageMaker JumpStart, используя выделенные экземпляры. Эти экземпляры поддерживают различные модели, включая Falcon, Llama 2, Bloom Z и Flan-T5, или вы можете исследовать собственные модели, такие как Command и Multilingual Embedding от Cohere или Jurassic-2 от AI21 Labs.

Если вы предпочитаете более упрощенный подход, AWS предлагает LLM на Amazon Bedrock, включающий модели, такие как Amazon Titan и Anthropic Claude. Эти модели легко доступны через простые вызовы API, позволяя использовать их силу без усилий. Гибкость и разнообразие вариантов обеспечивают возможность выбора LLM, наилучшим образом соответствующего вашим целям разработки подсказок, будь то инновация с открытыми контейнерами или прочные возможности собственных моделей.

Когда дело доходит до создания основной базы векторов, AWS предлагает множество вариантов через свои собственные сервисы. Вы можете выбрать Amazon OpenSearch Service, Amazon Aurora или PostgreSQL Amazon Relational Database Service (Amazon RDS), предлагающие мощные функции, отвечающие вашим конкретным потребностям. Кроме того, вы можете исследовать продукты от партнеров AWS, такие как Pinecone, Weaviate, Elastic, Milvus или Chroma, которые предлагают специализированные решения для эффективного хранения и извлечения векторов.

Чтобы помочь вам начать создавать своего помощника на основе RAG для разработки подсказок, мы подготовили подробную демонстрацию в нашем репозитории GitHub. Эта демонстрация использует следующие ресурсы:

  • Создание изображений: Stable Diffusion XL на Amazon Bedrock
  • Вложение текста: Amazon Titan на Amazon Bedrock
  • Генерация текста: Claude 2 на Amazon Bedrock
  • Основная база векторов: FAISS, открытая библиотека для эффективного поиска похожих элементов
  • Библиотека подсказок: Примеры подсказок из DiffusionDB, первая крупномасштабная коллекция подсказок для генеративных моделей текст-изображение

Кроме того, мы внедрили LangChain для реализации LLM и Streamit для компонента веб-приложения, обеспечивая безупречный и удобный пользовательский опыт.

Требования

Для запуска этого демонстрационного приложения вам понадобятся следующие компоненты:

  • Учетная запись AWS
  • Базовое понимание навигации по Amazon SageMaker Studio
  • Базовое понимание процесса скачивания репозитория с GitHub
  • Базовые знания запуска команд в терминале

Запуск демонстрационного приложения

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

С помощью этой демонстрации мы стремимся сделать процесс внедрения доступным и понятным, предоставляя вам практический опыт для начала вашего путешествия в мир RAG и проектирования запроса на AWS.

Очистка

После того, как вы опробуете приложение, очистите свои ресурсы, остановив его работу.

Вывод

RAG стал прорывной парадигмой в мире проектирования запросов, оживляя возможности Stable Diffusion в области преобразования текста в изображение. Сочетая техники RAG с существующими подходами и используя надежные ресурсы AWS, мы открыли путь к упрощенному творчеству и ускоренному обучению.

Дополнительные ресурсы можно найти по следующим ссылкам: