feat(wandb): save model as artifact (#8119)
* feat(wandb): log artifacts
* fix: typo
* feat(wandb): ensure name is allowed
* feat(wandb): log artifact
* feat(wandb): saving logic
* style: improve formatting
* fix: unrelated typo
* feat: use a fake trainer
* fix: simplify
* feat(wandb): log model files as artifact
* style: fix style
* docs(wandb): correct description
* feat: unpack model + allow env Truethy values
* feat: TrainerCallback can access tokenizer
* style: fix style
* feat(wandb): log more interesting metadata
* feat: unpack tokenizer
* feat(wandb): metadata with load_best_model_at_end
* feat(wandb): more robust metadata
* style(wandb): fix formatting