富士通研究所は9月21日、学習の高精度化に向けたニューラルネットの大規模化に対応するためGPUの内部メモリの利用効率を向上させる技術を開発し、最大で従来比約2倍規模のニューラルネットの学習を可能にしたと発表した。同社では、今回開発した技術を富士通のAI技術「Human Centric AI Zinrai(ジンライ)」の一つとして、2016年度末までの実用化を目指すほか、すでに発表しているGPUの並列化によるDeep Learning学習処理の高速化技術(8月9日発表)と組み合わせて、技術の改善を行っていくとしている。
Deep Learningの学習処理においては大量の演算が必要となるため、近年ではGPUを用いて高速に学習を行う技術が注目されている。GPUの高速な演算性能を活用するためには、一連の演算に使用するデータをGPUの内部メモリに格納する必要があるが、GPUは搭載しているメモリの量が一般的なコンピュータより小さいことから、学習可能なニューラルネットの規模が制限されるという課題があった。
この課題に対し富士通研究所では今回、学習の開始時にニューラルネットの構造を解析して、メモリ領域を効率的に再利用できるように演算順序とデータのメモリへの配置を最適化するメモリ効率化技術を開発した。具体的には、ニューラルネットの各層での学習処理において、重みデータから中間誤差データを求める演算と、中間データから重みデータの誤差を求める演算を独立に実行できることに着目して、学習の開始時にニューラルネットの各層の構造を解析し、より大きなデータを配置しているメモリ領域を再利用できるように演算の処理順序を切り替えることにより、メモリ使用量を削減しているという。
新たに開発されたメモリ効率化技術
同社ではこの技術を、オープンソースソフトウェアのDeep Learningフレームワーク「Caffe」に実装しGPUの内部メモリ使用量を計測した。研究分野で広く使用されている画像認識用ニューラルネット「AlexNet」(2012年の画像分類コンテストで世界最高認識精度を達成)や「VGGNet」(2014年の位置検出コンテストで世界最高認識精度を達成)を用いた評価では、本技術適用前と比較し40%以上のメモリ使用量削減を達成するなど、GPU1台あたり最大で約2倍の規模のニューラルネットを学習することが可能になったという。
これにより、複雑な処理が求められる大規模なニューラルネットでもGPUの性能を生かした高速な学習演算が可能となり、より高精度なモデルの開発が加速するとのこと。