Вопрос или проблема
Я пытаюсь использовать мультимодальную модель из Huggingface hub. Я попробовал с моделью “maya-multimodal/maya”. (Следующий код используется для загрузки модели):
from llama_index.multi_modal_llms.huggingface import HuggingFaceMultiModal
from llama_index.core.schema import ImageDocument
model = HuggingFaceMultiModal.from_model_name(“maya-multimodal/maya”)
При этом я получаю следующую ошибку при загрузке модели. (Пожалуйста, найдите ошибку ниже).
У меня два вопроса.
- Как я могу решить эту ошибку.
- Какие хорошие квантифицированные мультимодальные модели в Huggingface я могу использовать (для преобразования изображения в текст).
Ошибка:
ValueError: Контрольная точка, которую вы пытаетесь загрузить, имеет тип модели llava_cohere
, но Transformers не распознает эту архитектуру. Это может быть связано с проблемой с контрольной точкой или с тем, что ваша версия Transformers устарела.
Вы можете обновить Transformers с помощью команды pip install --upgrade transformers
. Если это не работает и контрольная точка очень новая, возможно, еще не выпущена версия, поддерживающая эту модель. В этом случае вы можете получить самое актуальное код, установив Transformers из исходника с помощью команды pip install git+https://github.com/huggingface/transformers.git
Я попытался выполнить оба предложенных действия:
- pip install –upgrade transformers и
- pip install git+https://github.com/huggingface/transformers.git
но ни одно из них не сработало.
Ответ или решение
Конечно, давайте разберемся с вашей проблемой, связанной с загрузкой мультимодальной модели из хаба Huggingface.
Теория (Theory)
Проект компании Huggingface известен тем, что предоставляет обширный репозиторий предварительно обученных моделей для выполнения различных задач, включая мультимодальные модели, которые могут работать с несколькими типами данных, такими как текст и изображения. Однако иногда могут возникнуть сложности с интеграцией этих моделей из-за несовместимости версии библиотек или новых архитектур, которые ещё не поддерживаются в стандартной версии библиотеки Transformers.
Mодель "maya-multimodal/maya", на которую вы ссылаетесь, вызывает ошибку, связанную с определенной архитектурой модели (llava_cohere
). Это указывает на то, что либо модель создана с использованием новой архитектуры, которая ещё не поддерживается в вашей текущей версии библиотеки, либо существует проблема с самим контрольным точкой (checkpoint) модели.
Пример (Example)
Вы столкнулись с ошибкой:
ValueError: The checkpoint you are trying to load has model type 'llava_cohere' but Transformers does not recognise this architecture.
Это типичная проблема для новых моделей или новых архитектур, когда они еще не интегрированы в официальные релизы библиотек. Обратите внимание, что даже обновление библиотеки transformers
до последней версии, как это рекомендовали разработчики, не помогло решить вашу проблему. Это значит, что архитектура llava_cohere
может быть слишком новой и еще не включенной в главный репозиторий библиотеки.
Применение (Application)
Решение проблемы
-
Проверьте наличие документации и обновлений от разработчиков модели: Зайдите на страницу репозитория модели "maya-multimodal/maya" на Huggingface. Часто разработчики оставляют дополнительную документацию или инструкции для установки специфичных зависимостей, которые могут оказаться необходимыми для работы с конкретной моделью.
-
Используйте экспериментальные ветки библиотеки: Поскольку официальная версия библиотеки не решила проблему, вы уже пробовали устанавливать Transformers из исходников. Проверьте, может быть, существует экспериментальная ветка
transformers
, поддерживающая эту архитектуру. Возможно, разработчики модели предоставили свой форк библиотеки, который поддерживаетllava_cohere
. -
Свяжитесь с разработчиками: Если в репозитории отсутствует необходимая информация, ви можете создать вопрос на GitHub-странице модели/библиотеки или связаться с автором модели через форумы или другие доступные каналы. Разработчики могут не знать о несовместимости и будут благодарны за информацию.
-
Пробуйте альтернативные модели: Поскольку решение может занять время, возможно, рассмотреть использование альтернативных моделей. Например, для задач модальности изображения в текст, Huggingface предлагает модели, такие как "OFA" или "VQ-VAE", которые могут предложить аналогичный функционал, но с полной поддержкой в текущих версиях библиотеки.
Рекомендации по альтернативным моделям
-
OFA (One For All): Эта модель предназначена для выполнения различных задач, включая трансформацию изображений в текст. Она известна своей гибкостью и широко поддерживается в текущих версиях библиотеки
transformers
. -
CLIP: Модель от OpenAI, которая также может использоваться для задач мультимодального понимания. Её поддержка в экосистеме Huggingface хороша, и она может подойти для ваших нужд.
-
MMSegmentation: Поддерживаемая модель для задач сегментации изображений, она может преобразовывать данные изображения в более управляемую текстовую форму.
Заключение
При работе с новыми архитектурами или тестовыми моделями всегда стоит проверять наличие дополнительной документации или поддержки от сообщества разработчиков. Использование новых моделей может быть не менее продуктивным, чем попытка исправить возникающие проблемы, и, зачастую, обратиться к опыту и рекомендациям со стороны может быть наилучшим выходом из сложившейся ситуации. Если ни одно из предложенных решений вам не подходит, возможно, стоит рассмотреть возможность непосредственного участия в alpha или beta-тестировании моделей и инструментов через платформы разработчиков, такие как Huggingface, что также позволит досконально разобраться в принципах их работы.