大規模言語モデルにおける分散並列学習

スパコンコロキウム（第10回）
オンライン
2024/01/30

東京工業大学
学術国際情報センター
横田 理央

自己紹介
学歴・職歴
2009年
2009年―2010年
2010年―2011年
2011年―2015年
2015年―2022年
2023年―

慶應義塾大学大学院理工学研究科 博士(工学) 取得
ブリストル大学数学科 ポスドク研究員
ボストン大学機械工学科 ポスドク研究員
アブドゥラ国王科学技術大学 常勤研究員
東京工業大学 学術国際情報センター 准教授
東京工業大学 学術国際情報センター 教授

研究経歴
2005年ー2010年
2010年ー2015年
2015年ー

渦法による乱流解析、高速多重極展開法(FMM)、GPU
分子シミュレーション、FMM、GPU、H行列
深層学習、FMM、GPU、H行列

日本語 LLM ベンチマーク

https://wandb.ai/wandb-japan/llm-leaderboard/reports/Nejumi-Leaderboard-Neo--Vmlldzo2MTkyMTU0

Transformerのスケール則 (Scaling Law)

24
GPT-4(3x10 FLOPs)をスパコンで学習するには？

深層学習の用語説明

x0：第１層の入力（モデルの入力）
W0：第１層の重みz0：第１層の出力
f ()：活性化関数
x1：第２層の入力（活性）W1：第２層の重みz1：第２層の出力g()：Softmax関数
p：モデルの出力
L：損失関数<latexit sha1_base64="UuN06zQsRSsAb27Xdav3z4C9v20=">AAADwHicdZLdbtMwFMe9ho9Rvja45CaiQuKqSioYXKGpQ7ALJhVYt6E2qhznpLXm2MF2tgYrj8AtPALPxNvgfIDUJhwp0vH/nJ+d89cJU0aV9rzfOz3nxs1bt3fv9O/eu//g4d7+ozMlMklgSgQT8iLEChjlMNVUM7hIJeAkZHAeXh6V9fMrkIoKfqrzFIIELzmNKcHaSp/XC2+xN/CGXhVuO/GbZICamCz2e7/mkSBZAlwThpWa+V6qA4OlpoRB0Z9nClJMLvESZjblOAEVmOpfC/eZVSI3FtJ+XLuVukFEVzRVDbP+CyVCQt2r+vMIYjttdTJfgDFxPSrM8enJh8IcHYzfjt5ZgGRKi6R9vcGJUnkSlndivVLbtVLsqs0yHb8ODOVppoGTeo44Y64WbumrG1EJRLPcJphIaq1wyQpLTDTIzVciVU5ubeJwTUSSYB6ZuYRIw1oXMz8wZl7PZrXCDPyi2OpdSrDWb3dPrCfvy0onE7IMWsgnkWM2tpVOJK+sbUH/HO9AhMR82X6nljsJu452FtxCTmq9k0kzmbL/TDOpag1mV9vfXuR2cjYa+gfDlx9fDA7fNEu+i56gp+g58tErdIiO0QRNEUFL9B39QD+dsbNyhPO1bu3tNMxjtBHOtz+zQEeo</latexit><latexit sha1_base64="qypGDm/K3Ce2yOFRo1WDk/4AWNQ=">AAADwHicdZNdb9MwFIa9ho9Rvja45CaiQuKqSsro2N3UobELJhVY16G2qhzntLXm2JntbCtWJP4At/AT+E38G5yPIdpkliKdvO957JxXThAzqrTn/dloOHfu3ru/+aD58NHjJ0+3tp+dKpFIAgMimJBnAVbAKIeBpprBWSwBRwGDYXB+kPnDS5CKCn6ilzFMIjzndEYJ1lb6Mpx6062W3/by5Xrt7s6bvd2sKJUbq4XK1Z9uN36PQ0GSCLgmDCs18r1YTwyWmhIGaXOcKIgxOcdzGNmS4wjUxOTfmrqvrBK6MyHtw7WbqytEeEljVTLXN1AkJBS9qjkOYWanzd/MV2BMXHVSc3Ry/DE1B93e+86hBUiitIiq2xscKbWMgmxPrBdq3cvEOm+U6Nm7iaE8TjRwUswxS5irhZvl6oZUAtFsaQtMJLVRuGSBJSYa5OopocomtzFxuCIiijAPzVhCqOFapyN/Ysy4mM1qqWn5abrWO5dgo1/v7ttMPmROLROwBCrIZ7HErGedWmSZR1uB/iVegwiJ+bx6TiHXEvY62llwBTku9FomTmTMbpmmn3sl9v/Vvr047bT9bvvtp53W/uH34pJvohfoJXqNfLSL9tER6qMBImiOfqCf6JfTcxaOcC6K1sZG+WM8RyvL+fYXz2BILQ==</latexit>

モデル<latexit sha1_base64="eFQ+34B166kabPfT5bv+9qH7XVo=">AAADwHicdZPfbtMwFMa9hj+j/NvGJTcRFRJXVVK2Du6mDo1dMKnAug01VeU4p601x85sZ1tnReIFuIVH4Jl4G5ykQ7TJLEU6+b7zs3M+OWHCqNKe92et4dy7/+Dh+qPm4ydPnz3f2Nw6USKVBAZEMCHPQqyAUQ4DTTWDs0QCjkMGp+H5fu6fXoJUVPBjPU9gFOMppxNKsLbS15uxN95o+W2vWK7X7m6/fb+bFwvl1mqhxeqPNxu/g0iQNAauCcNKDX0v0SODpaaEQdYMUgUJJud4CkNbchyDGpniWzP3tVUidyKkfbh2C3WJiC5pohbM9S0UCwllr2oGEUzstMWb+QaMiatOZg6Pjz5lZr/b+9A5sABJlRZxdXuDY6XmcZjvifVMrXq5WOcNUz15NzKUJ6kGTso5JilztXDzXN2ISiCazW2BiaQ2CpfMsMREg1w+JVL55DYmDldExDHmkQkkRBqudTb0R8YE5WxWy0zLz7KV3qkEG/1qd99m8jF3apmQpVBBvog5Zj3r1CLzItoK9C/xGkRIzKfVc0q5lrDX0c6CK8hRqdcySSoTdsc0/cJbYP9f7buLk07b77Z3Pm+39g6+l5d8Hb1Er9Ab5KNdtIcOUR8NEEFT9AP9RL+cnjNzhHNRtjbWFj/GC7S0nJu/RQNIUA==</latexit>

第１層

第２層

