torchdistill (formerly kdkit) offers various state-of-the-art knowledge distillation methods and enables you to design (new) experiments simply by editing a declarative yaml config file instead of Python code. Even when you need to extract intermediate representations in teacher/student models, you will NOT need to reimplement the models, which often change the interface of the forward, but instead specify the module path(s) in the yaml file. In addition to knowledge distillation, this framework helps you design and perform general deep learning experiments (WITHOUT coding) for reproducible deep learning studies. i.e., it enables you to train models without teachers simply by excluding teacher entries from a declarative yaml config file.
Features
- Supports various knowledge distillation strategies
- Works with any PyTorch-based deep learning models
- Reduces model size while maintaining accuracy
- Allows multi-stage and multi-teacher distillation
- Provides flexible configurations for different architectures
- Compatible with Hugging Face Transformers