How thedeepakreddy/pluto-llm works
Pluto is a from-scratch PyTorch language-model training system, extended with a synthetic-speech dataset and speech-capable model. The primary workflow prepares and cleans text, trains a byte-level tokenizer, builds token shards, trains or resumes a model, then generates and reports results. The speech workflow synthesizes and encodes aligned audio data, trains SpeechGPT, and evaluates or generates speech. README statements establish the documented stages; source-index references support several internal calls, but unsampled implementations are represented only at their known paths.
Main entry points: cli.py CLI commands · build.py Build speech set · shards.py Token shards · generate.py Speech generation
Components 25
Text data pipeline
- Prepare text data
src/llm/data/prepare.py - BPE tokenizer
src/llm/tokenizer/bpe.py - Token shards
src/llm/shards.py
Text model lifecycle
- GPT model
src/llm/model/gpt.py - Training loop
src/llm/train/loop.py - Text generation
src/llm/generate.py - Evaluation reports
src/llm/report.py
Speech data pipeline
- Build speech set
src/llm/speech/build.py - Chunk and align
src/llm/speech/chunk.py - Speech split store
src/llm/speech/store.py - Speech dataset
src/llm/speech/dataset.py - Speech interfaces
src/llm/speech/interfaces.py - Speech adapters
src/llm/speech/adapters.py
Speech model lifecycle
- SpeechGPT
src/llm/model/voice.py - Speech training
src/llm/train/speech_loop.py - Speech generation
src/llm/speech/generate.py - Speech evaluation
src/llm/speech/evaluate.py - Speech demo
src/llm/speech/app.py
Runs and provenance
- CLI commands
src/llm/cli.py - Run config
src/llm/config.py - Checkpoints
src/llm/train/checkpoint.py - Artifact manifests
src/llm/manifest.py - Run hub sync
src/llm/hub.py
Other components
- Engineer
- Model services
Connections 36
- Engineer → CLI commands: runs commands
README.md - CLI commands → Run config: loads config
src/llm/cli.py - CLI commands → Prepare text data: invokes preparation
src/llm/cli.py - Prepare text data → Artifact manifests: records dataset
src/llm/data/prepare.py - CLI commands → BPE tokenizer: trains tokenizer
src/llm/cli.py - CLI commands → Token shards: builds shards
src/llm/cli.py - Token shards → BPE tokenizer: encodes text
src/llm/shards.py - Token shards → Artifact manifests: records provenance
src/llm/shards.py - CLI commands → Training loop: starts training
src/llm/cli.py - Training loop → Token shards: reads batches
src/llm/train/loop.py - Training loop → GPT model: trains model
src/llm/train/loop.py - Training loop → Checkpoints: saves state
src/llm/train/loop.py - CLI commands → Checkpoints: resumes run
src/llm/cli.py - CLI commands → Text generation: generates text
src/llm/cli.py - CLI commands → Evaluation reports: creates reports
src/llm/cli.py - Evaluation reports → Token shards: reads artifacts
src/llm/report.py - Evaluation reports → BPE tokenizer: uses tokenizer
src/llm/report.py - CLI commands → Run hub sync: pulls run
README.md - Build speech set → Prepare text data: reads cleaned text
src/llm/speech/build.py - Build speech set → Chunk and align: chunks stories
src/llm/speech/build.py - Build speech set → Speech interfaces: creates speech tools
src/llm/speech/build.py - Speech interfaces → Speech adapters: loads integrations
src/llm/speech/interfaces.py - Speech adapters → Model services: uses TTS codec ASR
README.md - Build speech set → Speech split store: writes splits
src/llm/speech/build.py - Speech dataset → Speech split store: reads records
src/llm/speech/dataset.py - CLI commands → Build speech set: builds speech data
src/llm/cli.py - Speech training → Speech dataset: loads training data
src/llm/train/speech_loop.py - Speech training → SpeechGPT: trains model
src/llm/train/speech_loop.py - Speech training → Speech generation: evaluates samples
src/llm/train/speech_loop.py - CLI commands → Speech training: trains speech model
README.md - CLI commands → Speech generation: speaks or continues
src/llm/cli.py - Speech generation → SpeechGPT: samples frames
src/llm/speech/generate.py - CLI commands → Speech evaluation: evaluates speech
src/llm/cli.py - Speech evaluation → Speech generation: generates test audio
src/llm/speech/evaluate.py - Speech demo → Speech generation: serves generation
src/llm/speech/app.py - CLI commands → Speech demo: launches demo
README.md