このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第708回

Doomの自動プレイが可能になったNDP200 AIプロセッサーの昨今

2023年02月27日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 映像を扱う場合のネットワークであるが、2018年の研究で、MobileNetV1を実装する際にwidth multiplier(要するに画像の幅である)であるαというパラメーターを実装することで、ネットワーク規模を大幅に抑えられるという話は知られている。

入力画像を絞ると当然精度は落ちることになるが、それこそ人間かどうかの確認であればこの程度の精度でも十分、と言う見極めもできるわけだ

 ImageNet V1は224×224ピクセルがデフォルトの画像サイズだが、α=0.25というのは画像サイズが56×56ピクセルまで落ちることになる。ただここまで落とすと、パラメーターの数は500K個に抑えられる。パラメーターは当然8bitなので、パラメーターの保持には500KBが必要と言う計算になる。

 NDP200はパラメーター用に640KBのSRAMを内蔵しているので、0.25ImageNet V1を動かすのであれば、外部のメモリーを一切利用せずに内部のSRAMだけで処理が完結することになる。

 ただここまで解像度を落としてどの程度の精度で処理ができるのか? という話だがこれも先行研究があり、入力画像を1000クラスの動物に分類するという処理で86.4%の精度を実現したとしている。顔検出であれば十分な精度としていいだろう。

これは入力画像を0.25MobileNet-128、つまり32×32ピクセルまで減らしたケースで、これならパラメーターは200KBで済む計算になる

 下の画像が実際のSyntiant 2コアの構成である。

データバッファが2つあるのはダブルバッファリング(例えば画面の取り込みであれば、片方のバッファから前フレームの画面データを読み込んで処理するのと並行して、もう1つのバッファに現フレームの画面データを取り込む)を行なえるようにするためだろう

 肝心のプロセッサーエレメントというか、Syntiant風に言うならMACユニットの数そのものは公開されていないが、MACデータパスブロックには2つのデータバッファ(それぞれ192KB)と640KBのパラメーターバッファがそれぞれ3.2GB/秒の帯域で接続され、最大で9.6GB/秒の帯域を利用できるとする。

 これ、AIプロセッサーの内部メモリー帯域としてはかなり低い方の部類に入るのだが、消費電力が1mW台のプロセッサーということを考えればかなり高い帯域なのがわかる。1W相当まで動作周波数を上げたら、9.6TB/秒におよぶ計算になるからだ。

 このMACユニットは、8bitなら32個、16bitなら16個の同時演算が可能になっている。もっともこれで縦幅が32個なのか? というとそれはおそらく早計で、これが縦横に複数個並んでいると考えるべきだと思われる。

畳み込みでは8bit出力で問題ないが、アクティベーションのための総和の計算は8bitではあふれるおそれがあるので、16bit幅にする必要がある。このあたりは柔軟に構成を変更できるようだ

 すでにこのNDP200を搭載した開発ボードも完成しているそうで、Raspberry Piの上にこれを乗せて利用できる格好だ。

オンボードでQVGA CMOSイメージセンサー(Pixart PGA7920)を搭載しており、これを利用しての画像処理アプリケーションがすぐ手掛けられる。ちなみにPAG7920の下に位置しているのは、8×8ピクセルの熱センサーであるPixArtのPAF9701。他にボッシュの6軸加速度センサーも実装されている

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン