Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 計算と言語

モバイルデバイス向けの言語モデルの改善

新しい方法で、モバイルデバイスでの大規模言語モデルの利用がもっと効率的になったよ。

Fuwen Tan, Royson Lee, Łukasz Dudziak, Shell Xu Hu, Sourav Bhattacharya, Timothy Hospedales, Georgios Tzimiropoulos, Brais Martinez

― 1 分で読む


モバイルAIモデルの最適化モバイルAIモデルの最適化モデルを強化する。効率的なモバイルデバイス性能のために言語
目次

大規模言語モデル(LLM)が言語処理において大きな進歩を遂げて、さまざまな用途で素晴らしい成果を提供している。でも、これらのモデルをスマホみたいなデバイスに載せるのは難しいんだ。主な問題はメモリ、エネルギー消費、計算能力で、どこでも使うのが難しくなっちゃう。一つの解決策は、モデルの重みとアクティベーションを表現するのに少ないビットを使うこと。

現在ある多くの方法は、LLMを少ないビットで使えるようにするのに成功していて、たとえば重みを4ビットに変えるっていうのがある。でも、アクティベーションを16ビット以上に変えようとすると、計算要求が増えたり精度が大幅に落ちたりすることが多い。8ビットのアクティベーションは魅力的で、これはNPUsみたいなモバイルデバイスでLLMの性能を上げるのに役立つんだ。

この研究では、整数のみの量子化に焦点を当てて、デバイス上でLLMを使いやすくすることを目指してる。現在のデバイス用の量子化方法をじっくり見て、アクティベーションの量子化の課題に特に注目する。これらの問題に対処するために、以前の研究のアイデアを組み合わせて、重み変換とアクティベーション範囲を一緒に最適化するシンプルなポストトレーニング量子化方法を提案する。

この方法は、さまざまなLLMテストでほぼ損失のない量子化を実現できる点が特に目立つ。さらに、現在の方法と比べて計算に必要な時間とエネルギーを20-50%減らせて、実行に必要なリソースも少なくて、モバイルハードウェア、特にNPUsに対応してる。

今のところ、LLMは言語処理の方法を改善していて、人工知能の多様な用途を生んでる。しかし、デバイス上での使用はメモリ、計算能力、エネルギー消費が高すぎて、スマホみたいなモバイルデバイスにとっては大きな障害になることが多い。これらのモデルをデバイスで実行可能にする一般的な方法は、量子化、つまり重みとアクティベーションを少ないビットで表現することでコストを削減することなんだ。

LLMの量子化は主に二つのタイプに分けられる:重みのみの量子化と重み-アクティベーションの量子化。重みのみの量子化はモデルの重みを低ビット幅の整数に変える方法で、一般的に4ビットにしてアクティベーションは16ビットの浮動小数点値を保つ。これなら精度を保ちながらストレージの必要を大幅に減らせるし、メモリアクセスの要求が減ることで推論速度も少し向上することが多い。でも、この方法でもエネルギー消費が高くなったり推論時間が長くなったりしがちで、推論中に重みの高精度化が必要になることが多い。

対して、重み-アクティベーションの量子化は重みとアクティベーションの両方を量子化するんだけど、計算リソースの効率的な利用につながるんだ。ただ、欠点は精度が落ちる可能性があって、特に静的なテンソルごとの量子化設定を適用するときに顕著。過去の努力では、重い計算中にのみアクティベーションを量子化する方法や、動的なトークンごとの量子化を使う方法があったけど、これらの方法はGPUで遅くなったりモバイルデバイスでハードウェアサポートがなかったりすることが多い。

興味深いことに、既存の方法の中で、アクティベーションに対して損失のない8ビットのテンソルごとの量子化を実現できているものはなくて、DSPやNPUみたいな低精度の整数エンジンを十分に活用できているものもあまり見かけない。

LLMのこれらの課題に対処するために、私たちはポストトレーニング量子化方法を提案して、量子化にしばしば見られる精度と効率の問題をうまく管理するだけでなく、モバイルデバイスでのサポートも確保してる。

この目標を達成するために、私たちの方法は3つのシンプルで効果的な拡張を含んでる。これらの拡張は、デバイスに適用すると問題がある既存の研究をもとにしてる。具体的には:

  1. すべての層にわたって重みの同等変換を適用
  2. アクティベーションのための最適な量子化範囲を学習
  3. 重み変換と範囲パラメータを一緒に最適化。

その結果、この方法は4ビットまたは8ビットのテンソルごとのおよびチャネルごとの重みの量子化を適用し、8ビットまたは16ビットのテンソルごとのアクティベーションの量子化を行い、すべての操作に固定小数点の整数表現を用いてる。

この新しい方法は、過去の努力に対して多くの利点を提供する。まず、重みを4ビットまたは8ビットに量子化し、アクティベーションを8ビットの整数に量子化できるけど、softmaxや正規化のような特定の操作を除いて、パフォーマンスにはほとんど影響しない。

この方法を使ってLLMをデバイス上で使用すると、推論中に必要な時間とエネルギーが大幅に削減される。なぜなら、乗算加算操作中にかかる遅延とエネルギー使用量はビット幅に直接関連してるから。この方法は、推論の改善だけでなく、私たちが行った研究を通じて、より多くのキャリブレーションとトレーニングサンプルからの良好な結果を示す。

対照的に、従来の方法は閉形式の解決策や探索ベースの最適化を使用することが多く、サンプルやトレーニングステップが増えるとスケーリングが困難になることが多い。また、他の学習可能な量子化方法と比較して、私たちの方法はモデルの一般化能力を保持している。これは、元のバージョンと数学的に同等であるからだ。

まとめると、私たちは現在のモバイルハードウェア環境でうまく機能するLLMのための新しいポストトレーニング量子化方法を提案して、デバイス上での実世界アプリケーションに備えている。この方法は、ほとんどのアクティベーションを低ビット幅(8ビット)に量子化することを許可するシンプルだけど効果的な変更を通じて、以前の研究を改善してる。

私たちは、モデルの精度、推論速度、エネルギー使用量を測定するために、デバイス上で広範な評価を行った。調査結果は、私たちの方法が、16ビットアクティベーションを使用したモデルと比較して、推論速度とエネルギー消費を20-50%削減できる一方で、精度を維持できることを示している。

関連研究

ポストトレーニング量子化(PTQ)は、さまざまな方法でLLMに対処されてきて、主に三つのグループに分けられる:

  1. **重みのみの量子化:**このグループはモデルの重みを減らしてストレージニーズやメモリ転送時間を軽減することに焦点を当てている。フル精度モデルと同じような性能を示して、GPUの推論速度も似たようなものを維持している。しかし、これらの方法はしばしば重みを16ビットに即時で非量子化して、計算が浮動小数点で行われるため、推論時間が長引いてエネルギー消費が高くなることが多い。特にモバイルデバイスでは顕著だ。

  2. **重み-アクティベーション量子化:**このタイプは重みとアクティベーションの両方に量子化を拡張して計算要求をさらに削減する。だが、アクティベーションは異なるデータ型で動的範囲が異なるため、重みよりも量子化が難しい。これが理由で、アクティベーションの量子化は一般的に大幅な性能低下を引き起こすことが多い。いくつかの主要な解決策は、特定の重い計算をフル精度で維持したり、動的なトークンごとの量子化を使ったりしているが、これらはモバイルプラットフォームではサポートされてない。私たちの方法はすべての線形操作を量子化して、現在のモバイルハードウェアに適してる。

  3. **ラウンドの学習:**重みのみの量子化に焦点を当てた著名な研究もあり、最適な重みのラウンドを学習する方法が導入されている。これらの方法は、従来の近似ラウンドのアプローチが最善ではないことを示していて、隣接する重み間の関係を見落としがちだ。私たちの研究はこれと別で、これらの技術と共に機能することができる。

量子化を考慮したトレーニング(QAT)