<latexit sha1_base64="3ySrkRmzxtDP6WGqMpcPgKC2A+8=">AAADwHicdZPfbtMwFMa9hj+j/NvgkpuICmncVEkZHdxNHRq7YFKBdRtqq8lxTlJrjh1sZ1uxIvEC3MIj8Ey8DU7SIdpkliKdfN/52TmfnCBlVGnP+7PWcm7dvnN3/V77/oOHjx5vbD45ViKTBEZEMCFPA6yAUQ4jTTWD01QCTgIGJ8H5XuGfXIBUVPAjPU9hmuCY04gSrK30Odp6ebbR8bteuVyv299+9XanKBbKtdVBizU822z9noSCZAlwTRhWaux7qZ4aLDUlDPL2JFOQYnKOYxjbkuME1NSU35q7L6wSupGQ9uHaLdUlIrygqVowV9dQIiRUvao9CSGy05Zv5gswJi57uTk4OvyQm73+4F1v3wIkU1ok9e0NTpSaJ0GxJ9YzteoVYpM3znT0ZmooTzMNnFRzRBlztXCLXN2QSiCazW2BiaQ2CpfMsMREg1w+JVTF5DYmDpdEJAnmoZlICDVc6XzsT42ZVLNZLTcdP89XemMJNvrV7qHN5H3hNDIBy6CGfBJzzAbWaUTmZbQ16F/iDYiQmMf1cyq5kbDX0c6Ca8hhpTcyaSZTdsM0w9JbYP9f7ZuL417X73dff9zu7O5/ry75OnqGnqMt5KMdtIsO0BCNEEEx+oF+ol/OwJk5wvlatbbWFj/GU7S0nG9/ATHBR/4=</latexit><latexit sha1_base64="ypUUpvuITKFz1lwY56l/Cz1fiWo=">AAADwHicdZPfbtMwFMa9hj+j/NvgkpuIComrqimjY3dTh8YumFRg3YbaqnKc09SaY2e2szVYkXgBbuEReCbeBifpEG0yS5FOvu/87JxPjh8zqnSn82ej4dy5e+/+5oPmw0ePnzzd2n52qkQiCQyJYEKe+1gBoxyGmmoG57EEHPkMzvyLg9w/uwKpqOAnOo1hEuGQ0xklWFvpy2LqTbdaXrtTLLfT7u282dvNi6VyY7XQcg2m243f40CQJAKuCcNKjbxOrCcGS00Jg6w5ThTEmFzgEEa25DgCNTHFt2buK6sE7kxI+3DtFuoKEVzRWC2ZxQ0UCQllr2qOA5jZaYs38xUYE9fdzBydHH/MzEGv/757aAGSKC2i6vYGR0qlkZ/vifVcrXu5WOeNEj17NzGUx4kGTso5ZglztXDzXN2ASiCapbbARFIbhUvmWGKiQa6eEqh8chsTh2siogjzwIwlBBoWOht5E2PG5WxWy0zLy7K13lCCjX69e2Az+ZA7tYzPEqggn0WKWd86tUhaRFuB/iVegwiJeVg9p5RrCXsd7Sy4ghyXei0TJzJmt0wzKLwl9v/Vvr047ba9Xvvtp53W/uH38pJvohfoJXqNPLSL9tERGqAhIihEP9BP9MvpO3NHOJdla2Nj+WM8RyvL+fYXQaVITw==</latexit><latexit sha1_base64="+ZFw7RqWpyh4YphKfS10JGhB2LM=">AAADwHicdZPfbtMwFMa9hj+j/NvgkpuIComrKimjY3dTh8YumFRgXYfaqnKc09SaY2e2s61YkXgBbuEReCbeBifpEG0yS5FOvu/87JxPTpAwqrTn/dloOHfu3ru/+aD58NHjJ0+3tp+dKpFKAgMimJBnAVbAKIeBpprBWSIBxwGDYXB+kPvDS5CKCn6iFwlMYhxxOqMEayt9GU796VbLb3vFcr12d+fN3m5eLJUbq4WWqz/dbvweh4KkMXBNGFZq5HuJnhgsNSUMsuY4VZBgco4jGNmS4xjUxBTfmrmvrBK6MyHtw7VbqCtEeEkTtWSub6BYSCh7VXMcwsxOW7yZr8CYuOpk5ujk+GNmDrq9951DC5BUaRFXtzc4VmoRB/meWM/VupeLdd4o1bN3E0N5kmrgpJxjljJXCzfP1Q2pBKLZwhaYSGqjcMkcS0w0yNVTQpVPbmPicEVEHGMemrGEUMO1zkb+xJhxOZvVMtPys2ytN5Jgo1/v7ttMPuROLROwFCrIZ7HArGedWmRRRFuB/iVegwiJeVQ9p5RrCXsd7Sy4ghyXei2TpDJht0zTL7wl9v/Vvr047bT9bvvtp53W/uH38pJvohfoJXqNfLSL9tER6qMBIihCP9BP9MvpOXNHOBdla2Nj+WM8RyvL+fYX0rpILg==</latexit>

0.9 Dog<latexit sha1_base64="AK407XBomm+9OQVpS1otw46Su48=">AAADwHicdZNdb9MwFIa9ho9RvrZxyU1EhcRV1ZStg7upQ2MXTCqwbkNtVTnOSWrNsTPb2dZZkfgD3MJP4Dfxb3A+hmibWYp08r7nsXNeOX7CqNKdzp+1hnPv/oOH64+aj588ffZ8Y3PrRIlUEhgSwYQ887ECRjkMNdUMzhIJOPYZnPrn+7l/eglSUcGP9TyBSYwjTkNKsLbS15upN91oee1OsdxOu7f99v1uXlTKrdVC1RpMNxu/x4EgaQxcE4aVGnmdRE8MlpoSBllznCpIMDnHEYxsyXEMamKKb83c11YJ3FBI+3DtFuoCEVzSRFXM9S0UCwllr2qOAwjttMWb+QaMiatuZg6Pjz5lZr/X/9A9sABJlRbx6vYGx0rNYz/fE+uZWvZysc4bpTp8NzGUJ6kGTso5wpS5Wrh5rm5AJRDN5rbARFIbhUtmWGKiQS6eEqh8chsThysi4hjzwIwlBBqudTbyJsaMy9mslpmWl2VLvZEEG/1y98Bm8jF3ahmfpbCCfBFzzPrWqUXmRbQr0L/EaxAhMY9WzynlWsJeRzsLXkGOSr2WSVKZsDumGRRehf1/te8uTrptr9fe+bzd2jv4Xl7ydfQSvUJvkId20R46RAM0RARF6Af6iX45fWfmCOeibG2sVT/GC7SwnJu/SF1IUQ==</latexit>

0.1

Fried chicken<latexit sha1_base64="Ruo4VUQP5pTA8CnHUPG7fVdi+vc=">AAADwHicdZNdb9MwFIa9ho9Rvja45CaiQho3VVNGB3dTh8YumFRg3YbaanKck9SaYwfb2RasSPwBbuEn8Jv4NzgfQ7TNLEU6ed/z2DmvHD9hVOle789ay7l1+87d9Xvt+w8ePnq8sfnkWIlUEhgTwYQ89bECRjmMNdUMThMJOPYZnPjne4V/cgFSUcGPdJbALMYRpyElWFvpc7T18myj43V75XJ73cH2q7c7RVEr11YH1Wt0ttn6PQ0ESWPgmjCs1MTrJXpmsNSUMMjb01RBgsk5jmBiS45jUDNTfmvuvrBK4IZC2odrt1QXiOCCJqpmrq6hWEioelV7GkBopy3fzBdgTFz2c3NwdPghN3uD4bv+vgVIqrSIV7c3OFYqi/1iT6znatkrxCZvkurwzcxQnqQaOKnmCFPmauEWuboBlUA0y2yBiaQ2CpfMscREg1w8JVDF5DYmDpdExDHmgZlKCDRc6XzizYyZVrNZLTcdL8+XeiMJNvrl7pHN5H3hNDI+S2EF+SQyzIbWaUSyMtoV6F/iDYiQmEer51RyI2Gvo50FryCHld7IJKlM2A3TjEqvxv6/2jcXx/2uN+i+/rjd2d3/Xl3ydfQMPUdbyEM7aBcdoBEaI4Ii9AP9RL+coTN3hPO1am2t1T/GU7SwnG9/ATUdR/8=</latexit>

