yhavinga's picture
Switch to streamlit with markdown, add T5X pre-trained models
8f8e390
|
raw
history blame
1.84 kB
## Miscellaneous remarks
* Use loss regularization if you train with `bfloat16` (more info below)
* Beware of the dropout rate in the config.json file.
Check in a model's `config.json` what the dropout rate has been set to. Unless you
intend to run many epochs on the same data, its worth to try a training run without dropout.
If you want to compare losses, be sure to set the dropout rate equal.
The smaller models can probably always be trained without.
* For the translation task, I am not sure that a 'deep-narrow' model (e.g. base-nl36) is better than a normal model
or even a 'wide-deep' model.
* Training with more layers is much slower than you'd expect from the increased model size.
It is also more difficult to get batch size and learning rate right. Below is a section
about finding the right hyperparameters for the base-36L training.
* The 'larger' models are not only harder to pre-train, but also harder to fine-tune. The optimizer eats up a lot of
space, and the amount of memory required also depends on the length of source and target sequences.
* PyCharms remote debugging features are useful to inspect variables on either a TPU VM or your deep-learning rig.
* When increasing the batch size, increase the learning rate. bs * 2 -> lr * sqrt(2) is a good heuristic but mileage may
vary.
* Translation evaluation: the low score of the 128 seq len models on opus books may be because of the brevity penaly...
that books may have sentences longer than 128 tokens.
* Dataset quality is a key success factor. Do not expect a model to magically turn mediocre data into magic. This holds for
the pre-training data, fine-tuning and also evaluating.
* Good Bleu score does not necessarily mean fluent text. Evaluation loss on a large translation dataset might be
better suited for model comparison.