新春特別コラム:2018年の日本経済を読む

スパコン「京」、使ってみた

荒田 禎之
研究員

えっ、スパコン?

読者はスーパーコンピュータ「京」というものをご存じだろうか? そう、あの蓮舫さんの「2番じゃダメなんですか?」でも有名になった大規模コンピュータのことである。著者は昨年度から「ポスト『京』萌芽的課題:複数の社会経済現象の相互作用のモデル構築とその応用研究」という、経済学者の他に計算科学、物理学の研究者も参加する研究プロジェクトに参加し、「京」を使った経済データの分析に取り組んでおり、その経験を本コラムで紹介したい。

「スパコン」・「経済分析」と聞いて一番多い反応は、「えっ、経済学者がスパコンなんて使うの?」というものではないだろうか。確かに最近ではビッグ・データを使って分析することは珍しくないかもしれないが、と言っても経済学者自身が縁もゆかりもなさそうなプログラミングまでする必要があるのか? ましてや経済学者が直接、スパコンを扱う必要なんて無いのではないか? そう思う読者が多いかもしれない。が、甘い、甘すぎる! 著者自身も1年前までは実はそのように考えていたのだが、そのような甘い考えでは全く上手くいかないのである。その理由について順を追って説明しよう。

俯瞰的視点

まずは、スパコンというものがどういうものかについて説明しよう。もちろん、名前が示す通り、スパコンは高速な計算を可能としてくれるのだが、この高速計算は並列計算によって達成されている。つまり、スパコンの「スーパー」の意味は超高性能コンピュータが1台あるという意味ではなくて、普通のコンピュータがたくさん(「京」の場合、8万個以上)並列に繋がっており、その1つ1つに計算を割り当て、分担させることで高速な計算を達成しているのである。この並列性は本質的に重要な部分であり、計算がバラバラな独立したパーツからなるような場合、スパコンによって容易に高速化できる一方、たとえば、計算Aの後に計算Bを行い、その計算結果に基づいて計算Cを…というような逐次的な計算の場合、スパコンを使っても高速化が難しい。このことは、大規模データ等によって、事実上不可能なほど長時間になった計算時間をスパコンによって削減したいと思っても、それが可能かどうかはその計算アルゴリズムの並列性に大きく依存することを意味している。つまり、スパコン「京」を使ったからといって、自動的に計算時間が劇的に減少するわけではないのである。

スーパーコンピュータ「京」
写真:スーパーコンピュータ「京」
提供:理化学研究所

このことは分析のテーマ設定・経済学的な仮説を考える際にも、決して無関係ではありえない。つまり、何か経済学的に良いアイデアを思い付いたとしても、実際に「京」上で実装する段階で並列化が出来ず、事実上不可能な計算時間になってしまえば、結局は絵に描いた餅になってしまう。言い換えれば、どのように分析するか、どの統計手法を用いるかを考える段階でその計算アルゴリズムの並列性までも考慮に入れる必要があるのである。一方、並列計算に向く統計手法を並列化し、スパコン「京」で大幅に計算時間を削減できたとしても、それを使う有意義な経済学的テーマが無ければどうにもならない。結局、分析テーマの経済学的な意義からスパコン「京」での実行可能性までを俯瞰する観点がどうしても必要になるため、経済学者もアルゴリズムやプログラミング、スパコンについての理解が必要となるのである。「経済学の人間だから経済の事だけをやっていればいい」という発想では、結局何も進まないのである。

図表1:製造業における生産性の国際比較

著者は現在、具体的には連鎖倒産の統計分析にスパコン「京」を使っている。東京商工リサーチ(TSR)の約100万社の企業間取引ネットワークと詳細な倒産情報を組み合わせることで、一日一日、企業の倒産がどのように発生・伝播していくのかを追うことが出来るが、このデータサイズだと通常のPCではどうしても計算能力上、限界が生じてしまう。そこでスパコン「京」を使い、数千〜数万分の1の計算時間に圧縮することでこの分析を現実的に可能なものとしている。ただ、その実際の研究のプロセスは上の図で言えば、右に行ったり左に行ったりを繰り返すプロセスである。つまり、経済学的なテーマを考え、それを実行するための実装を行い、結果を見てまた次はどのように分析を進めるかを考えながら実装を行い…という試行錯誤の繰り返しである(その成果は近日中にRIETIのHP上で公開する予定である)。

まとめ

最近の大規模データの利用拡大に伴って、計算時間が制約となることは珍しいことではない。その点で言えば、経済学者の潜在的なスパコン需要は多いかと思いきや、学会などでスパコン「京」を使った分析について話すと、スパコンは使わなくても済むんだという「言い訳」を探そうとする人によく出会う。もちろんそれはスパコン利用のハードルが高いと感じているからかもしれないが、その姿勢はあまり建設的なものとはいえないだろう。むしろ、スパコンによって実行可能となる世界は確実に広がるのだから、その可能性に目を向けるべきである。特に、計算科学以外の研究者にもスパコン「京」を使ってもらおうとこれまでも多大な努力が払われた結果、C/C++(もしくはFortran)とMPI(Message Passing Interface)を少し学べば、京を使うこと自体はそれほど難しいことではない。実際、学術・産業利用を問わず、「京」の応用利用の領域も広がっている。もしかしたら経済の分野でも近い将来、分析にスパコンを使うことがスタンダードになる日が来るかもしれない。「えっ、経済学者なのにスパコン使ったことないんですか?」そんな反応が普通になる未来を、著者はちょっと期待している。

2018年1月4日掲載

この著者の記事