Простая в использовании система обнаружения мультимодальных галлюцинаций для MLLM
Благодарность • Тестирование • Демо • Обзор • ModelZoo • Установка • Быстрый старт • Цитирование
Благодарность
Обзор
Единая мультимодальная галлюцинация
Набор данных: статистика MHalluBench
Фреймворк: Иллюстрация UniHD
МодельZoo
Установка
⏩Краткий старт
Цитирование
17 мая 2024 г. Статья «Унифицированное обнаружение галлюцинаций для мультимодальных моделей большого языка» принята на основную конференцию ACL 2024.
21.04.2024 Мы заменяем все базовые модели в демо-версии нашими собственными обученными моделями, что значительно сокращает время вывода.
21 апреля 2024 г. Мы выпускаем нашу модель обнаружения галлюцинаций с открытым исходным кодом HalDet-LLAVA, которую можно загрузить в Huggingface, ModelScope и WiseModel.
10 февраля 2024 г. Мы выпускаем демо-версию EasyDetect .
5 февраля 2024 г. Мы выпускаем статью «Унифицированное обнаружение галлюцинаций для мультимодальных моделей большого языка» с новым тестом MHaluBench! Будем рады любым комментариям и обсуждениям по этой теме :)
20.10.2023 Проект EasyDetect запущен и находится в стадии разработки.
Частичная реализация этого проекта была осуществлена при помощи и вдохновении соответствующих наборов инструментов для галлюцинаций, включая FactTool, Woodpecker и другие. Этот репозиторий также использует общедоступный проект mPLUG-Owl, MiniGPT-4, LLaVA, GroundingDINO и MAERec. Мы следуем той же лицензии на открытый исходный код и благодарим их за вклад в сообщество.
EasyDetect — это систематический пакет, который предлагается в качестве простой в использовании платформы обнаружения галлюцинаций для мультимодальных моделей большого языка (MLLM), таких как GPT-4V, Gemini, LlaVA, в ваших исследовательских экспериментах.
Предпосылкой для унифицированного обнаружения является последовательная категоризация основных категорий галлюцинаций в рамках MLLM. В нашей статье поверхностно рассматривается следующая таксономия галлюцинаций с единой точки зрения:
Рисунок 1. Унифицированное мультимодальное обнаружение галлюцинаций направлено на выявление и обнаружение галлюцинаций, конфликтующих с модальностью, на различных уровнях, таких как объект, атрибут и текст сцены, а также галлюцинации, противоречащие фактам, как при преобразовании изображения в текст, так и при преобразовании текста в изображение. поколение.
Галлюцинация, конфликтующая с модальностью. MLLM иногда генерируют выходные данные, которые конфликтуют с входными данными других модальностей, что приводит к таким проблемам, как неправильные объекты, атрибуты или текст сцены. Пример на приведенном выше рисунке (a) включает MLLM, неточно описывающий форму спортсмена, демонстрируя конфликт на уровне атрибутов из-за ограниченной способности MLLM достигать точного выравнивания текста и изображения.
Галлюцинация, противоречащая фактам. Результаты MLLM могут противоречить установленным фактическим знаниям. Модели преобразования изображения в текст могут создавать повествования, которые отклоняются от фактического содержания, включая нерелевантные факты, в то время как модели преобразования текста в изображение могут создавать визуальные эффекты, которые не отражают фактические знания, содержащиеся в текстовых подсказках. Эти несоответствия подчеркивают борьбу MLLM за поддержание фактической последовательности, что представляет собой серьезную проблему в этой области.
Унифицированное обнаружение мультимодальных галлюцинаций требует проверки каждой пары изображение-текст a={v, x}
, где v
обозначает либо визуальный входной сигнал, предоставляемый MLLM, либо синтезированный им визуальный выходной сигнал. Соответственно, x
означает сгенерированный MLLM текстовый ответ на основе v
или текстовый запрос пользователя для синтеза v
. В рамках этой задачи каждый x
может содержать несколько утверждений, обозначаемых как a
чтобы определить, является ли оно «галлюцинаторным» или «негаллюцинаторным», обеспечивая обоснование своих суждений на основе предоставленного определения галлюцинации. Обнаружение текстовых галлюцинаций с помощью LLM обозначает подслучай в этой ситуации, где v
равно нулю.
Чтобы продвинуться в этом направлении исследований, мы представляем тест метаоценки MHaluBench, который охватывает контент от преобразования изображения в текст и преобразования текста в изображение, с целью строго оценить достижения в области мультимодальных детекторов галлюцинаций. Более подробная статистическая информация о MHaluBench представлена на рисунках ниже.
Таблица 1: Сравнение контрольных показателей с существующей проверкой фактов или оценкой галлюцинаций. "Проверять." указывает на проверку фактической согласованности, «Eval». обозначает оценку галлюцинаций, генерируемых разными LLM, и его ответ основан на разных тестируемых LLM, а «Det.» включает в себя оценку способности детектора идентифицировать галлюцинации.
Рисунок 2: Статистика данных на уровне претензий MHaluBench. «IC» означает субтитры к изображениям, а «T2I» означает синтез текста в изображение соответственно.
Рисунок 3: Распределение категорий галлюцинаций в заявлениях MHaluBench, помеченных галлюцинациями.
Решая ключевые проблемы обнаружения галлюцинаций, мы представляем на рисунке 4 единую структуру, которая систематически решает мультимодальную идентификацию галлюцинаций как для задач преобразования изображения в текст, так и преобразования текста в изображение. Наша система использует сильные стороны различных инструментов, специфичных для конкретной области, для эффективного сбора мультимодальных доказательств для подтверждения галлюцинаций.
Рисунок 4: Конкретная иллюстрация UniHD для унифицированного обнаружения мультимодальных галлюцинаций.
Вы можете загрузить две версии HalDet-LLaVA, 7b и 13b, на трех платформах: HuggingFace, ModelScope и WiseModel.
ОбниматьЛицо | МодельОбъем | Мудраямодель |
---|---|---|
ХалДет-ллава-7б | ХалДет-ллава-7б | ХалДет-ллава-7б |
ХалДет-ллава-13б | ХалДет-ллава-13б | ХалДет-ллава-13б |
Результаты уровня утверждения для набора проверочных данных
Самопроверка (GPT-4V) означает использование GPT-4V с 0 или 2 случаями.
UniHD(GPT-4V/GPT-4o) означает использование GPT-4V/GPT-4o с информацией о двух кадрах и инструменте.
HalDet (LLAVA) означает использование LLAVA-v1.5, обученного на наших наборах данных о поездах.
тип задачи | модель | Акк | Prec средн. | Напомним, среднее | Mac.F1 |
преобразование изображения в текст | Самопроверка 0shot (GPV-4V) | 75.09 | 74,94 | 75,19 | 74,97 |
Самопроверка, 2 выстрела (GPV-4V) | 79,25 | 79.02 | 79,16 | 79.08 | |
ХалДет (LLAVA-7b) | 75.02 | 75.05 | 74,18 | 74,38 | |
ХалДет (LLAVA-13b) | 78,16 | 78,18 | 77,48 | 77,69 | |
ЮниХД(ГПТ-4В) | 81,91 | 81,81 | 81,52 | 81,63 | |
UniHD(GPT-4o) | 86.08 | 85,89 | 86.07 | 85,96 | |
преобразование текста в изображение | Самопроверка 0shot (GPV-4V) | 76.20 | 79,31 | 75,99 | 75,45 |
Самопроверка, 2 выстрела (GPV-4V) | 80,76 | 81,16 | 80,69 | 80,67 | |
ХалДет (LLAVA-7b) | 67,35 | 69,31 | 67,50 | 66,62 | |
ХалДет (LLAVA-13b) | 74,74 | 76,68 | 74,88 | 74,34 | |
ЮниХД(ГПТ-4В) | 85,82 | 85,83 | 85,83 | 85,82 | |
UniHD(GPT-4o) | 89,29 | 89,28 | 89,28 | 89,28 |
Чтобы просмотреть более подробную информацию о HalDet-LLaVA и наборе данных поезда, обратитесь к файлу readme.
Установка для локальной разработки:
git clone https://github.com/zjunlp/EasyDetect.git cd EasyDetect pip install -r requirements.txt
Установка инструментов (GroundingDINO и MAERec):
# install GroundingDINO git clone https://github.com/IDEA-Research/GroundingDINO.git cp -r GroundingDINO pipeline/GroundingDINO cd pipeline/GroundingDINO/ pip install -e . cd .. # install MAERec git clone https://github.com/Mountchicken/Union14M.git cp -r Union14M/mmocr-dev-1.x pipeline/mmocr cd pipeline/mmocr/ pip install -U openmim mim install mmengine mim install mmcv mim install mmdet pip install timm pip install -r requirements/albu.txt pip install -r requirements.txt pip install -v -e . cd .. mkdir weights cd weights wget -q https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth wget https://download.openmmlab.com/mmocr/textdet/dbnetpp/dbnetpp_resnet50-oclip_fpnc_1200e_icdar2015/dbnetpp_resnet50-oclip_fpnc_1200e_icdar2015_20221101_124139-4ecb39ac.pth -O dbnetpp.pth wget https://github.com/Mountchicken/Union14M/releases/download/Checkpoint/maerec_b_union14m.pth -O maerec_b.pth cd ..
Мы предоставляем пользователям пример кода, чтобы они могли быстро начать работу с EasyDetect.
Пользователи могут легко настроить параметры EasyDetect в файле yaml или просто быстро использовать параметры по умолчанию в предоставленном нами файле конфигурации. Путь к файлу конфигурации — EasyDetect/pipeline/config/config.yaml.
openai: api_key: введите ключ API openai. base_url: введите base_url, по умолчанию — нет. температура: 0,2 max_tokens: 1024инструмент: обнаружить: groundingdino_config: путь GroundingDINO_SwinT_OGC.pymodel_path: путь groundingdino_swint_ogc.pthdevice: cuda:0BOX_TRESHOLD: 0.35TEXT_TRESHOLD: 0.25AREA_THRESHOLD: 0.001 ocr:dbnetpp_config: путь dbnetpp_resnet50-oclip_fpnc_1200e_icdar2015.pydbnetpp_path: путь dbnetpp.pthmaerec_config: путь maerec_b_union14m.pymaerec_path: путь maerec_b.pthdevice: cuda:0content: word.numbercachefiles_path: путь к кэш-файлам для сохранения временных изображенийBOX_TRESHOLD: 0,2TEXT_TRESHOLD: 0,25 google_serper:serper_api_key: Введите ключи API Serpernippet_cnt: 10prompts:claim_generate: конвейер/prompts/claim_generate.yaml query_generate: конвейер/подсказки/query_generate.yaml проверить: конвейер/подсказки/verify.yaml
Пример кода
from Pipeline.run_pipeline import *pipeline = Pipeline()text = "Кафе на изображении называется "Hauptbahnhof""image_path = "./examples/058214af21a03013.jpg"type = "image-to-text"response,claim_list = конвейер .run(text=text, image_path=image_path, type=type)print(response)print(claim_list)
Пожалуйста, укажите наш репозиторий, если вы используете EasyDetect в своей работе.
@article{chen23factchd, автор = {Сян Чен и Дуаньчжэн Сун и Хунхао Гуй и Чэнси Ван и Нингю Чжан и Цзян Юн и Фэй Хуан и Чэнфэй Лв и Дэн Чжан и Хуацзюнь Чен}, title = {FactCHD: Сравнительный анализ обнаружения галлюцинаций, конфликтующих с фактами} }, журнал = {CoRR}, том = {abs/2310.12086}, год = {2023}, URL = {https://doi.org/10.48550/arXiv.2310.12086}, doi = {10.48550/ARXIV.2310.12086}, eprinttype = {arXiv}, eprint = {2310.12086 }, biburl = {https://dblp.org/rec/journals/corr/abs-2310-12086.bib}, bibsource = {библиография dblp по информатике, https://dblp.org}}@inproceedings{chen-etal- 2024-unified-hallucination,title = «Единое обнаружение галлюцинаций для мультимодальных моделей большого языка»,author = «Чен, Сян и Ван, Чэньси и Сюэ, Ида и Чжан, Ниню и Ян, Сяоянь и Ли, Цян и Шэнь, Юэ и Лян, Лэй и Гу, Цзиньцзе и Чен, Хуацзюнь», редактор = «Ку, Лунь-Вэй и Мартинс, Андре и Шрикумар, Вивек",booktitle = "Материалы 62-го ежегодного собрания Ассоциации Компьютерная лингвистика (Том 1: Длинные статьи)", месяц = август, год = "2024", адрес = "Бангкок, Таиланд", издатель = "Ассоциация компьютерной лингвистики", URL = "https://aclanthology.org/2024 .acl-long.178",pages = "3235--3252", }
Мы предложим долгосрочное обслуживание для исправления ошибок, решения проблем и удовлетворения новых запросов. Поэтому, если у вас есть какие-либо проблемы, пожалуйста, задайте их нам.