Вы когда-нибудь хотели задать вопрос картинке? Руководство для начинающих по BLIP-2

Картинка стоит тысячи слов. Давайте сделаем один разговор.

Устали вручную анализировать изображения? Пытаетесь превратить понравившиеся картинки в полезные подсказки? Хотите инструмент, который может автоматически подписывать любое изображение, которое вы создаете? Хотите задать картинке вопрос о себе?

Модель BLIP-2 здесь, чтобы помочь! Эта мощная модель искусственного интеллекта может отвечать на вопросы об изображениях и генерировать подписи, облегчая вашу жизнь. В этом руководстве я расскажу вам, как использовать модель BLIP-2 для анализа и подписи к изображениям. Я даже покажу вам, как использовать модель для опроса изображений!

BLIP-2 в настоящее время является одной из самых популярных моделей на Replicate, занимая 24-е место с почти 560 000 запусков. Его средняя стоимость составляет 0,0046 доллара за запуск, что делает его довольно доступным для большинства приложений. Его создателем является не кто иной, как Salesforce, один из самых популярных создателей на Replicate — номер 5 в общем зачете, с тремя моделями, которые в сумме выдерживают 9,5 миллионов прогонов!

Я покажу вам, как запустить BLIP-2 с помощью Node.js и Replicate. Replicate — это платформа, которая позволяет легко взаимодействовать с моделями ИИ через простой API. Мы также увидим, как использовать Replicate Codex, бесплатный инструмент сообщества, чтобы найти похожие модели и решить, какая из них лучше всего подходит для вашего проекта. Давай начнем!

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

О модели BLIP-2

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

Он превосходит Flamingo на нулевом показателе VQAv2 (65,0 против 56,3), устанавливая новый уровень техники для нулевого выстрела субтитров (на NoCaps с оценкой CIDEr 121,6 против предыдущего лучшего результата 113,2). Оснащенный мощными модулями LLM, такими как OPT и FlanT5, BLIP-2 открывает передовые возможности для преобразования зрения в язык с нулевым выстрелом для широкого спектра приложений.

Это все очень технический жаргон, поэтому на простом английском языке:

  • BLIP-2 лучше отвечает на визуальные вопросы (задача под названием VQAv2) без какой-либо предварительной подготовки (нулевой выстрел) по сравнению с другой моделью под названием Flamingo. BLIP-2 получает 65,0 баллов, а Flamingo — 56,3.
  • BLIP-2 также устанавливает новый рекорд по генерации описаний для изображений без предварительного обучения (субтитры с нулевым кадром). Он делает это в наборе данных под названием NoCaps, где он получает оценку 121,6 с использованием метрики под названием CIDEr. Предыдущий лучший результат был 113,2.
  • BLIP-2 можно комбинировать с мощными языковыми моделями, такими как OPT и FlanT5, для создания новых интересных способов создания языка на основе визуального ввода (например, изображений). Это можно использовать для различных приложений.

Вы можете узнать больше в официальном репо. Вы также можете сравнить BLIP-2 с предшественницей BLIP model.

Понимание входов и выходов модели BLIP-2

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

Входы

  • image (файл): введите изображение для запроса или подписи.
  • caption (логическое значение): выберите, если вы хотите создавать подписи к изображениям вместо того, чтобы задавать вопросы.
  • question (строка): вопрос об этом изображении (по умолчанию: «Что это за изображение?»)
  • context (строка, необязательно): Предыдущие вопросы и ответы будут использоваться в качестве контекста для ответа на текущий вопрос.
  • use_nucleus_sampling (логическое значение): переключает модель, использующую выборку ядра для генерации ответов.
  • temperature (число): температура для использования с пробой ядра (по умолчанию: 1)

Выходы

Модель выводит строку, представляющую ответ или заголовок. Результатом является очень простой объект JSON, как показано ниже:

{
  "type": "string",
  "title": "Output"
}

Пошаговое руководство по использованию модели BLIP-2 для анализа изображений и подписи

Если вы предпочитаете практический подход, вы можете напрямую взаимодействовать с демо модели BLIP-2 в Replicate через их пользовательский интерфейс. Вы можете использовать эту ссылку, чтобы получить доступ к интерфейсу и попробовать его! Это отличный способ поиграть с параметрами модели и получить быструю обратную связь.

Если вы более техничны и хотите создать инструмент на основе модели BLIP-2, выполните следующие простые шаги. Сначала создайте учетную запись Replicate и получите ключ API — он понадобится вам для взаимодействия с API Replicate.

Шаг 1. Установите клиент Replicate Node.js

В этом примере мы будем работать с Node.js. Итак, для начала нам нужно использовать npm для установки клиента Node.js Replicate. Вы можете легко сделать это с помощью приведенного ниже кода.

npm install replicate

Шаг 2. Пройдите аутентификацию с помощью токена API.

Вы можете найти свой токен на сайте Replicate в области учетной записи.

export REPLICATE_API_TOKEN=[token]

Шаг 3: Запустите модель

Чтобы запустить модель с помощью Node.js, просто используйте приведенный ниже код. Обязательно отформатируйте ввод со всеми полями и значениями в разделе «Входные данные» выше.

import Replicate from "replicate";

const replicate = new Replicate({
  auth: process.env.REPLICATE_API_TOKEN,
});
const output = await replicate.run(
  "andreasjansson/blip-2:4b32258c42e9efd4288bb9910bc532a69727f9acd26aa08e175713a0a857a608",
  {
    input: {
      image: "..."
    }
  }
);

Например, если вы предоставляете изображение ниже в качестве входных данных, для которого question установлено значение «Что это за изображение?» и температуре, установленной на "1", модель предоставит выходные данные: 'marina Bay Sands, singapore'.

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

const prediction = await replicate.predictions.create({
  version: "4b32258c42e9efd4288bb9910bc532a69727f9acd26aa08e175713a0a857a608",
  input: {
    image: "..."
  },
  webhook: "https://example.com/your-webhook",
  webhook_events_filter: ["completed"]
});

Вы также можете просмотреть Replicate Документация по библиотеке Node.js для получения дополнительной информации.

Идем дальше — поиск других моделей анализа изображений с помощью Replicate Codex

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

Если вы хотите найти модели, похожие на BLIP-2, выполните следующие действия:

Шаг 1. Посетите Replicate Codex

Перейдите в Replicate Codex, чтобы начать поиск похожих моделей.

Шаг 2. Используйте панель поиска

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

Шаг 3: Отфильтруйте результаты

В левой части страницы результатов поиска вы найдете несколько фильтров, которые помогут вам сузить список моделей. Вы можете фильтровать и сортировать модели по типу (Image-to-Image, Text-to-Image и т. д.), стоимости, популярности или даже конкретным создателям.

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

Шаг 4. Изучите и сравните модели

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

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

Заключение

В этом руководстве для начинающих мы представили модель BLIP-2, ее возможности и увидели, как ее использовать для анализа изображений и создания субтитров. Мы также обсудили, как использовать функции поиска и фильтрации в Replicate Codex для поиска похожих моделей и сравнения их результатов, что позволило нам расширить наши горизонты в мире анализа изображений и субтитров с помощью ИИ.

Я надеюсь, что это руководство вдохновило вас на изучение творческих возможностей ИИ и воплощение вашего воображения в жизнь. Счастливых субтитров, и спасибо за чтение. Наслаждайтесь исследованием мира ИИ с помощью BLIP-2, Replicate и Replicate Codex!