/ Модель

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

Лицензия
Своя лицензия
Опубликована
10 апр 2025

Perception-LM-8B

Изображение и текст → текст8 профессий

PLM8B — мультимодальная модель Meta для диалогового понимания изображений и видео, включая визуальные вопросы и анализ событий.

296скачиваний за 30 дней67лайковвеса обновлены14 июл 2025

Бенчмарки

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

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

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

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

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

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

Perception Language Model (PLM) — семейство мультимодальных моделей Meta для понимания изображений и видео; эта карточка относится к варианту PLM8B. Модель сочетает визуальный энкодер с языковым декодером менее чем на 8 млрд параметров и доступна в формате Safetensors для работы с библиотекой Transformers. В README описаны обучение и оценка модели, а также результаты на наборах тестов для визуальных вопросов, OCR, понимания графиков и пространственно-временных аспектов видео.

PLM предназначена для диалога по изображениям и видео, ответов на вопросы о визуальном содержимом и детального анализа сцен и событий. Разработчики сообщают, что при обучении исследовали масштабирование синтетических данных и создали набор из 2,8 млн примеров с разметкой людей; в описанном стандартном обучении не использовалась дистилляция закрытых моделей. Карточка не приводит отдельные численные оценки ограничений модели или длину контекста. Лицензия указана как other, поэтому конкретные условия использования следует сверить с лицензией репозитория.

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

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

Ограничения

README не сообщает длину контекста и не приводит отдельных оценок ошибок или ограничений; результаты бенчмарков не гарантируют качество на прикладных данных. Лицензия обозначена как other, поэтому условия использования нужно проверить в репозитории.

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

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

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

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

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

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

Открыть на Hugging Face

Model Details

Perception Language Model (PLM) is a state-of-the-art, fully open and reproducible MLLM for transparent research in image and video understanding. It was introduced in "PerceptionLM: Open-Access Data and Models for Detailed Visual Understanding".

[📃 Tech Report] [📂 Github]

Model Overview: PLM consists of a vision encoder with a small scale (<8B parameters) LLM decoder. We start by an analysis of standard training pipelines with available data, without any proprietary model distillation. We investigate large-scale synthetic data and establish key scaling laws to identify critical data gaps that limit video understanding performance, especially for spatio-temporal reasoning and fine-grained understanding tasks. To fill these gaps, we create 2.8M high-quality human-labeled. This release is nearly an order of magnitude larger than the largest existing video datasets.

We provide the training and evaluation code at perception_models codebase. You can find more details in the GitHub repo.

ResourceDescriptionDocumentation
EvaluationEvaluation of PLM using lmms-evaldocs/evaluation.md
Training / FinetuningTraining and finetuning instructions for PLMdocs/training.md
PLM-VideoBenchEvaluation on PLM-VideoBench using lmms-evaldocs/plm_videobench.md
End-to-End Finetuning ExampleEnd-to-end finetuning example on radiology imagesdocs/finetune_example.md
Generating ResponseGenerate responses using a trained model with generate.pygenerate.py

PLM Image Benchmark Results

ModelDocVQAChartQATextVQAInfoQAAI2DOCRBenchCOCONocapFlickrMMMUVQAv2OKVQAVizWizMMESEEDBLINKCVBenchRealWorldQAVSRPOPE
PLM1B90.778.682.163.084.9807138.6124.2100.534.881.761.059.7160376.346.873.867.168.888.4
PLM3B93.884.384.374.690.9830144.9126.598.041.284.366.864.0187978.555.481.472.480.488.7
PLM8B94.685.586.580.992.7870146.7129.9105.646.185.669.667.0198979.356.081.375.082.889.9

PLM Video Benchmark Results

ModelVATEXDREAM 1KHow2QAMVBenchNExTQAPerceptionTest (test)STARTVQAVideoMMETVBenchActivityNetQAEgoSchema (test)TemporalBenchTOMATOMotionBench (dev)TempCompass (MCQ)CGBench (clue)Charades STAVideoHallucerHalluc. EventHallusion
PLM1B92.534.386.470.180.372.783.750.349.250.462.560.418.225.552.264.643.655.249.279.5
PLM3B96.137.489.474.783.479.384.855.354.958.966.266.923.430.960.469.347.257.755.576.5
PLM8B99.735.990.777.184.182.784.959.358.363.567.368.828.333.261.472.746.458.657.777.3

