Pluginization is an important capability introduced in SWIFT 3.0. We hope to allow developers to customize the development process more naturally through pluginization.
Examples can be found here.
Callbacks are registered into the trainer before constructing the trainer. The example provides a simple version of the EarlyStop scheme.
Examples can be found here.
Users can inherit existing trainers and implement their own training logic here, such as customizing data loaders, customizing compute_loss, etc. The example demonstrates a trainer for a text-classification task.
Examples can be found here.
Users can customize their own loss implementation plan here.
Examples can be found here.
Users can customize the loss scale here, allowing for different weight definitions for different tokens.
Examples can be found here.
Users can customize evaluation metrics used during the cross-validation phase here.
Examples can be found here.
Users can add their own optimizer and lr_scheduler implementations here.
Examples can be found here.
Users can add tools formatted for Agents here.
Examples can be found here.
Users can add new custom tuners here.