Использование мультимодальных LLM(БЯМ) для работы с изображениями

Dec 23, 2024 10:51


В ближайшее время все функции анализа изображений будут переложены на БЯМ, так как их программирование осуществляется на английском языке, а не на языке программирования.

Скорость анализа также высокая за счёт использования аппаратной акселерации.

Кроме того, БЯМ учитывают контекст изображения и их трудно обмануть и можно учесть такие факторы, которые невозможно учесть используя стандартные алгоритмы детекции типа YOLO.

И всегда можно «на лету» изменить критерии анализа изображения - что невозможно сделать ни для какого другого способа анализа изображений.

Ограничения в размерах для БЯМ сейчас в основном не критичны. Отдельные БЯМ хвалятся тем, что таковых ограничений вообще теперь нет (Qwen2-VL), а некоторые имеют ограничения в 896x896 пикселей (paligemma).

Варианты

  1. Qwen/Qwen2-VL-72B-Instruct: https://huggingface.co/Qwen/Qwen2-VL-72B-Instruct
  2. meta-llama/Llama-3.2-90B-Vision-Instruct: https://huggingface.co/meta-llama/Llama-3.2-90B-Vision-Instruct
  3. mistralai/Pixtral-12B-2409: https://huggingface.co/mistralai/Pixtral-12B-2409
  4. deepseek-ai/deepseek-vl2: https://huggingface.co/deepseek-ai/deepseek-vl2
  5. Семейство мультимодальных БЯМ paligemma от Google: https://huggingface.co/google
  6. unsloth предоставляет доступ к visual моделям: https://huggingface.co/unsloth (See our collection for vision models including Llama 3.2, Llava, Qwen2-VL and Pixtral.)


Вышеприведённые модели далеко не все могут быть конвертированы стандартным образом как это указано в моей статье «Как получить правильную квантизацию модели»: https://nikitayev.livejournal.com/151085.html

Поэтому, если вы планируете использовать LM-Studio, придётся искать подходящие GGUF модели используя поиск по ключевым словам VL, VLM, Visual.

Ищите такие, у которых будет жёлтая надпись:



Я нашёл такие:

  1. second-state/Llava-v1.5-7B-GGUF/llava-v1.5-7b-Q8_0.gguf
  2. xtuner/llava-llama-3-8b-v1_1-gguf/llava-llama-3-8b-v1_1-f16.gguf
  3. bartowski/Qwen2-VL-72B-Instruct-GGUF/Qwen2-VL-72B-Instruct-Q4_K_L.gguf - на текущий момент не работает, но когда-нибудь будет работать.
  4. circulus/on-lunar-vlm-v1/text-model-q4_K_M.gguf
  5. cmp-nct/Yi-VL-6B-GGUF/ggml-model-Q5_K.gguf
  6. JoshXT/mistral-vlm-7b/mistral-vlm-7b.Q5_K_M.gguf

Хорошие результаты показывают номер 5 и номер 6.

Моя утилита, которую можно использовать и развивать для работы с моделями в LM-Studio: https://disk.yandex.ru/d/3Bj0snJ9NEZL_w

Тестовая задача

Необходимо определить время суток по картинке с камеры наружного наблюдения - день, сумерки, ночь.



День



Сумерки



Ночь

Можно сформулировать следующие критерии, которые будут пользовательским промптом:

Какое время суток изображено?

Определи процент вероятности того, что изображение получено:

1. В дневное время.

2. В сумерки.

3. Ночью.

Определение времени суток:

1. Днём чётко видны машины и разделительные полосы на дорогах. Также, днём изображение яркое.

2. В сумерки чётко видны машины, видны полосы на дороге, но машины включают фары. Цвет общего фона - светло серый.

3.Ночью общий фон изображения тёмно-серое или чёрное, видны включённые фары и почти не видны полосы на дороге. Машины ночью также почти не видны.

Необходимо сделать перевод на английский язык:

What time of day is shown?

Determine the percentage of probability that the image was obtained:

1. During the day.

2. At dusk.

3. At night.

Determining the time of day:

1. During the day, cars and dividing stripes on the roads are clearly visible. Also, during the day, the image is bright.

2. At dusk, cars are clearly visible, stripes on the road are visible, but the cars turn on their headlights. The color of the general background is light gray.

3. At night, the general background of the image is dark gray or black, the headlights are visible and the stripes on the road are almost invisible. Cars are also almost invisible at night.

Теперь посмотрим как отработают модели



Модель Yi-VL не ошиблась - здесь день.



Тут также без ошибок - день.



Тоже день.



И тут день.



Тут - ночь. Верно.



Верно - тут ночь.



И тут ночь.



Тут модель ошиблась - свет фар был очень ярким. Модель определила, что изображены сумерки. Но ошибка не в модели, а в формулировке пользовательского промпта - надо ещё что-то учесть.

Оригинал изображения:





Очень сложная задача - определить сумерки. И модель успешно справилась.



И тут сумерки и модель правильно определила, что это сумерки. Очень сложная задача.



Тут изображены, как предполагается, сумерки. Но модель посчитала, что это ночь.



сами посмотрите - это изображение оценено человеком как сумерки

Вероятно, сумерки и ночь имеют какие-то другие отличия, которые не отражены в промпте.

Предлагаю свои услуги для автоматизации вашего бизнеса.

Мой телеграм: https://t.me/Nikitayev

Группа в телеграм с новостями мира высоких технологий: https://t.me/nikitaevai

Mail: nikitayev@mail.ru

БЯМ, мультимодальные LLM, vlm, искусственный интеллект

Previous post Next post
Up