PLM Usage

Files here work with huggingface transformers library while original checkpoints that work with perception_models are under original/.

To use latest transformers library,

pip install --upgrade git+https://github.com/huggingface/transformers.git

PLM example with image input:

from transformers import AutoProcessor, AutoModelForImageTextToText
from huggingface_hub import hf_hub_download

MODEL_PATH = "facebook/Perception-LM-8B"
processor = AutoProcessor.from_pretrained(MODEL_PATH, use_fast=True)
model = AutoModelForImageTextToText.from_pretrained(MODEL_PATH).to("cuda")
test_image_file = hf_hub_download(
            repo_id="shumingh/perception_lm_test_images",
            filename="14496_0.PNG",
            repo_type="dataset",
)
conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": test_image_file,
            },
            {"type": "text", "text": "Describe the bar plot in the image."},
        ],
    }
]

inputs = processor.apply_chat_template(
    [conversation],
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
)
inputs = inputs.to(model.device)
generate_ids = model.generate(**inputs, max_new_tokens=256)
input_length = inputs["input_ids"].shape[1]
generate_ids_without_inputs = generate_ids[:, input_length:]

for output in processor.batch_decode(generate_ids_without_inputs, skip_special_tokens=True):
    print(output)

PLM example with video input:

from transformers import AutoProcessor, AutoModelForImageTextToText
from huggingface_hub import hf_hub_download

MODEL_PATH = "facebook/Perception-LM-8B"
processor = AutoProcessor.from_pretrained(MODEL_PATH, use_fast=True)
model = AutoModelForImageTextToText.from_pretrained(MODEL_PATH).to("cuda")

video_file = hf_hub_download(
    repo_id="shumingh/perception_lm_test_videos",
    filename="GUWR5TyiY-M_000012_000022.mp4",
    repo_type="dataset",
)
conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "video",
                "url": video_file,
            },
            {"type": "text", "text": "Can you describe the video in detail?"},
        ],
    }
]
inputs = processor.apply_chat_template(
    [conversation],
    num_frames=32,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    video_load_backend="decord",
)
inputs = inputs.to(model.device)
generate_ids = model.generate(**inputs, max_new_tokens=256)
input_length = inputs["input_ids"].shape[1]
generate_ids_without_inputs = generate_ids[:, input_length:]

for output in processor.batch_decode(
    generate_ids_without_inputs, skip_special_tokens=True
):
    print(output)

Citation

If you find our code useful for your research, please consider citing:

@article{cho2025PerceptionLM,
  title={PerceptionLM: Open-Access Data and Models for Detailed Visual Understanding},
  author={Jang Hyun Cho and Andrea Madotto and Effrosyni Mavroudi and Triantafyllos Afouras and Tushar Nagarajan and Muhammad Maaz and Yale Song and Tengyu Ma and Shuming Hu and Hanoona Rasheed and Peize Sun and Po-Yao Huang and Daniel Bolya and Suyog Jain and Miguel Martin and Huiyu Wang and Nikhila Ravi and Shashank Jain and Temmy Stark and Shane Moon and Babak Damavandi and Vivian Lee and Andrew Westbury and Salman Khan and Philipp Kr\"{a}henb\"{u}hl and Piotr Doll{\'a}r and Lorenzo Torresani and Kristen Grauman and Christoph Feichtenhofer},
  journal={arXiv},
  year={2025}
}

@article{bolya2025PerceptionEncoder,
  title={Perception Encoder: The best visual embeddings are not at the output of the network},
  author={Daniel Bolya and Po-Yao Huang and Peize Sun and Jang Hyun Cho and Andrea Madotto and Chen Wei and Tengyu Ma and Jiale Zhi and Jathushan Rajasegaran and Hanoona Rasheed and Junke Wang and Marco Monteiro and Hu Xu and Shiyu Dong and Nikhila Ravi and Daniel Li and Piotr Doll{\'a}r and Christoph Feichtenhofer},
  journal={arXiv},
  year={2025}
}

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

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

GPU в ailist

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

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

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
969497c

0 моделей