InternVL3

InternVL3 — нативная мультимодальная большая языковая модель, выпущенная OpenGVLab, которая совместно учит зрение и язык на одном этапе предобучения. LibreYOLO оборачивает её как детектор объектов с открытым словарём: набором классов становится любой список текстовых меток, без фиксированной головы и без дообучения.

Задачи
detection
Размеры
1b, 2b, 8b at 448 px
Установка
pip install libreyolo
Уровень поддержки
Смежный уровень, начиная с v. Отдельная часть продукта со своей фабрикой и контрактом.
Исходный проект
InternVL3 от Shanghai AI Laboratory (OpenGVLab), MIT (code); Qwen License (weights). Статья, исходный код
Лицензии
Код: MIT, веса: MIT (code); Qwen License (weights). Коммерческое использование

Установка

InternVL3 нужен extra vlm, который подтягивает transformers для бэкбона с шаблонами чата.

bash
pip install "libreyolo[vlm]"

Предсказание

LibreInternVL3 — класс Python, а не чекпойнт .pt: он не загружается через фабрику LibreYOLO(), и CLI libreyolo его не разрешает. Фабрика LibreVLM(...) (from libreyolo import LibreVLM) тоже добирается до этого семейства по алиасу, например LibreVLM("internvl3-2b"); класс, который используется ниже, — это то, что она конструирует. Веса берутся из собственных -hf репозиториев OpenGVLab на Hugging Face, а не из зеркала LibreYOLO; при первом вызове они скачиваются и кэшируются локально, а перед этим в лог один раз пишется уведомление о лицензии для весов Qwen с ограниченным доступом.

Python
from libreyolo import LibreInternVL3, SAMPLE_IMAGE model = LibreInternVL3(size="2b") # Открытый словарь: любые слова, а не фиксированная голова классов.# Действует во всех последующих predict()/track(), пока не задать заново.model.set_classes(["person", "bicycle", "dog"])result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
Прямой чат
from libreyolo import LibreInternVL3, SAMPLE_IMAGE model = LibreInternVL3(size="2b") # Запасной ход под удобной обёрткой детекции: свободные вопросы,# подсчёт объектов или любой промпт, который обёртка рамок не покрывает.text = model.chat(SAMPLE_IMAGE, "Describe the scene in one sentence.")print(text)

result.boxes несёт разобранные детекции, как и в любом другом семействе. Уверенность здесь — заглушка: InternVL3 не выдаёт оценку для каждой рамки, поэтому все детекции получают одну и ту же константу, а conf= только отбрасывает строки ниже этой константы и не ранжирует их. iou отбрасывает почти дублирующиеся рамки одного класса выше заданного перекрытия — побочный эффект того, что жадное декодирование повторяет объект; это не проход NMS по классам. Если пропустить set_classes(), словарь по умолчанию берёт имена COCO-80. Про источники, стриминг и обработку результатов см. предсказание.

Варианты

Три размера: 1b, 2b и 8b — все нативные -hf чекпойнты OpenGVLab (бэкбон на LLM Qwen, а не двухбашенная архитектура, которую описывает оригинальная статья про InternVL). Бенчмарк-стенд LibreYOLO это семейство не измерял, поэтому опубликованных цифр точности для их сравнения нет; выбирайте размер под свой бюджет вычислений.

LibreYOLO открывает это семейство только для предсказания. train(), val() и export() бросают NotImplementedError: дообучайте upstream и загружайте результат, валидация на датасете пропущена, потому что уверенность-заглушка сделала бы COCO mAP обманчивым, а экспорт вне области применения для генеративной модели, у которой нет state dict для трассировки.

Лицензирование

Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.

Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.

Оригинальная работа
InternVL3, Shanghai AI Laboratory (OpenGVLab)
Лицензия исходного проекта
MIT (code); Qwen License (weights)
Исходный код проекта
github.com/OpenGVLab/InternVL
Код LibreYOLO
MIT
Веса
MIT (code); Qwen License (weights), распространяются авторами. LibreYOLO не размещает и не зеркалирует их.
Толкование
InternVL3's own code is MIT, permissive and usable in commercial and closed-source products. The `-hf` checkpoints this family loads carry a Qwen LLM backbone and are licensed separately, under Alibaba Cloud's Qwen License: free to use, modify and redistribute with a "Built with Qwen" or "Improved using Qwen" attribution requirement, and a 100 million monthly-active-user ceiling on commercial use above which Alibaba's own authorization is required. LibreYOLO does not host or redistribute these weights: LibreInternVL3 downloads the matching size directly from OpenGVLab/InternVL3-<size>-hf on Hugging Face the first time it runs, and logs a one-time notice for the Qwen License before that download.

Собственный код InternVL3 — под MIT, разрешительной лицензией, пригодной для коммерческих продуктов и продуктов с закрытым исходным кодом. Чекпойнты -hf, которые загружает это семейство, несут бэкбон на LLM Qwen и лицензируются отдельно, под Qwen License от Alibaba Cloud: их можно свободно использовать, изменять и распространять при условии указания «Built with Qwen» или «Improved using Qwen», а на коммерческое использование действует потолок в 100 миллионов активных пользователей в месяц, выше которого нужна отдельная авторизация от самой Alibaba. LibreYOLO не размещает и не раздаёт эти веса: LibreInternVL3 при первом запуске скачивает соответствующий размер напрямую из OpenGVLab/InternVL3-<size>-hf на Hugging Face и перед этой загрузкой один раз пишет в лог уведомление о Qwen License.

Цитирование

@article{zhu2025internvl3,
  title={Internvl3: Exploring advanced training and test-time recipes for open-source multimodal models},
  author={Zhu, Jinguo and Wang, Weiyun and Chen, Zhe and Liu, Zhaoyang and Ye, Shenglong and Gu, Lixin and Tian, Hao and Duan, Yuchen and Su, Weijie and Shao, Jie and others},
  journal={arXiv preprint arXiv:2504.10479},
  year={2025}
}

Скопировано из блока цитирования авторов на странице github.com/OpenGVLab/InternVL#citation.

Проверено с LibreYOLO v1.5.0. Таблицы поддержки, чекпойнты и результаты бенчмарков на этой странице сгенерированы из выпущенной библиотеки и опубликованных весов, а не написаны вручную.