機械学習がSoCの設計を向上させる時代の到来

  • By Anush Mohandass
  • 3rd 10 2016
  • 2

Amazon Echo、Nest、Googleマップ、Waze、Zillowなど、生活を少し快適にして楽しみながら使える便利なスマート製品は、消費者から絶大な支持を得ています。これらのアプリケーションがこれほどまで高度で便利である理由は、基盤技術である機械学習にあり、この技術はあらゆる分野で採用されるようになっています。今や、Amazon Echoに搭載されたAlexaを使用して、SoC設計向上のためのアドバイスを得られる時代が到来したと言えるかもしれません。

SoCアーキテクチャ設計の次なるフロンティア、機械学習

従来のSoC設計アプローチでは、IPブロックとインターコネクトを備えたシステムを設計し、設計に関する決定がほぼすべて終わった開発プロセスの後期段階になってから、そのシステムをシミュレーションします。これは基本的に、コストと時間がかかるだけでなく、高リスクも伴う試行錯誤のアプローチです。理想的なアプローチは、システムアーキテクチャ設計者が開発プロセスの早期段階にモデリングとシミュレーションを実行し、その後で統合を開始することです。このアプローチでは、設計を開始する前にさまざまなモデルやアーキテクチャオプションをすばやく評価し、システムレベルのパフォーマンスを正確に予測するためのツールが設計者に与えられます。これにより、開発を遅らせる作業し直しの多くを排除でき、完成したSoCが設計者の意図するパフォーマンス基準を確実に満たすようになります。

実際、機械学習手法により、この理想的なアプローチを今日実現できる可能性が十分にあります。機械学習は、誰もが話題にしているように見えて、ごく一部の人しか実際には理解していないテーマの1つです。一方では万能薬のようにもてはやされ、他方では脅威としてとらえられるという、理解しにくい面があることは確かです。

機械学習とは何か?

スティーヴン・ホーキングは次のように懸念を示しています。「完全な人工知能を開発できたら、それは人類の終焉を意味するかもしれない。人工知能が自分の意志をもって自立し、これまでにないようなスピードで能力を高め、自分自身を設計し直すこともあり得る。」しかしここで覚えておくべきことは、人工知能と機械学習が根本的に異なることです。人工知能が目指しているのは、自律的に考え、斬新で予測不可能な答えを見つけることのできる頭脳を模倣することであるのに対し、機械学習は、データに含まれるパターンを学習し、新しいデータで類似したパターンを予測するアルゴリズムまたはモデルのことです。

 shutterstock_486896974

機械学習とは本質的に、分析モデル構築を自動化するデータ分析手法であると言えます。機械学習の目標は、与えられた問題をサンプルデータや過去の経験に基づいて解決できるプロセッサまたはコンピューティングエンジンをプログラミングすることです。データ構造を探り、十分に理解されているデータに理論的分布を適合させるプロセスでは、統計的学習手法が用いられます。新しいデータが利用可能になると、アルゴリズムがデータを探索して学習を重ね、その成果に基づいてモデルに改良を加えます。通常、機械学習では、堅牢なパターンが見つかるまで何回もデータを通過させる反復的なアプローチが用いられます。これらの手法により、精度の高い予測を行うことが可能になります。進化したモデルを使用すると、信頼性に優れた反復可能な決定を自動的に生成できるため、人間が介入する必要性が低減されます。

SoC設計向上のためのツール

NetSpeedでは、過去数年間にわたり、SoCインターコネクトの最適化においてお客様をサポートする機械学習技術の開発を進めています。これまでに特定できた機械学習の主なメリットの1つとして、システムと人間の相互作用を考慮し、それがクオリティオブサービスにどのように影響するかを理解したうえで、システム全体をモデリングできることが挙げられます。また、あらゆるユースケースにわたってパフォーマンスと電力効率を最適化することも可能になります。それとは対照的に、従来のアプローチは分割統治法に傾倒しており、個々のサブシステムを個別に最適化するため、ボトルネックの発生やワーストケース条件を処理するシステムの過剰設計を招きかねません。

graph

上の図は、作業を大量に伴う典型的なツールチェーンを並べて比較したものです。機械学習の場合、システム帯域幅はすべてのユースケースで最適化されていました。手作業の度合いの高い従来型ツールの場合、システム帯域幅はほとんどのユースケースで最適化されておらず、全体的なパフォーマンスも機械学習を大きく下回っています。

機械学習は、経験豊富なSoCアーキテクチャ設計者に代わるものでは決してありません。優れた数学的手法に基づいて、設計上の決定を向上させる答えを導き出すツールの1つにすぎません。とは言え、無意味なデータを入力しても、無意味なデータしか出力されないのが数学の常です。機械学習が有益なツールであることは確かですが、熟練したアーキテクチャ設計者が使ってはじめてその効果が発揮されます。

Request A Demo

ajaxloader

Crafted @ Lollypop.biz