Skip to main content

Module training

Module training 

Source
Expand description

High-level training API with a builder pattern.

The Trainer struct wraps model construction, token-sequence training, and checkpoint management behind a single ergonomic interface with sensible defaults.

Users encode their own text into token IDs using any tokenizer they choose, then pass the Vec<Vec<u32>> sequences to Trainer::train_on_token_sequences.

§Example

use multiscreen_rs::prelude::*;

fn main() -> multiscreen_rs::Result<()> {
    let mut trainer = Trainer::builder()
        .vocab_size(1000)
        .budget(ParameterBudget::Params10M)
        .batch_size(4)
        .seq_len(64)
        .steps(100)
        .device(auto_device()?)
        .build()?;

    // Token sequences from YOUR tokenizer
    let sequences = vec![
        vec![1, 2, 3, 4, 5],
        vec![1, 2, 6, 7, 5],
    ];

    let report = trainer.train_on_token_sequences(&sequences)?;
    println!("trained {} steps, final loss {:.4}", report.steps, report.final_loss);
    Ok(())
}

Structs§

Trainer
High-level trainer that bundles a model and training config.
TrainerBuilder
Builder for constructing a Trainer with sensible defaults.
TrainingReport
Summary returned after training via the high-level Trainer.

Enums§

ParameterBudget
Re-export of the parameter budget enum for convenience. Supported neural Multiscreen parameter budgets.