QATは、フル精度モデルを微分可能な量子化器を使用して再トレーニングまたはファインチューニングすることを含む。最近の研究によると、QATはドメイン内トレーニングデータで特にPTQメソッドを超えることが多い。しかし、QATは広範なトレーニングを必要とするため、LLMにとっては現実的ではないことがある。その上、事前トレーニングに使ったデータが入手不可能な場合、課題に直面するかもしれない。対照的に、私たちの方法はゼロショットで、最小限のキャリブレーションサンプルセットと小さなコンピューティング予算しか必要としない。トレーニングが終われば、非量子化モデルと数学的に同等のままで、さまざまなタスクへの適応性を向上させる。

モバイルに優しい設計選択

量子化の方法は、ハードウェアサポートのレベルに影響を与えるいくつかの主要な設計選択によって異なる。これらの選択肢は次のとおり:

  • **ビット幅サポート:**int8-int8を使用する操作は一般的にサポートされており最適化されてるが、int4-int16やint8-int16は一般的にサポートされるが遅くなることが多い。
  • **量子化グループ:**テンソルごとやチャネルごとの統計の使用は広くサポートされているが、トークンごとの統計はサポートされていない。
  • **動的対静的:**静的量子化統計はデータに依存せず、通常は固定キャリブレーションセットで計算されるため広くサポートされている。しかし、動的量子化はオンラインキャリブレーションが必要で、広くサポートされていない。

現在のトップの量子化技術は高性能なサーバーでの運用では優れたパフォーマンスを示すが、一般的に即時の非量子化と浮動小数点操作に頼っているため効率が悪い。代わりに、私たちは、現代のモバイルデバイスに最適化された設計選択肢に焦点を当てて、特に固定小数点の重みとアクティベーションの量子化、整数操作、およびテンソルごとやチャネルごとの量子化に対する静的プリコンピューティッド範囲に注力している。

重み同等変換

以前の研究では、アクティベーションは重みよりも量子化が難しいことが一般的に分かっている。さまざまなサンプル間での値の範囲が異なるからだ。たとえば、全結合層では、特定のチャネル次元が異なるデータサンプル間で広い値の範囲を持っていることがあり、重大な量子化エラーを引き起こす。これを助けるために、以前の方法では重みとアクティベーションの量子化を容易にするためのスケーリングベクトルによる重み同等変換を使用することを提案していた。

モバイルフレンドリーな量子化に向けて

モバイルフレンドリーな量子化には、特に最先端の研究に見られる重み同等変換方法に関する課題が残っている。主な課題は二つ:

  1. 重み変換は、Softmaxや正規化層のような非線形演算子を超えては続けられないことが多い。これに対処するために、線形コンポーネントを持つすべての連続層で重み変換を適用しつつ、非線形アクティベーションを16ビット整数に維持することを行う。

  2. 重み変換が適用されるとアクティベーションの分布が変わるため、OmniQuantのような学習に基づく方法が各トレーニングラウンド後にアクティベーションの最小-最大範囲を調整するのが難しくなる。OmniQuantはこれに対処するために動的なトークンごとの量子化を使用しようとしたが、ハードウェアサポートが不足している。

アクティベーションのテンソルごとの範囲を学ぶ

重み変換に伴ってアクティベーションの分布が変わるため、最良のアプローチは各トレーニングイテレーションごとにアクティベーション範囲を調整することだろう。しかし、リソース制約のために実際には難しい。そこで私たちは、重み変換と一緒にアクティベーション範囲を学習する方法を提案する。

エンドツーエンドの最適化 vs 層ごとの最適化

以前の技術は、限定されたトレーニング予算で固定解決策や層ごとの最小化を利用することが多いが、これだと劣る結果をもたらすことが多い。私たちの全体最適化アプローチは、重み変換、クリッピング、範囲学習などのすべての関連パラメータを一つのスムーズなプロセスで最適化できる。この方法により、データと時間を増やすことでパフォーマンスを効果的に向上させる。

評価

