（様式 20）成果報告書

TSUBAME 共同利用 平成 29 年度 学術利用 成果報告書

利用課題名 HPC を利用した自然言語処理技術の研究
英文：High Performance Computing for Natural Language Processing Technology Research
利用課題責任者
鳥澤 健太郎
所属
国立研究開発法人情報通信研究機構 ユニバーサルコミュニケーション研究所
データ駆動知能システム研究センター
http://www2.nict.go.jp/direct/
邦文抄録（300 字程度） 質問応答や対話等の高度な自然言語処理技術には、大量のテキストの意味的に深い分析が必要であるが、数十億規模の Web 文書の分析には、多数の計算機を用いた並列実行が必須である。
本課題では、各種の分析プログラム群を TSUBAME 上で多数並列実行し、大量の Web テキストを高速に処理することを目指した。その結果、大規模 Web 情報分析システム WISDOM X で必要となる分析を、1 日 1 億Web ページ以上の速度で実行できた。また、200 億レコード(1.5TB)超のデータに対して、対話システム
WEKDA で用いられる深層学習プログラムを適用し、最大 100 以上の GPGPU を使用し、16 時間で処理できた。さらに、ニューラルネットワークの自動分割による、複数 GPU を用いた並列処理を実現し、同じく WEKDAで用いられる深層学習プログラムの学習を約 2 倍高速化した。
英 文 抄 録 （ 100 words 程 度 ） Advanced natural language processing applications including
question-answering and dialogue systems require semantic deep analyses on a large amount of texts.
Such analyses should be distributed on many compute nodes because the semantic analyses consistof computationally heavy programs. In this project, we introduce our middleware RaSC and tuned
the configurations for TSUBAME. As the result, we processed 100 million web pages per day withanalysis programs for WISDOM X. We also processed 20 billion records in 16 hours with our deeplearning programs for WEKDA using more than 100 GPUs. We also automated automatic model
parallelism on multiple GPUs and doubled the training speed of the deep learning programs.

Keywords: 自然言語処理, 大規模情報分析, テキスト分析, モデルパラレル

背景と目的
質問応答や対話等の高度な自然言語処理技術には、概要
当機構に蓄積された Web テキストについて、大量のテキストの意味的に深い分析が必須である。例

TSUBAME 環境で各種の分析プログラムを適用した。

えば、情報通信研究機構が開発している大規模 Web

本課題では、以下に示す 3 つのケースを実施した。

情 報 分 析 シ ス テ ム WISDOM X 1 や 対 話 シ ス テ ム

ケース 1) ストリーミング処理によるプログラム連携

WEKDA2には、40 億以上の Web ページの解析結果

当機構で用いている分析プログラムは、速度や使用メが用いられている。こうしたアプリケーションのためのテモリ量が様々であり、複数の分析プログラムを連携させキストの分析は、計算機負荷が高く、数十億規模のるにあたって、単純に全てのプログラムを同一プロセス

Web 文書の分析には、多数の計算機を用いて並列に数だけ起動してパイプラインを構成すると、メモリ消費分析を実行することが必須である。

量等の点で非効率である。従って、当機構が開発したミ

そこで本課題では、当機構の持つ分析プログラム群

ドルウェア RaSC を用い、各分析プログラムに最適な数を TSUBAME 上で多数並列実行し、大量の Web テキのプロセスを起動してプールし、それらをストリーミングストを高速に処理することを目指した。

通信によって連携する構成とした。
バッチジョブの中でこの構成を実現するため、バッ1
2

http://wisdom-nict.jp
https://www.nict.go.jp/press/2017/10/24-1.html

チジョブの冒頭で、分析プログラムの実行環境構築と、（様式 20）成果報告書それらのプログラムのプロセスをプールする RaSC サージョブとして実行した。各ジョブ内においては、RaSC をビスの起動等を行った。RaSC を用いる場合、全体の実用いた並列実行が行われるため、資源リソースには多行を管理する中央サーバによって、分析プログラムの数のコアを持つ f_node を用いた。最大でおよそ 50 ジョ複数の実行ノードへの配備や、プログラムの死活監視ブが同時実行され、一日あたり 1 億 Web ページを超え等を一括して行える。しかし、TSUBAME 環境においてる分析が実現された。

