研究課題/領域番号 |
19K11994
|
研究機関 | 国立研究開発法人産業技術総合研究所 |
研究代表者 |
中田 秀基 国立研究開発法人産業技術総合研究所, 情報・人間工学領域, 上級主任研究員 (80357631)
|
研究期間 (年度) |
2019-04-01 – 2022-03-31
|
キーワード | 強化学習 / 機械学習 / 並列システム / 分散システム |
研究実績の概要 |
強化学習に適した分散システムの実装言語としてJulia言語に着目し研究を進めた。Julia言語は、実行形態としては明示的な事前コンパイルを伴わないいわゆるスクリプト言語でありながら、LLVMを用いた強力なJITコンパイラによってC言語に匹敵する性能を示す。外部の言語をもちいずに十分に高速なライブラリをJulia言語で実装することができるため、新たなアルゴリズムの実装が容易で、次世代の機械学習向け言語として期待されている。Julia言語はネイティブに並列分散実行をサポートしている。またMPIもラップしたAPIもサポートしている。われわれはJulia言語の大規模分散並列実行環境への適正を調査するために、これら2つの並列化手法に関して性能評価を行った。その結果MPIによる並列化ではネイティブに近い通信速度が得られることが確認できた。一方で、Juliaネイティブの分散APIによる並列化では、通信レイヤがMPIであるにも関わらず十分な通信速度が得られないことがわかった。本件に関しては研究会論文として発表済みである。 また、Juliaの提供する並列分散実行機能は、機能としては十分であるものの、分散環境上で状態を持つことができず、記述性の面では十分とは言えないことも判明した。これらの知見は、AI向け大規模計算環境である、ABCIを用いることで得られている。 また、提案システムのアプリケーションとなる機械学習についても並行して研究を進めている。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
実績に記した成果に基づき、Julia言語を用いた並列分散実行環境の設計を行った。Juliaが提供する並列分散環境上に、アクターと呼ばれる並列実行モデルに基づく実行機構を実装した。この機構を用いると、分散環境での状態の管理が容易となり、プログラムの明確な記述が可能となる。アクターモデルは、1980年代に提案された計算モデルだが、昨今はElixirやAkkaなどで採用され、注目を集めている。I/O操作のために大量の並行実行主体を同時に実行しなければならない環境に適している。ただしわれわれがアクターを採用した理由はこれとはすこし異なり、リモート環境での状態を一括して管理するための、状態に対する参照としての機能を期待してのことである。 アクターモデル実装に関しては、研究会での報告を準備中である。
|
今後の研究の推進方策 |
アクター機構とMPIによる高速な通信を併用することで、強化学習向けフレームワークを構築する。具体的には、小容量のデータ通信にはアクターを用いた通信を用い、大規模なデータの共有が必要な場合のみMPI通信を用いる。大規模なデータ共有を行う必要があるのは、実行開始時に環境情報を共有する場合などに限定されるため、それほど煩雑ではないと考えられる。また、共有の細部はフレームワークで隠蔽するため、ユーザからはいずれにしろ不可視となる。 同時に強化学習のフレームワークの構築をすすめる。強化学習アルゴリズムを抽象化し、アルゴリズムをプラグインできる構造のフレームワークを構築する。また、代表的な強化学習アルゴリズムのプラグインとしての実装をすすめる。 さらに、強化学習のアプリケーションとして選定したRGOALアーキテクチャのフレームワーク上での実装をすすめる。
|
次年度使用額が生じた理由 |
コロナの影響により計画していた研究会等への参加ができなかったため差額が生じた。 本年度も同様に研究解答への参加はできないと思われる。 一方で大規模な計算機環境での実験が必要になるため、計算機環境使用費用が必要となると考えられるため、そちらで支弁する予定である。
|