バッチ<latexit sha1_base64="KtQZ085BzJejuD39WtRhbth874g=">AAADvnicdZPLbtNAFIanMZcSbi0s2VhESKyiOJQUdlGLShdUSlHTFiVRNR4fp6POxZoZt4lGltizhWfgmXgbxpciErsjWTr+//PN+Pwahwmj2vR6fzZa3r37Dx5uPmo/fvL02fOt7RenWqaKwJhIJtV5iDUwKmBsqGFwnijAPGRwFl7t5/7ZNShNpTgxywRmHM8FjSnBxknHycVWJ+j2iuX3uoOddx9386JSbq0OqtboYrv1expJknIQhjCs9SToJWZmsTKUMMja01RDgskVnsPElQJz0DNbfGnmv3FK5MdSuUcYv1BXiOiaJrpiFrcQlwrKXt2eRhC7WYs3+w0Ykzf9zB6eHH3J7P5g71P/wAEk1Uby+vYWc62XPMz3xOZSr3u52ORNUhN/mFkqktSAIOUcccp8I/08VT+iCohhS1dgoqiLwieXWGFiQK2eEul8cheTgBsiOccislMFkYGFySbBzNppOZvTMtsJsmytd67ARb/ePXKZfM6dRiZkKdSQr3KJ2Z5zGpFlEW0N+pd4AyIVFvP6OaXcSLjL6GbBNeSo1BuZJFUJu2OaUeFV2P9X++7itN8NBt33xzud4cH38pJvolfoNXqLArSLhugQjdAYEQToB/qJfnlDL/a4J8vW1kb1Y7xEK8tb/AX1Q0ej</latexit><latexit sha1_base64="DXpwA2Q1P0/no+sxFbJ6YF7xhOg=">AAAD3nicdZLLbtNAFIanMZcSbiksWWARIbEhikNJYQGqWgRdtFJATVsUh3Q8PkmszsWaGbeNRl7CDrHlDViwhYfhbRhfikjiHsnS8f+fb0bn1wQxjZRut/+s1JwrV69dX71Rv3nr9p27jbV7B0okkkCfCCrkUYAV0IhDX0eawlEsAbOAwmFwsp35h6cgVST4vp7FMGR4wqNxRLC20qjx0GdYTwmmZjd95auEfTIB1mSaPvWpmLjxqNH0Wu283Haru/7s5UbWlMqF1URl9UZrtR9+KEjCgGtCsVIDrx3rocFSR4RCWvcTBTEmJ3gCA9tyzEANTb5J6j62SuiOhbQf126uzhHhaRSrkjm/gJiQUMyquh/C2GaR/5mPQKk466RmZ39vNzXb3a03nbcWIInSgi0fbzBTasaC7Ewbi1r0MrHKGyR6/GJoIh4nGjgp9hgn1NXCzVJ3w0gC0XRmG0xkZKNwyRRLTDTI+VtClW1uY+JwRgRjmIfGlxBqONfpwBsa4xe7WS01TS9NF2YnEmz0i9M9m8m7zKlkAprAEvJBzDDdsk4lMsujXYL+JV6BCIn5ZPmeQq4k7GO1u+AlZK/QK5k4kTG9ZJte7pXY/0/78uag0/K6refv15ubr8tHvooeoEfoCfLQBtpEO6iH+oigz+gn+oV+O8fOF+er860Yra2UzH00V873v+PdVCM=</latexit>x0
x1 = f (z0 )p = g(z1 ) L =z0 = W 0 x 0 z1 = W 1 x 1<latexit sha1_base64="7B6VK+s/cHGUFSRtyq4x1H2zNbs=">AAAD1nicdZJNbxMxEIbdLh8lfDSFAwcuKyKkcol2oyQ0B1DVIuiBSgE1bVASRV7vbLqq117Z3jbBWm6IK/+BAxf4QfwbvB9FSrK1ZGn0zjxjzevxYhpK5Th/NzatW7fv3N26V7v/4OGj7frO41PJE0FgQDjlYuhhCTRkMFChojCMBeDIo3DmXRxm+bNLEDLk7EQtYphEeMbCICRYGWlafzrOe2iPJpDW5lP3dbD7Zeq8nNYbTrO31+l12rbTdPKTBa1ur+3Ybqk0UHn6053NX2OfkyQCpgjFUo5cJ1YTjYUKCTW9x4mEGJMLPIORCRmOQE50/npqvzCKbwdcmMuUnatLhH8ZxrJk5tdQxAUUtbI29iEwHhTTfAZK+VUr1Ucnxx9Sfdg9eNt6ZwCSSMWj9fYaR1IuIi/ridW5XM1lYlVulKhgb6JDFicKGCnmCBJqK25nbtt+KIAoujABJiI0VtjkHAtMFIjlV3yZTW5sYnBFeBRh5uuxAF/BXKUjd6J1+VNGS3XDTdOV2pkAY/1qdd948j7LVDLZr68hn/gC04NsH6qQRW7tGvTf8QqEC8xm6+8UciVhltTMgteQ40KvZOJExPSGafp5rsTMal/vr31zcNpqut1m52O7sf+mXPIt9Aw9R7vIRa/QPjpCfTRABKXoJ/qN/lhD66v1zfpelG5ulMwTtHSsH/8AhKVQAQ==</latexit><latexit sha1_base64="Y10rI/7bZKt0QVm20UMpIcJCq3g=">AAAD23icdZLLbhMxFIbdDJcSbiksYTEiQiqbKJOWFBagqkWlCyoF1LRFySjyeE5Sqx57ZHvaBms2sENseQbYwtvwNnguRaQztWTp6D/nO/b57SBmVOlu989Sw7l2/cbN5VvN23fu3rvfWnlwoEQiCQyJYEIeBVgBoxyGmmoGR7EEHAUMDoOT7Sx/eApSUcH39TwGP8IzTqeUYG2lSevxOO9hdoQEpd9KAJ4241ez1U8T79mk1fY63Xy53U5/fe3lRhaUykWqjco1mKw0foxDQZIIuCYMKzXyurH2DZaaEgZpc5woiDE5wTMY2ZDjCJRv8iuk7lOrhO5USLu5dnN1gQhPaaxK5vwCiuzNi1rVHIcwtUYUI30ExsRZLzW7+3vvUrPd33rT27EASZQWUbW9wZFS8yjIemJ9rC7nMrEuN0r09IVvKI8TDZwUc0wT5mrhZpa7IZVANJvbABNJrRUuOcYSEw1y8ZRQZZNbmzicERFFmIdmLCHUcK7TkecbUz6X1VLT9tL0Uu0se8BK9cB6UjxtHROwBCrIBzHHbMtmapF5bm0F+ud4DSIk5rPqOYVcS9ifamfBFWSv0GuZOJExu2KaQZ4rsf+/9tXBQa/j9TvP36+3N1+Xn3wZPUJP0Cry0AbaRLtogIaIoM/oJ/qFfju+88X56nwrShtLJfMQLSzn+19Ir1I6</latexit><latexit sha1_base64="UuN06zQsRSsAb27Xdav3z4C9v20=">AAADwHicdZLdbtMwFMe9ho9Rvja45CaiQuKqSioYXKGpQ7ALJhVYt6E2qhznpLXm2MF2tgYrj8AtPALPxNvgfIDUJhwp0vH/nJ+d89cJU0aV9rzfOz3nxs1bt3fv9O/eu//g4d7+ozMlMklgSgQT8iLEChjlMNVUM7hIJeAkZHAeXh6V9fMrkIoKfqrzFIIELzmNKcHaSp/XC2+xN/CGXhVuO/GbZICamCz2e7/mkSBZAlwThpWa+V6qA4OlpoRB0Z9nClJMLvESZjblOAEVmOpfC/eZVSI3FtJ+XLuVukFEVzRVDbP+CyVCQt2r+vMIYjttdTJfgDFxPSrM8enJh8IcHYzfjt5ZgGRKi6R9vcGJUnkSlndivVLbtVLsqs0yHb8ODOVppoGTeo44Y64WbumrG1EJRLPcJphIaq1wyQpLTDTIzVciVU5ubeJwTUSSYB6ZuYRIw1oXMz8wZl7PZrXCDPyi2OpdSrDWb3dPrCfvy0onE7IMWsgnkWM2tpVOJK+sbUH/HO9AhMR82X6nljsJu452FtxCTmq9k0kzmbL/TDOpag1mV9vfXuR2cjYa+gfDlx9fDA7fNEu+i56gp+g58tErdIiO0QRNEUFL9B39QD+dsbNyhPO1bu3tNMxjtBHOtz+zQEeo</latexit><latexit sha1_base64="rt/AguJOellaTn4myWaxqUt6jSU=">AAAD3nicdZJNb9NAEIa3MR8lfKVw5IBFhMQpikNJ2wOoahH0QEVATVOURO56PUlXXe9au+s2YeUj3BBX/gEHrvBj+DesHRc1iTuSpdE784w9ryeIGVW62fy7UnGuXb9xc/VW9fadu/fu19YeHCqRSAJdIpiQRwFWwCiHrqaawVEsAUcBg15wupvVe2cgFRX8QE9jGEZ4zOmIEqyt5NceD/IZ5hMwJs7fS8zHkFY/+97Lnu9NfM+v1b1GMw+32WivP9/ayJJCuSjVUREdf63ycxAKkkTANWFYqb7XjPXQYKkpYXb2IFEQY3KKx9C3KccRqKHJvyJ1n1oldEdC2odrN1fniPCMxqpgJhdQJCTMelV1EMLIenF5q1Zq9g7236Vmt73zuvXGAiRRWkTL4w2OlJpGQTYT6xO1WMvEslo/0aPNoaE8TjRwMttjlDBXCzdz3Q2pBKLZ1CaYSGqtcMkJlphokPNvCVW2ubWJwzkRUYR5aAYSQg0Tnfa9oTHFH7Naaupemi70jiVY6xe7O9aTt1mllAlYAkvIRzHFbMdWSpFpbu0S9N/xEkTk17WEzORSwh6r3QUvIfszvZSJExmzK7bp5LUCu3zaVyeHrYbXbrz4sF7fflUc+Sp6hJ6gZ8hDG2gb7aEO6iKCvqBf6Df64xw7X51vzvdZa2WlYB6iuXB+/AMAnVOT</latexit><latexit sha1_base64="QChJEzwNyGWa57Rha8NzpgKHtp8=">AAAD1XicdZJNbxMxEIbdLB8lfKUgceGyIkLiFO1GSWgOoKpF0AOVAmqaoiRaeb2T1Kp3vbK9bYLZG+LKf+DCAf4Q/wbvRxFJtpYsjd6ZZ6x5PX7MqFSO82erZt24eev29p363Xv3Hzxs7Dw6kTwRBIaEMy5OfSyB0QiGiioGp7EAHPoMRv75QZYfXYCQlEfHahnDNMTziM4owcpIXuPJJO+hBQRp/bPnvBp5zsJzvEbTafV3u/1ux3ZaTn6yoN3rdxzbLZUmKs/A26n9nAScJCFEijAs5dh1YjXVWChKGKT1SSIhxuQcz2FswgiHIKc6fzy1nxslsGdcmBspO1dXiOCCxrJkFldQyAUUtbI+CWBmLCiG+QSM8ct2qg+Pj96n+qC3/6b91gAkkYqHm+01DqVchn7WE6szuZ7LxKrcOFGz3ammUZwoiEgxxyxhtuJ2ZrYdUAFEsaUJMBHUWGGTMywwUSBWXwlkNrmxKYJLwsMQR4GemE9RsFDp2J1q/d9H6aabpmu1cwHG+vXqgfHkXZapZHyWwAbykS8x2zeZSmSZW7sB/XO8AuECR/PNdwq5kjA7ambBG8hRoVcycSJids00gzxXYma1r/bXvj44abfcXqv7odPce10u+TZ6ip6hF8hFL9EeOkQDNEQEfUE/0C/02xpZqfXV+laU1rZK5jFaOdb3v4FQT7g=</latexit>