は動的に計算ノードが割り当てられるため、複数のジョ

またケース 2) においては、対象となる Web テキストブにまたがって持続的に中央サーバを起動しておくこと

約 1.5TB (200 億レコード) を全て TSUBAME のストが難しい。そのため、各ジョブが一つの計算ノードを用レージにコピーした上で、学習済み深層学習モデルにいるものとし、その計算ノードに中央サーバと全ての分よる推論を行った。また、全データを 200 に分割し、そ析プログラムを設置・起動してから、分析対象データをれぞれを 1 つのジョブとして実行した。各ジョブは GPU送信することとした。

を 1 つのみ使用するため、資源タイプには q_node を用

ケース 2) 深層学習プログラムのバッチ実行いた。その結果、最大で 100 ジョブ以上を同時稼動する

本課題では、学習済みの深層学習モデルを用いて、ことができ、およそ 20 時間で全ジョブを完了した。

Web テキストに対する推論を行うプログラムを実行した。

ケース 3)については、WEKDA で用いる深層学習プ

深層学習のためのライブラリには、実行時に GPGPU のログラムの学習を、2 倍以上高速化することに成功した。

ための実行コードを生成し、コンパイルを行うものがあ同一の計算機上の GPGPU を用いるため、資源タイプる。コンパイルされたコードは、ディスク上の一時領域には 4 枚の GPGPU が利用可能な f_node を用いた。に保存される。本課題で用いた深層学習プログラムで高速化効果には、GPGPU 間の通信速度が極めて大は、深層学習のためのライブラリに Theano 及びきく影響するため、TSUBAME において GPGPU がPyTorch を用いたが、前者はユーザのホーム領域を一NVLink で接続されていることが大きく寄与したと思わ時領域として、GPGPU 用コードの出力とコンパイルを行れる。

う。多数の計算ノードが同一のパスを参照することになるため、ロック開放待ちやサイズの小さいファイルが多まとめ、今後の課題数読み書きされるため、パフォーマンスが低下する。そTSUBAME の計算機リソースが、ストリーミング処のため、コンパイル結果の配置は、ノードごとに独立し理による分析プログラム連携を行うケースや、深層学たキャッシュ領域に書き込むように設定して実行した。

習プログラムを用いる行うケースなど、幅広い状況で大ケース 3) モデルパラレルによる並列化量データの処理に有用であることが確認された。

上記で用いたニューラルネットワークが、並列実行可能

一方で、TSUBAME 上に配置不可能な大規模デーな分岐構造を持つことから、ニューラルネットワークをタを処理するため、データを分割してそれぞれをバッチ分割し、各部を異なる GPGPU 上で計算するモデルパラジョブで処理していることから、入出力データのディスクレルの自動化を試みた。このため、ニューラルネットワ読み書きのコストを生じている。今後、TSUBAME 環ークを構成する各計算モジュールの計算時間をプロフ境に起動した分析プログラムに対し、ストレージを介すァイリングするとともに、最適な分割方法をスケジューリることなく、直接ネットワークでの入出力データの送受ングによって求めるようにした。

信を行うよう拡張することを検討している。
また本課題で実施したモデルパラレルの自動化は、結果および考察

1 台の計算機上の GPGPU を用いることを前提としたも上述のケース 1)においては、対象となる全データはのであり、スケーラビリティに限界があった 。今 後、圧縮状態で数百 TB 規模となるため、本課題ではそのTSUBAME が多数の GPGPU 計算機を高速に結合し一部を対象とした上、200 万 Web ページ相当のデータていることを生かし、複数の GPGPU を用いるように拡(約 30GB) を 1 単位として TSUBAME にコピーし、1張していく予定である。