Skip to main content

PLATO-native Recurrent-Depth Transformer mapping PLATO concepts to OpenMythos

Project description

Plato-Mythos

PLATO-native Recurrent-Depth Transformer mapping PLATO control-theory concepts to OpenMythos generative modelling.

PLATO ↔ Mythos Mapping

PLATO Concept Mythos Translation Implementation
Tiles Compressed latent memory units TilesAsKV — embeds tokens and compresses them into MLA latent KV pairs
Rooms Interpretable expert groups RoomsAsExperts — routes tokens to domain-tagged MoE experts using confidence-biased gating
Curriculum Adaptive compute budget CurriculumScheduler + DeadbandACT — easy tokens get fewer loop iterations, hard tokens get more
Deadbands (P0/P1/P2) Priority-aware halting thresholds DeadbandACT — P0=0.99 (critical), P1=0.8 (standard), P2=0.5 (low) controls when the recurrent loop stops thinking
Shells Depth-wise LoRA adapters ShellLoRA — each loop iteration owns unique low-rank A/B matrices while sharing a base weight

Architecture

Tiles (token_ids + metadata)
    │
    ▼
┌─────────────────┐
│  TilesAsKV      │  embed + compress → latent KV
└─────────────────┘
    │
    ▼
┌─────────────────┐
│  Prelude layers │  static transformer blocks
└─────────────────┘
    │
    ▼
┌──────────────────────────────────────────────┐
│  Recurrent loop (max_loop_depth iterations)  │
│    x = RecurrentBlock(x)                     │
│    x = x + ShellLoRA(x, step)                │
│    if DeadbandACT.should_continue(x, step):  │
│        break                                 │
└──────────────────────────────────────────────┘
    │
    ▼
┌─────────────────┐
│  Coda layers    │  static transformer blocks
└─────────────────┘
    │
    ▼
┌─────────────────┐
│  RoomsAsExperts │  domain-routed MoE mixing
└─────────────────┘
    │
    ▼
┌─────────────────┐
│  Output head    │  d_model → vocab logits
└─────────────────┘
    │
    ▼
Generated Tiles (same format as input)

Quick Start

from plato_mythos import PlatoMythos, PlatoMythosConfig

config = PlatoMythosConfig(vocab_size=32000, d_model=1024, max_loop_depth=8)
model = PlatoMythos(config)

# Forward pass with raw token tiles
tiles = torch.randint(0, config.vocab_size, (2, 16))
logits = model(tiles)  # (2, 16, vocab_size)

# Forward pass with PLATO-style metadata
tiles = {
    "token_ids": torch.randint(0, config.vocab_size, (1, 8)),
    "domain_id": torch.zeros(1, dtype=torch.long),
    "confidence": torch.ones(1) * 0.9,
}
rooms = {"domains": ["room_0"] * 8, "confidences": [0.9] * 8}
out = model(tiles, rooms)

Installation

pip install -e .

Testing

pytest tests/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plato_mythos-0.1.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plato_mythos-0.1.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file plato_mythos-0.1.0.tar.gz.

File metadata

  • Download URL: plato_mythos-0.1.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for plato_mythos-0.1.0.tar.gz
Algorithm Hash digest
SHA256 347232d82d2c0683452444fc7e83febfaec844966b207adc7578101efcc55630
MD5 6249c7ca240cd92067452083566b8ce5
BLAKE2b-256 9c1a066ae8c85492698208e7df1042baf0c6171b08b2ce2e42e58d9bd7e958bd

See more details on using hashes here.

File details

Details for the file plato_mythos-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: plato_mythos-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for plato_mythos-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 494b55c3d854ca7c76d9418a6a5dafccfb8838acb2881b4ee26458f3e49deab6
MD5 5f2b260d878558e8e7785d9333f941d4
BLAKE2b-256 3e13cd9fd6305e417f8d34918b068c0d4285fb14be7297b2efc369879bf40d3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page