1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

音声にターゲットを絞ったSyntiant AIプロセッサーの昨今

ASCII.jp / 2023年1月23日 12時0分

 今回お届けするのはSyntiantである。Syntiantは2017年に創業しているが、2018年には早くも最初のプロセッサーシリコンを出荷開始しており、出荷開始後1年半で100万個、2021年1月の時点では1000万個の製品出荷を達成している。

 Syntiantの創業者はJeremy Holleman博士(現Chief Scientist)、Kurt Busch氏(現CEO)、Pieter Vorenkamp氏(現COO)とSteph Bailey博士(現CTO)の4人。

 このうちVorenkamp氏とBailey博士は2006~2016年の間Broadcomに在籍(Vorenkamp氏はSVP, Operations Engineering/Operations & Central Engineering、Bailey博士はSenior Technical Director)だったのでまだつながりがありそうなのはわかるが、Busch氏はDECやインテル、ADI、Mindspeedなどいくつかの半導体企業を渡り歩いた後で、2015年まではIoT機器を手掛けるLantronixのCEOを務め、その後自身で興したBusch Toschi, LLCというテクノロジー企業向けビジネスサポートの会社を経営していた。

 もっと関りがわからないのがHolleman博士で、Syntiant参画前はノースカロライナ大の准教授である。もっともそのHolleman博士は超低消費電力な回路のエキスパートでもあり、実はSyntiantのコアテクノロジーはHolleman博士によるところが多そうにも見える。

 Busch氏はテクノロジー企業の経営エキスパートという立場であり、Vorenkamp氏とBailey博士がビジネスの種を思いつき、Holleman博士を引き込んでテクノロジーを確立。そこでBusch氏に相談を持ちかけて起業、というあたりがありそうなパターンに見えるが、そのあたりの詳細はまだ定かではない。

NORフラッシュを使いアナログベースのMACエンジンを構築

 さてそのSyntiantのコアテクノロジーであるが、実は理屈は連載591回で紹介したMythicのものに良く似ている。マトリックス配置にしたフローティング・メモリー・セルに、あらかじめウエイトを保持しておく。その状態で入力された値をDAC(Digital Analog Converter)経由で、入力した値に比例する電圧の形でかけてやると、フラッシュに保持されたウエイトに比例する形での電流が流れる。これをまとめて測定することでMAC演算ができるという仕組みだ。

こちらは2019年のFlash Memory Summitで公開されたもの。連載591回のスライドと上下方向は逆だが、基本的に同じである

 このマトリックスになったフラッシュメモリーというのは、実はNORフラッシュそのものである。NANDフラッシュとNORフラッシュの違いは連載259回で説明したが、要するにBit Line(上の画像で言うなら縦方向の配線)がセルごとに用意されているのがNOR、複数のセルをまとめて1つのBit Lineで済ませているのがNANDである。

 NORはこの結果としてbit単位でフラッシュメモリーのセルにアクセスできるのに対し、NANDはブロック(これは製品によるが、KB~数十KB単位)でのアクセスしかできない。もちろんその分配線が減るので、フラッシュメモリーのセルを高密度に実装でき、結果として容量増大につながっているわけだが。

 話を戻すと、Syntiantは要するに普通のNORフラッシュを使い、Bit Lineに電流検知回路を組み込むことで、Mythicと同じようにアナログベースのMACエンジンを構築したわけだ。

 さて、この方式が回路構成的に有利なのはMythicの例でも明らかなのであるが、もちろん欠点というか問題がある。それは主に精度である。まず解像度とSN比の関係だ。

 当たり前ではあるのだが、精度を高くとろうとすると、フラッシュメモリーセルにかける電圧(上の画像で言えば、左側からDACを経由してかかる電圧)を高くした方が良い。その一方で、電圧を上げると当然消費電力も増える。したがって、どの程度の精度が必要かをきちんと見極める必要がある、という話である。

 Syntiantの試算では、8bit精度を保つ場合は1回の演算(というのが正確かわからないが、フラッシュメモリーセルに電圧をかける処理)の際の消費電力は20fJ程度と試算されるのに対し、3bit精度まで落とすと20aJ(=0.02fJ)と1000分の1に削減できるとする。

