🚀 RekaAIによるreka-flash-3.1のLlamacpp imatrix量子化
このプロジェクトは、RekaAIによるreka-flash-3.1モデルの量子化バージョンを提供します。量子化には、llama.cppのリリース b5856 を使用しています。
🚀 クイックスタート
モデルの概要
- 量子化担当者: bartowski
- パイプラインタグ: text-generation
- ベースモデル: RekaAI/reka-flash-3.1
- ベースモデルの関係: 量子化済み
- ライセンス: apache-2.0
モデルの実行方法
- LM Studioでの実行: LM Studio を使用して、量子化されたモデルを実行できます。
- llama.cppでの直接実行: llama.cpp または他のllama.cppベースのプロジェクトを使用して、モデルを直接実行することもできます。
プロンプトフォーマット
human: {system_prompt} {prompt} <sep> assistant:
✨ 主な機能
- 多様な量子化タイプ: 様々な量子化タイプ(bf16、Q8_0、Q6_K_Lなど)が提供されており、ユーザーのハードウェア環境や性能要件に合わせて選択できます。
- オンラインリパッキング機能: Q4_0などの一部の量子化モデルでは、オンラインリパッキング機能がサポートされており、ARMやAVXマシンでの性能を向上させることができます。
📦 インストール
モデルのダウンロード
以下の表から、必要なファイルを選択してダウンロードできます。
huggingface-cliを使用したダウンロード
まず、huggingface-cliをインストールします。
pip install -U "huggingface_hub[cli]"
特定のファイルをダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/RekaAI_reka-flash-3.1-GGUF --include "RekaAI_reka-flash-3.1-Q4_K_M.gguf" --local-dir ./
モデルが50GB以上の場合、複数のファイルに分割されています。これらをすべてローカルフォルダにダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/RekaAI_reka-flash-3.1-GGUF --include "RekaAI_reka-flash-3.1-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(RekaAI_reka-flash-3.1-Q8_0)を指定するか、すべてを現在のディレクトリ(./)にダウンロードすることができます。
🔧 技術詳細
埋め込み/出力ウェイト
一部の量子化(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 により、ARM用のウェイトをリパッキングするIQ4_NLを使用することで、少し良い品質を得ることができます。ただし、現在は4_4のみです。ロード時間は遅くなる可能性がありますが、全体的な速度が向上します。
📚 ドキュメント
どのファイルを選べばいいですか?
まず、実行できるモデルのサイズを決定する必要があります。これには、持っているRAMおよび/または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-量子化よりも遅くなるため、速度とパフォーマンスのトレードオフを決定する必要があります。
📄 ライセンス
このプロジェクトは、apache-2.0ライセンスの下で提供されています。
クレジット
- kalomazeとDampfには、imatrixキャリブレーションデータセットの作成における支援に感謝します。
- ZeroWwには、埋め込み/出力の実験のインスピレーションを提供してくれたことに感謝します。
- LM Studioには、この作業を支援してくれたことに感謝します。
この作業をサポートしたい場合は、こちらのko-fiページを訪問してください。: https://ko-fi.com/bartowski