私たちのモバイルフレンドリーな量子化がどれほど機能するかを示すために、さまざまなモデルアーキテクチャを使用して、Samsung Galaxy S24で量子化されたモデルをトレーニングおよび評価した。評価は、モバイルシナリオにおけるパフォーマンスに量子化がどのように影響を与えるかを特定するために異なる設定で行われ、精度、速度、エネルギー使用量などの側面に焦点を当てた。

結論として、私たちはLLMの量子化をモバイルデバイスの配備という視点から再評価し、現在の方法の課題を浮き彫りにした。私たちの方法は、パフォーマンスに大きな損失なく効率的な量子化を達成し、既存のモバイルハードウェアと互換性を保ちながら、実世界での実装が簡単なフレームワークを提供している。

この研究は主に固定パラメータ数を持つよく知られたLLMに焦点を当てていて、量子化モデルの潜在的なキャパシティを制限している。さらに、量子化モデルには元のモデルからいくつかの欠点が残っているため、追加の対策が必要になるかもしれない。将来の研究は、さまざまなLLMや異なるアーキテクチャ、もっとエッジデバイスに拡張することを目指す。

付録:W4A8のデバイス上実験

W4A8に関する追加評価では、対称的なチャネルごとの量子化を使用したパフォーマンスを強調した。4ビット整数の重みを使用する際のデバイス上のレイテンシの利点も紹介した。

私たちの研究では、対称的量子化を使用するとパフォーマンスが通常低下する可能性があることが確認されたが、量子化範囲を完全には利用できないこともある。それでも、W4A8モデルでは、特に大きなモデルでレイテンシ評価が顕著に向上することが示された。

全体として、私たちの調査結果は、LLMのモバイルデバイスへの展開は課題があるものの、私たちの方法がパフォーマンスの大きな損失なしに効率と使いやすさを改善する道を拓いていることを強調している。

オリジナルソース

タイトル: MobileQuant: Mobile-friendly Quantization for On-device Language Models

概要: Large language models (LLMs) have revolutionized language processing, delivering outstanding results across multiple applications. However, deploying LLMs on edge devices poses several challenges with respect to memory, energy, and compute costs, limiting their widespread use in devices such as mobile phones. A promising solution is to reduce the number of bits used to represent weights and activations. While existing works have found partial success at quantizing LLMs to lower bitwidths, e.g. 4-bit weights, quantizing activations beyond 16 bits often leads to large computational overheads due to poor on-device quantization support, or a considerable accuracy drop. Yet, 8-bit activations are very attractive for on-device deployment as they would enable LLMs to fully exploit mobile-friendly hardware, e.g. Neural Processing Units (NPUs). In this work, we make a first attempt to facilitate the on-device deployment of LLMs using integer-only quantization. We first investigate the limitations of existing quantization methods for on-device deployment, with a special focus on activation quantization. We then address these limitations by introducing a simple post-training quantization method, named MobileQuant, that extends previous weight equivalent transformation works by jointly optimizing the weight transformation and activation range parameters in an end-to-end manner. MobileQuant demonstrates superior capabilities over existing methods by 1) achieving near-lossless quantization on a wide range of LLM benchmarks, 2) reducing latency and energy consumption by 20\%-50\% compared to current on-device quantization strategies, 3) requiring limited compute budget, 4) being compatible with mobile-friendly compute units, e.g. NPU.

著者: Fuwen Tan, Royson Lee, Łukasz Dudziak, Shell Xu Hu, Sourav Bhattacharya, Timothy Hospedales, Georgios Tzimiropoulos, Brais Martinez

最終更新: 2024-10-04 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2408.13933

ソースPDF: https://arxiv.org/pdf/2408.13933

ライセンス: https://creativecommons.org/licenses/by-nc-sa/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事

コンピュータビジョンとパターン認識赤外線イメージングのゼロショット量子化の進展

この記事では、ゼロショット量子化とその赤外線画像処理への応用について探ります。

Burak Sevsay, Erdem Akagündüz

― 1 分で読む