dinac3_96 / ATTRIBUTION.md
data-archetype's picture
dinac3_96 v1.0
75ff4df
|
Raw History Blame Contribute Delete
3.14 kB
# Attribution
Licensing (code and weights) is stated once, in the License section of the model
card (README.md).
- **DINOv3 pretrained encoder:** Meta,
[official repository](https://github.com/facebookresearch/dinov3),
[paper](https://arxiv.org/abs/2508.10104),
[timm model](https://huggingface.co/timm/vit_base_patch16_dinov3.lvd_1689m).
The transformer blocks are used frozen; the input patch embedding is adapted
for this autoencoder. The weights are therefore distributed under the included
[DINOv3 License](LICENSE-DINOV3.md); see the model card's License section.
- **Encoder implementation:** provided by the separately installed
[timm](https://github.com/huggingface/pytorch-image-models) dependency, pinned
to `timm==1.0.26`.
- **semantic_vae** ([well9472/semantic_vae](https://huggingface.co/well9472/semantic_vae)):
the design follows its key ideas. These are a pretrained DINO encoder adapted
at its edges and a latent split into a reconstruction part and a DINO-derived
part. Its encoder has two DINOv2-B branches: one with a trainable patch
embedding, whose last six blocks are each LayerNormed and projected to 32
channels, and one fully frozen, whose final block is projected to 32 channels.
We also follow it in training the decoder mainly with a DINO feature loss and
in using VISReg as the latent regularizer.¹ No code or weights from it are included.
- **Decoder up-path:** the VQGAN f16 decoder layout of Esser, Rombach and Ommer,
[Taming Transformers for High-Resolution Image Synthesis](https://arxiv.org/abs/2012.09841),
slightly modernized (per-position RMSNorm, folded upsampling) and behind a ViT
trunk.
- **Earlier decoder head (not in the release):** a pixel-level head after
[PixelDiT](https://arxiv.org/abs/2511.20645)
([NVlabs/PixelDiT](https://github.com/NVlabs/PixelDiT)), with the FCDM block of
Kwon et al.,
[Reviving ConvNeXt for Efficient Convolutional Diffusion Models](https://arxiv.org/abs/2603.09408),
as its token mixer. The released encoder and decoder trunk were trained with it
before the convolutional head replaced it.
- **Latent regularizer:** [VISReg](https://arxiv.org/abs/2606.02572)
([project page](https://haiyuwu.github.io/visreg/)), used during training only.
- **Optimizer (training only, not a runtime dependency):**
[dionw](https://github.com/JTriggerFish/dionw), a single-GPU implementation of
[Dion](https://arxiv.org/abs/2504.05295) /
[Dion3](https://arxiv.org/abs/2608.11612) with
[NorMuon](https://arxiv.org/abs/2510.05491) normalization, using kernels from
[microsoft/dion](https://github.com/microsoft/dion) and
[Dao-AILab/gram-newton-schulz](https://github.com/Dao-AILab/gram-newton-schulz).
- **Training data:** about 14 million images from a mix of public and licensed
or curated datasets: mostly photographs, plus book covers, a few text-heavy
datasets and 1% synthetic rendered text. No training images are redistributed.
¹ semantic_vae's public model card names SIGReg (from LeJEPA) at 1e-3 as its
regularizer. We verified in its released training code that the regularizer is
VISReg, at 1e-3.