スパコンの問題点は性能向上よりも正しい評価手法。   

2016年4月10日



☆息抜きしながらスキルアップ。自作PC系趣味は悪くないのに。   
当サイトの更新が行われていない最近の状況なのだけれど、 PCマニアが急減してPCマニアサイトも減ってしまっているので、 当サイト的に久々の更新を。

まずはいつもの余談から。

静岡のPCパーツショップは衰退傾向なので、 同じく衰退傾向とは言っても絶対量が静岡より多い大須に行ってきた。

その日、普段は肥らないように歩いている状況なので、 実家周辺の散歩では無く金山で電車を降りて大須までブラブラ歩いてみた。 不幸中の幸いは、大須は商店街としては衰退していないことですね。

大須では電気街の基本・アメ横ビルなどに行ってきた。 PCパーツの購入はネットでもできるのだけれど、 ネット購入では息抜き効果がほぼゼロ。 衰退しているとは言え、ショップでの購入は仕事疲れ等を癒やすのに良いですよ。

大須商店街からアメ横ビル等の自作PCショップ街に行ってきた。
大須は秋葉原と違って電気街onlyではないですね。通常の商店街の一部が自作PCショップ。

で...大須だけでは(PCショップ店数が減っているので)時間が余ったので、久々に栄にも行ってみた。

当サイトの趣味からしてデパートに行くことは、普段はほとんど無いのだが...書店とかも回ってみた。 もっとも、当サイトの本業的専門書の購入という意味では、 ジュンク堂書店名古屋駅店が一番たくさん本があって良いと思うのだけれど。

そういえば、本という意味では自作系PCパーツ雑誌はもう選択肢が無い状況になっている。 アマチュア無線系の趣味とかトランジスタ系の趣味の雑誌は 1種類になってからは衰退しつつも残っている。 だから、自作系PCパーツ雑誌も、せめて消滅だけは無くなって欲しいね。

しかし...当サイト的に強く主張しておこう。 自作PC系の趣味はアマチュア無線系趣味やトランジスタ系の趣味と同じ良い傾向を持っている。 それは、趣味として息抜きしつつも、スキルアップも行われるという点である。 コンピュータが仕事で使われない時代は今後も永遠に来ないから、この趣味は役に立つ。 パチンコとかだと、息抜きはできてもスキルアップはできないからね。

たとえば、当サイトの内容としてはスパコン系の記入調査のおかげでハードウエア系のスキルがそこそこ上がった。 バンド幅とかレイテンシとか、普通の人は理解する機会がほとんど無い。 しかし、自作PC系趣味のおかげで、「勉強」ということなく「趣味」で実質的な勉強ができている。 もし、この趣味が無ければ、こちら系のスキルはゼロのままだっただろう。

赤門から大須を出て、栄の百貨店街にも行ってみた。
PCパーツだけではなく、本もネットで買うと息抜きできないからね。

実は同じ事が高校時代に起きていた。

当サイトの専門分野は化学だが、大バカ者の当サイトがなぜ化学ならば得意なのだろう?  それは化学が好きだったからだ。

当サイトが高校生だったころ、化学の高校テストで「配位子」という名前を記入する問題が出題されたことがある。 当サイトは学校の授業内容である「配位子」ではなく「リガンド」と書いて大丸をもらった。 勉強ではなく「趣味」として読んでいた化学本にリガンドと書いてあったからだ。 「趣味」で「勉強」の良い効果だね。

パソコン系の実務としてはハードスキルよりもソフトスキルが最良だから 当サイト的自作パソコン趣味は業務スキルアップとして最良というわけでは無い。 とはいえ、ある程度のスキルアップ効果はあるのだからね。

☆名誉を取る事自体が主因という問題点。   
と言うわけで本題へ。 今回は当サイトのスキルアップ要因に感謝して久々にスパコンネタについて書いてみた。

スパコンと言えばおもしろい状況はTOP500の件。 中国の天河二号が6期も1位になっていることだ。

この天河二号、TOP500の名誉に従う素晴らしいスパコンと言えるかどうか、皆様はどう思うだろうか?

