スーパーコンピューター「富岳」はハイパフォーマンスコンピューティングの課題をどのように乗り越えていったのか?〜「富岳」研究チームリーダーに聞く(中編)

INTERVIEW

神戸大学大学院 システム情報学研究科 教授
理化学研究所 計算科学研究センター
 複雑現象統一的解法研究チーム
 チームリーダー(兼務)

坪倉 誠

モノづくり現場でのスーパーコンピューター「富岳」活用について、「富岳」研究チームを率いる理化学研究所計算科学研究センター坪倉誠氏にお話を伺う本連載。スーパーコンピューターが威力を発揮するハイパフォーマンスコンピューティングだからこそ、高精度な計算を行う際に時間的コストが掛かってしまう課題があるといいます。中編では、この時間的コストが掛かってしまうCADデータ修正や最適曲面の探索に対する課題解決アプローチや残された課題についてお話を伺いました。

ハイパフォーマンスコンピューティングの課題は、「京」の運用から学んだ

──── ハイパフォーマンスコンピューティングを使ったシミュレーションが、これからのモノづくりを変えていくというわけですね。

坪倉氏(以下同):
そうです。私たちは「京」を使ったこうしたモノづくりの変化をプロセス・イノベーションと呼んでいます。モノづくりに「京」をどう使えばいいのか、モノづくりはどう変化するのかということがわかり、一定の成果があったのだと思っています。


──── 「京」の頃と今とではどのような変化がありますか。

「京」は自動車メーカーが使っているスーパーコンピューターの千倍の性能をもっていましたが、日本に一つしかなかったため、すぐに「京」を使って自動車をどんどん開発するようなことにはなりませんでした。「京」が本格稼働してから10年くらい経って、ようやく「京」と同程度の性能のスーパーコンピューターが各企業さんに導入され始め、10年前に私たちがやろうとしたことができるようになっています。


──── ハイパフォーマンスコンピューティングの活用が順調に進んでいったというわけですね。

いえ、一方で問題も出てきました。「京」クラスのスーパーコンピューターを使えば、精度が高く実験ではできないようなシミュレーションが可能にはなります。しかし、それを実際の開発プロセスに落とし込む際に問題になったのは、計算モデルを作ることです。工業製品はすべてそうですが、実際の設計図でCADデータを使います。自動車の場合、数千個のパーツそれぞれのCADデータを使えば自動車全体のCADデータもできます。ただ、CADデータには多くの欠陥が含まれてしまうのです。


坪倉誠(つぼくら・まこと)
1969年、奈良県生まれ。京都大学工学部物理工学科から東京大学大学院工学系研究科で工学博士。英国ロンドン大学インペリアルカレッジで日本学術振興会特別研究員、電気通信大学電気通信学部助教授から北海道大学工学系研究院准教授を経て現在、神戸大学大学院システム情報学研究科教授、理化学研究所計算科学研究センター複雑現象統一的解法研究チームにおけるチームリーダーを兼務。専門は流体工学、流体シミュレーション、車両空力
坪倉誠(つぼくら・まこと)
1969年、奈良県生まれ。京都大学工学部物理工学科から東京大学大学院工学系研究科で工学博士。英国ロンドン大学インペリアルカレッジで日本学術振興会特別研究員、電気通信大学電気通信学部助教授から北海道大学工学系研究院准教授を経て現在、神戸大学大学院システム情報学研究科教授、理化学研究所計算科学研究センター複雑現象統一的解法研究チームにおけるチームリーダーを兼務。専門は流体工学、流体シミュレーション、車両空力


課題1:CADデータ修正に時間的なコストが掛かる

──── CADデータにも欠陥があるのですね。

そうです。どんな欠陥かといえば、数千個のパーツのCADデータがあった場合、データ上では隙間なく組み合わされているけれど、実際には空間があったりします。例えば、ネジで絞めて接合するパーツが実際には少し遊びの隙間があったりするのです。

また、CADデータにはよくまったく厚みのないパーツがありますが、これは衝突解析する際などで近似解を求める有限要素法でシミュレーションするため、厚みをなくして解析しなければならないからです。そのため、薄い部材を厚みゼロにして計算しますが、流体の計算をする場合、厚みがないと表と裏がわからなかったりして問題が起きてしまうのです。


──── ハイパフォーマンスコンピューティングが解像度を上げたために起きた課題というわけですね。

ほかにもCADデータには、部材が突き抜けていたり、実際にはあるのにCADにはそのパーツがない場合もあるなどの問題がありますが、そこから流体計算をしようとすると、大きな穴を埋めたり空力に不必要な部品を除いたり表面形状を修正したり、手作業でCADデータを直さなければなりません。

