CohereLabs объявила о выпуске North-Micro-Vision-Instruct — модели зрения и языка с открытыми весами, содержащей 2,4 млрд параметров и поддерживающей ввод изображений в исходном разрешении, по лицензии Apache 2.0. Компания заявляет, что модель является её самой компактной моделью зрения и языка на данный момент и разработана как компактная основа для специализированных мультимедийных приложений.
Модель и её веса доступны на Hugging Face в репозитории CohereLabs/North-Micro-Vision-Instruct. Общая поддержка vLLM всё ещё находится в стадии подготовки, тогда как в ходе оценок CohereLabs использовала внутреннюю версию vLLM.
Фокус на документах и изображениях в исходном разрешении
North Micro Vision сохраняет соотношение сторон изображения и его мелкие детали, вместо того чтобы сначала уменьшать каждое изображение до небольшого квадрата. Это позволяет работать с мелким текстом, макетами документов, таблицами, диаграммами, снимками экрана и формами. Обучение также охватывает различные языки и визуальные области, включая документы, диаграммы и естественные изображения.
Эти возможности предназначены для разработчиков, которым нужна модель, которую можно адаптировать к конкретным визуальным областям или запускать в локальных условиях и на периферийных устройствах. CohereLabs отмечает, что модели такого размера при наличии подходящего пакета вывода и методов квантования могут поддерживать сценарии, выходящие за рамки развёртывания на серверах и включающие ноутбуки, устройства периферийного класса и мобильные телефоны.
Архитектура из трёх компонентов
Модель состоит из визуального энкодера с исходным разрешением, проекционного модуля и компактной языковой модели. Она объединяет обученный компанией визуальный энкодер, содержащий 400 млн параметров, и внутреннюю языковую модель North Micro LLM, содержащую 2 млрд параметров.
Языковая модель следует архитектуре Command A+, чередуя три слоя внимания со скользящим окном, использующие вращательные позиционные эмбеддинги, и один слой глобального внимания без позиционных эмбеддингов. Визуальный энкодер использует 2D RoPE и обучаемые одномерные позиционные эмбеддинги для сохранения пространственной структуры изображений в исходном разрешении. Проекционный модуль внедряет представления из нескольких слоёв визуального энкодера в соответствующие ранние слои языковой модели.
Многоэтапное обучение
Обучение модели проходило в четыре этапа. Сначала были инициализированы визуальный энкодер и проекционный модуль, затем разрешение повышалось в два этапа при совместном обучении энкодера, проекционного модуля и языковой модели. После этого модель прошла инструкционную донастройку, а обучение завершилось упрощённой версией метода Mixed Preference Optimization для улучшения безопасности, согласованности и качества ответов.
Обучение визуального энкодера начиналось с разрешения 384×384 пикселя на 10 млн примеров, затем продолжалось при разрешении 1024×1024 пикселя на 13 млн примеров и завершилось при максимальном исходном разрешении 1654×2339 пикселей на 10 млн примеров. Этот предел соответствует странице A4 при разрешении 200 точек на дюйм, что позволяет модели обрабатывать одну страницу документа, сохраняя её соотношение сторон.
На этапе инструкционной донастройки использовалось 50 млн мультимодальных образцов, главным образом распределённых между OCR в исходном разрешении, диаграммами и таблицами, локализацией объектов и подсчётом, вопросами и ответами по OCR, а также общим пониманием изображений. Данные также включали описание изображений, знания, только текст, математику и естественные науки. Процесс опирался на общедоступные наборы данных и внутренний многоязычный набор документов компании.
Результаты оценки и доступные интеграции
CohereLabs оценивала модель в задачах общего, многоязычного и мультиизображенческого понимания изображений, понимания диаграмм, документов и OCR, естественных наук и технологий, локализации объектов и подсчёта, устойчивости к галлюцинациям, а также текстовых возможностей. Согласно опубликованным результатам, модель набрала 0,921 в тесте DocVQA, 0,808 в ChartQA, 0,792 в OCRBench и 0,725 в CountBench, тогда как её результат в HallusionBench составил 0,615.
Компания предоставляет веса, совместимые с MLX-VLM, при участии сообщества — Prince Canuma и Neywa. Кроме того, совместно с NVIDIA она поставляет рецепт AutoModel, позволяющий разработчикам донастраивать модель и развёртывать её на графических процессорах NVIDIA, а также поддерживает специализированную донастройку через созданный сообществом фреймворк Axolotl.