TRIADS / README.md
Rtx09's picture
TRIADS — 6-benchmark weights + model code + Gradio app
8a82d34
metadata
license: mit
language: en
tags:
  - materials-science
  - machine-learning
  - pytorch
  - matbench
  - small-data
  - attention
  - recursive
  - crystal
  - gradio
datasets:
  - matbench
metrics:
  - mae
  - roc_auc
model-index:
  - name: TRIADS
    results:
      - task:
          type: regression
          name: Yield Strength Prediction (MPa)
        dataset:
          name: matbench_steels
          type: matbench
        metrics:
          - type: mae
            value: 91.2
            name: MAE (MPa)
      - task:
          type: regression
          name: Band Gap Prediction (eV)
        dataset:
          name: matbench_expt_gap
          type: matbench
        metrics:
          - type: mae
            value: 0.3068
            name: MAE (eV)
      - task:
          type: classification
          name: Metallicity Classification
        dataset:
          name: matbench_expt_ismetal
          type: matbench
        metrics:
          - type: roc_auc
            value: 0.9655
            name: ROC-AUC
      - task:
          type: classification
          name: Glass Forming Ability
        dataset:
          name: matbench_glass
          type: matbench
        metrics:
          - type: roc_auc
            value: 0.9285
            name: ROC-AUC
      - task:
          type: regression
          name: Exfoliation Energy (meV/atom)
        dataset:
          name: matbench_jdft2d
          type: matbench
        metrics:
          - type: mae
            value: 35.89
            name: MAE (meV/atom)
      - task:
          type: regression
          name: Peak Phonon Frequency (cm⁻¹)
        dataset:
          name: matbench_phonons
          type: matbench
        metrics:
          - type: mae
            value: 41.91
            name: MAE (cm⁻¹)

TRIADS — Materials Property Prediction Across 6 Matbench Benchmarks

TRIADS (Tiny Recursive Information-Attention with Deep Supervision) is a parameter-efficient recursive architecture for materials property prediction, purpose-built for the small-data regime (312–5,680 samples).

GitHub Paper

Live Demo

Try the interactive demo with all 6 benchmarks → Launch App

Results Summary

Task N TRIADS Params Rank
matbench_steels (yield strength) 312 91.20 MPa 225K #3
matbench_expt_gap (band gap) 4,604 0.3068 eV 100K #2 composition-only
matbench_expt_ismetal (metal?) 4,921 0.9655 ROC-AUC 100K #1 composition-only
matbench_glass (glass forming) 5,680 0.9285 ROC-AUC 44K #2
matbench_jdft2d (exfol. energy) 636 35.89 meV/atom 75K #1 no-pretraining
matbench_phonons (phonon freq.) 1,265 41.91 cm⁻¹ 247K #1 no-pretraining

Two Model Variants

HybridTRIADS (composition tasks: steels, gap, ismetal, glass, jdft2d)

Input: Chemical formula → Magpie + Mat2Vec (composition tokens)
Core: 2-layer self-attention cell, iterated T=16-20 times with shared weights
Training: Per-cycle deep supervision (w_t ∝ t)

GraphTRIADS (structural task: phonons)

Input: CIF/structure → 3-order hierarchical crystal graph (atoms, bonds, triplet angles, dihedral angles)
Core: Hierarchical GNN message-passing stack inside the shared recursive cell
Halting: Gate-based adaptive halting (4–16 cycles per sample)

Pretrained Checkpoints

Weights are organized by benchmark. Download via huggingface_hub:

from huggingface_hub import hf_hub_download
import torch

# Download one benchmark's weights (contains all folds compiled)
ckpt = torch.load(
    hf_hub_download("Rtx09/TRIADS", "steels/weights.pt"),
    map_location="cpu"
)
# ckpt['folds']   -> list of fold dicts, each with 'model_state' and 'test_mae'
# ckpt['n_extra'] -> int  (needed for model init)
# ckpt['config']  -> dict (d_attn, d_hidden, ff_dim, dropout, max_steps)

Checkpoint Index

Benchmark File Folds Notes
matbench_steels steels/weights.pt 5 HybridTRIADS V13A · 225K · 5-seed ensemble compiled
matbench_expt_gap expt_gap/weights.pt 5 HybridTRIADS V3 · 100K
matbench_expt_ismetal is_metal/weights.pt 5 HybridTRIADS · 100K
matbench_glass glass/weights.pt 5 HybridTRIADS · 44K
matbench_jdft2d jdft2d/weights.pt 5 HybridTRIADS V4 · 75K · 5-seed ensemble compiled
matbench_phonons phonons/weights.pt 5 GraphTRIADS V6 · 247K · also needs phonons/dataset.pt

Citation

@article{tiwari2026triads,
  author    = {Rudra Tiwari},
  title     = {TRIADS: Tiny Recursive Information-Attention with Deep Supervision},
  year      = {2026},
  url       = {https://github.com/Rtx09x/TRIADS}
}

License

MIT License — see GitHub repository.