نمذجة اللغة. تحتوي قاعدة البيانات هذه على تنفيذ خلايا G-LSTM و F-LSTM من [1]. قد تحتوي أيضًا على بعض التجارب المستمرة.
تم تشويه هذا الرمز من https://github.com/rafaljozefowicz/lm ويحتوي على خط الأساس "biglstm" الأساس من [2].
يتم تشغيل الكود الحالي على TensorFlow R1.5 ويدعم موازاة البيانات المتعددة GPU باستخدام تحديثات التدرج المتزامن.
على معيار مليار كلمة باستخدام 8 وحدات معالجة الرسومات في واحد DGX-1 ، تمكن Big G-LSTM G4 من تحقيق 24.29 بعد أسبوعين من التدريب و 23.36 بعد 3 أسابيع.
في 02/06/2018 ، وجدنا مشكلة مع الإعداد التجريبي الذي يجعل أرقام الحيرة المدرجة في الورقة غير صالحة.
انظر الأرقام الحالية في الجدول أدناه.
في محطة DGX ، بعد أسبوع واحد من التدريب باستخدام جميع وحدات معالجة الرسومات الأربعة (Tesla V100) وحجم دفعة 256 لكل وحدة معالجة الرسومات:
| نموذج | الحيرة | خطوات | WPS |
|---|---|---|---|
| biglstm | 35.1 | ~ 0.99m | ~ 33.8k |
| Big F-LSTM F512 | 36.3 | ~ 1.67m | ~ 56.5k |
| كبير G-LSTM G4 | 40.6 | ~ 1.65m | ~ 56k |
| كبير G-LSTM G2 | 36 | ~ 1.37m | ~ 47.1k |
| كبير G-LSTM G8 | 39.4 | ~ 1.7m | ~ 58.5 |
على افتراض أن دليل البيانات موجود في: /raid/okuchaiev/Data/LM1B/1-billion-word-language-modeling-benchmark-r13output/ : تنفيذ: تنفيذ:
export CUDA_VISIBLE_DEVICES=0,1,2,3
SECONDS=604800
LOGSUFFIX=FLSTM-F512-1week
python /home/okuchaiev/repos/f-lm/single_lm_train.py --logdir=/raid/okuchaiev/Workspace/LM/GLSTM-G4/$LOGSUFFIX --num_gpus=4 --datadir=/raid/okuchaiev/Data/LM/LM1B/1-billion-word-language-modeling-benchmark-r13output/ --hpconfig run_profiler=False,float16_rnn=False,max_time=$SECONDS,num_steps=20,num_shards=8,num_layers=2,learning_rate=0.2,max_grad_norm=1,keep_prob=0.9,emb_size=1024,projected_size=1024,state_size=8192,num_sampled=8192,batch_size=256,fact_size=512 >> train_$LOGSUFFIX.log 2>&1
python /home/okuchaiev/repos/f-lm/single_lm_train.py --logdir=/raid/okuchaiev/Workspace/LM/GLSTM-G4/$LOGSUFFIX --num_gpus=1 --mode=eval_full --datadir=/raid/okuchaiev/Data/LM/LM1B/1-billion-word-language-modeling-benchmark-r13output/ --hpconfig run_profiler=False,float16_rnn=False,max_time=$SECONDS,num_steps=20,num_shards=8,num_layers=2,learning_rate=0.2,max_grad_norm=1,keep_prob=0.9,emb_size=1024,projected_size=1024,state_size=8192,num_sampled=8192,batch_size=1,fact_size=512
num_of_groups .fact_size .لاحظ أن قارئ البيانات الحالي قد يفوتك بعض الرموز المميزة عند إنشاء مكامن صغيرة يمكن أن يكون لها تأثير بسيط على الحيرة النهائية.
بالنسبة لمعظم النتائج الدقيقة ، استخدم batch_size = 1 و num_steps = 1 في التقييم. بفضل سيبريان لملاحظة هذا.
يقبل الأمر والوسيطة الإضافية- --hpconfig التي تسمح بتجاوز مختلف المعلميات المفرطة ، بما في ذلك:
رمز متشوق وخلايا glstm/flstm: [email protected]