batch
X

log p

<latexit sha1_base64="fWuOFNdlm+EZNNyn9+Whb16DjWE=">AAADyHicdZNdb9MwFIa9ho9Rvja45CaiQuKqasro4G7a0JjQJhW0bkNNNTnOSWfNH5HtrIusSIj/wC1c8pv4NzhJh2ibWYp08r7nsXNeOVHKqDa93p+1lnfn7r376w/aDx89fvJ0Y/PZiZaZIjAikkl1FmENjAoYGWoYnKUKMI8YnEaXe6V/egVKUymOTZ7ChOOpoAkl2DhpHHJsLghm9rA43+gE3V61/F53sPXm/XZZzJUbq4Pma3i+2fodxpJkHIQhDGs9DnqpmVisDCUMinaYaUgxucRTGLtSYA56YqtvLvxXTon9RCr3CONX6gIRX9FUz5nrG4hLBXWvbocxJG7q6s1+BcbkrF/Yg+Ojw8LuDXY/9PcdQDJtJF/d3mKudc6jck8XgV72SrHJG2cmeTexVKSZAUHqOZKM+Ub6Zb5+TBUQw3JXYKKoi8InF1hhYkAtnhLrcnIXk4AZkZxjEdtQQWzg2hTjYGJtWM/mtMJ2gqJY6p0qcNEvdw9dJh9Lp5GJWAYryBeZY7brnEYkr6Jdgf4l3oBIhcV09ZxabiTctXSz4BXkqNYbmTRTKbtlmmHlzbH/r/btxUm/Gwy6bz9vdXb2v9WXfB29QC/RaxSgbbSDDtAQjRBBEv1AP9Ev75OXejMvr1tba/Mf4zlaWN73vxlfTBE=</latexit>：勾配