8bit精度を保つ場合は1回の演算の際の消費電力は20fJ程度だが、3bit精度まで落とすと20aJになる。ちなみに、fJ(フェムトJ:10^-15J)も珍しいが、aJ(アトJ:10^-18J)はもっと見かけない

 次が出力のADCの解像度である。ADCはDACの逆で、電圧を検出してこれをデジタル値で出力する。電流量の検出なのに電圧検知なのか? と思われるかもしれないが、電圧を直接検知するのは難しい。ホールセンサーなどもあるが、あれも実は中でホール素子と呼ばれるものを利用して電流に比例した電圧を検出しているのでやはりADCが使われる。

ADCの詳細。実はこのBoris Murmann博士の2019 ADC Surveyを見ても、SoA ADCなるものが出てこない。最新版でも不明である。SAR ADCの間違いだろうか?

 そこで電流から電圧を検出し(これはオームの法則で簡単に実装できる)、その結果をADCで取り込むことで結果的に電流値を検出するわけだが、当然だが0.1Vを8bit(=256段階)に区別するより1Vや10Vを区別する方が容易で、誤差も入り難い。したがって、電圧を上げた方が効果的ではあるのだが、これはそのまま消費電力増に直結する。

 ここでまた精度と消費電力のバーターになるわけだが、ちょっとした抜け道がある。このADCで検出するのは、畳み込み演算の最後の部分、つまり加算を行なう部分にあたる。加算するフラッシュメモリーセルの数が多くなればなるほど、合計の電流量(=ADCで検出する電圧)も大きくなることが期待できる。

 つまり同時に多数のフラッシュメモリーセルを加算する構成にすれば、電圧をそれほど上げなくても合計の電流量が増え、結果的に精度をそれほど落とさずに消費電力を抑えられる。

 他にも懸念事項がないわけではないが、それは既存の技術で対応が可能である、というのが発表内容であり、今回は省くが、実際に温度との相関やウエイトと精度の相関、消費電力とダイナミックレンジの相関などを実際に示しながら現実的に製品が製造可能であることをアピールしていた。

その他の懸念事項。オフセットは最初にClosed-loopで値を確認、フラッシュメモリーの記憶保持にまつわる問題は定期的に校正をかける、ノイズについてはそれを上回るレベルの電圧にすることで対応できる、としている

音声認識に特化したプロセッサーNDP100

 最初に書いたように2017年にSyntiantが創業された1年後に、最初の製品であるNDP100が発表された。

NDP100

 NDPは“Neural Decision Processor”であり、目的は“Always-On Speech & Audio Recognition Processor”である。つまり常時オンの状態で音声をチェックし、キーワード(“OK, Google”や“Hey, Siri”などの類だ)を認識すること「だけ」しかできない。

NDP100の内部構造。マイクロコントローラーとしてはCortex-M0+プロセッサーが搭載されている

 ただこの手のプロセッサーに確実にニーズがある、というのは連載665回のインテルGNAで説明したとおりだ。GNAは顔認証に向けて、映像から顔検出(顔かどうかだけを検出して、人の顔を検出したらホストを起こす)を行なうためのプロセッサーだが、こちらは特定の起動キーワードを検出してホストを起こすのが違いと言う程度である。

 この戦略はかなり賢い。というのは、それこそMythicのM1108でも、M.2カードの横幅一杯(パッケージそのものは20mm角程度に見える)の寸法であり、もちろん性能は高いのだがその分コストも高くなる。

 あとMythicはここでINT8を扱うために、2つのフラッシュメモリーセルを組み合わせて8bit精度を担保しているために、相対的にプロセッサーのサイズが大きなものになる。これに対してNDP100は本当に音声の、それもキーワード検索のみにターゲットを絞っており、そもそも演算精度をかなり落とせる。

 実際の細かな実装をSyntiantは公開していないが、2つ目の画像で3bitの数字が出てきているあたりは、内部の処理精度は3bitや4bit程度の可能性が高い。これは汎用を狙うにはいろいろ物足りないが、キーワード検出には必要十分である。

 そしてネットワークそのものもそれほど大規模である必要がない。一応NDP100の機能としては以下のことが可能とされているが、基本キーワード検出の延長である。

  • keyword speech interface(キーワード検出用トリガー)
  • wake word detection(起動ワード認識)
  • speaker identification(話者特定)
  • sensor applications(例えば侵入センサーなど向けに、窓が割れたりドアが開いたりといった音を検出する)
  • audio event and environment classification(音声と環境音の分類)

 そして小規模なネットワークを実装すれば済む結果として、稼働時の消費電力は140μW未満、寸法は以下の画像のとおりである。

