※ v0.1の内容です(2024/03/04時点)
大規模言語モデルをフルスクラッチする練習 (環境構築ー事前学習まで)|Kan Hatakeyama
理解したこと、気になったことをメモ
preprocessing
train
トークナイザの学習~事前学習~fine-tuningまで
今回の環境はGCP、今記載されているABCIやさくらインターネットの手順は使える?
megatron-deepspeedのexampleスクリプトを実行するshファイルだけ?
↑を理解しないとどこまで手を加えられそうかわからないかも
train_sentencepiece_tokenizer.py
posttraining
eval
実行時間の目途について
ColabでA100(←Phase0で提供予定)を引けたので試してみた結果
[before the start of training step] datetime: 2024-03-08 05:03:17
[2024-03-08 05:03:55,370] [INFO] [[logging.py:96](<http://logging.py:96/>):log_dist] [Rank 0] step=10, skipped=0, lr=[9.437183999999999e-07, 9.437183999999999e-07], mom=[(0.9, 0.95), (0.9, 0.95)]
steps: 10 loss: 7.5265 iter time (s): 3.791 samples/sec: 67.534
iteration 10/ 1144409 | consumed samples: 2560 | consumed tokens: 5242880 | elapsed time per iteration (ms): 3808.0 | learning rate: 9.437E-07 | global batch size: 256 | lm loss: 7.668866E+00 | loss scale: 2048.0 | grad norm: 20.545 | num zeros: 0.0 | actual seqlen: 2048 | number of skipped iterations: 0 | number of nan iterations: 0 | samples per second: 67.226 | tokens per gpu per second (tgs): 137679.790 | TFLOPs: 102.32 |
[Rank 0] (after 10 iterations) memory (MB) | allocated: 2233.37841796875 | max allocated: 25985.74658203125 | reserved: 26938.0 | max reserved: 26938.0
[2024-03-08 05:04:32,746] [INFO] [[logging.py:96](<http://logging.py:96/>):log_dist] [Rank 0] step=20, skipped=0, lr=[1.9922943999999996e-06, 1.9922943999999996e-06], mom=[(0.9, 0.95), (0.9, 0.95)]
steps: 20 loss: 6.7812 iter time (s): 3.719 samples/sec: 68.829
気づいたこと:
1件バグで,以下のフィルタリング部分
!python -m preprocessing.filtering --input_dir=input --output_dir=output