Forward propagation⌘：学習率m, v：Optimizer state<latexit sha1_base64="U5QvrIhGcCKvB28fD23pqnBbENg=">AAADwXicdZPfbtMwFMa9hj+j/NvgkpuIComrKilbB3fTisYumFTQug010eQ4p601x45sZ1tkReIJuIU34Jl4G5ykQ7TJLEU6+b7zs3M+OVHKqNKe92ej49y7/+Dh5qPu4ydPnz3f2n5xqkQmCUyIYEKeR1gBoxwmmmoG56kEnEQMzqLLUemfXYFUVPATnacQJnjO6YwSrEspAI0vtnp+36uW6/WHO+8+7JXFUrm1emi5xhfbnd9BLEiWANeEYaWmvpfq0GCpKWFQdINMQYrJJZ7D1JYcJ6BCU31s4b6xSuzOhLQP126lrhDxFU3Vkrm5hRIhoe5V3SCGmR23ejPfgDFxPSjM0cnx58KMhgcfB4cWIJnSImlub3CiVJ5E5Z5YL9S6V4pt3jTTs/ehoTzNNHBSzzHLmKuFWwbrxlQC0Sy3BSaS2ihcssASEw1y9ZRYlZPbmDhcE5EkmMcmkBBruNHF1A+NCerZrFaYnl8Ua71zCTb69e6xzeRT6bQyEcuggXwVOWYH1mlF8iraBvQv8RZESMznzXNquZWw99HOghvIca23MmkmU3bHNOPKW2L/X+27i9NB3x/2d7/s9PYPv9eXfBO9Qq/RW+SjPbSPjtAYTRBBC/QD/US/nJFDndSRdWtnY/ljvEQryzF/AUVwSOc=</latexit>

Backward propagation<latexit sha1_base64="Wxsns8tVCZUuiwS2bdjurd8J+wA=">AAADwXicdZPLbtNAFIanMZcSbi0s2VhESCxQFIeStruqQaULKgXUtEVJVI3Hx8moc7FmxmmjkSWegC28Ac/E2zC+FJHEHcnS8f+fb8bn1zhMGNWm0/mz0fDu3X/wcPNR8/GTp8+eb22/ONMyVQSGRDKpLkKsgVEBQ0MNg4tEAeYhg/Pwqp/753NQmkpxahYJTDieChpTgk0u8Xf+/HKrFbQ7xfI77d7O+/3dvKiUW6uFqjW43G78HkeSpByEIQxrPQo6iZlYrAwlDLLmONWQYHKFpzBypcAc9MQWH5v5b5wS+bFU7hHGL9QlIprTRFfMzS3EpYKyVzfHEcRu3OLNfgPG5HU3s8enJ58z2+8dfuweOYCk2ki+vr3FXOsFD/M9sZnpVS8X67xRauK9iaUiSQ0IUs4Rp8w30s+D9SOqgBi2cAUmiroofDLDChMDavmUSOeTu5gEXBPJORaRHSuIDNyYbBRMrB2Xszkts60gy1Z6pwpc9KvdA5fJp9ypZUKWwhryVS4wO3ROLbIool2D/iVeg0iFxXT9nFKuJdx9dLPgNeSk1GuZJFUJu2OaQeFV2P9X++7irNsOeu0PX3ZaB0ffy0u+iV6h1+gtCtAuOkDHaICGiKAZ+oF+ol9e36Ne4qmytbFR/Rgv0dLy7F/riUiA</latexit>@x1 @z1 @p@z0 @x1 @z1<latexit sha1_base64="rF1caxuySQGRgV1ePfEnnnJceRs=">AAAD9XicdZLdbtMwFMe9ho9Rvjq45CaiQuKqasrWwQ2aNgS7YKKgdRtqqspxTjprjh3Zztpi5U3gDsEl78AtvABvg5NmsLaZpUj2/5zfcc7fJ0gYVbrd/rNWc65dv3Fz/Vb99p279+43Nh4cKZFKAn0imJAnAVbAKIe+pprBSSIBxwGD4+BsL48fn4NUVPBDPUtgGOMxpxElWFtp1Oj6RQ3zERgTk3cS8zFkdT+SmBg/wVJTzNxPIy/7f5ra06jR9FrtYrntVnfz2YvtfFMqF6EmKldvtFH77oeCpDFwTRhWauC1Ez00eU3C8itTBQkmZ3gMA7vlOAY1NMXPZe4Tq4RuJKT9uHYLdYEIz2miSmZ6AcVCwjxX1f0QImvR5WY7mdk/PHibmb3u7qvOawuQVGkRr5Y3OFZqFgd5TaxP1XIsF6tig1RHz4eG8iTVwMm8jyhlrhZu/hhuSCUQzWZ2g4mk1gqXnGLrvQa5eEuo8s6tTRwmRMQx5qHxJYQapjobeENjyoe0WmaaXpYt5Y4lWOuXs3vWkzd5pJIJWAoryAcxw2zXRiqRWWHtCvTP8QpEFEO3gszlSsLOsO0FryAHc72SSVKZsCu66RWxErs82ldvjjotr9vaer/Z3HlZDvk6eoQeo6fIQ9toB+2jHuojgj6jn+gX+u1MnC/OV+fbPLW2VjIP0cJyfvwFKZleDw==</latexit><latexit sha1_base64="o+Wilgmq/6kQ7GIvnJrVGKJbkNs=">AAAD7XicdZLNbtNAEMe3MR8lfKVw5GIRIXGK7NCmcEFVi6AHKgXUtEVxFK3X49TqetfaXbcxK78F3BDXvgNXeAnehvVHgSTuSpbG/5nfrOfv8RMaSeU4v9da1o2bt26v32nfvXf/wcPOxqMjyVNBYEQ45eLExxJoxGCkIkXhJBGAY5/CsX+2V+SPz0HIiLNDlSUwifGMRWFEsDLStNPzyh7apynkbS8UmGgvwUJFmNrzqZv/e/s8dfJpp+v2nPLYTm+w+eLVdhHUylWqi+oznG60Lr2AkzQGpgjFUo5dJ1ETXfQktLgylZBgcoZnMDYhwzHIiS4/KrefGSWwQy7Mw5RdqgtEcB4lsmbmV1DMBVS1su0FEBprqiE/AaX8op/r/cOD97neG+y+6b81AEml4vFqe41jKbPYL3pidSqXc4XYlBunKnw50RFLUgWMVHOEKbUVt4ufYAeRAKJoZgJMRGSssMkpNt4rEIu3BLKY3NjE4ILwOMYs0J6AQMFc5WN3onX9A42W666b50u1MwHG+uXqofHkXZFpZIplWEE+8gzT3WJNmpCstHYF+ut4A8IFZrPVeyq5kTC7a2bBK8hBpTcySSoSes00wzJXY/+v9vXBUb/nDnpbHza7O6/rJV9HT9BT9By5aBvtoH00RCNE0Bf0A/1EvyxufbW+Wd+r0tZazTxGC8e6/AOdZVqO</latexit><latexit sha1_base64="csp6ZDfedoxqnf2wU3ILcZcoXx0=">AAAD7HicdZLdbtMwFMe9ho9Rvjq45CaiQuKGKulGx26maUOwCyYVtK5DTVU5zkkXzbEj29lWrDwF3CFu4Rm4hafgbXA+BmubWYp0/D/nd5zzt/2ERlI5zp+VhnXj5q3bq3ead+/df/CwtfboSPJUEBgQTrk49rEEGjEYqEhROE4E4NinMPRP9/L88AyEjDg7VLMExjGesiiMCFZGmrReeEUPLSDIml4oMNFegoWKMLU/TZzs/25odpNW2+04xbKdTm9jfWszDyrlMtVG1epP1ho/vICTNAamCMVSjlwnUWOd9yQUzJGphASTUzyFkQkZjkGOdfFPmf3MKIEdcmE+puxCnSOCsyiRFXNxCcVcQFkrm14AoXGmnPEjUMrPu5nePzx4l+m93u7r7hsDkFQqHi+31ziWchb7eU+sTuRiLhfrcqNUha/GOmJJqoCRco4wpbbidn4HdhAJIIrOTICJiIwVNjnBxnsFYv6UQOaTG5sYnBMex5gF2jN3peBCZSN3rPWV+9NtN8sWaqcCjPWL1X3jyds8U8v4NIUl5AOfYbprMrXIrLB2CfrneA3CBWbT5XNKuZYwT9fMgpeQg1KvZZJUJPSaafpFrsKuPu3rg6Nux+11Xr7faO9sV498FT1BT9Fz5KJNtIP2UR8NEEGf0U/0C/22mPXF+mp9K0sbKxXzGM0t6/tfg3NZ9Q==</latexit>

