Granite models: an independent reference
An independent reference to IBM's Granite models — release
1.0, published 2026-09-22. A snapshot of 172 repositories in the
ibm-granite catalogue; latest upstream modification timestamp represented:
2026-09-18. Unofficial; not affiliated with IBM. Notice ·
Licence · How to cite
What each model is, how it is built, and how the families relate — excluding quantised and format repackagings of models already listed.
For each of the 139 models that publish a configuration, its sha256 is in
evidence/claims.json, so a reader can tell whether their config.json
matches the one analysed here. The remaining 33 are explicitly marked as
publishing none. Every one of the 172 is pinned to an upstream commit, and
on 2026-09-22 all 139 published configurations at those commits matched their
recorded digests byte for byte.
The catalogue pages are compiled from public sources only — the vendor's model catalogue and every published configuration that is available, which is 139 of the 172. support.md is deliberately separate: it compares that catalogue with the tracked implementation assessment. Nothing here is a benchmark score and nothing is a recommendation; it is a description of what exists and what this reference records.
How strong "supported" is, before you read any of it
A support status is one word and the evidence behind it is not uniform. Of the 136 rows that claim to run, 2 carry an exact comparison against that checkpoint's own reference implementation. The rest stand on something weaker, and every row says which on support.md.
| evidence | rows | what it rests on |
|---|---|---|
checkpoint-parity | 2 | logits compared against this model's own reference implementation |
recorded-forward | 17 | this checkpoint was loaded and completed a forward pass |
shape-parity | 54 | a stored checkpoint of the same shape was compared against a reference |
own-pack | 7 | a stored copy of this checkpoint exists; nothing recorded from it |
shape-pack | 24 | stored checkpoints of this shape run; this one's own is not among them |
class | 20 | the architecture class is implemented; nothing checkpoint-specific was measured |
folded-pack | 12 | this row's adapter, or its whole library, was folded into extension packs |
Reading every "supported" row as equivalent numerical parity is the mistake this table exists to prevent. Nothing here is a benchmark and nothing was scored; the grades describe what was checked, not how well anything performed.
The suite at a glance
| family | models | what it is |
|---|---|---|
| Language — dense | 51 | text models in which every layer is the same; includes the 9 GneissWeb 7B ablation models, listed here by architecture but released as data-ablation artifacts, not as general-purpose Granite models |
| Adapters | 23 | low-rank adapters and adapter libraries over a published base |
| Code | 15 | trained for programming languages; two distinct architecture generations |
| Language — hybrid (state-space + attention) | 12 | state-space layers carry most positions, attention layers a minority |
| Text embedding and reranking | 12 | encoders for retrieval, and cross-encoders that rerank |
| Language — sparse (mixture of experts) | 9 | a router sends each token to a few of many expert MLPs |
| Speech | 9 | speech recognition and speech-conditioned language models |
| Time series | 9 | forecasting and reconstruction; a separate lineage from the language models. Their window is measured in past samples, not tokens, so the token-context column is blank for all of them: the published windows are 512 samples for the mixers and PatchTST, 2048 for FlowState and 8192 for PatchTST-FM |
| Earth observation | 7 | geospatial foundation models |
| Vision–language | 7 | an image tower feeding a language model |
| Dataset and classifier releases | 6 | GneissWeb data classifiers and filters without a published configuration; the 9 GneissWeb 7B ablation language models belong to the same data-ablation release but are listed under dense language by architecture |
| Speculative decoding heads | 6 | small heads that propose tokens for a larger base model |
| Language — adapter switching | 3 | a base model that swaps low-rank adapters mid-sequence |
| Language — sliding-window attention | 2 | most attention layers see a fixed span rather than the whole context |
| Vision retrieval | 1 | document-image embeddings for retrieval |
Licensing
Granite is unusually uniform here: 169 of 172
models are Apache-2.0, including every general-purpose language model, every
code model, the vision family, every speech model but
granite-speech-5.0-470m-turboctc-nc, and the embedding models.
| licence | models |
|---|---|
| Apache-2.0 | 169 |
| CDLA-Permissive-2.0 | 1 |
| CC-BY-NC-SA-4.0 | 1 |
| OpenMDW-1.0 | 1 |
How to read the tables
- parameters is the published total, including embeddings. A sparse model's total is its whole parameter count, not the subset active per token — a 32-expert model stores every expert whether or not a given token routes to it.
- geometry is
layers x width, then attention heads (H) and key/value heads (KV) when they differ, then experts and the number active per token. - mixer is how a model moves information between positions, read from the layer types a config lists or, where it lists none, from what the architecture class settles; a dash means neither said. Most are plain attention; the hybrid family alternates state-space layers with attention, and the sliding-window family bands most of its attention layers to a fixed span.
- context is the published maximum position count in tokens, shown exactly as configured. It is an upper bound on the architecture, not a promise about quality at that length.
- a geometry of
48H/1KVis multi-query attention: every query head shares one key/value head. Some models declare this with a flag rather than a head count; it is read either way. - every model name is a link to its published page, built from the repository id recorded with the model rather than from its name.
- revision is the upstream commit these pages describe, linked to the
repository as it stood at that commit. Its configuration was checked against
the digest in
evidence/claims.jsonon 2026-09-22; if a model has changed since, the page is describing the pinned commit, not the current one. - role is the only column derived from the model's name rather than its configuration, because nothing in a configuration distinguishes a base model from an instruction-tuned one — they are the same architecture. Treat it as a reading aid, not as a fact the publisher asserts.
Contents
| file | |
|---|---|
| models.md | every model, grouped by family, with geometry, licence and pinned revision |
| architectures.md | the architecture classes, and what distinguishes each |
| architectures/ | one sheet per shape — layer map, the order of operations, geometry, weight structure |
| generations.md | how the line evolved, 3.0 through 5.0 |
| findings.md | where a configuration says something other than what it appears to |
| method.md | how this was built, and what the method cannot tell you |
| support.md | every catalogued model cross-referenced with the author's unpublished implementation, and how strong each support claim is |