lightly-ai / lightly-ai/lightly-train

[FEAT] Add DINOV3 pre-training

Open
#692 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
1.7k
Forks
116
Avg merge
2d 21h
Merged PRs (30d)
6

Description

Hello! I am playing with the library and while is pretty great I realized there is no Dinov3 pre-training added from scratch. The reason for this feature is while we can use distillation if the dataset is very different to the pre-trained dataset basically the distillation fails.

Example of how distillation of DINOV3 (using the pre-trained checkpoint) worked in lightly for my ultrasound dataset (the model collapses to only see brighness instead of global features):

Image

Using the pre-training recipe for Dinov2 in lightly documentation gave me better results, but as reported in DINOV3 paper once we start training for many steps dense representation fails:

Image

So adding gram anchoring and RoPE (DINOv3) would be amazing for overcoming this. Is this something planned in your milestones? Or maybe distillation is enough for your user base. Could you guide me on how could I pretrain dinov3 with your library? Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the DINOv2 pre-training recipe in the lightly documentation and the DINOv3 paper requirements mentioned in the issue. The scope is to determine how DINOv3 pre-training, including gram anchoring and RoPE, should fit the library; done means a defined and supported pre-training path for the reported use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.