@z0
@W0

<latexit sha1_base64="Xdq7aCiFEo9G0CYpm8rT5Wcgomo=">AAAD8nicdZLNbtNAEMe3NR8lfKVw5GIRIXGK4rRN4YKqFpUeqBRQ0xbFUbRej1Or693V7rptWPlB4IY4cOEduMIj8DasPwqkdleyNPrP/GY9/9lA0FjpXu/30rJz4+at2yt3Wnfv3X/wsL366FDxVBIYEU65PA6wAhozGOlYUzgWEnASUDgKTnfy/NEZSBVzdqDnAiYJnrE4ignWVpq21/yih9nlEpR+IwFY1vIjiYnxBZY6xtQV2b/449TLpu2O1+0Vx+11B+trLzfzoFIuUx1UneF0dfmbH3KSJsA0oVipsdcTemLynoSCvTBVIDA5xTMY25DhBNTEFH+Wuc+sEroRl/Zj2i3UBSI8i4WqmItLKLEDlbWq5YcQWX/KST8Apfy8n5m9g/23mdkZbL/u71qApErzpN7e4ESpeRLkPbE+UVdzudiUG6c6ejExMROpBkbKOaKUupq7+SbcMJZANJ3bABMZWytccoKt8xrk4i2hyie3NjE4JzxJMAuNLyHUcKGzsTcxptqi1TLT8bLsSu0s32utemg9KTfexAQ0hRryns8x3baZRmReWFuD/jregHCJ2ax+Tyk3EvYB21lwDdkv9UZGpFLQa6YZFrkK+/9pXx8c9rveoLvxbr2z9ap65CvoCXqKniMPbaIttIeGaIQI+oR+oJ/ol6Odz84X52tZurxUMY/RwnG+/wHzylzl</latexit><latexit sha1_base64="aPkGF++vmojr/PnNYcMYw96HEn0=">AAAD9XicdZLdbtMwFMe9ho9Rvjq45CaiQuKqasrWwQ2aNgS7YKKgdR1qqspxTjprjh3Zzrpi5U3gDsEl78AtvABvg5NmsLaZpUj2/5zfcc7fJ0gYVbrd/rNWc65dv3Fz/Vb99p279+43Nh4cKZFKAn0imJDHAVbAKIe+pprBcSIBxwGDQXC6l8cHZyAVFfxQzxIYxXjCaUQJ1lYaN7p+UcN8BMbE9J3EfAJZ3Y8kJsZPsNQUM/fT2Mv+nwb2NG40vVa7WG671d189mI735TKRaiJytUbb9S++6EgaQxcE4aVGnrtRI9MXpOw/MpUQYLJKZ7A0G45jkGNTPFzmfvEKqEbCWk/rt1CXSDCM5qokjm/gGIhYZ6r6n4IkbXocrOdzOwfHrzNzF5391XntQVIqrSIV8sbHCs1i4O8JtYnajmWi1WxYaqj5yNDeZJq4GTeR5QyVws3fww3pBKIZjO7wURSa4VLTrD1XoNcvCVUeefWJg5TIuIY89D4EkIN5zobeiNjyoe0WmaaXpYt5U4kWOuXs3vWkzd5pJIJWAoryAcxw2zXRiqRWWHtCvTP8QpEFEO3gszlSsLOsO0FryAHc72SSVKZsCu66RWxErs82ldvjjotr9vaer/Z3HlZDvk6eoQeo6fIQ9toB+2jHuojgj6jn+gX+u1MnS/OV+fbPLW2VjIP0cJyfvwFuo1d7g==</latexit><latexit sha1_base64="RlrtYxiGwNDm/OSOojM6YjHJMWs=">AAACI3icbVC7TsMwFHV4lvIKMLJYVAimKgEEjBUsDAxFog+piSrHdVqrjmPZDlIV5RP4DL6AFb6ADbEwMPIfOG0kaMuRLB2d+zo+gWBUacf5tBYWl5ZXVktr5fWNza1te2e3qeJEYtLAMYtlO0CKMMpJQ1PNSFtIgqKAkVYwvM7rrQciFY35vR4J4keoz2lIMdJG6tpHXigRTj2BpKaIQS9CeoARS2+z7FcVWdeuOFVnDDhP3IJUQIF61/72ejFOIsI1ZkipjusI7af5QsxIVvYSRQTCQ9QnHUM5iojy0/GHMnholB4MY2ke13Cs/p1IUaTUKApMZ+5XzdZy8b9aJ9HhpZ9SLhJNOJ4cChMGdQzzdGCPSoI1GxmCsKTGK8QDZBLSJsOpKz2VW8tzcWdTmCfNk6p7Xj29O6vUroqESmAfHIBj4IILUAM3oA4aAINH8AxewKv1ZL1Z79bHpHXBKmb2wBSsrx/HuKZK</latexit>

