File size: 4,200 Bytes
3c0eac4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6320df9
 
 
 
3c0eac4
 
 
 
c2c953b
3c0eac4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3fdf492
 
 
 
 
3c0eac4
 
 
 
 
3fdf492
 
 
a9d352c
3c0eac4
 
 
 
 
 
 
3fdf492
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
---
license: apache-2.0
base_model:
- stabilityai/stable-diffusion-3.5-large
base_model_relation: quantized
pipeline_tag: text-to-image
---


# Elastic model: Fastest self-serving models. Stable Diffusion 3.5 Large.

Elastic models are the models produced by TheStage AI ANNA: Automated Neural Networks Accelerator. ANNA allows you to control model size, latency and quality with a simple slider movement. For each model, ANNA produces a series of optimized models:

* __XL__: Mathematically equivalent neural network, optimized with our DNN compiler.

* __S__: The fastest model, with accuracy degradation less than 2%.


__Goals of Elastic Models:__

* Provide the fastest models and service for self-hosting.
* Provide flexibility in cost vs quality selection for inference.
* Provide clear quality and latency benchmarks.
* Provide interface of HF libraries: transformers and diffusers with a single line of code.
* Provide models supported on a wide range of hardware, which are pre-compiled and require no JIT.

> It's important to note that specific quality degradation can vary from model to model. For instance, with an S model, you can have 0.5% degradation as well.

![SD3.5_comparison_collage](https://cdn-uploads.huggingface.co/production/uploads/6799fc8e150f5a4014b030ca/8BuRpHPCyUMwJ4O8kXkUr.png)

![SD3.5_comparison](https://cdn-uploads.huggingface.co/production/uploads/6799fc8e150f5a4014b030ca/3gsiQTdK7Zy6--coknbJJ.png)

-----

## Inference

Currently, our demo model supports 512x512 - 1024x1024 and batch sizes 1-4. This will be updated in the near future.
To infer our models, you just need to replace `diffusers` import with `elastic_models.diffusers`:

```python
import torch
from elastic_models.diffusers import StableDiffusion3Pipeline

model_name = 'stabilityai/stable-diffusion-3.5-large'
hf_token = ''
device = torch.device("cuda")

pipeline = StableDiffusion3Pipeline.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    token=hf_token,
    mode='S'
)
pipeline.to(device)

prompts = ["A cat holding a sign that says hello world"]
output = pipeline(prompt=prompts)

for prompt, output_image in zip(prompts, output.images):
    output_image.save((prompt.replace(' ', '_') + '.png'))
```

### Installation


__System requirements:__
* GPUs: H100, B200
* CPU: AMD, Intel
* Python: 3.10-3.12


To work with our models just run these lines in your terminal:

```shell
pip install thestage
pip install 'thestage-elastic-models[nvidia]' --extra-index-url https://thestage.jfrog.io/artifactory/api/pypi/pypi-thestage-ai-production/simple

# or for blackwell support
pip install 'thestage-elastic-models[blackwell]' --extra-index-url https://thestage.jfrog.io/artifactory/api/pypi/pypi-thestage-ai-production/simple
pip install -U --pre torch --index-url https://download.pytorch.org/whl/nightly/cu128
pip install -U --pre torchvision --index-url https://download.pytorch.org/whl/nightly/cu128


pip install flash_attn==2.7.3 --no-build-isolation
pip uninstall apex
```

Then go to [app.thestage.ai](https://app.thestage.ai), login and generate API token from your profile page. Set up API token as follows:

```shell
thestage config set --api-token <YOUR_API_TOKEN>
```

Congrats, now you can use accelerated models!

----

## Benchmarks

Benchmarking is one of the most important procedures during model acceleration. We aim to provide clear performance metrics for models using our algorithms.

### Quality benchmarks

For quality evaluation we have used: PSNR and SSIM. PSNR and SSIM were computed using outputs of original model.
| Metric/Model  | S | XL | Original |
|---------------|---|----|----------|
| PSNR          | 20.78 | 29.13  | inf |
| SSIM          | 0.81 | 0.95  | 1.0 |


### Latency benchmarks

Time in seconds to generate one image 1024x1024
| GPU/Model | S   | XL | Original |
|-----------|-----|----|----------|
| H100      | 3.10 | 3.80  | 6.55 |
| B200      | 1.76 | 2.27  | 4.81 |


## Links

* __Platform__: [app.thestage.ai](https://app.thestage.ai)
<!-- * __Elastic models Github__: [app.thestage.ai](app.thestage.ai) -->
* __Subscribe for updates__: [TheStageAI X](https://x.com/TheStageAI)
* __Contact email__: contact@thestage.ai