|
# Models |
|
|
|
## Vision Backbone (ViT) |
|
|
|
This is a very lightweight Vision Transformer in native pytorch. I took inspiration from the following sources: |
|
- https://github.com/karpathy/nanoGPT (General Transformer Decoder) |
|
- https://arxiv.org/abs/2010.11929 (ViT Paper) |
|
- https://arxiv.org/abs/2303.15343 (SigLiP Paper) |
|
- https://github.com/huggingface/transformers/blob/main/src/transformers/models/siglip/modeling_siglip.py (HF SigLiP Implementation) |
|
|
|
## Language Model (Llama / SmolLM) |
|
|
|
This is a decoder only LM, following the Llama 2/3 architecture. Inspiration from the following sources: |
|
- https://arxiv.org/pdf/2307.09288 (Original Llama Paper) |
|
- https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py (HF Llama Implementation) |
|
|
|
## Modality Projection |
|
|
|
This is a simple MLP (Linear Layer) for the Modality Projection between the Image Patch Encodings and the Language Embedding Space with a simple Pixel Shuffle (https://arxiv.org/pdf/2504.05299) |
|
|
|
## Vision-Language-Model |
|
|
|
This brings all the individual parts together and handles the concatenation of images and text. Built as a simple version of SmolVLM (https://arxiv.org/pdf/2504.05299) |
|
|