AIハードウェアで求められる最高のQoRと検証可能性の両立

米国シノプシス 

シニア・プロダクト・マーケティング・マネージャー Bradley Geden


半導体業界は今、人工知能(AI)によって大きな飛躍の時を迎えようとしています。これはただ単にチップの販売数量が増えるということだけではありません。ハードウェア/ソフトウェア・スタックに占めるハードウェアの割合が、金額ベースでソフトウェアを上回るということでもあります。これは、適切なハードウェアがなければソフトウェアの実行速度が上がらないためです。McKinseyの予測によると、AI半導体の売上は2025年までに現在の4倍に増え、年間180~210億ドルに達すると見られています。これらハードウェアの内訳は、クラウドでの学習および推論用ハードウェアが大半を占めますが、今後はエッジ推論用ハードウェアの方がより高い成長率を示すでしょう。そして今、効率を最大限に高めた学習および推論ハードウェア・エンジンの開発競争が始まっています。

しかしAI半導体の設計において性能、消費電力、面積(PPA)のバランスを取ることは至難の業です。しかしRTL-to-GDSIIフロー全体を通じて大胆な最適化を施せば、全体的なPPAの結果品質が向上し、設計クロージャまでの期間が短縮します。しかしこうした最適化も、フォーマル検証を実行した上ですべての機能が正しいことを判定できなければ、その価値は大きく損なわれます。

AIアーキテクチャの課題

AIデザインはシリコンに対する要求が非常に厳しく、設計は困難を極めます。AIでは主に汎用行列乗算(GEMM)と畳込みの機能が使われますが、これらの処理では膨大な数の積和演算(MAC)が実行され、大量のデータ移動が発生するため、消費電力が大きな問題となります。演算とメモリーのバランスも慎重に見極める必要があります。メモリーに関しては、データ転送がボトルネックとなって性能が頭打ちになるのを防ぐため、十分な容量と通信帯域幅が求められます。

AIソリューションは、ハードウェアの上位に完全なソフトウェア・スタックを置く構造で、ハードウェア設計ツールとAIソフトウェア開発キット(SDK)を組み合わて開発することによって完成します。しかし、スケーリングの観点で最も重要な役割を果たすのは、ハードウェアです。たとえばGoogle Assistantをここまで成長させるのに、TPU(Tensor Processing Unit)がなければ現在の2倍の規模のデータセンターが必要であったであろうとGoogleは指摘しています。McKinseyによると、今後、AIハードウェアはSoC、またはTPUのようなASICが大半を占めるようになると予想されています。

PPAとは、動作速度、消費電力、およびシリコン面積(すなわちコスト)のバランスが最適となるようにトレードオフを実践することを言います。AIハードウェアでは、これら3つの要素すべてが重要になってきます。

  • 推論は、その実行場所がクラウドかエッジかを問わず、音声アシスタントなどのアプリケーションではリアルタイム処理となることが多いため、スピードが命となります。クラウドでの学習はリアルタイム処理ではありませんが、膨大な演算処理が発生するため、やはりスピードが重要です。
  • エッジ機器はバッテリーで動作することが多く、消費電力が特に重視されます。クラウドでは消費電力の優先度はそれほど高くありませんが、データセンターの消費電力(冷却コスト)を抑えるという意味では、やはり消費電力の削減が求められます。
  • エッジ・アプリケーションでは、低コストのハードウェアでAI機能をサポートすることになるため、コストも重視されます。クラウドでは、同じハードウェアを多くのクライアントに対して再利用でき、ハードウェアの利用に対してクラウド・プロバイダーが課金できるため、コストはそれほど大きな問題とはなりません。

これら3つの属性のバランスをとるのは容易ではありません。場合によっては複数のアーキテクチャを検討することも必要になりますが、1つのアーキテクチャを検討するだけでもEDAツールには多大な負担がかかります。

デザイン最適化によるPPAの改善

PPAを改善するため、最近のEDAツールは合成からインプリメンテーションまでのRTL-to-GDSIIフロー全体でAI指向の最適化を適用するようになっています。AIデザインは演算量が膨大で、データパスの量も非常に多いのが特徴です。そこで、複数のデータパス演算を結合して効率を高めるデータパス最適化という手法を利用します。これによって冗長性が取り除かれ、PPAが最適化されます。PPAを更に改善する手法として、リタイミングと境界最適化があります。境界最適化では、隣接する2つのブロックの境界が最適化されます。たとえば、あるブロックにインバーター出力があり、次のブロックにインバーター入力がある場合、両方のインバーターを取り除くことができます。

