Recipes are the primary entry points for torchtune users. These can be thought of as hackable, singularly-focused scripts for interacting with LLMs including fine-tuning, inference, evaluation, and quantization.
Each recipe consists of three components:
- Configurable parameters, specified through yaml configs and command-line overrides
- Recipe script, entry-point which puts everything together including parsing and validating configs, setting up the environment, and correctly using the recipe class
- Recipe class, core logic needed for fine-tuning, exposed through a set of APIs
Note
To learn more about the concept of "recipes", check out our technical deep-dive: :ref:`recipe_deepdive`.
Our recipes include:
- :ref:`Single-device LoRA fine-tuning <lora_finetune_recipe_label>`.
- Single-device full fine-tuning
- Distributed full fine-tuning
- Distributed LoRA fine-tuning
- :ref:`Direct Preference Optimization (DPO) <dpo_recipe_label>`
- Proximal Policy Optimization (PPO)
- :ref:`Distributed Quantization-Aware Training (QAT)<qat_distributed_recipe_label>`.
For a full list, please run:
tune ls
Note
Our recipe documentation is currently in construction. Please feel free to follow the progress in our tracker issue here.