@L
@L
=
@p
@W
<latexit sha1_base64="NXhC3ff4B32CgQ5BYZuIAyqz5Qg=">AAACJHicbVDLSsNAFJ3UV62vqEs3g0XoqiQq6kYounHhooJ9QBPKZDJph04mYWYilJBf8DP8Arf6Be7EhRt3/oeTNqBtPTBwOPd15ngxo1JZ1qdRWlpeWV0rr1c2Nre2d8zdvbaMEoFJC0csEl0PScIoJy1FFSPdWBAUeox0vNF1Xu88ECFpxO/VOCZuiAacBhQjpaW+Wbt0AoFw6sRIKIoYdEKkhhix9DbLftVO1jerVt2aAC4SuyBVUKDZN78dP8JJSLjCDEnZs61YuWm+EDOSVZxEkhjhERqQnqYchUS66eRHGTzSig+DSOjHFZyofydSFEo5Dj3dmfuV87Vc/K/WS1Rw4aaUx4kiHE8PBQmDKoJ5PNCngmDFxpogLKj2CvEQ6YSUDnHmii9za3ku9nwKi6R9XLfP6id3p9XGVZFQGRyAQ1ADNjgHDXADmqAFMHgEz+AFvBpPxpvxbnxMW0tGMbMPZmB8/QAvl6Z4</latexit>

@z1
@W1

Adam
<latexit sha1_base64="gPRS1w71xd3tD3+MjpJxGGUmU9A=">AAAEBnicdZLLbhMxFIbdDJcSLk1hyWZEhFSEGmVCSWGBVLUV7aKVAmqaokwSeTxn0lHt8cj2tI2s2fMmrGCH2PIOrJDgXfBcCuRSSyMd///5bJ1/7MU0lKrZ/LlUsW7cvHV7+U717r37D1Zqqw+PJU8EgS7hlIsTD0ugYQRdFSoKJ7EAzDwKPe9sJ/N75yBkyKMjNYlhwPA4CoOQYGWkUW2PDbV67qRvXA8UHjlsqNbXnPVy98wNBCbajbFQIaa2y7A6JZjqgzT9p/aGKh3V6k6jmS+72WhvvHi9mRWlcmXVUbk6o9XKJ9fnJGEQKUKxlH2nGauBzs4kFNKqm0iIMTnDY+ibMsIM5EDnE6f2U6P4dsCF+SJl5+oU4Z+HsSyZyyuIcQFFr6y6PgQms3ynPwCl/KKV6v2jw4NU77S3d1tvDUASqTibP15jJuWEedmZJhE562XiIq+fqODVQIdRnCiISDFHkFBbcTv7O7YfCiCKTkyBiQhNFDY5xeYfKBDTt/gym9zEFMEF4YzhyNeuAF/BpUr7zkBrt5jNaKmuO2k60zsWYKKf7e6YTPYyZyHj0QTmkPd8gum2cRYikzzaOehv4gsQLnA0nr+nkBcS5lGbWfAccljoC5k4ETG9ZppO7pXY/0/7+uK41XDajZfvNupbu+UjX0aP0RO0hhy0ibbQPuqgLiLoM/qBfqHf1kfri/XV+la0VpZK5hGaWtb3P4JxY/Y=</latexit>

m

t+1

=

t

1m

<latexit sha1_base64="vtPaibvdXpboTiYkXaZ57yK5nv8=">AAAEFXicdZLLbtNAFIanMZcSLk1hycYiQkqFGsWhpLBAqtoKumilgJqkKE6i8fg4sTr2WDPjtNHIz8Ej8BKwQ2xZs2ULD8H4UiCXjmTpzP+fb0bn9zgR9YVsNH6slYwbN2/dXr9Tvnvv/oONyubDrmAxJ9AhjDJ+5mAB1A+hI31J4SzigAOHQs85P0j93hS48Fl4KmcRDAI8Dn3PJ1hqaVTpTodKPrOS17YDEo+a06HcrlnbxW7LpuDJmu1xTJQdYS59TE07wHJCMFXHSfJP7Q1lYnN/PJFbw+aoUrXqjWyZjXpr5/mr3bQolCuriorVHm2WPtkuI3EAoSQUC9G3GpEcqPRwQiEp27GACJNzPIa+LkMcgBioLIDEfKoV1/QY118ozUydI9ypH4mCubyCAsYh7xVl2wVPR5jt1AeglF00E3V0enKcqIPW/mHzjQZILCQLlo9XOBBiFjjpmToaseil4iqvH0vv5UD5YRRLCEk+hxdTUzIz/Vmm63Mgks50gQn3dRQmmWD9MyTw+VtckU6uYwrhgrAgwKGrbA6uhEuZ9K2BUnY+m9YSVbWSZKF3zEFHv9jd1pm8TZ2VjENjWELesxmm+9pZicyyaJegv4mvQBjH4Xj5nlxeSeg3rmfBS8hJrq9kophH9Jpp2plXYP8/7euLbrNuteov3u1U9w6LR76OHqMnqIYstIv20BFqow4i6DP6iX6h38ZH44vx1fiWt5bWCuYRmlvG9z/RHWoC</latexit>v

SGD（確率的勾配降下法）

t+1

=

2v

<latexit sha1_base64="gK0RwmllytDOScrb7isSXdo3rM8=">AAAD/XicdZJdb9MwFIa9ho9Rvjq45CaiQkKaqJoyOrgATdsEu2BSQes61HSV45x01pw42E63yor4MyBuELf8B27hhn+D8zFE28xSpOP3PY+j89pezKhU7faflZp15eq166s36jdv3b5zt7F271DyRBDoE864OPKwBEYj6CuqGBzFAnDoMRh4pzuZP5iCkJRHB2oWwyjEk4gGlGBlpHHj1eBYq3UnfTk4Vk9cUNgNBCY6LNRUu/KjUHpabNddiCVlPEpTr1DGjabTaufLbre6G09fbGZFqVxYTVSu3nit9tX1OUlCiBRhWMqh047VSGOhKGGQ1t1EQozJKZ7A0JQRDkGOdD5oaj8yim8HXJgvUnauzhH+lMayZM4voJALKHpl3fUhMFHlO/0BGONnnVTvHey/TfVOd3u389oAJJGKh8vHaxxKOQu97EysTuSil4lV3jBRwfORplGcKIhIMUeQMFtxO7sU26cCiGIzU2AiqInCJifYXIQCMf8XX2aTm5giOCM8DHHka1eAr+BcpUNnpLVbzGa0VDfNFS70TgSY6Be7eyaTN5lTyXgsgSXkPZ9htm2cSmSWR7sE/Uu8AuECR5Pl/xRyJWHespkFLyH7hV7JxImI2SXT9HKvxP5/2pcXh52W0209e7fR3NotH/kqeoAeosfIQZtoC+2hHuojgj6jn+gX+m19sr5Y36zvRWttpWTuo7ll/fgLOdZhKA==</latexit><latexit sha1_base64="t/P81fwW53r5X+r9ycxglmEoVIM=">AAAD+HicdZNPb9MwGMa9hj+j/OvgyCWiQkJCVE03OnZAmjY0dtikgtZ1qOkqx3nTRXPiyHa2FcsS3wRuE1e+A1c4821wkg5ok1mK9OZ53p+t94njJTQUst3+vVSzbty8dXv5Tv3uvfsPHjZWHh0KlnICfcIo40ceFkDDGPoylBSOEg448igMvNPtzB+cARchiw/kNIFRhCdxGIQESyONGxuDYyVfOPrN4Fi+dEFiN+CYKDfBXIaY2m6E5QnBVO1p/U81zXrcaDqtdr7sdqu7trqxnhUz5cpqotnqjVdql67PSBpBLAnFQgyddiJHKtuTUNB1NxWQYHKKJzA0ZYwjECOVz6jtZ0bx7YBx88TSztU5wj8LEzFjLq6giHEoekXd9SEwKeVv6iNQys47Wu0e7O9ptd3detvZMQBJhWRReXuFIyGmkZftaRIRi14mVnnDVAavRyqMk1RCTIo5gpTaktnZ97D9kAORdGoKTHhoorDJCTbfQAKfP8UX2eQmphjOCYsiHPvK5eBLuJB66IyUcovZjKZV09F6oXfCwUS/2N0zmbzLnErGoymUkA9siumWcSqRaR5tCfqbeAXCOI4n5XMKuZIw19jMgkvIfqFXMknKE3rNNL3cm2H/X+3ri8NOy+m2Xr1fa27ufC4u+TJ6gp6i58hB62gT7aIe6iOCvqAf6Cf6ZX2yvlqX1reitbY0+zEeo7llff8D3G1flw==</latexit>

