PaliGemma 2 : Новое семейство VLMs от Google. PaliGemma 2 - обновление open-sorce VLM PaliGemma, основанное на семействе LLM

️ PaliGemma 2 : Новое семейство VLMs от Google. PaliGemma 2 - обновление open-sorce VLM PaliGemma, основанное на семействе LLM Gemma 2. Семейство сочетает в себе кодировщик изображений SigLIP-So400m с спектром моделей Gemma 2, от 2B до 27B параметров. Модели PaliGemma 2 обучались в 3 этапа на трех разрешениях (224px², 448px² и 896px²). PaliGemma 2 демо нстрирует впечатляющие результаты в распознавании музыкальных нот, молекулярных структур и медицинских изображений. Модели справляются с распознаванием табличной структуры и созданием отчетов по рентгенограммам. В задачах генерации длинных, детализированных аннотаций к изображениям PaliGemma 2 превосходит многие популярные VLM, несмотря на то, что она обучалась на значительно меньших наборах данных. Для развертывания на устройствах без GPU могут использоваться квартованные версии PaliGemma 2 . Тесты показали, что переход от 32-битной разрядности (f32) к 16-битной (bf16) или квантованным весам не приводит к заметному снижению качества. В релиз вошли предварительно обученные модели 3B, 10B и 28B с разрешениями 224px, 448px, 896px, модели, настроенные на наборе данных DOCCI для создания аннотаций к изображениям и их версии для JAX/FLAX. Процесс файнтюна PaliGemma 2 такой же, как и у предыдущей версии. Разработчики предоставляют скрипт и ipynb-блокнот для тонкой настройки модели или создания LoRA/QLoRA. Создание LoRA модели PaliGemma 2 на половине валидационного сплита VQAv2 заняло полчаса на 3-х A100 с 80 ГБ VRAM. Результат можно найти здесь , а это ее демо . Пример инференса модели paligemma2-10b-ft-docci-448 на Transformers: from transformers import AutoProcessor, PaliGemmaForConditionalGeneration from PIL import Image import requests model_id = “google/paligemma2-10b-ft-docci-448“ model = (model_id) model = (“cuda“) processor = (model_id) prompt = “caption en“ image_file = “% link_to_target_file%“ raw_image = ((image_file, stream=True).raw).convert(“RGB“) inputs = processor(prompt, raw_image, return_tensors=“pt“).to(“cuda“) output = (**inputs, max_new_tokens=20) print((output[0], skip_special_tokens=True)[len(prompt):]) Лицензирование: Gemma License . Статья Коллекция на HF Arxiv
Back to Top