全2502文字
英Arm(アーム)は、2019年10月8~10日(米国サンノゼ)に年次プライベートイベント「Arm TechCon 2019」を開催した。AI技術関連で注目を集めたのが、同社の「bfloat16」への対応である(図1)。bfloat16は、米Google(グーグル)が独自に定義したディープラーニング向けの浮動小数点フォーマット。同社のディープラーニングアクセラレーター「TPU」で採用されている形式だ。以前は同社のみが利用していたが、米Intel(インテル)や米Facebook(フェイスブック)がサポートするなど、広がりを見せている。
Armは、「Armv8-A」アーキテクチャー(命令セット)の次世代仕様にbfloat16フォーマットを追加する。まずは、サーバー向けブランド「Neoverse(ネオバース)」のCPUコア「Zeus」でbfloat16をサポートする。Zeusは7nm+(EUVありの7nm)プロセスでの製造を前提にしており、2020年の発売予定である。
bfloat16では、浮動小数点の精度を示す「仮数部」に7ビットを、数値のダイナミックレンジを示す「指数部」に8ビットを割り当てる(図2)。仮数部が23ビット、指数部が8ビットのFP32(単精度浮動小数点)に比べて精度は下がるものの、指数部は8ビットで扱えるダイナミックレンジは同じにしてデータサイズを抑えたことが特徴である。ディープラーニングの演算負荷が減るほか、モデルも軽量になる。