/ Модель

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

Лицензия
CC BY-NC 4.0
Архитектура
omni · MoE
Библиотека
transformers
Опубликована
22 сен 2026

omni-base

Эмбеддинги изображенийИзображение → embedding

OMNI-B — визуальный энкодер для извлечения эмбеддингов гистологических изображений и решения задач цифровой патологии.

57скачиваний за 30 дней0лайковвеса обновлены7 окт 2026

Бенчмарки

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

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

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

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

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

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

OMNI-B — разработанный авторами статьи Scaling Multi-Teacher Distillation for Digital Pathology компактный визуальный энкодер для цифровой патологии. Модель извлекает признаки из изображений гистологических тканевых тайлов и предназначена для построения эмбеддингов, которые можно использовать для классификации и анализа изображений и целых гистологических слайдов.

Это ViT-Base/14 с хвостом из слоёв смеси экспертов (MoE), 114 млн параметров и размерностью эмбеддинга 768. Модель дистиллирована одновременно из десяти фундаментальных моделей патологии и обучена на 10 млн тайлов из 10 тысяч полноразмерных изображений TCGA. По умолчанию она усредняет десять токенов учителей; также можно получить отдельные токены учителей и патч-токены. Для входного тайла 224×224 указано 21,8 GFLOPs. Карточка приводит результаты линейной классификации, kNN и классификации с 16 примерами на задачах цифровой патологии.

Модель предназначена для извлечения признаков и не описана как генератор текста или изображений. Лицензия CC BY-NC 4.0 разрешает использование с атрибуцией, но некоммерческое. Авторы отмечают, что веса отдельных токенов учителей могут быть полезны для обучения задачно-специфичного взвешивания.

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

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

Ограничения

Модель предназначена для гистологических изображений; качество на конкретных наборах данных может отличаться от приведённых в карточке результатов. Лицензия CC BY-NC 4.0 ограничивает коммерческое использование.

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

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

Открыть на Hugging Face

OMNI-B: Scaling Multi-Teacher Distillation for Digital Pathology

Model Summary

OMNI-B is a 114M-parameter pathology vision encoder distilled from 10 state-of-the-art pathology foundation models at once. Instead of compressing all teachers into a single CLS token (vanilla multi-teacher distillation), OMNI learns one token per teacher, together with a structured attention mask, Mixture-of-Experts (MoE) layers and a per-teacher contrastive loss. This lets distillation keep improving as more teachers are added.

By default the model returns the average of its 10 teacher-specific tokens, which is the embedding used for all results below. The individual teacher tokens and the patch tokens can also be returned with a flag.

  • ⚡ Efficient: 21.8 GFLOPs per 224×224 tile
  • 🧠 Distilled from 10 teachers: H-optimus-1, Virchow2, UNI2-h, Prov-GigaPath, Kaiko-ViT-B/8, CONCH v1.5, Hibou-L, H0-mini, KEEP, DINOv3-ViT-L/16
  • 📚 Trained on 10M tiles from 10k TCGA whole-slide images

Other sizes of the collection:

ModelParamsDimGFLOPsTile LP F1 (%)Slide LP BAcc (%)
OMNI-T7.3M1921.3983.963.2
OMNI-S28.7M3845.4885.363.1
OMNI-B (this model)114M76821.887.163.2
OMNI-L330M102467.4587.863.5

📄 Paper: Scaling Multi-Teacher Distillation for Digital Pathology (NeurIPS 2026 Main Track)


Model Details

ArchitectureViT-Base/14 with a MoE tail
Embedding dim768
Depth / heads12 blocks / 12 heads
MoElast 3 blocks, 5 experts, top-2 routing
Teacher tokens10 (one per teacher)
Input224 × 224 RGB, ImageNet normalization
Patch tokens16 × 16 = 256

Results

Linear probing on THUNDER (tile level, 13 datasets, TCGA datasets removed) and PathoBench (slide level, 25 CPTAC tasks, mean pooling), plus kNN and 16-shot classification on THUNDER:

Tile LP F1 (%)Slide LP BAcc (%)kNN F1 (%)16-shot F1 (%)
87.163.284.379.9

Usage

import torch
from PIL import Image
from transformers import AutoModel

device = "cuda" if torch.cuda.is_available() else "cpu"

# Load OMNI-B
model = AutoModel.from_pretrained("sofieneb/omni-base", trust_remote_code=True).to(device).eval()
transform = model.get_transform()  # resize to 224 + ImageNet normalization

image = Image.open("tile.png").convert("RGB")
x = transform(image).unsqueeze(0).to(device)  # (1, 3, 224, 224)

with torch.inference_mode():
    embedding = model(x)  # average of the 10 teacher tokens

print(embedding.shape)  # (1, 768)

Teacher tokens and patch tokens

with torch.inference_mode():
    out = model(x, return_teacher_tokens=True, return_patch_tokens=True)

out["embedding"]       # (1, 768)       average of the teacher tokens (same as model(x))
out["teacher_tokens"]  # (1, 10, 768)   one token per teacher
out["patch_tokens"]    # (1, 256, 768)  16 x 16 patch tokens

# Teacher order of the tokens
print(model.teachers)

# Example: keep the token of a single teacher
idx = 0  # position of the teacher you want in model.teachers
single_teacher = out["teacher_tokens"][:, idx]  # (1, 768)

Teacher tokens are well separated and complementary, so the simple average works well out of the box. You can also learn a task-specific weighting of the 10 tokens (see Table 2 of the paper).

Mixed precision

with torch.inference_mode(), torch.autocast(device_type="cuda", dtype=torch.bfloat16):
    embedding = model(x)

Quick evaluation with THUNDER

eval_thunder.py wraps the model for the THUNDER benchmark.

Install THUNDER and set its data folder, where datasets, embeddings and results are stored:

pip install thunder-bench
export THUNDER_BASE_DATA_FOLDER=/path/to/thunder_data
hf download sofieneb/omni-base eval_thunder.py --local-dir .

Then run the benchmark, choosing the datasets with --datasets. The datasets are downloaded and their splits generated automatically before benchmarking (add --no-download to skip this once they are in place):

python eval_thunder.py --datasets <dataset> --tasks knn linear_probing

For example, on MHIST:

python eval_thunder.py --datasets mhist --tasks knn linear_probing

Results are written to $THUNDER_BASE_DATA_FOLDER/outputs/res/<dataset>/omni-base/<task>/. To collect them in one CSV:

thunder results-summary

Offline usage (HPC clusters without internet)

If compute nodes don't have internet, always run jobs with the offline flags:

export HF_HUB_OFFLINE=1
export TRANSFORMERS_OFFLINE=1

Prepare the model in advance on a front-end/login node (with internet):

hf download sofieneb/omni-base --local-dir ./omni-base

Then in your offline job/script:

from transformers import AutoModel
model = AutoModel.from_pretrained(
    "./omni-base",        # local path instead of hub ID
    trust_remote_code=True,
    local_files_only=True,  # uses local files only
)

Citation

If our work contributes to your research, please consider citing our paper:

@inproceedings{boutaj2026omni, author = {Boutaj, Sofi{`e}ne and Marza, Pierre and Belagali, Varun and Samaras, Dimitris and Vakalopoulou, Maria and Christodoulidis, Stergios}, title = {Scaling Multi-Teacher Distillation for Digital Pathology}, booktitle = {Advances in Neural Information Processing Systems (NeurIPS)}, year = {2026} }

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

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

GPU в ailist

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

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

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

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

0 моделей