AIデザインは、演算ユニット同士が多数の配線で相互に接続されるため、配線が非常に混雑します。最初の合成時点でタイミングと消費電力の目標を達成できたとしても、配線ができなければそのデザインは実用になりません。なるべく早い段階で配線混雑の情報を設計フローに取り込むことにより、設計者は最適化によって配線混雑度にどのような影響が及ぶかを早期に確認できます。混雑度の解析については、合成ソリューションとインプリメンテーション・ソリューションで同じエンジンを使用することが最低でも望まれます。更に、これら2つのソリューションが共通のデータ・モデル上で動作するのであれば、下流工程での最適化を上流工程で適用したり、逆に上流工程での最適化を下流工程で適用したりすることも容易になります。

図1:AIデザインの合成時に高度な最適化を利用

高度な最適化を適用すると、デザインの構造に大規模な変更が生じます。これらの変更のすべてが完璧に行われ、元の機能がそのまま維持されるのであれば、言うことはありません。しかしマスク・リスピンのコストや市場投入の遅れによる機会逸失のコストを考えると、合成イタレーションを含む設計プロセスのなるべく早い段階でフォーマル検証を開始し、さまざまな最適化を適用した後もデザインが最高の結果品質(QoR、PPA)を達成していること、そしてデザインが検証可能であることを確認しておきたいところです。

高度なフォーマル検証により、必要な証明を得る

設計フローおよび最適化の前後で全体的な機能が変わっていないことの確証を得て、その確証をすべてのステークホルダーに与える唯一の方法となるのが、フォーマル論理等価性検証です。しかし非常に複雑な最適化の場合、等価性を検証すべき内部ポイントが不明瞭になってしまうことがあります。このような場合、等価性の証明を得るまでに非常に長い時間がかかり、時には証明が得られないまま終わってしまうこともあります。そうなると設計エンジニアは最適化機能をオフにせざるを得ず、PPAの目標を達成できません。

 

このため、等価性検証ではスピードが非常に重要になります。合成は複数回の実行が必要になることがあるため、形式的証明も何度も実行することになります。逼迫するスケジュールの中で等価性検証がボトルネックとなってしまっては、設計チームが等価性検証を省略してしまい、デザインがリスクにさらされるおそれがあります。短時間で簡単に証明が得られるようにするためには、等価性検証エンジンが最適化の内容を理解した上で機能の等価性を証明する必要があります。この「知識」により、等価性チェッカーはどのような変更がなされたのかについてヒントを得ることができ、そのヒントに基づいて、最適化プロセスの各ステップでデザインに加えられた変更の前後で機能が維持されていることを証明すればよいことになります。

 

テープアウトが目前に迫ると、ECO(Engineering Change Order)が必ず発生します。人手では実装できないような大規模かつ複雑なECOは、ECOプロセスの最初の段階で合成を実施する必要があります。ECOツールがパッチを生成する際のECO合成で最適化をオフにしていたのでは、PPAの限界を打ち破ることは望めません。ECOソリューションは最初の合成で行われた最適化の内容を維持する必要がありますが、ツールチェーン全体を実行することは避けなければなりません 。そこで、局所的な修正を加えた後でも、最適化の内容およびECOに関係しないその他すべての機能が元のまま維持されていることを確認できるようにするため、等価性チェッカーにはECOプロセスのガイダンス機能が求められます。

図2:ECOフローでも、元の合成と同じ高度な最適化を使用することが必要

熾烈を極めるAI競争

AIは現在注目を集めている新分野であり、誰もがAIの活用法を模索しています。AIプラットフォームを活用してソフトウェアの分野で差別化を図ろうとする企業もあれば、カスタム・チップを開発しようとする企業もあります。いずれにせよ、今後はより多くのチップが販売され、より多くのシステムに搭載されるようになります。

AIがようやく成熟期に差しかかった今、あらゆるプレーヤーが最小の消費電力とコストで最高の性能を発揮するアーキテクチャの開発を競っています。個々のデザインにおいては、性能、消費電力、面積(コスト)という3つの指標のトレードオフが必要となりますが、今後はそのトレードオフをなるべく少なくし、これら3つの指標すべてを可能な限り最適化しようとする取り組みが活発になるでしょう。

この取り組みには、効果的なEDAツールが欠かせません。これらのツールが備える高度な最適化機能を利用すれば、それほど多くの人手を必要とせずにPPAの結果品質を大きく向上させ、開発スケジュールの遅れも防ぐことができるようになります。しかしデザインのリスピンが発生した場合のコストを考えると、最高のQoRを達成すると同時に、デザインが検証可能であることが重要になってきます。

そのための手段となるのが、等価性検証です。しかしEDAツールによる最適化は非常に複雑化しており、その妥当性を証明するには、これら最適化の内容を理解できる等価性検証ソリューションが必要となります。シノプシスの論理等価性検証ソリューションFormality®は、合成ソリューションDesign Compiler®やRTL-to-GDSIIソリューションFusion Compilerによる高度な最適化の内容を正しく理解し、これらの最適化が正しく行われていることを証明する等価性検証を短時間で完了できます。この結果、PPAの優位性を備えたAIチップ・デザインを競合製品がひしめく市場に安心して投入できるようになります。