従来の低い解像度でシミュレーションをやっている場合、欠陥が5mm程度ならサーフェイスをポリゴンで修正すれば良かったのですが、ハイパフォーマンスコンピューティングでは解像度が格段に上がっているため、5mmの修正では実験に匹敵するシミュレーションができないことがわかったのです。


──── そうしたCADデータの修正にはかなり手間暇がかかるのでしょうか。

CADデータを見るとわかりますが、自動車の表面の至るところに隙間が空いていたり部材同士が重なり合っていて実際の自動車とは違います。「京」でわかったのは、1mmの精度に修正しなければならないということです。しかし、CADデータの隙間の1mmほどの精度の高さを求めようとすると、シミュレーションの表面を作る際にCADデータ上で空いている隙間が本当に空いているか、欠陥データなのかを目で見て判断せざるを得なくなります。

一つひとつ隙間を検証し、CADデータの表面を滑らかにしていく作業には、大手企業が人海戦術でやっても数週間かかってしまうのです。1台の自動車の表面を修正するだけに数週間かかっていたら、いくらハイパフォーマンスのコンピューターを使ってシミュレーションしても、時間的なコストがかかってしまい、とても実用的ではありません。<図1>


<図1>CADデータの精度による違い。右の1mmの解像度の修正では、表面がなめらかになっている(提供:理化学研究所)
<図1>CADデータの精度による違い。右の1mmの解像度の修正では、表面がなめらかになっている(提供:理化学研究所)


──── 「富岳」でも同じような課題があったのでしょうか。

はい。CADデータの修正に時間的なコストがかかるようでは使えないということになったのですが、「京」の後継機である「富岳」ではさらにCADデータの精度を上げなければいけないということで同じ議論が起きました。解像度が高くなればなるほど精度も上がりますが、計算モデルを作る際の工数も指数関数的に増えていってしまうからです。

いくら良い計算機を作って計算速度を上げていっても、データを用意する過程でコストが上がってしまったら意味がありません。この問題、つまり「富岳」のような高精度なシミュレーションを高解像度で行う際に必要となる時間的なコストを、できるだけ小さくすることが求められるようになりました。


課題2:最適曲面の探索に時間的なコストが掛かる

──── ほかには課題はなかったのでしょうか。

はい、また別の課題もありました。自動車で言えば、燃費と操縦安定性の向上のどちらも得たいという場合、従来では経験でやってきたものをシミュレーションとAIを活用することで課題の解決につなげていくというようなことが期待されています。燃費をどれくらい犠牲にすれば操縦安定性の向上はどれくらいになるかという最適値を私たちはパレート最適曲面(Pareto Front)と呼んでいますが、しかしこのようなトレードオフの関係のように相反する性能の最適曲面、自動車の場合では無限にある組み合わせから絨毯爆撃のようにしらみ潰しに探していこうとすると、いくらハイパフォーマンスコンピューティングが可能なスーパーコンピューターといえど膨大な時間がかかってしまいます。<図2>


「富岳」における課題解決アプローチ:最適曲面の探索に遺伝的アルゴリズムを導入

──── 最適解を求めるためにはどのような解決があったのですか。

トレードオフの関係における最適曲面を得るという問題を解決するためにどうするかといえば、私たちはJAXAの協力を得て、遺伝的アルゴリズム(多目的進化計算アルゴリズム)というものを使っています。

これは、まず第一世代を適当に作ってみて、スーパーコンピューターでそれぞれの性能を評価し、良いもの同士を交配させてさらに良いものを作っていくというAIを使った一種の方法です。つまり、単にシミュレーションするだけではなく、できるだけ多くのシミュレーションを同時に行うことで、最も良い解をできるだけ早く得るというわけですが、このアルゴリズムによるフレームワークは「富岳」で作っていて現在ほぼ完成しています。<図2>


<図2>遺伝的アルゴリズム(多目的進化計算アルゴリズム)では、第三世代に進化するとパレート最適局面の解が得られると言う(提供:理化学研究所、協力:宇宙航空研究開発機構)
<図2>遺伝的アルゴリズム(多目的進化計算アルゴリズム)では、第三世代に進化するとパレート最適局面の解が得られると言う(提供:理化学研究所、協力:宇宙航空研究開発機構)


──── 「富岳」とAIを使えば可能性が高まるというわけですね

はい。特に期待値の高い活用法として主に2つあげられますが、1つはSociety(ソサエティ)5.0時代のモノづくりにハイパフォーマンスコンピューティングをどう使っていくのか、サイバー空間とフィジカル空間(リアル空間)をどう高度に融合させるのかというテーマについて。もう1つは、いわゆるデジタル・ツインという、フィジカル空間の現象や情報をもとに、サイバー空間でフィジカル空間を再現することが求められています。

