ラップトップで独自の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エージェントは現在、大小さまざまな企業の一部です。病院でフォームに記入したり、法的文書をチェックしたり、ビデオ映像を分析したり、カスタマーサポートを処理したりすることから、あらゆる種類のタスクにAIエージェントがあります。仲間

人生は良いです。 予測可能です。分析的な心がそれを好む方法です。あなたは今日、オフィスに飛び込んで、土壇場の事務処理を終えました。その直後、あなたはあなたのパートナーと子供を晴れたhへの適切な休暇のために連れて行きます

しかし、科学的なコンセンサスにはしゃっくりとゴッチャがあり、おそらくより賢明なアプローチは、同意としても知られる証拠の収束の使用によるものです。 それについて話しましょう。 革新的なAIブレークスルーのこの分析は私の一部です

OpenaiもStudio Ghibliも、この話のコメントのリクエストに応答しませんでした。しかし、彼らの沈黙は、創造的経済におけるより広く、より複雑な緊張を反映しています。生成AIの時代において著作権はどのように機能するべきですか? のようなツール付き

コンクリートとソフトウェアの両方は、必要に応じて堅牢なパフォーマンスを得るために亜鉛メッキできます。どちらもストレステストを受ける可能性があり、両方とも時間の経過とともに亀裂や亀裂に苦しむことがあります。

ただし、レポートの多くは非常に表面レベルで停止します。 Windsurfが何であるかを把握しようとしている場合、Google検索エンジンの上部に表示されるシンジケートコンテンツから必要なものを手に入れることができるかもしれません。

重要な事実 オープンレターに署名するリーダーには、Adobe、Accenture、AMD、American Airlines、Blue Origin、Cognizant、Dell、Dropbox、IBM、LinkedIn、Lyft、Microsoft、Salesforce、Uber、Yahoo、Zoomなど、注目度の高い企業のCEOが含まれます。

そのシナリオはもはや投機的なフィクションではありません。対照実験では、アポロの研究では、GPT-4が違法なインサイダー取引計画を実行し、それについて調査官に嘘をついていることが示されました。エピソードは、2つの曲線が上昇しているという鮮明なリマインダーです


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
