/ Модель

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

Контекст
2 048 токенов
Параметры
1,7 млрд
Лицензия
Apache 2.0
Архитектура
colongpt-phi · dense
Базовая модель
phi-1_5
Библиотека
adapter-transformers
Опубликована
14 окт 2024

ColonGPT

Генерация текстаТекст → текст

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

1скачиваний за 30 дней6лайковвеса обновлены6 фев 2025

Бенчмарки

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

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

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

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

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

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

ColonGPT — мультимодальная модель для задач колоноскопии, разработанная командой ai4colonoscopy. Она объединяет языковую модель Phi-1.5, визуальный энкодер SigLIP-SO и мультимодальный соединитель; размер модели — 1,7 млрд параметров, контекст — 2048 токенов. Модель дообучена на наборе ColonINST-v1 и предназначена для классификации изображений, генерации выражений, указывающих на область интереса, и понимания таких выражений. Для работы можно загружать изображения и задавать запросы через Gradio-интерфейс.

Карточка описывает сценарии анализа колоноскопических изображений, включая задачи обнаружения и интерпретации полипов. Модель принимает изображение и текстовый запрос и формирует текстовый ответ. Лицензия — Apache-2.0. README рекомендует обращаться к исходному проекту за подробными инструкциями; заявленные возможности не следует считать подтверждением клинической пригодности.

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

  • классификация колоноскопических изображений
  • поиск и описание полипов по изображению
  • генерация выражения, указывающего на область интереса на эндоскопическом снимке
  • определение области изображения по текстовому описанию

Ограничения

Модель специализирована на задачах колоноскопии; её клиническая точность и пригодность для принятия медицинских решений в предоставленной карточке не подтверждены. Контекст составляет 2048 токенов.

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

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

Открыть на Hugging Face

ColonGPT (A colonoscopy-specific multimodal Language Model)

📖 Paper | 🏠 Home

This is the merged weights of ColonGPT-v1-phi1.5-siglip-lora-stg2, including vision encoder (siglip) + language model (phi-1.5), and other fine-tuned weights on our ColonINST.

Our ColonGPT is a standard multimodal language model, which contains four basic components: a language tokenizer, an visual encoder (🤗 SigLIP-SO), a multimodal connector, and a language model (🤗 Phi1.5). In this huggingface page, we provide a quick start for convenient of new users. For further details about ColonGPT, we highly recommend visiting our homepage. There, you'll find comprehensive usage instructions for our model and the latest advancements in intelligent colonoscopy technology.

Quick start

Here is a code snippet to show you how to quickly try-on our ColonGPT model with transformers. The model focuses on three downstream tasks: image classification (CLS), referring expression generation (REG), and referring expression comprehension (REC). If you need a caption generator, please refer to ColonGPT-V1-stg1. For convenience, we manually combined some configuration and code files and merged the weights. Please note that this is a quick code, we recommend you installing ColonGPT's source code to explore more.

  • Before running the snippet, you only need to install the following minimium dependencies.

    conda create -n quickstart python=3.10
    conda activate quickstart
    pip install torch transformers accelerate pillow
    
  • Then you can use python script/quick_start/quickstart.py to start.

    import torch
    import transformers
    from transformers import AutoModelForCausalLM, AutoTokenizer, StoppingCriteria
    from PIL import Image
    import warnings
    
    transformers.logging.set_verbosity_error()
    transformers.logging.disable_progress_bar()
    warnings.filterwarnings('ignore')
    
    device = 'cuda'  # or cpu
    torch.set_default_device(device)
    
    model_name = "ai4colonoscopy/ColonGPT-v1"
    
    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        torch_dtype=torch.float16,  # or float32 for cpu
        device_map='auto',
        trust_remote_code=True
    )
    
    tokenizer = AutoTokenizer.from_pretrained(
        model_name,
        trust_remote_code=True
    )
    
    class KeywordsStoppingCriteria(StoppingCriteria):
        def __init__(self, keyword, tokenizer, input_ids):
            self.keyword_id = tokenizer(keyword).input_ids
            self.tokenizer = tokenizer
            self.start_len = input_ids.shape[1]
    
        def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
            for keyword_id in self.keyword_id:
                if keyword_id in input_ids[0, -len(self.keyword_id):]:
                    return True
            return False
    
    prompt = "Categorize the object."
    text = f"USER: <image>\n{prompt} ASSISTANT:"
    text_chunks = [tokenizer(chunk).input_ids for chunk in text.split('<image>')]
    input_ids = torch.tensor(text_chunks[0] + [-200] + text_chunks[1], dtype=torch.long).unsqueeze(0).to(device)
    
    image = Image.open('/home/projects/u7248002/Project/ColonGPT-tmp/cache/examples/example2.png')
    image_tensor = model.process_images([image], model.config).to(dtype=model.dtype, device=device)
    
    stop_str = "<|endoftext|>"
    stopping_criteria = KeywordsStoppingCriteria(stop_str, tokenizer, input_ids)
    
    output_ids = model.generate(
        input_ids,
        images=image_tensor,
        do_sample=False,
        temperature=0,
        max_new_tokens=512,
        use_cache=True,
        stopping_criteria=[stopping_criteria]
    )
    
    outputs = tokenizer.decode(output_ids[0, input_ids.shape[1]:]).replace("<|endoftext|>", "").strip()
    print(outputs)
    

License

This project utilizes certain datasets and checkpoints that are subject to their respective original licenses. Users must comply with all terms and conditions of these original licenses. The content of this project itself is licensed under the Apache license 2.0.

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

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

GPU в ailist

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

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

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

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

0 моделей