/ Модель

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

Контекст
2 048 токенов
Параметры
6,6 млрд
Размер весов
36,6 ГБ
Лицензия
Apache 2.0
Опубликована
16 дек 2023

cogagent-vqa-hf

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

CogAgent-VQA — визуально-языковая модель Zhipu AI для ответов на вопросы по изображениям, распознавания текста и анализа скриншотов интерфейсов.

557скачиваний за 30 дней50лайковвеса обновлены3 янв 2024

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

CogAgent-VQA — открытая визуально-языковая модель от команды Zhipu AI, улучшенная на основе CogVLM. Эта версия контрольной точки предназначена прежде всего для диалога по изображению в один ход и оценки на тестах визуальных вопросов и ответов, включая VQAv2 и MM-Vet. Модель принимает изображение высокого разрешения до 1120×1120 и текстовый вопрос, а в ответ генерирует текст; также заявлены возможности OCR и понимания интерфейсов веб-страниц, настольных и мобильных приложений.

В README семейство описано как CogAgent-18B с 11 млрд визуальных и 7 млрд языковых параметров, тогда как метаданные этого репозитория указывают 6,6 млрд параметров, архитектуру CogAgentForCausalLM и контекст 2048 токенов. Поэтому размер конкретной опубликованной модели расходится с описанием семейства в карточке. Репозиторий содержит веса Safetensors и имеет лицензию Apache-2.0 в метаданных; README указывает, что для коммерческого использования требуется регистрация и соблюдение условий лицензии. Для GUI-агента, визуального заземления и многоходового диалога разработчики рекомендуют вариант cogagent-chat.

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

  • ответы на вопросы по изображениям в один ход
  • оценка на тестах VQAv2 и MM-Vet
  • извлечение и понимание текста на изображениях
  • ответы на вопросы по скриншотам веб-страниц и приложений
  • анализ диаграмм и документов на изображениях

Ограничения

Эта версия оптимизирована для одноходового визуального диалога; для GUI-агента, визуального заземления и многоходового диалога README рекомендует cogagent-chat. Размер параметров расходится между источниками: метаданные указывают 6,6 млрд, а README описывает семейство CogAgent-18B как имеющее 18 млрд параметров.

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

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

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

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

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

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

Открыть на Hugging Face

CogAgent

CogAgent is an open-source visual language model improved based on CogVLM.

📖 Paper: https://arxiv.org/abs/2312.08914

🚀 GitHub: For more information such as demo, fine-tuning, and query prompts, please refer to Our GitHub

Reminder

📍 This is the cogagent-vqa version of CogAgent checkpoint.

We have open-sourced 2 versions of CogAgent checkpoints, and you can choose one based on your needs.

  1. cogagent-chat: This model has strong capabilities in GUI Agent, visual multi-turn dialogue, visual grounding, etc.

    If you need GUI Agent and Visual Grounding functions, or need to conduct multi-turn dialogues with a given image, we recommend using this version of the model.

  2. cogagent-vqa: This model has stronger capabilities in single-turn visual dialogue.

    If you need to work on VQA benchmarks (such as MMVET, VQAv2), we recommend using this model.

Introduction

CogAgent-18B has 11 billion visual and 7 billion language parameters.

CogAgent demonstrates strong performance in image understanding and GUI agent:

  1. CogAgent-18B achieves state-of-the-art generalist performance on 9 cross-modal benchmarks, including: VQAv2, MM-Vet, POPE, ST-VQA, OK-VQA, TextVQA, ChartQA, InfoVQA, DocVQA.

  2. CogAgent-18B significantly surpasses existing models on GUI operation datasets, including AITW and Mind2Web.

In addition to all the features already present in CogVLM (visual multi-round dialogue, visual grounding), CogAgent:

  1. Supports higher resolution visual input and dialogue question-answering. It supports ultra-high-resolution image inputs of 1120x1120.

  2. Possesses the capabilities of a visual Agent, being able to return a plan, next action, and specific operations with coordinates for any given task on any GUI screenshot.

  3. Enhanced GUI-related question-answering capabilities, allowing it to handle questions about any GUI screenshot, such as web pages, PC apps, mobile applications, etc.

  4. Enhanced capabilities in OCR-related tasks through improved pre-training and fine-tuning.

Models weight in this repository for academic research is free. Users who wish to use the models for commercial purposes must register here. Registered users may use the models for commercial activities free of charge, but must comply with all terms and conditions of this license. The license notice shall be included in all copies or substantial portions of the Software.