微分の連鎖則 (Chain rule)(1

W t+1 = W t

@L
⌘
@W t

W t+1 = W t

t

(1

2)

@L
1)
t
@W
✓
◆
@L
@W t

mt+1
⌘p
bt+1
v t+1 + ✏2

分散並列学習
データ並列 (DP)

ZeRO (FSDP)

パイプライン並列 (PP)テンソル並列 (TP)

データ：分散データ：分散データ：冗長

データ：冗長モデル：冗長モデル：一時的に分散

モデル：分散モデル：分散通信内容：勾配通信内容：勾配＋重み

通信内容：活性通信内容：活性通信形式：AllReduce

通信形式：ReduceScatter

通信形式：SendRecv

通信形式：AllReduce

通信頻度：層毎

通信頻度：層毎

長所：省メモリ

長所：省メモリ

通信頻度：ステップ毎＋AllGather

長所：実装が簡単

通信頻度：層毎

短所：ラージバッチ問題

長所：実装が簡単

メモリ消費量省メモリ
短所：ラージバッチ問題

演算量低減

演算量低減

短所：パイプラインバブル

短所：通信オーバーヘッド
オーバーラップ不可
実装が複雑データ並列Local batch：各プロセスのバッチ → 小さいとFLOP/sが出ない → メモリ上限まで増大
Global batch：全プロセスのバッチ → プロセス数に比例Global batch sizeが増大すると汎化性能が低下 →解決策
・途中からbatch sizeを上げる
・特殊な最適化手法を使う (LARS,LAMB)・特殊な正則化項を加える (勾配分散)
Global batch size
Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
https://arxiv.org/abs/1706.02677

ZeRO
データ並列におけるモデルの冗長性を緩和 → 消費メモリはプロセス数に反比例
ZeRO-1：Optimizer stateを分散
ZeRO-2：Optimizer state＋勾配を分散
ZeRO-3：Optimizer state＋勾配＋重みを分散（重みをAllGather）
AllGatherして逐次計算をするMPIコードのようなもの → 演算量はデータ並列と同じ
バッチサイズが増大する問題もデータ並列と同じ
データ並列の通信量：AllReduce = ReduceScatter + AllGather
ZeRO-3の通信量：ReduceScatter + AllGather x 2 (データ並列の1.5倍)

パイプライン並列
Local batchをさらに細かくmicro batchに分けてパイプライン処理する
隣の層を担当するプロセスとの近接通信(SendRecv)
自分が担当する層のみを計算する → メモリも演算もプロセス数に反比例
パイプラインバブルを低減するために様々な手法が提案されている・GPipe：micro batch[https://arxiv.org/abs/1811.06965]

・PipeDream：非同期[https://arxiv.org/abs/1806.03377]

・Interleaved 1F1B：層数を
プロセス数x2に分割[https://arxiv.org/abs/2104.04473]

・Chimera：双方向パイプライン[https://arxiv.org/abs/2107.06925]

・ZeroBubble：BackwardのW微分とx微分を分ける[https://arxiv.org/abs/2401.10241]

テンソル並列層内の行列積の分散並列処理 → メモリも演算もプロセス数に反比例→ 実装がモデルアーキテクチャに依存するため自動並列化が困難 →次の層の計算をするには必ず活性のAllReduceが必要
AllReduceをするには前の層の計算が完了していることが必要→つまり、計算と通信をオーバーラップする余地が全くないfi

Ef cient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM
https://arxiv.org/abs/2104.04473

分散並列学習
データ並列 (DP)

ZeRO (FSDP)

パイプライン並列 (PP)テンソル並列 (TP)

データ：分散データ：分散データ：冗長

データ：冗長モデル：冗長モデル：一時的に分散

モデル：分散モデル：分散通信内容：勾配通信内容：勾配＋重み

通信内容：活性通信内容：活性通信形式：AllReduce

通信形式：ReduceScatter

通信形式：SendRecv

通信形式：AllReduce

通信頻度：層毎

通信頻度：層毎

通信頻度：ステップ毎＋AllGather

長所：実装が簡単

通信頻度：層毎

長所：省メモリ

長所：省メモリ

短所：ラージバッチ問題

長所：実装が簡単

短所：パイプラインバブル

短所：通信オーバーヘッド

メモリ消費量省メモリ
短所：ラージバッチ問題

オーバーラップ不可
実装が複雑3-D Parallelism
プロセスを３次元分割し、データ並列とZeROの軸、
パイプライン並列の軸、テンソル並列の軸の3軸でそれぞれの分散並列化を行う
それぞれのAllReduce等はサブコミュニケータ上で行われる
よくある設定としてはノード内のGPU間でテンソル並列
ラック内のノード間でパイプライン並列
ラック間でデータ並列及びZeRO→ ラックが増えるとラージバッチ問題が起きる

まとめ
大規模言語モデルの事前学習は、最大級のスパコンの全系を使っても何ヶ月もかかる
全系までスケーリングさせるためには、４種類の並列化手法を組み合わせる必要がある
データ並列は最も簡単に実装できるが、メモリ消費量が多く、大きなモデルを扱えない
ZeROはメモリ消費量は低減できるが、バッチサイズの増大に伴う汎化性能の問題は解決できない
パイプライン並列はバッチサイズの増大は起きないが、パイプラインバブルが問題になる
テンソル並列は上記の問題は全て解決できるが、通信が隠蔽できない
よって、４種類の並列化手法を組み合わせて、それぞれを上限までスケーリングさせることが今後の分散並列学習において重要な課題となっている