How darthreca/losses-cook works
This repository is a research fine-tuning pipeline for structured recipe generation, centered on comparing token-level and ingredient-structure losses. The workflow configures datasets and a language model, loads training and validation data, fine-tunes with a custom weighted-loss Trainer, and saves the resulting model and tokenizer. The README also describes recipe-quality evaluation and human preference results; sampled code shows validation wiring but not the metric or study implementations. The data-file wiring is not fully clear from the sampled entry point, so uncertain links are omitted.
Main entry points: improved_loss.py Training entrypoint · loss_model.py Weighted loss · topological_loss.py Topological loss · data Recipe source files
Components 21
Recipe data
- Dataset configs
configs/dataset - Recipe source files
data - Prepared datasets
- Custom collator
improved_loss.py
Fine-tuning
- Training entrypoint
improved_loss.py - Model configs
configs/model - Trainer config
configs/trainer - Tokenizer
improved_loss.py - Causal LM
improved_loss.py - LoRA adaptation
improved_loss.py - Custom Trainer
model/loss_model.py
Loss objectives
- Loss config
configs/loss_topological-recipenlg_Qwen3-4B.yaml - Weighted loss
model/loss_model.py - Cross entropy
model/loss_model.py - Generalized Dice
loss/dice_loss.py - Focal loss
loss/focal_loss.py - Topological loss
loss/topological_loss.py - Sinkhorn divergence
loss/topological_loss.py
Tracking and outputs
- Comet tracking
improved_loss.py - Fine-tuned model
Other components
- Researcher
Connections 23
- Researcher → Training entrypoint: runs
- Training entrypoint → Dataset configs: loads config
- Training entrypoint → Model configs: loads config
- Training entrypoint → Trainer config: loads config
- Training entrypoint → Loss config: loads config
- Recipe source files → Prepared datasets
- Training entrypoint → Prepared datasets: loads datasets
- Training entrypoint → Tokenizer: loads
- Training entrypoint → Causal LM: loads
- Training entrypoint → LoRA adaptation: adapts model
- Training entrypoint → Custom collator: configures
- Training entrypoint → Custom Trainer: constructs
- Training entrypoint → Comet tracking: optionally initializes
- Custom Trainer → Causal LM: runs forward
- Custom Trainer → Custom collator: uses batches
- Custom Trainer → Weighted loss: computes
- Weighted loss → Cross entropy: optionally applies
- Weighted loss → Generalized Dice: optionally applies
- Weighted loss → Focal loss: optionally applies
- Weighted loss → Topological loss: optionally applies
- Topological loss → Sinkhorn divergence: computes divergence
- Training entrypoint → Fine-tuned model: saves model
- Training entrypoint → Tokenizer: saves tokenizer