Skip to content

Latest commit

 

History

History

README.md

Function Maximizer: Two-Stage Training (Pretrain + Finetune)

This directory is a structured, two-step rework of the old addition_maximization/ pipeline.

  • Step 1: Pretraining — train a small LM from scratch on binary addition using a compact, custom tokenizer.
  • Step 2: Finetuning — load the pretrained model and apply LoRA to learn signature-dependent functions (e.g., addition with signature-based offsets).

Layout

function_maximizer/
├── pretrain.py          # Pretrain small LM for binary addition
├── finetune.py          # Finetune with LoRA on signature-conditioned objectives
├── config.pretrain.yaml # Settings for pretraining
├── config.finetune.yaml # Settings for finetuning
├── eval.py              # Evaluation utilities and reporting
└── models/
    ├── .gitignore
    └── download.sh

Quick Start

Pretrain a base model:

cd function_maximizer
python -m function_maximizer.pretrain --config config.pretrain.yaml

Finetune with LoRA on top:

python -m function_maximizer.finetune --config config.finetune.yaml

The finetune step runs periodic evaluation across sampled signatures and saves a final report with examples and poem-like outputs when applicable.