メルマガ登録
ブレインパッドは、LLM/Generative AIに関する研究プロジェクトを立ち上げ、この「Platinum Data Blog」を通じてLLM/Generative AIに関するさまざまな情報を発信をしています。 現在は、週に1回程度の頻度で、社内で実施している生成AI・LLMに関する論文レビュー会の内容をピックアップのうえ配信しています。 今回は、LLMの性能改善に関連して、4つの論文をご紹介させていただきます。
こんにちは、アナリティクスコンサルティングユニット所属の辻です。今回は社内のLLM研究プロジェクトの一つとして、新たに立ち上げたLLM論文レビュー活動の紹介と、実際にレビュー会で取り上げた論文をご紹介させていただきます。
【生成AI・LLM解説記事】
生成AI(ジェネレーティブAI)とは?ChatGPTとの違いや仕組み・種類・活用事例
LLM(大規模言語モデル)とは?生成AIとの違いや活用事例・課題
ブレインパッドでは、ChatGPTに代表される生成AI・LLMの社会実装をご支援するための技術的知見を蓄積するために、技術研究プロジェクトを複数立ち上げております。その複数あるプロジェクトの一つとして、進歩の早いLLMに関連する技術トレンドを追いかけるために、LLMの今後の発展において重要なテーマに関連する論文を取り上げ、社内でレビュー会を行う取り組みを始めております。
我々がLLMの技術トレンドをキャッチアップしていくのに際して、下記4つの注力テーマを設定しております。
今後は、毎週1つのテーマをレビュー会で取り上げていき、そのレビュー会の中で出てきたフィードバックも含めてブログで発信していきます。
第1回目はLLMの学習や推論の高速化や効率化に関する論文、とりわけ量子化技術について取り上げた論文を中心にレビューを行いましたので、こちらをご紹介させていただきます。
*1:サービスパフォーマンスの目標値
LLMのモデルサイズが急速に増加している現在、資源制約のある環境での効率的な実装が求められています。そういった背景を踏まえるとQLoRAのように量子化を前提としたPEFTの発展は今後も継続すると考えられます。今回選出した論文はその根幹となる量子化技術に関する基礎知識を網羅するのに適した論文となっています。
この論文はニューラルネットワークの量子化手法に関するサーベイ論文であり、量子化に関する技術について基本的な手法から応用手法までを幅広くサーベイしています。
なお、量子化(Quantization)とは連続する値を低ビットの離散値にマッピングすることを指します。
上図のイメージのように、連続値を一定の範囲では同じ値として扱うことでメモリフット使用量を削減する手法であり、大規模化するディープラーニングモデルのモデルサイズを削減する手法として近年注目されてきています。また、大規模言語モデルは学習や推論にかかる計算コストが高いため、その点でも量子化による効率化が重要なトピックとなっています。
この論文では、量子化の歴史から振り返っており、量子化技術自体は信号処理分野の重要課題として研究されてきた経緯が説明された後、それぞれの手法の説明と課題が整理されています。
サーベイ論文であるため包括的に各手法の解説を行っており、ここで一つ一つのアプローチを詳細に解説するのは困難であるため、紹介されている手法を表形式でまとめました。
参照いただき、気になるアプローチがありましたら、本論文で詳細を追っていただけると幸いです。
手法 (英語名) | 特徴 | メリット | デメリット |
---|---|---|---|
均一量子化 (Uniform Quantization) | 等間隔の量子化段階を設定する手法 *上図左 | ハードウェア実装が容易 | データ分布に合わせた最適化が困難 |
非均一量子化 (Non-Uniform Quantization) | データ分布に合わせて量子化段階を設定する手法 *上図右 | 精度の低下を抑制できる | ハードウェア実装が複雑 |
対称量子化 (Symmetric Quantization) | ゼロ中心で正負対称な量子化を行う手法 | ロバストで簡潔 | データ分布に依存しやすい |
非対称量子化 (Asymmetric Quantization) | データ分布に合わせて正負非対称に設定する手法 | 最適な量子化が可能 | パラメータ調整が困難 |
静的量子化 (Static Quantization) | 固定の量子化パラメータを使用する手法 | 実装が容易 | 入力データの分布の変化に対応しにくい |
動的量子化 (Dynamic Quantization) | 入力データに応じて量子化パラメータを調整する手法 | 高精度が期待できる | ハードウェア実装が複雑 |
論文の後半では、単なる量子化の手法の解説にとどまらず、ハードウェアに最適化された量子化にどう取り組むかや解釈性に関する話題が触れられています。
トピック | 概要 | 意義 |
---|---|---|
ハードウェア最適化量子化 | TPUやGANなど、専用ハードウェアのアーキテクチャに合わせて最適な量子化方法を設計するハードウェアレベルでの実装を前提としたアプローチ | ハードウェアに最適化されたモデル構造の探索が可能になり、実行効率と低消費電力化を最大限に引き出せる |
混合精度量子化 | モデルの層ごとに必要な計算精度に応じて、異なるビット数の量子化を適用することで計算コストと精度を柔軟にバランスできる | 計算資源の有効活用と精度維持の両立が可能になるため、ハードウェア性能を最大限に引き出す上で重要な手法 |
量子ニューラルネット | 量子ビットを活用した量子コンピュータ上でニューラルネットを実行。量子並列性により極端な並列計算が可能 | 従来の計算限界を突破する飛躍的な性能向上が期待される |
量子化による解釈性向上 | 量子化はモデル構造を単純化し、動作を可視化しやすくする効果があるため結果の解釈性が向上する | 説明可能なAIシステムの実現に貢献 |
極端な低ビット量子化 | 1~4ビットという極端に低いビット数での量子化手法 | モデルサイズと計算コストを劇的に減らせる一方、推論精度の劣化が避けられない |
タイトル | 概要 |
---|---|
Optimal Brain Compression: A Framework for Accurate Post-Training Quantization and Pruning | 量子化と剪定を統合し、精度を落とさずに圧縮率を大幅に改善する手法を提案 |
GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers | 提案手法のGPTQは、近似2次情報に基づき重み量子化を行う手法が提案されており、非常に正確かつ効率的 GPTQは1750億パラメータのGPTモデルを約4時間のGPUで量子化でき、重みあたり3-4ビットに削減しつつ、精度低下はほとんどない |
A Survey of Techniques for Optimizing Transformer Inference | 推論フェーズを最適化する技術について包括的なサーベイを行っており、アルゴリズムレベルでの知識蒸留、剪定、量子化、ニューラルアーキテクチャ探索、軽量ネットワーク設計などの技術を調査している さらに、ハードウェアレベルでの最適化手法と、トランスフォーマー用の新しいハードウェアアクセラレータの設計についても解説がなされており本論文同様推論を効率化する技術に関して包括的なレビューがされている |
先ほど(1つ目)の論文は、2021年に発表された量子化に関する包括的なサーベイ論文であり最新手法が収録されていなかったため、量子化に関する最新の手法(2023/6/27に公開された手法)を紹介するべくこの2つ目の論文を取り上げました。また、推論を効率化するためにベクトル量子化を導入することを提案した初めての論文でもあるため、今後の実務上の発展性も考慮し選出しています。
この論文は、動的な入力(センサーデータやユーザー入力など)を効率的に処理することが困難なディープラーニングの課題に対する解決策として、ネットワークの中間層にベクトル量子化(Vector Quantization)を導入することで効率的な推論を可能にする手法を提示しています。
LLMの利用シーンとして、センサーデータやユーザー入力のような刻々と入力が変化するものに対して効率的に処理する必要に迫られることがあります。
例えば、文書が編集されるたびに、AIライティング・アシスタントがリアルタイムで提案を更新する必要がありますが、既存の効率化技術を使用しても、毎回モデルを再実行するのはコストがかかりクイックに推論を返せない問題が存在します。
従来のネットワークアーキテクチャが密な接続を持っていることが漸進的な(インクリメンタルな)計算の障害となっていることに注目し、その改善を図るためのアプローチとしてVTQと呼ばれる本アプローチを提案しています。
ネットワークの中間層にベクトル量子化(VQ)を導入することで中間層の値が離散化されるため、意味のない出力の変動を抑制し計算結果の再利用を可能にしています。
本論文ではこの手法をTransformerに適用し、Incrementally-Computable Neural Network (VQT) として提案されています。
本アプローチは以下のような流れで構成されています。
1. 中間層にベクトル量子化(VQ)を導入
2. 離散化による計算の再利用
3. Transformerへの適用
実験結果として、VQTは従来の大規模Transformerとほぼ同等の精度を保ちながらWikipediaの編集履歴に対して12.1倍の演算量削減を達成したことが報告されています
このアプローチの有効性がさらに検証されていけば、リソース制約のある環境でもLLMを効率的に実行し低レイテンシーなサービスを維持することが可能になります。この技術は、リアルタイム分析、対話型サービス、オンラインコラボレーションツールなど、さまざまな分野での採用が期待できます。
タイトル | 概要 |
---|---|
Neural Discrete Representation Learning | VAEに対してベクトル量子化を用いることで「事後崩壊」問題を回避するアプローチが提案されており本論文の着想元となった論文 |
現在、LLMの技術検証を進めている中で弊社内で課題となっているのは、OSSのLLM(Llama-2など)を用いる場合にはそれなりに高級なGPUが乗ったサーバーをホストしなければ使うことができないため、そこにそれなりのコストを払っているという点です。
それぞれのクラウドプラットフォーマーがGoogle CloundでいえばCloud Function、AWSでいえばAWS Lambdaのようなサーバレスな実行環境をGPU向けに用意してくれるとありがたいのですが、現状はサービスとして提供されていません。
そこで、GPUがサーバレス化するためには何がボトルネックになっているのかを理解するために、ニッチなネタではあるものの今回、この3つ目の論文を選出しました。
この論文は、GPUを効率的に活用したサーバレス推論システムFaaSwapを提案した論文となっています。FaaSwapは、GPUへのプロビジョニングとオーバーヘッドの課題を解決し、リソースの効率的な使用を実現する手法です。
現在のサーバレスプラットフォームはGPUを効率的にサポートしていないため、GPU関数をプロビジョニングするとコールドスタートによるオーバーヘッドが大きくなっています。そのため、関数を長時間実行し続ける必要があるのですが、これはコストがかかり、サーバレスコンピューティングの従量課金モデルに反するため、サービス提供が進んでいないものと考えられます。
提案手法のFaaSwapはモデルスワッピングを利用することでモデルをホストメモリにキャッシュしておき、リクエスト時にのみGPUにスワップするアプローチをとっています。
モデルは大量の安価なメモリを持つホストに保持されるためアイドル時のコストが抑えられ、要求に応じて迅速にGPUにスワップされることでGPUメモリを効率的に共有できるようになります。
システムとしては上図にあるように、GPUプールアーキテクチャを採用し、効率的なモデルスワッピングとユーザへの透過性を実現しており、非同期APIリダイレクト、パイプライン実行、メモリ管理などの設計により、低レイテンシーのモデルスワッピングを実現しています。
また、リクエストスケジューリング、モデルキャッシュアルゴリズムなどの方策により、SLO*1を満たしつつリソース効率を最大化させることに成功しており、実験ではミリsecレベルのSLOを達成しつつ10倍のコスト削減を実証しています。
FaaSwapのアーキテクチャを簡潔に説明すると下記のような流れとなります。
論文内では本アプローチの課題についても述べられており、まだまだ発展段階という印象です。
タイトル | 概要 |
---|---|
MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving | サービス コストを最小限に抑えながら、推論ワークロードの応答時間のSLOを満たすためのアプローチを提案 |
量子化や蒸留などアーキテクチャによる効率化の工夫だけでなく、入力の与え方そのもので推論の効率化を図るアプローチも研究が進んでいるため、最近(2023年7月)提案された手法を選出しました。
この4つ目の論文は、Skeleton-of-Thought (SoT)と呼ばれるLLMの推論速度を改善するための新しい手法を提案しています。
現在のLLMはtokenを1つずつ順次デコードする自己回帰的な生成を行うため、推論が非常に遅いことが知られています。低速な推論はLLMが対話的に利用することを阻害しており、円滑なコミュニケーションを図るために推論速度の改善が強く求められています。
弊社でもLLMを用いたチャットデモ環境を構築し検証した結果、LLMのレスポンスの遅さが理由でレコメンデーション機能やチャット機能をそのまま既存システムと代替させるのは難しく、レスポンス速度を改善させるためのサービスとしての工夫が別に必要であるという結論を得ています。
SoTは人間の思考プロセスに着想を得ており、LLMにまず骨子(skeleton)を生成させ、その後各要点を並列に展開させる手法を提案しています。これにより並列計算が可能となり、推論を高速化できるようになるというのが本アプローチのポイントです。
SoTは以下のような流れで構成されます。
論文では、11個のLLMを用いて評価を行い、最大2.39倍の高速化を達成したことが報告されています。
質問のカテゴリやモデルによっても高速化の度合いは異なり、計算や論理的な説明が必要な数学に関する質問に対しては低い精度に留まっています。
論文内で提案手法に関する課題が述べられており、評価の妥当性が十分に検証されていないことや適用できるタスクに限界があることがわかっています。
タイトル | 概要 |
---|---|
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models | 連鎖思考(CoT)によりタスクのパフォーマンスを向上させるプロンプトエンジニアリングアプローチ |
Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models | タスク全体を小さなサブタスクに分割する計画を立て、次にその計画に従ってサブタスクを実行させることで推論精度を向上させるアプローチ |
今回は、量子化を中心としてLLMの効率化や高速化に関連する技術論文を4つご紹介させていただきました。
今後も、社内で実施しているレビュー会での発表内容をブログで発信させていただくつもりですので、ご期待ください。
あなたにオススメの記事
2023.12.01
生成AI(ジェネレーティブAI)とは?ChatGPTとの違いや仕組み・種類・活用事例
2023.09.21
DX(デジタルトランスフォーメーション)とは?今さら聞けない意味・定義を分かりやすく解説【2024年最新】
2023.11.24
【現役社員が解説】データサイエンティストとは?仕事内容やAI・DX時代に必要なスキル
2023.09.08
DX事例26選:6つの業界別に紹介~有名企業はどんなDXをやっている?~【2024年最新版】
2023.08.23
LLM(大規模言語モデル)とは?生成AIとの違いや活用事例・課題
2024.03.22
生成AIの評価指標・ベンチマークとそれらに関連する問題点や限界を解説