数値形式の革命
人工知能は、数値をコンピュータハードウェアにデジタル表現する方法である数値形式の設計における前例のない急増をもたらした。より大規模なニューラルネットワークをより低いコストでトレーニングおよび実行するため、エンジニアはデータを表現するために使用されるビット数を減らすあらゆる可能な方法を探索し、計算時間とエネルギー消費を削減している。GoogleのbfloatF16、NVIDIAのTensorFloat-32、および様々な8ビットおよび4ビット表現などの形式は、AIエンジニアのツールキットの標準的なツールになっている。
これらの低精度形式はニューラルネットワークが数値精度の不足に対して著しく耐性があるため、AIで機能する。1つのニューロンの活性化値のわずかな丸め誤差は、数百万のパラメータにわたって発生する統計的平均化により吸収される。トレーニングが収束するまでにやや多くの反復が必要になる可能性があるが、より小さい数値を処理することから得られる速度の利得は、わずかにノイズの多い計算のコストをはるかに上回る。
これらのAI最適化形式の成功は自然な誘惑を生み出した。低精度がニューラルネットワークで機能するなら、なぜ同じアプローチを科学計算に適用しないのか。Laslo Hunholdが詳細なIEEE Spectrumのインタビューで説明しているように、その数学は転移しない。
科学計算が異なる理由
科学計算は計算物理学、流体力学、構造エンジニアリングシミュレーション、気候モデリング、分子動力学、および物理現象を記述する方程式系をコンピュータで解く数十の他の分野を含む。これらのシミュレーションはニューラルネットワーク計算と根本的に異なる方法で異なる。統計的相関ではなく、数値精度を必要とする。
物理学者が翼上の空気の乱流をシミュレートする場合、各計算セルは、明確に定義された物理法則を通じて隣接するセルと相互作用する圧力、速度、および温度値を正確に表現する必要がある。1つのセルの小さな数値誤差は平均化されるのではなく、シミュレーション全体に伝播し、数値不安定と呼ばれる現象を通じて指数関数的に増加する可能性がある。わずかな丸め誤差として始まるものが、物理的に意味のない結果を生成するシミュレーションへと段階的に悪化する可能性がある。
この精度への感度はシミュレーションソフトウェアの障害ではない。それは解かれている偏微分方程式の数学的性質を反映している。これらの方程式の多くは本質的にカオス的であり、初期条件または中間計算のわずかな摂動が劇的に異なる結果につながることを意味している。数値解析の規律全体がこれらのエラーを理解および制御するために存在し、数十年の研究は、シミュレーションが信頼できる結果を生成するために特定の最小精度要件を満たす必要があることを確立している。
カスタム形式の課題
最近バルセロナを拠点とするOpenChipに参加したHunholdは、AIから借りるのではなく科学計算用に特別に設計された数値形式を開発することに取り組んでいる。彼のアプローチは、科学計算の精度要件はニューラルネットワークの精度要件と質的に異なり、科学的問題にAI形式を単に適用することは実行可能なショートカットではないことを認識している。
課題は多面的である。科学計算は数値範囲の特定の部分で高い精度を必要とし、他の部分ではより低い精度を許容できる。物理シミュレーション内の値の分布はニューラルネットワーク内の活性化の分布とはまったく似ていない。1つのアプリケーション用に最適化された形式は、別のアプリケーション用に積極的に有害である可能性がある。
- AI数値形式は精度を減らして計算を高速化し、ニューラルネットワークの丸め誤差許容性に依存している
- 科学計算は数値精度を必要とする — 小さなエラーは大惨事的に段階的に悪化する可能性がある
- 低精度AI形式は工学シミュレーションで物理的に意味のない結果を生成する可能性がある
- 研究者は科学計算用に特別に設計されたカスタム数値形式を開発している
- 物理シミュレーション内の値の分布はニューラルネットワーク活性化とは根本的に異なる
ハードウェアの側面
この問題はソフトウェアを超えてハードウェア設計に及ぶ。最新のAIアクセラレータ — NVIDIA、Google、AMD、およびスタートアップからのGPUおよびカスタムチップ — は、機械学習で使用される特定の数値形式に対してますます最適化されている。それらの算術ユニットはbfloat16、FP8、およびその他のAIネイティブ形式を最大スループットで処理するために設計されているが、従来の倍精度浮動小数点のパフォーマンスは停滞しているか、相対的には低下している。
このハードウェアの傾向は科学計算にとって実際的な問題を生成する。チップメーカーがAI固有の形式を優先し続ける場合、科学者とエンジニアは最新で最も強力なコンピュータハードウェアがワークロードに適しているとは思わないかもしれない。毎秒数兆の低精度AI操作を実行できるチップは、気候モデルまたは構造解析に必要な倍精度算術で支障をきたす可能性がある。
Hunholdのカスタム科学形式に関する研究は、部分的にこのハードウェアの現実に動機付けられている。科学計算が従来の倍精度よりも少ないビット数で許容可能な精度を達成できる数値形式を特定できる場合、これらの形式はAI形式と並んで将来のハードウェアに実装でき、科学ワークロードはAIチップのパフォーマンスを駆動しているのと同じ製造上の進歩から利益を得ることができる。
間違える際のリスク
科学計算に不十分な数値精度を適用することの結果は抽象的ではない。エンジニアリングシミュレーションは航空機の構造、原子力発電所の格納容器システム、橋の荷重、および医薬品の分子相互作用の設計に情報を提供する。物理的に正しくないが妥当に見える結果を返すシミュレーションは、実世界で大惨事的に失敗する設計につながる可能性がある。
低精度計算によるAI産業の著しい成功は本物の達成であるが、科学計算コミュニティが強調したいドメイン固有の注意書きが付属している。パターン認識で機能するものが物理に自動的に機能するわけではない。数値は正確である必要があり、シミュレーションの精度が人命に依存するとき、正確であることは全く異なることを意味している。
この記事はIEEE Spectrumのレポートに基づいています。元の記事を読む。



