🚀 TheDrummerによるCydonia-24B-v4のLlamacpp imatrix量子化
このプロジェクトは、TheDrummerのCydonia-24B-v4モデルを量子化したものです。量子化には、llama.cppのリリース b5934 を使用しています。
🚀 クイックスタート
モデル情報
属性 |
详情 |
量子化担当者 |
bartowski |
パイプラインタグ |
テキスト生成 |
ベースモデル |
TheDrummer/Cydonia-24B-v4 |
ベースモデルとの関係 |
量子化済み |
量子化方法
llama.cppのリリース b5934 を使用して量子化を行っています。すべての量子化は、こちら のデータセットを用いて、imatrixオプションで作成されています。
実行方法
✨ 主な機能
- 様々な量子化タイプのモデルを提供し、ユーザーのハードウェア環境に合わせて選択できます。
- 一部の量子化モデルでは、埋め込みおよび出力重みをQ8_0に量子化することで、品質を向上させています。
- オンライン再パッキング機能により、ARMおよびAVXマシンでのパフォーマンスを向上させます。
📦 インストール
huggingface-cliを使用したダウンロード
まず、huggingface-cliがインストールされていることを確認してください。以下のコマンドでインストールできます。
pip install -U "huggingface_hub[cli]"
特定のファイルをダウンロードするには、以下のコマンドを使用します。
huggingface-cli download bartowski/TheDrummer_Cydonia-24B-v4-GGUF --include "TheDrummer_Cydonia-24B-v4-Q4_K_M.gguf" --local-dir ./
モデルが50GBを超える場合、複数のファイルに分割されています。すべてのファイルをローカルフォルダにダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/TheDrummer_Cydonia-24B-v4-GGUF --include "TheDrummer_Cydonia-24B-v4-Q8_0/*" --local-dir ./
新しいローカルディレクトリを指定するか、すべてを現在のディレクトリにダウンロードすることができます。
💻 使用例
基本的な使用法
<s>[SYSTEM_PROMPT]{system_prompt}[/SYSTEM_PROMPT][INST]{prompt}[/INST]
高度な使用法
特定の量子化モデルを選択し、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を使用する必要があります。
また、このPR により、IQ4_NLを使用することで、ARM用に重みを再パッキングすることができます(現時点では4_4のみ)。読み込み時間は長くなる可能性がありますが、全体的な速度が向上します。
どのファイルを選べばいいですか?
様々なパフォーマンスを示すチャート付きの素晴らしい記事が、Artefact2によって こちら で提供されています。
まず、実行できるモデルのサイズを判断する必要があります。これには、システムのRAMおよび/またはGPUのVRAMの容量を確認する必要があります。
モデルをできるだけ高速に実行したい場合は、モデル全体をGPUのVRAMに収めることを目指してください。GPUの総VRAMよりも1 - 2GB小さいファイルサイズの量子化モデルを選択します。
絶対的な最高品質を求める場合は、システムのRAMとGPUのVRAMを合計し、その合計よりも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のリリース b5934 を使用して量子化を行っています。すべての量子化は、imatrixオプションを使用し、こちら のデータセットを用いて行われています。
オンライン再パッキング
オンライン再パッキング機能により、ARMおよびAVXマシンでのパフォーマンスを向上させることができます。詳細は このPR を参照してください。
📄 ライセンス
このプロジェクトの詳細なライセンス情報は提供されていません。
クレジット
- kalomazeとDampfには、imatrixキャリブレーションデータセットの作成における支援を感謝します。
- ZeroWwには、埋め込み/出力の実験へのインスピレーションを感謝します。
- LM Studioには、この作業への支援を感謝します。
この作業をサポートしたい場合は、こちらのko-fiページを訪問してください:https://ko-fi.com/bartowski