Google謹製! 「Dev board」は機械学習用のTPUを搭載したエッジデバイス向けSBC

2019年3月6日、GoogleがローカルAI向けプラットフォーム「Coral(β)」と5種類の製品を発表しました。
この中にGoogle謹製の「Google Edge TPU(TensorFlow Processing Unit)」を搭載したSBC(シングルボードコンピューター)「Dev board」が含まれており、発売も開始されています。

スポンサーリンク

スペック

model Dev board
メーカー Google
発売日 2019/03
価格 149.99ドル
価格(日本円)
CPU NXP i.MX 8M SOC(4コア)
(1.5GHz A53 x 4 + M4F x 1)
GPU GC7000 Lite
メモリー 1GB LPDDR4
サポートOS Debian
有線LAN 1GbE x 1
Wi-fi 802.11 ac(2×2)
Bluetooth 4.1
チップ Google Edge TPU
ATECC608A
ストレージ 8GB eMMC
microSD
USB 3.0 x 1
3.0 x 1(type-C)
2.0 x 1(micro for serial)
GPIO 40pin x 1
映像 HDMI(2.0a)
MIPI-DSI x 1
カメラ MIPI-CSI2 x 1
オーディオジャック 3.5mm x 1
4pin speaker
PDM mic x 2
その他インターフェース
消費電力
電源 DC 5V(type-C)
85mm
奥行き 56mm
高さ 17.08mm
22.38mm(FAN込み)
その他 端子含めると88.10mm×59.90mm
TPUモジュールは48mmx40mmx5mm

TPUについて

TPU(TensorFlow Processing Unit)は、Googleが開発し、オープンソースで公開している機械学習ソフトウェアライブラリ「TensorFlow」に最適化させたカスタムASIC(application specific integrated circuit、特定用途向け集積回路)です。

Googleは2016年5月に第1世代TPUを公開、この時点で1年以上の稼働実績を持っていました。この第1世代TPUは囲碁の「AlphaGo」などにも使われました。
機械学習の処理は大きく「推論」と「トレーニング」に分かれますが、第1世代TPUでは「推論」のみ処理できました。

参考:Google supercharges machine learning tasks with TPU custom chip – Google Cloud Blog

2017年5月には「Google I/O 2017」で第2世代TPUが公開されました。第1世代TPUで行っていた「推論」に加え、「トレーニング」も可能となっています。
1ユニットあたり4プロセッサで構成され、180TFLOPSという演算性能を誇り、64ユニット構成で11.5PFLOPS(ペタフロップス)に達しました。

参考:Introducing the TensorFlow Research Cloud – Google AI Blog

2018年5月の「Google I/O 2018」では第3世代TPUが公開、第2世代TPUの8倍の処理能力となり、100PFLOPS以上という驚異的な演算能力を獲得しましたが、発熱量が高すぎて「Googleのデータセンターに初めて液冷システムを導入」することになったそう。

参考:Google launches the third version of its A.I. chips, an alternative to Nvidia’s - CNBC

ここまでのTPUは全てデータセンター内で稼働し、クラウド上で利用するものでしたが、2018年7月、「Google Cloud Next ’18」内でエッジ側、つまりローカル側で使用する「Edge TPU」を発表、同時にほぼ製品版となるボードも公開されていました。当時のニュース記事を見た感じではほぼ「Dev board」です。
当初は2018年秋に発売となっていましたが、半年ほどずれ込んでの発売となっています。

処理性能は4TOPS(Tensor Operations Per Second)で消費電力は2Wとされています。
対応するフレームワークは「TensorFlow Lite」となっています。

ちなみにもうちょっと汎用性のある機械学習用プロセッサであるNPU (Neural Network Processor)を搭載する「RK3399Pro」の処理性能が2.4TOPSです。

処理性能の単位がFLOPSからTOPSに変わっていますが、すごく大雑把に言うと、FLOPSは浮動小数点計算能力、TOPSは行列計算能力となります。

参考:Edge TPU – Google Cloud

特徴

「Dev board」はSoC、TPU、メモリ、8GB eMMC、Wi-fi/Bluetoothチップを載せたSoM(System on Module)である「Edge TPU Module」と、インターフェース端子や電源端子を備えた「Baseboard」で構成されます。

SoCにはオランダ NXPセミコンダクターズN.V.が産業機器・スマート家電向けに発表した「i.MX 8M」を採用しています。

「i.MX 8M」はビデオ処理、オーディオ処理が強化されています。
「i.MX 8M」の”M”は「Streaming “Media” Application向けプロセッサの”M”」ということからもそのことが伺えます。
映像系・音声系の機械学習にも十分な能力が発揮できるようにこのSoCが選ばれたんじゃないかと思います。

メモリは1GBです。これ、足りるんでしょうか?
Googleが自信を持って出してきたのですから、足りるんでしょうね…

Wi-fiは802.11ac(2×2)なので、最大867Mbpsですね。

インターフェースです。
HDMIとかUSBとか、40pin GPIOとか、SBCではよく見かける端子が揃っています。

変わったところでは4ピンのステレオスピーカー用ターミナルコネクタがあります。
説明によると4Ω、3Wスピーカー推奨とのこと。ノートPCよりはマシな音質といったところでしょうか。

また、DIPスイッチがあり、ブートメディアを明示的に選択することができます。画像ではブートメディアとしてeMMCが選択されています。
これ、他のSBCにも欲しいです。

「Edge TPU Module」と「Baseboard」は3つの100pinコネクタで接続されています。
この中にはW-LAN用のPCIe(Key-E)やS/PDIFなども入っていますが、「Baseboard」には実装されていません。

「Edge TPU Module」のブロックダイアグラムはこんな感じです。

「Baseboard」のブロックダイアグラムはこうなっています。

電源は5V@2〜3Aで、電源専用のType-C端子から入力します。

まとめ

ついに出たか…という感じのGoogle謹製SBCは機械学習(TensorFlow)向けでした。
しかし、「Dev board」って名前はどうにかならなかったんでしょうか…

メモリこそ少ないものの、映像系・音声系が充実しているので、機械学習以外にも自作のディスプレイ付きスマートスピーカーなんてものにもいいかもしれません。

気になる価格は149.99ドル(約16,600円)です。
3月4日にSeeed Studioがフライングで予約開始しましたがあっという間に売り切れ、その後ページが閲覧できなくなりました。
現在公式サイトではmouserが紹介されています。

販売ページ

記事執筆開始時は在庫が600ほどあったのですが、今見たら売り切れてますね…

関連リンク


実践 Deep Learning ―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム (amazon)

Dev Board – Coral(β)
Edge TPU Devices – AIY(AI+DIY) with Google