Card: Why we built Agate (architecture study for glyph/symbol generation; adapter and flow-matching testbed)
Browse files
README.md
CHANGED
|
@@ -35,13 +35,8 @@ It is Agate's 256 px network made multi-resolution (additions that start as exac
|
|
| 35 |
|
| 36 |
Built by [LogoLabs](https://logolabs.org), which makes AI logo generation.
|
| 37 |
|
| 38 |
-
**Why we built Agate
|
| 39 |
-
|
| 40 |
-
LogoLabs. We trained a general text-to-image model because general image generation is a good proxy for how an
|
| 41 |
-
architecture performs on those tasks, and it is very benchmark-friendly (GenEval, Qwen-Image-Bench, FID), unlike tasks
|
| 42 |
-
such as SDF generation, which have almost no established benchmarks. Next, we plan to build on it to generate SVGs with
|
| 43 |
-
our vectoriser, Inkvec, and to improve Inkvec's prior with flow matching to help trace the fonts. We decided to release
|
| 44 |
-
Agate to share these architectural efforts.
|
| 45 |
|
| 46 |
<p align="center"><img src="assets/hero_samples.png" alt="Twelve Agate Preview 003 samples at 512 px, seed 0" width="100%"></p>
|
| 47 |
|
|
@@ -348,6 +343,36 @@ GH200-hours to encode the 512 px latents and saliency maps. The whole project to
|
|
| 348 |
whose images were generated with FLUX.1-dev. The text encoder is fine-tuned from Ettin-68M (MIT); the SD-VAE and
|
| 349 |
TAESD decoders (MIT) are downloaded from their own repositories.
|
| 350 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 351 |
## Acknowledgements
|
| 352 |
|
| 353 |
<p align="center"><img src="assets/acknowledgment-banner.png" alt="EuroHPC Joint Undertaking and Arrhenius" width="100%"></p>
|
|
|
|
| 35 |
|
| 36 |
Built by [LogoLabs](https://logolabs.org), which makes AI logo generation.
|
| 37 |
|
| 38 |
+
**Why we built Agate:** it is the result of an architecture study for glyph and symbol generation; see
|
| 39 |
+
[Why we built Agate](#why-we-built-agate) below.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
<p align="center"><img src="assets/hero_samples.png" alt="Twelve Agate Preview 003 samples at 512 px, seed 0" width="100%"></p>
|
| 42 |
|
|
|
|
| 343 |
whose images were generated with FLUX.1-dev. The text encoder is fine-tuned from Ettin-68M (MIT); the SD-VAE and
|
| 344 |
TAESD decoders (MIT) are downloaded from their own repositories.
|
| 345 |
|
| 346 |
+
## Why we built Agate
|
| 347 |
+
|
| 348 |
+
**Agate is the result of an architecture study.** LogoLabs generates logos, and our customers increasingly need a
|
| 349 |
+
matching **font**: every glyph, not a single wordmark. That calls for a small, fast model that generates glyph
|
| 350 |
+
representations such as **signed distance fields (SDFs)**, which can then be turned into clean vectors. No existing
|
| 351 |
+
model does this, so there was nothing in that domain to measure a new architecture against.
|
| 352 |
+
|
| 353 |
+
We therefore ran the study where baselines exist: **general text-to-image generation** on a large open dataset,
|
| 354 |
+
scored with established benchmarks (GenEval, Qwen-Image-Bench, FID) and compared against a diffusion-transformer
|
| 355 |
+
baseline reproduced on the same data. We compared convolutional, transformer and hybrid designs under one evaluation
|
| 356 |
+
protocol; the winner splits the work between a small transformer planner (the "thinker") and a convolutional renderer.
|
| 357 |
+
Agate is the artifact of that study, and its scores (Preview 001: 0.550 on GenEval at 260M parameters, equal to SDXL's
|
| 358 |
+
published score; Preview 003: above SD 1.5 on Qwen-Image-Bench) are evidence that the architecture is sound before we
|
| 359 |
+
apply it to glyphs.
|
| 360 |
+
|
| 361 |
+
**What we found along the way.** A model this small turned out to be a research tool in its own right:
|
| 362 |
+
|
| 363 |
+
- **A cheap testbed for adapter architectures.** An Agate fine-tune takes a few GPU-hours, so we could compare adapter
|
| 364 |
+
designs quickly: rank sweeps, topic-specialist LoRAs, **mixture-of-LoRA experts** with learned routing, and adapters
|
| 365 |
+
trained with perceptual objectives, at 2-10 GPU-hours per experiment, roughly a tenth of what the same question costs
|
| 366 |
+
on a multi-billion-parameter base. It is how we learned, for instance, that adapters trained with plain flow loss
|
| 367 |
+
quietly undo a perceptually trained base.
|
| 368 |
+
- **Flow matching at a practical scale.** Training a complete text-to-image flow model from scratch in about 150
|
| 369 |
+
GPU-hours lets a small team run many full trainings, not one, and study objectives, samplers, resolution transfer and
|
| 370 |
+
routing that would otherwise need a far larger budget.
|
| 371 |
+
|
| 372 |
+
**Next,** we are applying the architecture to glyph and symbol generation for vector-native fonts to go with our
|
| 373 |
+
wordmarks, traced to SVG by our vectoriser, Inkvec, whose prior we will improve with flow matching. We decided to
|
| 374 |
+
release Agate to share these architectural efforts.
|
| 375 |
+
|
| 376 |
## Acknowledgements
|
| 377 |
|
| 378 |
<p align="center"><img src="assets/acknowledgment-banner.png" alt="EuroHPC Joint Undertaking and Arrhenius" width="100%"></p>
|