比較対象は1セント硬貨(直径0.75インチ=19.05mm)である。パッケージの小ささがわかろうというもの

 価格は公開されていないが、なにしろこのサイズなのでかなりお安いことは間違いない。そして価格が安いというのは、機器への組み込みがしやすいということでもある。特に家庭向けの機器の場合、原価計算をそれこそ円単位(アメリカならセント単位)で行なうのが普通であり、よほどのことがないとコンポーネントの追加は許されない。

 ただ原価上昇に見合う性能があれば別である。今回の場合、NDP100を搭載することで、待機時の消費電力を大幅に削減できる=それだけバッテリー寿命も伸ばせるという点が大きく評価されたものと思われる。

 NDP100の場合、2018年6月に最初のサンプル製品の出荷が始まり、2019年8月には製品品質の検証が完了。同時にAmazonよりAlexaの認証を取得している。

後継のNDP120と汎用向けのNDP200

 NDP100に続いてSyntiantは、より高性能なNDP120の開発に着手、2019年8月に設計が完了するとともに、そこからGoogle Networkへの対応をスタートしている。

NDP120の構造。パラメーター数も最大700万とかなり大規模なネットワーク対応ができるようになった模様

 NDP120は最大7ストリームの音声対応や、Cadenceが提供するHiFi 3 DSPの搭載(これは音声のフィルタリングや複数種類のオーディオコーデックへの対応などを可能にする)、さらに性能を強化したSyntiant Core 2を搭載している。

 このSyntiant 2コアはNDP100に搭載された初代のコア(Syntiant 1)に比べて25倍のスループットを実現しているほか、8bit精度への対応を含むより広範な用途向けを狙ったものとなっている。

NDP120の最大層数は256、それぞれ4096ニューロンなのでトータルで1Mニューロン分のマトリックスが構成されているのだろう

 このNDP120のサンプル出荷は2021年1月からスタートしており、サンプル価格は6ドル(1万個発注時の1個あたり価格)と少しお高めになっているが、より高機能な用途を実現できるため、ハイエンド機器向けを狙っているようだ。

 さてNDP100&120は音声向けをターゲットとしているが、このSyndiant 2コアをそのまま利用して汎用向けとしたのがNDP200で、こちらは2021年9月に発表された。

おそらくSyntiant 2エンジンの規模を大きくしたか、複数搭載しているのどちらかかと思われる

 Syntiant社は当初と異なり、最近は“Application for Intelligence of Everything”をキーワードに、映像処理やEVのバッテリー制御、センサーデータの処理などさまざまな用途向けを、このNDP200をベースに提案している。また今年のCESでは、NDP120の廉価版としてNDP115も発表している。

サンプル価格は3.25ドル(1万個発注時の1個あたり価格)。Cortex-M0+やHiFi 3 DSP用に搭載されているメモリー量を減らすなど、いくつかの違いが見られる

 最初から大きな市場を狙うのではなく、まずは小さい市場を確実につかみ、そこから次第に市場を広げていくという、AIスタートアップらしからぬ堅実なビジネスを行なっているのがSyntiantというわけだ。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください