大規模計算機を深層学習に利用する方法

こんにちは、東京工業大学 学術国際情報センターの横田理央です。私は元々高性能計算分野の研究者ですが、最近は高性能計算の技術を使って大規模な深層学習を行う際の様々な課題を解決することに興味があります。2021年の春に東工大の井上中順先生のご紹介で片岡さんとFDSLの研究はじめてから、cvpaper.challengeの方にも参加するようになりました。片岡さんにadvent calendarの記事を書く機会をいただきましたので、今回は大規模な深層学習を行うために大規模計算機(スパコン)を利用する方法について紹介させていただきます。利用する方法といっても環境構築などの技術的な話しではなく、だれでも利用できるための制度の紹介です。

なぜ大規模計算機を使うのか?

どの分野でもそうですが、特に深層学習分野では大規模な計算資源をもっているところが圧倒的に有利になります。データセットやモデルの規模はムーアの法則よりも遥かに速いペースで増大しており、1研究室が買えるくらいのGPU数では到底再現実験ができない研究例の数も年々増加しています。既に持てる者と持たざる者の差はあまりにも大きく、この傾向がこの先もずっと続くと大きな問題です。「米国や中国のBig Techに物量で対抗するのは悪手なので、自分は少ない計算資源でもできるインパクトのある研究テーマに取り組みたい」という意見をときどき耳にしますが、その場合でも計算資源が豊富にあればもっと多くの小規模実験をもっと速くできることになります。研究計画が十分練られていて大規模計算機の使い方が分かっていれば、計算資源がありすぎて困る研究テーマというのはおそらくありません。

では、持たざるものが対抗する手段は何か?実は、申請書を書いて採択されると無償で何百から何万ものGPUを有する大規模計算資源を一年を通して利用できる制度が国内外にいくつか存在します。無償といっても使い放題なわけではなく、年度毎に一定のポイントが付与されてそれを使って大規模な計算を行うということです。また、採択された課題は成果報告書の提出が義務付けられており、研究成果が出ていない課題は次年度の採択が難しくなります。ただし、制度によっては何億円相当ものポイントが付与されるものがあり、同額の研究助成金などに比べると採択率は遥かに高いのが魅力です。以下に国内外の大規模計算機の利用制度をいくつか紹介します。

JHPCN (難易度★☆☆)

日本国内には大学や研究所などに多くの大規模計算機があります。このなかでも、北海道大学、東北大学、東京大学、東京工業大学、名古屋大学、京都大学、大阪大学、九州大学の大規模計算機システムをもつセンターにより構成される学際大規模情報基盤共同利用・共同研究拠点(JHPCN)があります。JHPCNは毎年1月頭に締切があり、公募型共同研究課題を募集しています。これまで採択された課題の多くは科学技術計算分野に関するものでしたが、最近ではデータ科学・データ活用に主軸をおいた計算基盤mdxが導入され、人工知能分野の課題を受け入れる体制が整っています。募集要項にも「人文・社会科学、生命科学、理学・工学にまたがる多様なデータの収集・整備、研究コミュニティにおけるデータの共有やプラットフォームの整備、そして機械学習等の先端的なデータサイエンス手法を用いたデータ解析など、幅広い分野・手法の研究テーマを歓迎します」とあります。

応募や利用にあたってはいくつか条件・注意があります。課題代表者は、日本国内の機関(大学・研究機関、民間企業等)に所属する者でなくてはなりません。大学院生は共同研究者として参加できますが学部学生は不可です。共同研究者にならないと大規模計算機を利用することはできません。採択された課題に提供される計算資源は当該課題の目的以外には使用できません。外国為替及びおよび外国貿易法(外為法)における非居住者及び特定類型に該当する居住者を共同研究者に加える場合は利用する計算機を運用している構成拠点に所属する研究者が研究グループに共同研究者として参加する必要があり、その構成拠点で安全保障貿易管理の審査を行うことになります。応募は平和利用目的の提案に限ります。

審査の際には学際的な研究体制を持つ課題が高く評価されます。つまり、人工知能分野の研究者だけでなく、JHPCNの構成拠点に所属する高性能計算分野の研究者も加えることが推奨されます。これは、実用的な意味においても大規模計算機上での環境構築や大規模実行をする際の独特のノウハウを有しているからです。また、「データ科学・データ利活用分野」で高く評価される点としては、(1)実社会へのインパクト、(2)データ利活用推進、(3)セキュリテイと個人情報保護、などが挙げられます。

申し込み方法はこちらを御覧ください。
Web 上での申し込み開始:2022年12月8日(木)
Web 上での申込み締め切り:2023年1月6日(金)17:00【厳守】
結果通知:2023年3月中旬
共同研究開始:2023年4月1日(土)
応募に関する相談:jhpcn.adm@gs.mail.u-tokyo.ac.jp

HPCI (難易度★★☆)

日本には5期連続で世界1位を獲得したスパコン「富岳」があります。その「富岳」を無償で利用できる制度がHPCIです。「富岳」は非常に大きな計算機であるため、各課題に付与される計算資源量は年間最大2000万ノード時間になります。これは約2300ノードの計算を24時間365日実行し続けることができるということです。また、HPCIでは「富岳」だけでなくJHPCNで提供されている全国8大学の計算資源も利用することができます。JHPCNと同様、HPCIのこれまでの採択課題を見ると科学技術計算に関するものが大部分ですが、私自身が「人工画像を用いたVision Transformerの超大規模事前学習」のテーマで採択されていることからわかるように人工知能分野のテーマでも採択されるようです。HPCIはJHPCNよりも採択が難しいとされていますが、このときの公募では149件の応募に対して121件が採択されており、採択率はかなり高いことが分かります。「富岳」を成果公開の従量制で利用する場合ノード時間あたり約50円の利用料がかかるため、2000万ノード時間というのは10億円に相当する資源量が無償で使えていることになります。この規模の研究予算の採択率を考えると、121/149というのがいかに高いかわかると思います。また、HPCIには若手課題の枠があり、39歳以下の利用者が行う課題の場合は別枠で審査が行われ、採択される可能性がさらに高まります。

JHPCNと同様、HPCIも応募や利用にあたってはいくつか条件・注意があります。課題代表者はJHPCNとは異なり国内外を問わず法人(大学、研究機関、社団法人、企業等)に所属していることが条件です。「富岳」一般課題では以下の条件を全て満たす課題のみが採択されます。(1)科学的に卓越し、若しくは社会的に意義が高く、「富岳」を使うことによってブレークスルーが期待できる課題又は先駆的成果の創出を目指す挑戦的な課題であること。(2)「富岳」の機能・性能を最大限効果的に活用できること。(3)ソフトウェアの効率性(並列性)、計算処理、データ収集、結果の解析手法等が十分に検証済みであるとともに、各種資源の利用計画が妥当であること。(4)研究体制が妥当であり、人材育成の観点からも、新規参加者を登用しOJTを積極的に進める研究体制であること。(5)提案課題の実施および成果の利用が平和目的に限定される等、科学技術・イノベーション基本法や社会通念等に照らして当該利用研究課題の実施が妥当であること。

あいにく、HPCIの申請締切は11月に終わったばかりです。ただし、HPCIでは年に2回課題の募集を行っており、10月利用開始の申請締切は5月になっています。時期が来たらこちらのサイトから申請できます。

INCITE (難易度★★★)

アメリカには「富岳」のような超大規模計算機が複数あります。Oak Ridge国立研究所には現在世界1位のFrontierに加え5位のSummitがあり、Argonne国立研究所には来年にFrontierを超えるAuroraが導入される予定です。ARMのCPUを搭載する「富岳」とは異なり、Summit, Frontier, AuroraはそれぞれNVIDIA, AMD, IntelのGPUを搭載しているので深層学習向きです。SummitはV100が27,648個、FrontierはMI250Xが37,888個搭載されており、Auroraはまだ建設中ですがそれらを遥かに超える数のIntel Xe GPUが搭載される予定です。INCITEはこれらの大規模計算機を無償で使える制度です。こちらも国内の制度と同様、これまでの採択課題を見ると科学技術計算分野に関するものがほとんどですが、今年度初めて"Scalable Foundational Models for Transferable Generalist AI"のようなテーマでMontreal大学、EleutherAI、Juelich Supercomputing Centerの共同研究が採択されています。このプロジェクトにはSummitのポイントが990,000ノード時間付与されました。SummitはノードあたりV100が6個搭載されているのでGPU時間に換算すると5,940,000GPU時間ということになります。678個のV100を24時間365日専有できるようなものです。HPCIで「富岳」を2000ノード専有するのに比べてINCITEでV100を678個専有できるほうが深層学習にとっては嬉しいです。深層学習フレームワークを実行する上では、V100 1個(TensorCore使用)の性能は「富岳」1ノード(単精度使用)より3倍以上速いからです。

INCITEはアメリカ以外の研究者も応募でき、毎年4月上旬に募集開始で6月中旬が申請締切になっています。申請書を英語で書く必要があるだけでなく、採択の難易度もHPCIよりはだいぶ高いです。募集要項を見るとわかるのですが、15ページに渡って、研究意義(4ページ)、研究計画(6ページ)、準備状況(5ページ)を相当な説得力をもって記述する必要があります。また、これとは別に研究体制(2ページ)やマイルストーンの表、代表者及び共同研究者の研究業績(1ページずつ)なども提出する必要があります。JHPCNやHPCIにも共通することですが、これらの大規模計算機の申請書は研究費の申請書とは異なり、独特の書き方の作法がありますので、募集要項をよく読む必要があります。一番良いのは、申請した経験のある高性能研究分野の人に聞くことです。例えば、私などは前述のモントリオール大学の申請に際しては共同研究者として加えていただき、申請に必要な予備実験にも色々とご協力させていただきました。

最後に

米国や中国のBig Techも無限に計算資源があるわけではなく、社内でかかえる非常に多くの研究プロジェクトで共有して限りある計算資源を使っています。上で述べたHPCIやINCITEの計算資源の数字をBig Techの論文に記載されているものと比較すると分かりますが、プロジェクト単位でみれば普通に渡り合える数字であることが分かります。ただ、申請してみなければ何も始まりません。特に深層学習分野では計算資源で上回る競争をはなから諦めてはいけないと強く感じます。最後に私の好きな漫画のSlam Dunkに登場する安西先生の言葉で締めたいと思います。「あきらめたらそこで試合終了ですよ…?」

この記事が気に入ったらサポートをしてみませんか?