当サイトの意見は「TOP500で首位になる事」自体が主目的であり、 科学で活用できる範囲の広さがかなり狭まっているという問題点があるという意見。 浮動小数点演算量(理論値であり、実効値ではない)に対するメモリ容量が極端に低く、 科学用途で浮動小数点演算だけがボトルネックとなる用途でしか高性能が出せないスパコンと思われる。

「適している科学範囲の広さ」という概念は、スパコンの評価としては極めて重要と思っているが、 実際のTOP500評価ではこのような必要性が反映されていない。 この事実は当サイトの個人的発想だけでは無く、TOP500の運営に関わる世界トップレベルの スパコン研究者にもこのような考えを持っている人がいるのだから、当サイトの暴論では無い事は明白である。

当サイトでは、理論ピーク性能以外にバンド幅の重要性を指摘してきた経緯がある。 バンド幅の向上はコストアップというデメリットはあるが、 バンド幅が壁となっている用途(地球温暖化予想等が代表例)ではいくら理論ピーク性能が高くても バンド幅が狭くては実効性能が大幅に低下してしまい、ほとんど役に立たない無意味スパコンとなってしまう。

もちろん、バンド幅以外にも問題点はあるだろう。 たとえば、メモリ容量とか、ネットワークバンド幅とか...

しかし、「TOP500で首位になる事」自体が主目的になった結果、 TOP500の性能向上ペースが極端に低下してしまっている。

理由は非常に単純である。 「TOP500に勝つこと。」が主目的のスパコンに対して、 「科学分野での実用化の検討としてのTOP500挑戦。」を主目的とした場合は、 TOP500に寄与しない部分にもコストをかけることになるので費用が非常に高くなってしまうからだ。

天河二号にTOP500で勝ちつつ、実際の科学研究でも広範囲に役に立つスパコンを作ろうとした場合、 日本の国家予算ではコストが出せなくなる可能性が高い。 現段階では日本トップの「京」に続く次世代の日本製スパコンが100京FLOPSを狙っているが、 天河二号のような構造だと理論ピーク性能に対するコストは安いが、 「役に立つ」スパコンとして科学分野で稼働できるアプリが極端に減ってしまうと思われる。

もちろん、TOP500で性能アップペースが極端に下がっている理由は他にもある。 一つは、半導体工学におけるムーアの法則の低下傾向。 もう一つは、ノード数に比例して性能を上げることが難しくなりつつあること。 しかし、主因としては「TOP500に優勝すること自体が目的のスパコン」に 科学でも役立つスパコンでは勝ちにくいことだと思う。

当サイトでは、以前からTOP500だけではスパコン評価に意味が薄いことを指摘してきたが、 最近の傾向はこの考えが間違っていないことの典型的な象徴と言える。 (皆様はどうですか? 当サイトの意見に賛成ですか? 反対ですか?)

☆最優先の改良事項は「技術開発」ではなく「正しい評価手法」。   
そんなわけで、スパコンネタとして今後の方向性を考えてみた。 最重要なのは世界最速のスパコンを開発すること自体では無く、 まず評価手法そのものを最適化することだと思う。

TOP500を止めてしまうことが必要とまでは言わないが、 TOP500のみでは意味が無い。 用途によって制約事項が違うのであるから、 制約事項を探索して、各制約事項をそれぞれ優先的に評価できる ベンチマークを取りだしていく必要があるのだ。

例えば、TOP500以外のベンチマークとして浮動小数点演算以外の能力がボトルネックとなっているものを投入したらどうなるか?  まず、浮動小数点演算能力以外に投資していない天河二号はトップからダウンする。 TOP500をテストしている意味は実際の科学技術演算で成果を出しているコンピュータが TOP500でもトップに評価されることである。 だから、この結果はTOP500の評価手法が正しく進化していることを意味している。

TOP500を無視して実際の科学技術計算で効果を出そうという意見もあるが、 これは目標という意味では正しいが、一般人にもわかりやすく説明することが難しい。 TOP500は複雑かつ数の多い科学技術計算を共通に比較できるようにするという意味、 および我々一般市民でも理解できる報告という意味では採用が必須なのである。 (国家研究開発機構で使用しているスパコンの投入資金は我々の税金なんだからね。)

