Code pour le papier: mise à l'échelle de l'unité: formation à faible précision à faible précision.
Nous aimerions des poids, des activations et des gradients pour être une variance unitaire à l'initialisation. Pour y parvenir, nous introduirons des facteurs de mise à l'échelle séparés pour les activations dans le passage des attaquants et pour les gradients dans le passage vers l'arrière.
Ce référentiel contient notre code d'expérimentation pour des expériences sur la modélisation du langage au niveau des caractères et un cahier de démonstration.
Aperçu:
Structure:
Voir aussi:
Ce code a été testé sur Poplar SDK 3.1.0 + 1205.
python3 -m venv .venv
# Append to .venv/bin/activate:
# source PATH/TO/POPLAR_SDK/enable
source .venv/bin/activate
pip install wheel
pip install $POPLAR_SDK_ENABLED /../tensorflow-2.6.3+gc3.1.0+246224+2b7af067dae+amd_znver1-cp38-cp38-linux_x86_64.whl
pip install $POPLAR_SDK_ENABLED /../keras-2.6.0+gc3.1.0+246230+88e2debf-py2.py3-none-any.whl
pip install -r requirements.txt
python run_experiment.py Nos balayages de résultats de test sont décrits par run_sweep.py . Par défaut, cela suppose que les données sont sous / home / fearch-datasets / wikitext103_raw ( train.txt , valid.txt , test.txt ) et que l'utilisateur est connecté à WANDB.
python run_sweep.pyCopyright (C) 2023 Graphcore Ltd. Licencié sous la licence MIT.
Le code inclus est libéré sous une licence MIT (voir licence).
Nos dépendances sont:
| Composant | À propos | Licence |
|---|---|---|
| Bordere | Poids et biais de la bibliothèque client (site Web), pour l'exploitation de l'exploitation en option aux serveurs WANDB | Mit |
Nous utilisons également des dépendances Python supplémentaires pour le développement / les tests (voir exigences-dev.txt).
L'ensemble de données Wikitext-103 est concédé sous licence Creative Commons Attribution-Sharealike.