DINOv3
DINOv3 — PyTorch-реализация и модели от Facebook Research.
Репозиторий содержит код, веса и примеры для самостоятельного обучения и дообучения.
Ключевые возможности
- Архитектура ViT: поддержка разных размеров (Small, Base, Large, Giant).
- Предобученные веса: ImageNet-22k, ImageNet-1k, SAM, COCO, ADE20k.
- Zero-shot классификация и сегментация без дообучения.
- Лёгкое дообучение: скрипты для классификации, детекции, сегментации.
Установка
git clone https://github.com/facebookresearch/dinov3
cd dinov3
pip install -r requirements.txt
Быстрый старт
from dinov3 import DinoVisionTransformer, load_pretrained
model = load_pretrained("dinov3_vitb14")
features = model.extract_features(image)
Лицензия
MIT (код) + CC-BY-NC 4.0 (веса).
Комментарии (28)
- Meta выпустила DINOv3 — самонадзорную модель зрения, обученную на 1,2 млрд изображений и выдающую плотные эмбеддинги без дообучения.
- Для спутниковых снимков появилась специальная версия, что радует специалистов по аэро- и спутниковым данным.
- Модель можно использовать как прямую замену DINOv2 в существующих пайплайнах (см. примеры в репозитории и ноутбуках).
- Лицензия новая и более ограниченная, чем Apache 2.0 у DINOv2; доступ требует регистрации и одобрения Meta.
- Сообщество отмечает высокое качество эмбеддингов, но разочаровано коммерческой лицензией.
How attention sinks keep language models stable
Почему модели ломаются на длинных диалогах
При удалении старых токенов для экономии памяти модель начинает выдавать бессмыслицу. Причина — «attention sinks»: первые токены собирают избыточное внимание, потому что softmax требует, чтобы веса суммировались в 1.
StreamingLLM
Оставляем первые 4 токена навсегда, остальное сдвигаем окном. Работает до 4 млн токенов; уже в HuggingFace, TensorRT-LLM и новых OpenAI-моделях.
OpenAI и attention sinks
В GPT-OSS-20B/120B добавлен обучаемый скаляр в softmax каждой головы, позволяющий «не обращать внимания» — прямое наследие StreamingLLM.
История открытия
Летом 2023 в Meta я решал задачу: как продолжать диалог длиннее обучающего окна. Казалось, что достаточно скользящего окна, но при удалении первых токенов перплексия взлетала до небес.
Визуализация
Внимание Llama-2 постоянно «сливается» в начало. Эти токены-«стоки» не передают внимание дальше, а лишь поглощают его, поэтому их нельзя выбрасывать.
Математика
Softmax обязывает каждую голову распределить ровно 1.0 внимания. Если нет полезного контекста, весь «бюджет» уходит в первые позиции, где чуть выше базовые скоры.
Комментарии (31)
- Участники обсуждают «attention sinks» — токены-«стоки», на которые модель направляет избыточное внимание, чтобы не «размывать» полезную информацию.
- Это поведение замечено и в BERT ([SEP], точки), и в ViT (фоновые патчи), и в GPT-OSS, где вместо добавления единицы к знаменателю обучают отдельный логит на каждую голову.
- Синк-токены работают как «pressure valve», предотвращая over-mixing и давая модели «нулевой» вектор для случаев «не найдено».
- Пользователи замечают, что первые слова («Hello», «Please») или CLS-подобные глобальные токены могут непреднамеренно служить такими стоками.
- FOSS-реализации уже поддерживают приём: llama.cpp принял PR, а Diff-Transformer и другие идеи быстро переиспользуются.