Epoch AI Notable AI Models dataset

Epoch AI's database of notable AI models: when each was published, its first-listed domain, its training compute and how that compute is known, the kind of organisation behind it, and how the model can be reached. Epoch AI adds models as they are released and publishes no dated snapshot, so the recipe reads the file from Epoch AI's own URL on each run; it held 1,082 models on 26 October 2026. The Authors and Abstract columns are left out of every table the recipe makes.
Load it
These commands install arc, Meridian’s open-source Protocol runner, clone the open-analytics repository and run this Protocol, which writes build/models.parquet in open-analytics/examples/epoch-ai-models.
curl -fsSL https://install.meridian.online/arc | bash
git clone https://github.com/meridian-online/open-analytics
cd open-analytics/examples/epoch-ai-models && arc runarc runs the Protocol’s SQL on DuckDB 2.x, which its installer puts in place when no DuckDB is on your PATH, saying what to add to PATH; the last step, which describes the Parquet, needs finetype 0.6.54 or later on your PATH.
Columns
| Name | Type | Description |
|---|---|---|
| model | string | The model's name, as Epoch AI records it. |
| organization | string | The organisation or organisations behind the model, comma-separated as the source gives them. |
| publication_date | date | The date the model was first published or announced. |
| publication_year | number | publication_date as a fractional year, so it can be drawn on a continuous axis. |
| training_compute_flop | number | The compute used to train the model, in floating-point operations, where Epoch AI has recorded or estimated it. |
| training_compute_log10 | number | The base-10 logarithm of training_compute_flop: training compute spans many orders of magnitude, and this is the scale it is drawn on. |
| domain | string | The first domain the source lists for the model, such as Language or Vision, or not given. |
| organization_type | string | industry, academia, industry and academia, government or collective, or not given, from the source's organisation categorisation. |
| access | string | open weights, API or hosted only, unreleased, or not given, from the source's model accessibility. |
| compute_record | string | Whether training compute is recorded, and if so the confidence Epoch AI gives the figure: confident, likely or speculative. |
Source and licence
Licence
Sources
Meridian hosts none of this data: the Protocol downloads it, from the address its fetch step names, when you run it.
The steps
5 stepsduckdb >=1.2Every step runs in order. op: steps are typed, versioned operators; sql: steps are DuckDB models.
- 01fetch_modelsop: http_fetch@1
Fetch notable_ai_models.csv from Epoch AI. No sha256 pin, deliberately: Epoch AI adds models as they are released, so each run reads the file as Epoch AI publishes it that day.
producesbuild/notable_ai_models.csvwithurl: https://epoch.ai/data/notable_ai_models.csv out: build/notable_ai_models.csv headers: User-Agent: Meridian Protocol (open-analytics demo; research@meridian.online) - 02raw_modelssql: models/01_raw_models.sql
Read the models as they arrive, leaving out the Authors and Abstract columns. Checks that every model has a name and a date and that the file holds at least 1,000 rows.
readsbuild/notable_ai_models.csvproducesraw_modelsmodelmodels/01_raw_models.sql - 03modelssql: models/02_models.sql
Shape the table a dashboard reads: publication date, training compute, first-listed domain, the kind of organisation behind the model, how it can be reached, and how its compute is known.
producesmodelsmodelmodels/02_models.sql - 04export_modelsop: parquet_export@1
Write build/models.parquet, on your own disk. ORDER BY ALL makes the bytes reproducible for a given day's file, not across days.
readsmodelsproducesbuild/models.parquetwithinput: models dest: build/models.parquet compression: zstd order_by: ALL - 05describeop: datapackage_describe@1
Emit datapackage.json from the built Parquet: finetype types every column, and descriptor.overrides.json adds the curated title, licence, sources and per-field prose.
readsbuild/models.parquetdescriptor.overrides.jsonproducesdatapackage.jsonwithparquet: build/models.parquet overrides: descriptor.overrides.json out: datapackage.json