/ Модель

Характеристики

Контекст
4 096 токенов
Архитектура
internvl_chat · dense
Базовая модель
Vintern-1B-v2
Библиотека
transformers
Опубликована
13 ноя 2024

ColVintern-1B-v1

Генерация текстаТекст → текст7 профессий

Экспериментальная модель 5CD-AI на базе Vintern-1B-v2, которая кодирует вопросы и изображения документов в векторы для мультимодального поиска и RAG, с упором на вьетнамский язык.

53скачиваний за 30 дней7лайковвеса обновлены14 ноя 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ColVintern-1B-v1 — экспериментальная мультимодальная модель компании 5CD-AI для поиска по изображениям документов в стиле ColPali. Она дообучена на базе 5CD-AI/Vintern-1B-v2 и выдаёт векторные представления вопросов и изображений с информацией, подходящей для ответа, чтобы использовать их в поиске и RAG. Модель содержит 1 млрд параметров и обучалась на англоязычном наборе ColPali и небольшой части вьетнамских пар «изображение — вопрос и ответ». Авторы сообщают о результатах, близких к ColPali v1 на части тестов ViDoRe.

Модель рассчитана на поиск по изображениям документов и извлечение релевантных страниц для ответа на вопросы, особенно по вьетнамским текстам; заявлена также поддержка английского. В README отмечено, что это первая экспериментальная версия, обученная лишь на 5% доступных вьетнамских пар, а расширение данных и улучшение результатов запланированы для будущих версий. Доступна в формате safetensors для Transformers. Лицензия в предоставленных сведениях не указана.

Сценарии применения

  • Поиск страниц документов по вопросу на вьетнамском языке
  • Извлечение релевантных изображений страниц для системы RAG
  • Мультимодальный поиск по отсканированным документам
  • Поиск по изображениям документов на английском языке

Ограничения

Это ранняя экспериментальная версия, обученная только на части вьетнамских пар «изображение — вопрос и ответ»; авторы планируют расширить обучающие данные и улучшить результаты. В тестировании не использовались французские наборы TabF и Shift.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

ColVintern-1B-v1 🇻🇳 ❄️ - Colpali version for Vietnamese.

What's new in ColVintern-1B-v1!

  • We coded and successfully trained the Colpali pipeline for Vintern-1B-v2. The model supports RAG by extracting embedding vectors for questions and images containing related information.
  • This is the first experimental version, trained on the Colpali dataset for English and 5% of the image-based question-answer pairs we have for Vietnamese.
  • The model achieves results nearly equivalent to Colpali version 1, with strong support for Vietnamese texts and only 1 billion parameters compared to current 2B-3B Colpali models.

Colpali Benchmarks

We tested on the ViDoRe benchmark from the Colpali paper. The TabF and Shift test datasets were not used because they are in French. We plan to expand to multiple languages in the near future.

ArxivQDocQInfoQTATQAIEnergyGov.Health.Avg.
Unstructured Text only
- BM25-34.1-44.090.478.378.882.6-
- BGE-M3-28.4-36.188.476.877.784.6-
Unstructured + OCR
- BM2531.636.862.962.792.885.983.987.268.0
- BGE-M331.425.760.150.590.283.684.991.164.7
Unstructured + Captioning
- BM2540.138.470.061.588.084.782.789.269.3
- BGE-M335.732.971.943.888.883.380.491.366.0
Contrastive VLMs
- Jina-CLIP25.411.935.53.315.219.721.420.819.2
- Nomic-vision17.110.730.12.712.910.911.415.713.9
- SigLIP (Vanilla)43.230.364.126.262.565.766.179.154.7
Colpali
- SigLIP (Vanilla)43.230.364.126.262.565.766.179.154.7
- BiSigLIP (+fine-tuning)58.532.970.530.574.373.774.282.362.1
- BiPali (+LLM)56.530.067.433.471.261.973.873.658.5
- ColPali (+Late Inter.)79.154.481.865.896.291.092.794.481.3
Ours
- ColVintern-1B (+Late Inter.)71.648.384.659.692.988.789.495.278.8

We are expanding the training dataset for upcoming versions, including adding hard negative mining techniques, increasing GPU VRAM, etc., to achieve better results.

Examples

Input Images:

Input Queries:

queries = ["Cảng Hải Phòng thông báo gì ?","Phí giao hàng bao nhiêu ?"]

Output Scores:

QueryImage 1 ScoreImage 2 Score
Chuyện gì xảy ra với quốc lộ 5 TP Hải Phòng ?62.433359.9523
Phí giao hàng bao nhiêu ?60.774862.8654

Quickstart:

Colab: https://colab.research.google.com/drive/1-y8HLiyS0oCj7Vpy4i7FsJ1A6kU7ROca?usp=sharing

import torch
from PIL import Image
from transformers import AutoModel, AutoTokenizer, AutoProcessor
import matplotlib.pyplot as plt

model_name = "5CD-AI/ColVintern-1B-v1"

processor =  AutoProcessor.from_pretrained(
    model_name,
    trust_remote_code=True
)
model = AutoModel.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True,
    trust_remote_code=True,
).eval().cuda()

#!wget https://huggingface.co/5CD-AI/ColVintern-1B-v1/resolve/main/ex1.jpg
#!wget https://huggingface.co/5CD-AI/ColVintern-1B-v1/resolve/main/ex2.jpg

images = [Image.open("ex1.jpg"),Image.open("ex2.jpg")]
batch_images = processor.process_images(images)

queries = [
    "Cảng Hải Phòng thông báo gì ?",
    "Phí giao hàng bao nhiêu ?",
]

batch_queries = processor.process_queries(queries) 

batch_images["pixel_values"] =  batch_images["pixel_values"].cuda().bfloat16()
batch_images["input_ids"] = batch_images["input_ids"].cuda() 
batch_images["attention_mask"] = batch_images["attention_mask"].cuda().bfloat16()
batch_queries["input_ids"] = batch_queries["input_ids"].cuda() 
batch_queries["attention_mask"] = batch_queries["attention_mask"].cuda().bfloat16()

with torch.no_grad():
    image_embeddings = model(**batch_images)
    query_embeddings = model(**batch_queries)

scores = processor.score_multi_vector(query_embeddings, image_embeddings)

max_scores, max_indices = torch.max(scores, dim=1)
# In ra kết quả cho mỗi câu hỏi
for i, query in enumerate(queries):
    print(f"Câu hỏi: '{query}'")
    print(f"Điểm số: {max_scores[i].item()}\n")
    plt.figure(figsize=(5,5))
    plt.imshow(images[max_indices[i]])
    plt.show()

Citation

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
ColInternVL2
Ревизия весов
faeac6e

0 моделей