🚀 百度ERNIE-4.5-0.3B-PTのLlamacpp imatrix量子化モデル
このプロジェクトでは、llama.cpp の b5780 バージョンを使用して量子化を行っています。このプロジェクトにより、ユーザーはERNIE-4.5-0.3B-PTモデルをより効率的に使用でき、量子化によってモデルサイズを削減し、実行効率を向上させることができます。
オリジナルモデル:https://huggingface.co/baidu/ERNIE-4.5-0.3B-PT
すべての量子化モデルはimatrixオプションを使用し、ここ のデータセットを使用しています。
これらの量子化モデルは LM Studio で実行することも、llama.cpp またはllama.cppベースのプロジェクトを直接使用して実行することもできます。
✨ 主な機能
- 特定バージョンのllama.cppを使用して量子化を行い、量子化の安定性と互換性を保証します。
- ユーザーが異なるパフォーマンスと品質の要件を満たすために、複数の量子化タイプを提供します。
- LM Studioやllama.cppなどの環境での実行をサポートしています。
📦 インストール
huggingface-cliを使用してダウンロードする
まず、huggingface-cliがインストールされていることを確認してください。
pip install -U "huggingface_hub[cli]"
次に、特定のファイルを指定してダウンロードすることができます。
huggingface-cli download bartowski/baidu_ERNIE-4.5-0.3B-PT-GGUF --include "baidu_ERNIE-4.5-0.3B-PT-Q4_K_M.gguf" --local-dir ./
モデルサイズが50GBを超える場合、複数のファイルに分割されます。すべてのファイルをローカルフォルダにダウンロードするには、次のコマンドを実行してください。
huggingface-cli download bartowski/baidu_ERNIE-4.5-0.3B-PT-GGUF --include "baidu_ERNIE-4.5-0.3B-PT-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(baidu_ERNIE-4.5-0.3B-PT-Q8_0など)を指定することも、現在のディレクトリ(./)に直接ダウンロードすることもできます。
💻 使用例
基本的な使用法
LM Studioでは、対応する量子化モデルファイルを直接ロードして使用することができます。
高度な使用法
llama.cppを直接使用して量子化モデルを実行する場合は、具体的な要件に応じて設定と調整を行う必要があります。
📚 ドキュメント
プロンプト形式
特定のプロンプト形式は見つかりませんでした。オリジナルモデルページをご確認ください。
ダウンロードファイルの選択
埋め込み/出力ウェイト
一部の量子化モデル(Q3_K_XL、Q4_K_Lなど)は、標準的な量子化方法を使用して、埋め込みと出力ウェイトをデフォルト値ではなくQ8_0に量子化します。
ARM/AVX情報
以前は、Q4_0_4_4/4_8/8_8ファイルをダウンロードしていました。これらのファイルのウェイトは、ARMおよびAVXマシンで一度により多くのデータをロードすることでパフォーマンスを向上させるために、メモリ内で交差配置されていました。
しかし、現在では「オンザフライ再パック」と呼ばれるウェイト処理方法があります。詳細は このPR を参照してください。Q4_0を使用し、ハードウェアがウェイトの再パックから恩恵を受けることができる場合、自動的にリアルタイムで処理されます。
llama.cppビルドバージョン b4282 以降は、Q4_0_X_Xファイルを実行することはできず、Q4_0を使用する必要があります。
また、少し良い品質を得たい場合は、IQ4_NLを使用することができます。これは このPR のおかげで、ARM用にウェイトを再パックすることもできますが、現在は4_4のみサポートされています。ロード時間は長くなる可能性がありますが、全体的な速度は向上します。
どのファイルを選ぶべきか?
詳細を表示するにはクリックしてください
Artefact2は ここ で、さまざまなパフォーマンスを示すグラフ付きの素晴らしい記事を提供しています。
まず、自分が実行できるモデルのサイズを決定する必要があります。このためには、自分が持っているメモリ(RAM)と/またはビデオメモリ(VRAM)の量を把握する必要があります。
モデルをできるだけ速く実行したい場合は、モデル全体をGPUのビデオメモリに入れる必要があります。GPUの総ビデオメモリよりも1 - 2GB小さいファイルサイズの量子化モデルを選択してください。
絶対的な最高品質を追求する場合は、システムメモリとGPUビデオメモリを合計し、その合計よりも1 - 2GB小さいファイルサイズの量子化モデルを選択してください。
次に、「I量子化」または「K量子化」のどちらを使用するかを決定する必要があります。
あまり考えたくない場合は、K量子化を選択してください。これらの量子化モデルの形式は「QX_K_X」で、Q5_K_Mなどがあります。
詳細を知りたい場合は、この非常に便利な機能マトリックスを参照してください。
llama.cpp機能マトリックス
基本的に、Q4以下の量子化を目標とし、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用する場合は、I量子化を検討する必要があります。これらの量子化モデルの形式はIQX_Xで、IQ3_Mなどがあります。これらは新しい方法で、同じサイズでより良いパフォーマンスを提供します。
これらのI量子化モデルはCPUでも使用できますが、同等のK量子化モデルよりも遅いため、速度とパフォーマンスのトレードオフを行う必要があります。
🔧 技術詳細
量子化方法
llama.cppの特定バージョン(b5780)を使用して量子化を行い、imatrixオプションと特定のキャリブレーションデータセットを採用しています。
オンザフライ再パック
Q4_0量子化モデルは、ARMおよびAVXマシンでのパフォーマンスを向上させるために、オンザフライでウェイトを再パックすることをサポートしています。
📄 ライセンス
このプロジェクトはApache 2.0ライセンスを採用しています。
謝辞
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。
埋め込み/出力実験において啓発を与えてくれたZeroWwに感謝します。
このプロジェクトをサポートしてくれたLM Studioに感謝します。
私の仕事をサポートしたい場合は、私のko-fiページをご訪問ください。:https://ko-fi.com/bartowski