Quick Start

use this python code to get started quickly in cli_demo.py:

import torch
from PIL import Image
from transformers import AutoModelForCausalLM, LlamaTokenizer
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--quant", choices=[4], type=int, default=None, help='quantization bits')
parser.add_argument("--from_pretrained", type=str, default="THUDM/cogagent-chat-hf", help='pretrained ckpt')
parser.add_argument("--local_tokenizer", type=str, default="lmsys/vicuna-7b-v1.5", help='tokenizer path')
parser.add_argument("--fp16", action="store_true")
parser.add_argument("--bf16", action="store_true")

args = parser.parse_args()
MODEL_PATH = args.from_pretrained
TOKENIZER_PATH = args.local_tokenizer
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'

tokenizer = LlamaTokenizer.from_pretrained(TOKENIZER_PATH)
if args.bf16:
    torch_type = torch.bfloat16
else:
    torch_type = torch.float16

print("========Use torch type as:{} with device:{}========\n\n".format(torch_type, DEVICE))

if args.quant:
    model = AutoModelForCausalLM.from_pretrained(
        MODEL_PATH,
        torch_dtype=torch_type,
        low_cpu_mem_usage=True,
        load_in_4bit=True,
        trust_remote_code=True
    ).eval()
else:
    model = AutoModelForCausalLM.from_pretrained(
        MODEL_PATH,
        torch_dtype=torch_type,
        low_cpu_mem_usage=True,
        load_in_4bit=args.quant is not None,
        trust_remote_code=True
    ).to(DEVICE).eval()

while True:
    image_path = input("image path >>>>> ")
    if image_path == "stop":
        break

    image = Image.open(image_path).convert('RGB')
    history = []
    while True:
        query = input("Human:")
        if query == "clear":
            break
        input_by_model = model.build_conversation_input_ids(tokenizer, query=query, history=history, images=[image])
        inputs = {
            'input_ids': input_by_model['input_ids'].unsqueeze(0).to(DEVICE),
            'token_type_ids': input_by_model['token_type_ids'].unsqueeze(0).to(DEVICE),
            'attention_mask': input_by_model['attention_mask'].unsqueeze(0).to(DEVICE),
            'images': [[input_by_model['images'][0].to(DEVICE).to(torch_type)]],
        }
        if 'cross_images' in input_by_model and input_by_model['cross_images']:
            inputs['cross_images'] = [[input_by_model['cross_images'][0].to(DEVICE).to(torch_type)]]

        # add any transformers params here.
        gen_kwargs = {"max_length": 2048,
                      "temperature": 0.9,
                      "do_sample": False}
        with torch.no_grad():
            outputs = model.generate(**inputs, **gen_kwargs)
            outputs = outputs[:, inputs['input_ids'].shape[1]:]
            response = tokenizer.decode(outputs[0])
            response = response.split("</s>")[0]
            print("\nCog:", response)
        history.append((query, response))

Then run:

python cli_demo_hf.py --bf16

License

The code in this repository is open source under the Apache-2.0 license, while the use of CogAgent and CogVLM model weights must comply with the Model License.

Citation & Acknowledgements

If you find our work helpful, please consider citing the following papers

@misc{hong2023cogagent,
      title={CogAgent: A Visual Language Model for GUI Agents}, 
      author={Wenyi Hong and Weihan Wang and Qingsong Lv and Jiazheng Xu and Wenmeng Yu and Junhui Ji and Yan Wang and Zihan Wang and Yuxiao Dong and Ming Ding and Jie Tang},
      year={2023},
      eprint={2312.08914},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

@misc{wang2023cogvlm,
      title={CogVLM: Visual Expert for Pretrained Language Models}, 
      author={Weihan Wang and Qingsong Lv and Wenmeng Yu and Wenyi Hong and Ji Qi and Yan Wang and Junhui Ji and Zhuoyi Yang and Lei Zhao and Xixuan Song and Jiazheng Xu and Bin Xu and Juanzi Li and Yuxiao Dong and Ming Ding and Jie Tang},
      year={2023},
      eprint={2311.03079},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

In the instruction fine-tuning phase of the CogVLM, there are some English image-text data from the MiniGPT-4, LLAVA, LRV-Instruction, LLaVAR and Shikra projects, as well as many classic cross-modal work datasets. We sincerely thank them for their contributions.

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

Класс архитектуры
CogAgentForCausalLM
Ревизия весов
9c742a5

0 моделей