また、どのような用途でも最適な高速スパコンを作るのが理想なのだが、 実際には高汎用性自体が難易度が高い。このため、各分野で別々のベンチマーク実験を行って評価するやり方も考えられる。 例えば、気象予想等では浮動小数点ではなくバンド幅を調べて順位をつける。 この分野ではこれが1位、別の分野ではあれが1位と発表していけば、 受賞の数で得意分野の「広さ」が評価されることになるわけだ。

半導体コアに貫通ギアを付けて積み重ねることで浮動小数点とバンド幅を両方とも強いプロセッサにする事が 可能になる可能性はあるが、必要な性能分野はこの二つだけではない。 だから、すべからく優秀な成績を持つスパコンは作成難易度が極端に高くなる。

当サイトの提案としては、複数のベンチマークで評価を行い、各分野の順位に上位ほど高い点数をつけて、 その総計点でTOP500の順位を決めるという方法だ。 (1つのテストで総合評価できるベンチマークがあれば最適だが、 これはベンチマークプログラム作成の難易度が極めて高いので...)

この方法は、1位が一つもないが各分野ですべからくそこそこの性能というスパコンも一定の高評価を得てしまうという デメリットもあるが、少なくとも現段階のTOP500よりは良い方法である。 「TOP500で1位になること。」自体が第一目標のスパコンは使用頻度が極端に低いが、 この検討手法では実力的にも一位になれるように装置を改善しないと勝てなくなってしまうからである。

というわけで、まず第一に必要なのはスパコン評価方法の複数化であることは明白だ。 現状のTOP500が改善されない限り、スパコン評価に意味がないことを断言しておこう。

☆1台の総合機か? 複数の専門機か?   
では、この問題が改善されて最適な評価方法が導入された場合はどうなのだろう?

スパコン改善をどう行うかには2つの手法が考えられる。 それは、各分野で最適化した構造の違うスパコンを複数作る方法と、 総合的に改善した1台を作る方法だ。

だがどちらの方法が良いのかは難しい問題だ。 今までのTOP500は最適化傾向が一方向性しかなかったわけだから、 上記判断は全く必要のない状況であった。 勝つことだけが目的ならば徹底的に専用化したマシンを作ればよい。

しかし、複数の問題を1台で最適化するのは非常に困難度が高い。 ならば、各分野で最適化した複数のマシンを作るという手も考えられる。

しかし、そうしてしまうと合計予算が同じ場合は、 複数マシンを作る場合の方が単一機の開発コストが減ってしまう。 開発コストが国家予算ベースの状況だとすると、専用機化が進むほど 1台あたりの開発コストが減ってしまうデメリットがあるのだ。

結局、全ベンチマークテストで1台のままで1位になろうとすれば、 機種数が1台なので1台あたりの開発コストは増えるとは言ってもトータルコストは減るだろう。 しかし、開発に成功する可能性は減る。 (開発は生産と違って単純にコストを増やせば成功するという訳ではないからね。) 一方、専用機化すれば別科目で勝つことは不可能になるからリターンは減るし、 開発機種数が増えるので全機種総計での開発コストは増えるが、 開発に成功する可能性は高まる。

リスク・リターンの問題なのだから、どちらか一方の条件が無条件に正しいとは言い切れない。 しかし、実際にはどちらかのやり方で生産しなければならないのであるから、決断は必要だ。

結局の所、これは性能をシャットダウンしている領域がどこかを見極めて、 そこを乗り越える技術の方向性に近いハードウエアを利用しやすいアーキテクチャで構成しているマシンはどれか という先見性で決断しなければならない。 だが、今後の進化の方向性が総合性の改善なのか、 各専門分野の個別問題点解消なのか、事前に判断することは困難である。

最悪な話、複数の専用機で対応する場合には、複数のベンチマークを導入しても各分野においてその分野のベンチマークのみで最適な 「別分野用天河二号」を作ればよい...なんて事になってしまう可能性もある。 そうなったら、複数のベンチマークを導入しても、TOP500と同じ問題を抱えたままになってしまうとも言える。

