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).
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
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.