これまでエッジ環境では実現が難しかったディープラーニングモデルの実装が現実的になる日は近そうだ――。
沖電気工業株式会社(OKI)は今年6月に、ディープラーニングモデル軽量化技術を発表した。本件についてはLedge.aiでも記事で取り上げた技術内容で、AI開発に携わる多くの読者から非常にさまざまな反響をいただいた。
そこで、Ledge.aiではOKIに対し、「そもそもディープラーニングモデル軽量化とは何なのか」「軽量化技術を使うことでどのような恩恵を受けられるか」などを取材した。
OKI イノベーション推進センター AI技術研究開発部 先端AI技術チーム 山本 康平
AI開発に直接的に携わっていない方にとっては、「ディープラーニングモデルを軽量化」とはあまり耳にしたことがない取り組みかもしれない。ただ、開発に関与していなくても知っておいて欲しい、大きな可能性を秘めている技術だ。
まず、山本氏はディープラーニングモデルの現状について解説してくれた。
―― 山本氏
「AIや機械学習を取り組む企業様が増えていますよね。とくに最近では、高精度なAIモデルを求められることも多くなっています。同時に、交通インフラなどをはじめ、エッジデバイスへのAI実装を進める話題も豊富になってきました。
ただ、このエッジデバイスでのAI活用では、開発者にとって"困りごと"が発生しているのです。それが『学習環境と推論環境では使用するハードウェアのスペックが異なる』という点です。
一般に、学習環境では膨大なモデルパラメーターを最適化する必要から高スペックなデバイスが採用されるのに対し、推論環境ではその最適化の必要がないためエッジデバイスなどの比較的に低スペックなデバイスを採用することが多いです。また、ディープラーニングモデルは大量のデータで大規模なモデルを学習させるほど高精度になる傾向があります。そのため、学習環境でいくら高精度なモデルを作ったとしても、推論環境であるエッジデバイスのスペックには限界があり、搭載後の動作が非常に遅いだとか、そもそもメモリー不足で搭載できない、といった問題が発生するのです」
では、できる限り推論環境でも学習環境同様に高精度なモデルを搭載させるには、どうすればいいのか。それこそがまさに軽量化だ。
―― 山本氏
「学習環境で開発した高精度なモデルを低スペックなエッジデバイスに搭載する工夫として、モデル軽量化技術があります。モデル軽量化技術とは、主にはモデルのパラメータ数や演算回数を削減することによって、推論にかかる処理負荷やメモリー使用量、消費電力を低減するものです。
軽量化技術自体は現在も世界中で研究が進められており、モデルを軽量化するほどモデルの認識精度が劣化する傾向があるため、軽量化してもなるべく精度が劣化しないような、軽量化の度合いと精度劣化のトレードオフ関係を改善するアルゴリズムが求められています。
また、モデル軽量化技術には様々な種類がある中で、冗長な重みパラメータやニューロンを削減する『プルーニング』や、演算処理でのbit数を削減させる『量子化』などの手法が一般的ですが、実際にはいずれの処理も効果的に適用するには担当者の技術知識が必要です。
そのため、モデル軽量化技術はエッジデバイスへのスムーズな実装など、ディープラーニング技術のさらなる飛躍に必要なファクターではあるものの、"難易度が高い"とされていました」
そんななか、OKIが発表したのは「PCAS(Pruning Channels with Attention Statistics)」と呼ばれる軽量化技術における新たなプルーニング手法だ。
PCASは、どのチャネル(構造化されたニューロンのグループ)がモデルの精度に対して重要なのかを推定することで精度を維持させつつ、従来人手によって決められていた“畳み込み層”ごとの削減率などの設定を不要とさせる技術。端的に言えば、PCAS技術を使えば、もととなるモデルに対し、「どのチャネルならどれだけ削減しても精度への影響が小さいか」を自動的に最適化させられるようになるのだ。
このPCAS技術について山本氏は「専門家のようなスキルが不要で利用できるため、軽量化における属人化を解消できる」と付加価値までも説明してくれた。
―― 山本氏
「先にもお話したとおり、従来のディープラーニングモデルのプルーニング適用には技術的知識が必要になります。また、モデルの畳み込み層の数によっても、それぞれで削減率を設定しなければならないため、手間暇がかかる作業でした。たとえば、モデルの畳み込み層が50層ある場合、50層それぞれに削減率を設定するので時間もかかります。また、削減率は人が決定するため最適でない可能性も残ります。
一方で、PCAS技術を使えば、チャネルごとにモデル精度にどれだけ影響を与えるのかを統計量に基づいて分析するため、『このチャネルは40%削減しても問題ない』『こちらのチャネルは重要なので10%までしか削減しないほうがいい』など、層毎の削減率を自動的に最適化させられるようになります。
技術的な話になりますが、この統計量とは、アテンション統計量を指しています。オリジナルのモデルに新たに付加した小型ニューラルネットワークを最適化させ、その出力特計量を“冗長チャネルの判断基準”(あるいはチャネルの重要度)として採用します。これらの作業で導いた統計量と、モデル全体で目指す圧縮率を掛け合わせることで、『どのチャネルをどれだけ削減するか』を実行させています」
そしてOKIが発表したPCAS技術にAI業界が注目している理由は他国の最新技術と比較しても優位性があることだそうだ。
―― 山本氏
「世界中の研究機関でも軽量化技術への取り組みが進められていますが、PCAS技術による軽量化は同等以上の効果があるとベンチマーク結果で示せています。
パラメータ数の削減量においては、従来方式のほうが秀でている箇所はありますが、オリジナルモデルと軽量化後のモデルの精度を比較した"精度偏差"では、大きな差を出すことなく軽量化に成功しています。
推測も含まれていますが、従来方式で良い結果を出すためには、層毎の削減率やそれぞれ方式特有のハイパーパラメータなどのチューニングを行う専門の作業者が必要と考えています。そのため、属人化させないという点も踏まえれば、我々OKIのPCAS技術に優位性があると言えるのではないでしょうか」
上図がPCASと従来方式の軽量化技術を比較したベンチマークだ。意外にもPCAS技術を活用したことで、精度偏差が向上したものもあり、モデルを軽量化するだけでなく精度を向上させられるケースもあるという。
PCAS技術を活用すれば、これまでのエッジ環境では超えられなかった壁を乗り越えられるかもしれない。山本氏は最後にPCAS技術の特長だけでなく、技術活用によるメリットを教えてくれた。
―― 山本氏
「PCAS技術は、オリジナルモデルと比較しても遜色ない精度を保持させる軽量化手法です。そして、軽量化を専門とする作業者を必要としない点も特長のひとつです。
使える用途は幅広く、これからエッジ環境へのモデル開発に着手する方々はもちろん、既存のエッジ環境でのAIモデルをより効率化させたい方々など、多くのシーンに当てはまると考えています。
モデルを軽量化することで、低スペックなエッジデバイスへの実装が可能になり、低消費電力化やコストの低減などに効果を発揮します。また、エッジならではのリアルタイム性の向上にも寄与します。
それこそ、これまでは『エッジ環境だから……』として、あきらめていたような精度とモデルの重さ問題も、PCAS技術を使えば解決できるかもしれません。エッジでしか対応が難しいAI活用なども今後進むなか、限られたデバイススペックで効率化させていくのであれば、PCAS技術の活用をオススメします」
★
OKIとしてもPCAS技術は今後、広く汎用的に普及させたいとしている。さまざまな企業でもAIのエッジ実装への着手は増えてきているが、デバイスのスペック問題で頭を悩ましていた人は少なくないはず。そんななか登場したOKIのPCAS技術によって、これまでのディープラーニングモデルの常識が覆るかもしれない。
先に紹介したベンチマーク結果でも記載しているが、軽量化したことでモデルの精度が下がるどころか、無駄を省くことで精度が上がった例もあるところは興味深いポイントだ。
ちなみに、OKIでのディープラーニングの軽量化への取り組みは2016年ごろから開始していたとのこと。当時から「今後は高精度なモデルが続出してくるが、それを動かすための技術も必要になる」と考えており、念願かなって実ったそうだ。