では、複数のベンチマークを1台に適用して総合評価合計点で判断するか?  1科目でも低得点のベンチマークがある場合は総合評価も落とすようにするか?  それで良いとも言い切れないのが問題だ。

と言うわけで、ベンチマークの評価方法はいろいろ試してみて、 その評価結果と、そのスパコンを使った科学分野の論文数や論文評価の良さが相関しているかどうかを見極めて 判断するしかないと考えている。

なんか、今後の方向性を言い切れない難しい状況ですね。

☆正確な性能評価方法の確立は、スパコン性能向上よりも高い重要性を持つ研究項目である。   
と言うわけで、当サイト的な第2の評価方法を主張しておこう。

それは、ベンチマークでの首位と実際の科学系シミュレーションでの首位が一致するベンチマークを作り上げることである。 と...一言で言うのは簡単だけれど、これは難易度が極端に高いわけだけれどね。

なぜ難易度が高いかというと、科学系シミュレーションでの首位を評価する事が極めて困難だからだ。 科学系と一言で言っても、それはいろいろ各分野があって、分野が違うと比較評価が困難になる。 具体例で言うと、HPCの評価ではFLOPS単位で高性能なベンチマークで評価する場合が多いが、 一つ明白なのは高く評価される分野はアプリのB/F比が低いアプリに限られてしまうと言う問題点だ。

たとえば、アプリのB/Fが0.01で問題のないアプリで1PFLOPSのスパコン状況と、 アプリのB/F比が1と高いアプリで0.9PFLOSのスパコン状況のどちらの性能が高いのだろうか?

スパコンの事がちゃんとわかっているハードウエアの専門家ならば、前者が正解と答える人はほぼゼロである。 しかし、物事をちゃんと理解してない人ならば、1PFLOPSと0.9PFLOSだけを評価して前者が正解と答えるだろう。 そして、TOP500では前者を良品と判断してしまう可能性が極めて高い。 なぜプロとアマやTOP500で評価が変わるかというと、FLOPSの数値だけ見れば1PFLOPSの方が高い値だが、 B/F比が100倍必要なアプリで性能低下を90%に止めるのにはアプリの作成者に天才的ハイスキルが必要だ ということをプロならばわかっているからね。 (将来は、メモリとCPUのオンチップ化で問題点が解消される可能性はあるが...)

と言うわけで、現状スパコン性能評価の最大の課題は スパコン性能を正確かつ総合的に判断できる新型評価方法の開発なのだ。 スパコンそのものの性能向上よりも、こちらの改善の方が重要性が高いことには大いに注意しよう。

☆次回はスパコン評価方法を考えて書きたかったのだが...急にAI事件が起こったので。   
今回は問題点の指摘だけで、解決方法の予測までは書けなかった。 と言うわけで、次回までに問題解決法を書くつもりだったのだが... 直近で人工知能のヒトラー化問題が報道されたので、これも考えている。 なぜかというと、 ラスト関東を楽しむ日 という去年4月の掲載記事で「人工知能が現代版ヒトラー、スターリンをサポートする危険」 という指摘をしていたからね。

実は、この直近の下記新聞報道記事... 人工知能「ヒトラー正しかった」…MSが実験中止を表明 を読んで驚いた。 人工知能が「ヒトラー正しかった」と認識するように、メチャクチャな情報認識を 導入させる手配をしていた極悪人がいたようだ。

人工知能は、物事の判断状況を取り入れる能力を急激に高めたが、良否という認識は形成されていない。 だから、ブラックな認識を強要されると人工知能自身がブラック化してしまうのである。 この問題点についても考えているので、良い思いつきがあればこちらの課題でも書いてみたいと思う。

被害を受けたこの人工知能を作成したメーカーはマイクロソフトだが、 こんな悪人の犯罪行為に落ち込まないで、これからも頑張って欲しいと思いますよ。 良否問題という人工知能最大の問題点を解消できれば、次世代を支える最先端技術として成立しますからね。