pytorch RUDOLPH text-image image-text decoder dataset:sberquad region:us
---
datasets:
- sberquad
tags:
- RUDOLPH
- text-image
- image-text
- decoder
---

# RUDOLPH-350M (Small)

RUDOLPH: One Hyper-Tasking Transformer Сan be Сreative as DALL-E and GPT-3 and Smart as CLIP

<img src="https://raw.githubusercontent.com/sberbank-ai/ru-dolph/master/pics/RUDOLPH.png" width=60% border="2"/>


Model was trained by [Sber AI](https://github.com/ai-forever) team.  

# Model Description

**RU**ssian **D**ecoder **O**n **L**anguage **P**icture **H**yper-tasking (**RUDOLPH**) **350M** is a fast and light text-image-text transformer designed for a quick and easy fine-tuning for a range of tasks: from generating images by text description and image classification to visual question answering and more. This model demonstrates the power of Hyper-tasking Transformers.

*Hyper-tasking model is a generalized multi-tasking model, i.e., the model that can solve almost all tasks within supported modalities, mandatory including mutual pairwise translations between modalities (two modalities in case of RUDOLPH: images and Russian texts).*

* Tasks: ` text2image generation, self reranking, text ranking, image ranking, image2text generation, zero-shot image classification, text2text generation, and so on`
* Language: ` Russian`
* Type: ` decoder`
* Num Parameters: ` 350M`
* Training Data Volume: `141 million text-image pairs, 7.6 million text paragraphs`

# Details of architecture

<img src=https://raw.githubusercontent.com/ai-forever/ru-dolph/master/pics/scheme-rudolph_350m.jpg height="20" border="2"/>

The maximum sequence length that this model may be used with depends on the modality and stands for 64 - 256 - 64 for the left text tokens, image tokens, and right text tokens, respectively.

RUDOLPH 350M is a Transformer-based decoder model with the following parameters:

* num\_layers (24) — Number of hidden layers in the Transformer decoder.
* hidden\_size (1024) — Dimensionality of the hidden layers.
* num\_attention\_heads (16) — Number of attention heads for each attention layer.

# Sparse Attention Masks

The primary proposed method is to modify the sparse transformer's attention mask to better control modalities. It allows us to calculate the transitions of modalities in both directions, unlike another similar work DALL-E Transformer, which used only one direction, "text to image". The proposed "image to right text" direction is achieved by extension sparse attention mask to the right for auto-repressively text generation with both image and left text condition.

<img src="https://raw.githubusercontent.com/sberbank-ai/ru-dolph/master/pics/attention_masks_350m.png" height="40" border="2"/>

# Authors

+ Alex Shonenkov: [Github](https://github.com/shonenkov), [Kaggle GM](https://www.kaggle.com/shonenkov)
+ Michael Konstantinov: [Mishin Learning](https://t.me/mishin_learning), [Transformer Community](https://transformer.community/)
