シーケンス予測(sequence prediction)にニューラルネットワークを用いるのは,音声認識や機械翻訳,言語モデルなどさまざまなアプリケーション分野において,計算機科学ではよく知られた問題だ。ここで使用されるモデルは膨大な計算量を必要とするため,それが実用上の適用性を制限する理由となっている。
Facebook AI Researchの研究者たちは,膨大な語彙に対してニューラルネットワークを効率的に教育するため,GPUに特化した近似アルゴリズムであるAdaptive SoftMaxを設計した。公開された論文の説明によると,Adaptive SoftMaxは,大規模なコーパスにおける単語分布のアンバランス性を利用して,計算複雑性の期待値を最小化可能なクラスタを生成する。完全なSoftMaxは語彙コーパスのサイズに対して線形相関を持つが,Adaptive Softmaxはほぼ線形である上に,GPUでの使用に最適化されている。
Adaptive SoftMaxの開発に関連してFacebookは,GPUでの回帰性モデルの設計とテストを行なう研究者を支援すべく,オープンソースライブラリのtorch-mnlibをリリースした。torch.cudnnは,NVIDIA CUDA Deep Neural Networkライブラリを使用して,ベースラインへの簡単なアクセスを可能にする。RNN, LSTM, GRUなどの再帰型ネットワークがこのライブラリを使って実装されており,再帰型ネットワークを設計する上でのビルディングブロックとして,研究者が手軽に使用することができる。
単一GPUでのアルゴリズムのテストにおいて,Facebookの研究者チームは,完全なSoftMaxに近い正確性を維持しつつ,12,500ワード/秒のパフォーマンスを達成している。研究者によるベンチマークパープレキシティ(Benchmark perplexities)では,GoogleのJozefowicz氏らが2016年に32GPUと3週間を費やして30(低いほど高速)を,18GPUを使用したトレーニングで44を達成している。Tensorflowを使用したGoogleのLSTMモデルの実装がGitHubで公開されており,その主要な作者のひとりがRedditの関連スレッドの中で,パープレキシティのパフォーマンスについて興味深い説明をしている。これとは対照的にAdaptive SoftMaxでは,14時間以内で50のパープレキシティを,2日で43.9を,6日で39.8を実現している。CuDNNライブラリがない場合には,パフォーマンスは30%程低下する。ツールとテクニックはすべて,入手可能な最大規模のコーパスであるEuroParlとOne Billionコーパスを対象にテストを実施している。
この記事を評価
- 編集者評
- 編集長アクション