初代Snapdragon X Eliteがリリースされたとき、AIの処理性能が「45TOPS」と言い立てられ、Microsoftもまた同社の新しいプラットフォームである「Copilot+PC」のスペック認定基準を「40TOPS」に定めた。
TOPSは「Tera Operations Per Second」の略称で、つまり1秒間に何兆命令を実行できるかのAI性能を測る数値だが、実際にこの数字を分解してみると別の側面が見えてくる。
昨今のAIは現在の学習モデルの主流であるTransformerを中心に、大量の行列演算を繰り返すことで実現されている。行列演算とは「行列」を掛け合わせる処理のことで、内部的にはひたすら数字同士の掛け算と足し算を行うMAC(積和)演算を繰り返すことを意味する。
Hexagon NPUでは行列(テンソル)処理のためにTensor(行列/テンソル)/Scalar/Vectorの3種類の演算ユニットを持っており、これらの演算ユニットの組み合わせでAI推論処理性能が変化する。
前出のスクマール氏によれば、現在のLLMでは出力結果に影響するコンテキスト長が日に日に長くなってきており、結果としてソフトマックス(Softmax)関数の処理がその増大にともなってボトルネック、つまりレスポンスの低下となって表れる。
これを改善するのはベクトル処理ブロックの高速化、つまりVectorユニット数の増大で、より長大なコンテキストをスムーズに処理できるようになる。
一方のScalarユニットは、例えばLLMのコンテンツ作成で画像を取り扱う場合、その解像度は要求によって毎回大きく変化するので、不規則なデータをスムーズに処理するにあたってScalarユニットの強化は大きな効果を得られるという。
そのため、ScalarとVectorについてはユニット数が増加しているものの、Tensorについては性能自体の強化は行っているが、コアそのものは1つで変化がない。これについて同氏は「将来的に増やすことは可能だが、現在のユースケースではモジュール数こそ増えているもののあくまでユニットとしては1つ」と述べる。
またNPUの高速化について同氏は「前世代に比べてソフトウェアの最適化だけでレイテンシーを15〜20%ほど改善できることが分かった。演算ユニットの強化による高速化もさることながら、以前(40TOPS)の2倍の実現を目標値として、それら全てを組み合わせることで実現できた」とも述べている。
FP8サポートと並んで今回のトピックとなっているNPUでのINT2サポートだが、INT2とは2bitの整数型、つまり実質的に4つの数字(正負)のデータのみを扱うような形となる。
前出のように、INT2を採用する最大のメリットは処理にあたっての必要メモリ量の低下だ。スクマール氏は例として「70億パラメータ(7B)のモデルを16bitで実行すると約13GBのメモリが必要になるが、4bitであればその4分の1、これを2bitにするとさらにその半分で約1.75GBになる。つまり2GBのメモリで70億パラメータのモデルがサポートできる」と説明する。
単純にメモリのみならず、ビット深度が低下した分だけデータ転送容量も減少することになり、より軽量動作が可能になる。クラウドで学習を行い、エッジAIで動作させるのに最適な仕組みといえる。
これによって生じるデメリットは精度の低下で、計算が高速/軽量化された一方で、本来ビット深度のより高い浮動小数点演算や整数演算で実現されていたAI推論の精度は落ちることになるというのは、2024年に同氏がインタビューで述べていた通りだ。
向き不向きもあり、例えば画像処理をINT2やINT4などで行おうとするとディテールが処理の過程で失われていくため、より重い浮動小数点演算が求められるようになる。逆に日々の軽微な判断などはINT2などでも問題ないケースも多く、使い分けが重要となる。
INT1のような、より軽量な動作が可能な仕組みも検討されているが、これについてスクマール氏は「精度を落とさないためのモデル学習により時間が必要になる」と述べており、やはりバランスが重要というスタンスだ。
現状で80TOPSの性能をフルに活用するAIアプリケーションのケースがあるのかと考えると、一般的な用途ではなかなか思い付かなかったりする、とはいえ、Qualcommを含む推論AI向けNPUの開発を行う各社がより一層の性能強化に向かうのは将来に向けての布石であり、その鍵となるとなるのは「1秒のレスポンスにある」とスクマール氏は言う。
「理由の1つはAIエージェントによる減衰にある。AIエージェントは単一のモデルはなく、例えば音声対話の場合は音声のテキスト変換がまず行われ、次に送られてきたテキストに応じて分類モデルを呼び出し、次にタスクに応じてナビゲーションやエンターテインメントなど必要なタスクを呼び出す。
これらタスクをドメインと呼んだとき、例えば生産性ドメイン内ではメール作成やメール要約などの機能があり、ドメイン内にも複数のタスクが存在する。これらがそれぞれ1つの別のタスクであり、これらが連鎖することで処理が実行される。
利用者にとっての最終目標はエージェントを呼び出して応答が返って来ることで、優れたヒューマン・マシン・インタフェースを実現するには応答が1秒未満である必要がある。
このように何個ものモデルが連携してシリアル(連続)で実行されると計算負荷が増え、レイテンシーを1秒未満に抑えることが難しくなる。解決方法としては先の説明のように(精度を落として)モデルを小さくしたり、例えば英語のみをサポートしたりして日本語をサポートしないといったりした妥協が必要になる。だからこそ投資を増やし、人々はエンド・ツー・エンドでの遅延を低減するために工夫が必要になる。
生成AIが笑ってしまうほど高速に――Qualcommが450TOPSの“外付け”NPUを開発 Dell Technologiesのx86ノートPCに搭載
Epic GamesのアンチチートツールがArm版Windowsに対応完了 “スナドラ”搭載PCで遊べるフォートナイトも近日リリース
レノボの小型PC「ThinkCentre neo 50q Tiny Snapdragon」を試す ArmアーキテクチャのデスクトップPCはアリ?
約10万円で買えるWindows on ARMの検証機として「Lenovo IdeaPad Slim 5x Gen 9」はちょうど良い
ARグラスで仕事はできるか? スマホサイズの「XREAL BEAM Pro 5G」と老眼にやさしい「XREAL One」で試すCopyright © ITmedia, Inc. All Rights Reserved.