Skip to content
/ adventuretime Public template

Have you ever wanted to do ML, but feel like you are Jack while doing it? Do you want to train LLMs instead of what's here? Use AdventureKit (https://github.com/jemoka/adventurekit) instead!

License

Notifications You must be signed in to change notification settings

Jemoka/adventuretime

Repository files navigation

it’s adventuretime!

This repository is a collection of scripts for the purposes of reproducibly implementing a machine learning run while reducing Jack’s usual laziness in terms of logging, saving checkpoints, reproducible validation in the loop, etc.

usage

To run experiments:

python main.py --help

To get started on editing, fill in all parts that…

grep -re ">>>>>>>"

And, everywhere the project name is needed, I’ve left:

grep -re "adventure"

high level ideas

  1. make stuff flat, because conversational development is a good way to do ML and it isn’t conducive to well-organized packages
  2. have scripts that can be SLURMed (i.e. Bash loops should be a sane way to do sweeps)
  3. don’t use boilerplate Trainer classes (and instead, make your own!)

on that last thing

Trainer are good, because its easy. Most of the time, though, you want to faff around on the inside on how specific things are done. So, instead of using a Trainer, you should just write your own training loop and wrap it in a Trainer function.

This package has the boilerplate done so you can just focus writing the Trainer (which, for the most part, is your primary job in filling in this boilerplate). This package handles things like

  • logging
  • checkpointing models with eval-in-the-loop
  • preemption prevention and random state saving

About

Have you ever wanted to do ML, but feel like you are Jack while doing it? Do you want to train LLMs instead of what's here? Use AdventureKit (https://github.com/jemoka/adventurekit) instead!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published