Skip to content

Commit

Permalink
Corrects FLOPs formula as per 1093 (#1094)
Browse files Browse the repository at this point in the history
* Update logging.py

* Update NeoXArgs docs automatically

---------

Co-authored-by: github-actions <[email protected]>
  • Loading branch information
StellaAthena and github-actions committed Dec 6, 2023
1 parent a2b2020 commit 050f560
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 5 deletions.
2 changes: 1 addition & 1 deletion configs/neox_arguments.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ Logging Arguments

- **git_hash**: str

Default = efaee8d
Default = bb1b145

current git hash of repository

Expand Down
6 changes: 2 additions & 4 deletions megatron/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,17 +92,15 @@ def get_flops(neox_args, iter_time_s) -> float:
hidden_size = neox_args.hidden_size
num_layers = neox_args.num_layers
ckpt_activations_factor = 4 if neox_args.checkpoint_activations else 3
flops_calc1 = (
flops_per_iteration = (
24
* ckpt_activations_factor
* batch_size
* seq_len
* num_layers
* (hidden_size**2)
* (1.0 + (seq_len / (6.0 * hidden_size)))
* (1.0 + (seq_len / (6.0 * hidden_size)) + (vocab_size / (16.0 * num_layers * hidden_size)))
)
flops_calc2 = vocab_size / (16.0 * num_layers * hidden_size)
flops_per_iteration = flops_calc1 + flops_calc2
return flops_per_iteration / (iter_time_s * world_size)


Expand Down

1 comment on commit 050f560

@elsydony
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nous allons repr´esenter l’environnement sous la forme d’une grille de taille S ×S. Chaque case de cette grille
peut contenir un nombre illimit´e de fleurs. Impl´ementez cette grille en Python sous la forme d’une matrice
M, ou chaque ´el´ement indique le nombre de fleurs pr´esentes a la position correspondante. Par exemple
M[2][4] = 3 indique que la case en position (2, 4) contient 3 fleurs. Initialement, vous placez F fleurs a des positions al´eatoires sur la grille. Vous devez ´egalement simuler des escargots dans cet environnement. Pour cela, utilisez une liste Python. Chaque ´el´ement dans cette liste doit contenir les positions x et y d’un escargot dans la grille, ainsi que son score de sant´e. Au d´ebut de la simulation, cr´eez E escargots, avec des positions al´eatoires sur la grille et un score de sant´e de 10. Vous pouvez ensuite simuler l’´evolution du systeme jour apres jour. R´ep´etez les op´erations suivantes pour la simulation des fleurs et des escargots une fois pour chaque jour de simulation. Commencez par propager les fleurs. Pour chaque case de la grille qui contient au moins une fleur, ajoutez une nouvelle fleur sur une case voisine, choisie au hasard. Dans l’exemple donn´e en Figure 3, pour la case contenant les fleurs roses, vous ajoutez une fleur dans une des cases color´ees en rose. Comme indiqu´e sur cette image, il est possible que la nouvelle fleur apparaisse sur la mˆeme case. Passez ensuite a la simulation des escargots. Chaque escargot se trouvant dans la liste peut se d´eplacer
dans une case voisine, choisie au hasard (peu importe si un autre escargot soit pr´esent sur la mˆeme case).
Dans l’exemple en Figure 3, l’escargot peut se d´eplacer sur chacune des cases vertes. A nouveau, comme indiqu´e dans l’exemple, lors du choix al´eatoire de la case d’arriv´ee, il est possible que l’escargot se retrouve sur la mˆeme case qu’au d´epart. Apres son d´eplacement, plusieurs cas sont possibles.
• S’il arrive sur une case sans fleur, il ne peut pas manger, et perd donc un point de sant´e. Il doit ensuite
ˆetre supprim´e de la simulation si son score de sant´e est de 0.
• S’il arrive sur une case contenant au moins une fleur, il en mange une, faisant diminuer le nombre de
fleur a cette position de 1. S’il a moins de 10 points de sant´e, il en regagne 1 (un escargot ne peut jamais avoir plus de 10 points de sant´e). Ensuite, s’il a 10 points de sant´e, il donne naissance a un
nouvel escargot a la mˆeme position. Ce nouveau-n´e n’aura un score de sant´e que de 2. Il devra alors trouver a manger pour faire monter sa sant´e et pouvoir se reproduire `a son tou

Please sign in to comment.