例えば、フィジカル空間でドライバーが運転する自動車が走行し、時速100kmで隣のレーンへ移動する際、ドライバーがアクセルやハンドルなどを操作しますが、すべてのプロセスの間に自動車にかかる空気抵抗などのあらゆるデータを集め、それをサイバー空間で再現するという過程をたくさん流せば、将来的には自動運転のAIトレーニングなどに使うことができるようになるでしょう。

ハイパフォーマンス・コンピュータにこうしたデータをどんどん入力していけば、高速走行時に横風を受けてあおられた場合に最も良い運転条件はなにかをAIが選んでいくような学習データに使えます。こうした学習データによってAIはさらに学習し、AIの性能もどんどん高くなっていくのです。


「富岳」における課題解決アプローチ:CADデータ修正に独自ソフトウェア「複雑現象統一的解法CUBE」を開発

──── しかし、求められる計算資源がどんどん多くなっていきますが大丈夫なのでしょうか。

CADの修正に数週間かかっていたら遺伝的アルゴリズムなどできませんので、私たちはほぼ瞬時に修正できるようなフレームワークを作りました。私たちはよくメッシュを切るという表現をするのですが、接点座標を得るためのソフトウェアにより「富岳」のシミュレーションでメッシュを切ったのです。


──── 「富岳」というハードウエアを使うためのソフトウェアを開発したということでしょうか。

はい。実は、このフレームワークは2012年くらいから開発を始めました。これまで実世界の現象を扱うためには複数のシミュレーションソフトウェアを組み合わせていましたが、それでは各ソフトウェア間のデータ交換が必要になり、それぞれのソフトウェアの性能やハイパフォーマンスコンピューティングの性能を十分に発揮できません。そのため、統一的なデータ構造のもとで流体、構造、熱、音、化学反応などの現象を支配するそれぞれの方程式を扱う、複雑・複合現象シミュレーションソフトウェアが必要になります。


──── 具体的にはどのようなソフトウェアなのでしょうか。

私たちは「富岳」のようなハイパフォーマンスコンピューティングに適したデータ構造を得るためにはBuilding Cube Methodというソフトウェアを、複雑形状や移動境界に適した境界処理にはImmersed Boundary Methodというソフトウェアを、さらにCADデータの部材間のギャップ、重なり、厚みなしなどに対応した高速なメッシュ作成のためにはDirty CAD Treatmentというソフトウェアを開発し、これらのフレームワークに使うソフトウェアを「複雑現象統一的解法CUBE」と呼んでいます。

CUBEの特徴は、流体、構造、熱、音、化学反応などの複合現象を同時に扱えるだけでなく、格子生成法にBuilding Cube Methodを採用するなど、ハイパフォーマンスコンピューティングで良好な並列性能を得るためのさまざまな工夫がされている点です。私たちはシミュレーションのロバストネス(Robustness、堅牢性、頑強性)を徹底的に向上させ、従来はCADデータに欠陥があれば計算ができなかったものを、CUBEによってある程度の欠陥があっても修正せずに計算ができるようにしたのです。


──── やはり「富岳」の計算能力があってこそなのですね。

CUBEを使うことでメッシュを瞬時に切ることができ、遺伝的アルゴリズムによって良い結果同士を交配させ、これを繰り返した何世代か後には絨毯爆撃でやっていた時間の1,000分の1や1万分の1で最適解を得ることができるようになったのと同時に非常にたくさんのデータを流すことができるようになりました。

「富岳」に残された課題は、 時間的なコストや適切な解と引き換えに精度を犠牲にしたこと

──── 課題はすべて解決したのでしょうか。

いえ。もちろん、私たちが「富岳」でやっていることにも欠点があります。それはなにかといえば、時間的なコストや適切な解と引き換えに精度を犠牲にしたことです。

しかし、私たちはすべての実験がシミュレーションに置き換えられることはおそらくないだろうと考えました。シミュレーションの精度を向上させていき、風洞実験と同じ結果が出るようにした場合、風洞実験がなくなることはないでしょう。なぜなら最後には実際のモノを作るのですから、どこかで必ず現実世界での実験、デジタルではない人の手が必要になるからです。ですから、精度ばかり追求しても意味はないのではないかと考えたのです。

何らかの製品開発がスタートしてから、多種多様な評価の基準がありますが、その中からいいものを探していく、つまりモノづくりの開発プロセスの最終段階に焦点を当てるのではなく、ハイパフォーマンスコンピューティングを使ったシミュレーションをもっと上流に使っていくというわけです。

ハイパフォーマンスコンピューティングも使い方や使う場所があるということのようです。最終回の後編では、研究事例の紹介や今後のモノづくり現場でのハイパーコンピューティングの使われ方についてお話をうかがいます。

文・写真/石田雅彦

 

参考情報
・富岳は、国立研究開発法人理化学研究所の登録商標です。

 

▽おすすめ関連記事

こちらの記事もおすすめ(PR)