大規模な言語モデル(LLMS)の量子化:AIモデルサイズを効率的に削減する
ラップトップで独自のchatgptを実行する:LLM量子化のガイド
ラップトップで直接自分のchatgptを実行することを夢見たことがありますか? 大規模な言語モデル(LLMS)の進歩のおかげで、これは現実になりつつあります。 キーは量子化です。これは、パフォーマンスの損失を最小限に抑えて消費者ハードウェアに適合するようにこれらの大規模なモデルを縮小する手法です(正しく行われた場合!)。このガイドでは、量子化とその方法を説明し、2つの簡単なステップでFaceのQuantoライブラリを抱きしめてモデルをQuantizeする方法を示します。 DataCamp Datalabを使用してフォローしてください
llmsの増え続けているサイズllmsは複雑さで爆発しました。 GPT-1(2018)には010億パラメーターがありました。 GPT-2(2019)、15億; GPT-3(2020)、なんと1750億。そして、GPT-4は1兆以上を誇っています。この大成長は、メモリボトルネックを作成し、トレーニングと推論の両方を妨げ、アクセシビリティを制限します。 量子化は、パフォーマンスを維持しながらモデルのサイズを縮小することでこれを解決します。
量子化の理解
量子化は、モデルの重みと活性化の精度を低下させるモデル圧縮技術です。 これには、データを高精度のタイプ(32ビットの浮動小数点など)から低精度タイプ(8ビット整数など)に変換することが含まれます。 ビットが少ないということは、モデルが小さいことを意味し、メモリ、ストレージ、エネルギーが少なくなります。
画像圧縮について考えてください:高解像度の画像は、Web使用のために圧縮され、サイズと読み込み時間をいくつかの詳細を犠牲にします。 同様に、LLMを量子化すると計算需要が減少し、強力なハードウェアで実行できます。
より高速なWeb読み込みのための画像圧縮
量子化はノイズ(量子化エラー)を導入しますが、研究ではパフォーマンスを維持するためにこれを最小化することに焦点を当てています。量子化の背後にある理論
例:重量マトリックス(左)とその量子化バージョン(右)。
元のマトリックスと量子化されたマトリックスの違いは、量子化誤差です。
量子化エラーマトリックス
実際には、量子化にはデータ型(ダウンキャスティング)の変更が含まれます。 たとえば、Float32(パラメーターあたり4バイト)からINT8(パラメーターごとに1バイト)に変換すると、メモリ使用量が大幅に削減されます。
脳浮動小数点(BF16)およびダウンキャスティングGoogleが開発した
BF16は、Float32のダイナミックレンジとFloat16の効率のバランスを提供します。ダウンキャスティング - 高精度から低精度データ型への変換 - 特にデータ型が小さい場合、データの損失とエラーの伝播につながる可能性があります。 量子化のタイプいくつかの量子化タイプが存在します:
線形量子化:
- マップフローティングポイント値は、固定点範囲に均等になります。 最小値/最大値、スケール、ゼロポイント、量子化、および非積極化(推論中)の計算が含まれます。
線形量子化方程式
例:重量マトリックスの線形量子化
脱来誤差と量子化誤差
ブロックワイズの量子化:小さなブロックの重みを量子化し、不均一な分布をより効果的に処理します。
重量対活性化量子化:
- 量子化は、重量(静的)と活性化(動的)の両方に適用できます。 活性化量子化はより複雑です
-
トレーニング後の量子化(PTQ)対量子化対応トレーニング(QAT):
PTQは、事前に訓練されたモデルを定量化します。 QATは、量子化効果をシミュレートするトレーニングを変更し、精度が向上しますが、トレーニング時間の増加につながります。 -
キャリブレーション 一部の方法では、キャリブレーションが必要です。量子化パラメーターを最適化するためにデータセットの推論を実行します。 手法には、パーセンタイルキャリブレーションと平均/標準偏差キャリブレーションが含まれます。 Qloraのような方法は、キャリブレーションを避けています 量子化のためのツール
PytorchやTensorflowを含むいくつかのPythonライブラリが量子化をサポートしています。 FaceのQuanto Libraryを抱き締めることで、Pytorchモデルのプロセスが簡素化されます。
- 顔のQuanto
を抱きしめてモデルを量子化します Pythia 410Mモデルを使用した段階的なガイド:を使用してください
- モデルをロードします:事前に訓練されたモデルとトークンザーをロードします
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "EleutherAI/pythia-410m" model = AutoModelForCausalLM.from_pretrained(model_name, low_cpu_mem_usage=True) tokenizer = AutoTokenizer.from_pretrained(model_name)
ログイン後にコピー- QUANTIZE:使用してモデルを変換します。
quantize()
from quanto import quantize, freeze quantize(model, weights=torch.int8, activations=None)
ログイン後にコピー- freeze:
- 使用を使用して、体重に量子化を適用します。
freeze()
freeze(model)
ログイン後にコピー- 結果を確認してください:
- モデルサイズの削減とテスト推論を確認します。 (注:はカスタム関数です。実装についてはDatacamp Datalabを参照してください)。
compute_module_sizes()
結論
llm量子化FAQ
- Qat vs. PTQ:QATは一般的にパフォーマンスが向上しますが、トレーニング中はより多くのリソースが必要です。
- QUANTO LIBRARY:PTQとQATの両方をサポートしています。 暗黙のキャリブレーションが含まれています。カスタムキャリブレーションには
quantize()
メソッドが利用できますcalibration()
精度: - int4およびint2の量子化が可能です。 抱きしめる顔モデルへのアクセス:
-
変数を目的のモデルに変更します。 Faceの利用規約を抱き締めることを忘れないでください
model_name
以上が大規模な言語モデル(LLMS)の量子化:AIモデルサイズを効率的に削減するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

メタのラマ3.2:マルチモーダルAIパワーハウス Metaの最新のマルチモーダルモデルであるLlama 3.2は、AIの大幅な進歩を表しており、言語理解の向上、精度の向上、および優れたテキスト生成機能を誇っています。 その能力t

私のコラムに新しいかもしれない人のために、具体化されたAI、AI推論、AIのハイテクブレークスルー、AIの迅速なエンジニアリング、AIのトレーニング、AIのフィールディングなどのトピックなど、全面的なAIの最新の進歩を広く探求します。
