Generations
Most Granite releases carry a version number, and the same number is used across modalities in a given wave — there are 4.0 language, vision and speech models. The table counts every model whose name carries each wave number, 3.0 through 5.0.
Two other suffixes look like versions and are not waves. -r1.0 on the four
granitelib-* adapter libraries and -r1.1 on the two granite-20b-code-*-r1.1
models are repository revisions: the 20B code pair republishes a
configuration byte-identical to its -8k predecessor (see
findings).
Neither is counted below.
Each class links to its architecture sheets — one per distinct shape, with the layer map and the recorded order of operations.
What changed, in architecture terms
The 3.x line is attention throughout, dense, with a sparse mixture-of-experts variant alongside it from 3.0 onward. Vision arrives at 3.1, speech at 3.2, and document-image retrieval at 3.3 — all built on the language model of the same wave.
4.0 is the state-space wave. 12 models list mamba layers in their
layer table, and the arrangement is consistent: a long run of state-space
layers with a small number of attention layers interleaved. The practical
consequence is that most of the stack carries a fixed-size recurrent state
rather than a key/value cache that grows with context.
4.0 also ships the cleanest controlled comparison in the suite. Models with
an -h- in the name are hybrid; the same name without it is the same
configuration family with every layer listed as attention. Both are published,
at matching nominal sizes — the size in the name matches, but the width does
not, and for the 350m pair neither does the depth:
Each stack links to its sheet, where the full layer map and the recorded pass are set out.
Those 6 pairs, plus 1 further model with no twin, all declare the same class as the hybrids: 7 attention-only models under a class name that says hybrid. The class name is therefore not a reliable guide to what is in the stack. The layer table is, and that is what the family grouping in models.md uses.
4.1 and 4.2 return to a dense attention stack — every 4.1 and 4.2 language
model declares the plain class, not the hybrid one, except the three
granite-switch-4.1-*-preview models, which declare GraniteSwitchForCausalLM
(also a dense attention stack). 4.1 is also the widest
wave: language, vision, speech, a non-autoregressive speech decoder, and the
adapter-switching preview all carry that number.
5.0 is, so far, speech only: an encoder that emits tokens directly by connectionist temporal classification, with no autoregressive decoder.
The sliding-window family is published under its own name and carries no version number in this scheme.
The time-series line versions differently
The forecasting models carry a revision letter — r1, r2, r3 — instead of
a wave number, and the letter does not mean the same thing twice.
ttm-r1 to ttm-r2 is a weight change and nothing else. Both publish 134
tensors and the two name-and-shape sets are identical, so a reader who assumes
a revision implies a new architecture is wrong here, and one who assumes it
never does is wrong at the next step.
ttm-r3 is a different model under the same lineage name. 468 tensors,
and not one of its tensor names appears in r2. It publishes two complete
forecaster stacks rather than one, with the second reading a shorter window
than the first — a decomposition, where r1 and r2 are single stacks.
patchtst-fm-r1 to r2 also changes the architecture, and the
configuration says so if you read past the shared class: 20 layers over 512
non-overlapping patches becomes 30 layers over 1,023 patches at stride 8, with
the block type changing from a plain pre-norm block to a conformer. Same class
name, same width, same context — a different function.
flowstate-r1 and tspulse-r1 are first revisions of new lineages, not
successors to the mixers: one is a continuous-time state-space model, the other
reads a frequency transform of its input alongside the input itself.
So within one family, a revision letter covers a weight refresh, an architecture replacement and a new lineage. It is not a version scheme in the sense the numbered waves are.