🚀 MicrosoftによるNextCoder - 32BのLlamacpp imatrix量子化
このプロジェクトは、MicrosoftのNextCoder - 32Bモデルを量子化したものです。量子化には、llama.cppのリリース b5856 を使用しています。
基本情報
属性 |
详情 |
量子化担当者 |
bartowski |
パイプラインタグ |
テキスト生成 |
ベースモデル |
microsoft/NextCoder - 32B |
ベースモデル関係 |
量子化済み |
ライセンス |
MIT |
言語 |
英語 |
タグ |
コード、チャット、Microsoft、NextCoder、selekt |
データセット |
microsoft/NextCoderDataset、microsoft/NextCoderDataset - Conversational、bigcode/commitpackft、bigcode/starcoderdata |
元モデル
元のモデルは、こちら で確認できます。
量子化の詳細
すべての量子化は、ここ のデータセットを使用し、imatrixオプションで行われています。
🚀 クイックスタート
量子化されたモデルは、LM Studio で実行することも、llama.cpp を直接使用して実行することもできます。
プロンプトフォーマット
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
📦 インストール
huggingface - cliを使用したダウンロード
まず、huggingface - cliがインストールされていることを確認してください。
pip install -U "huggingface_hub[cli]"
特定のファイルをダウンロードするには、以下のコマンドを使用します。
huggingface-cli download bartowski/microsoft_NextCoder-32B-GGUF --include "microsoft_NextCoder-32B-Q4_K_M.gguf" --local-dir ./
モデルが50GBを超える場合は、複数のファイルに分割されています。すべてのファイルをローカルフォルダにダウンロードするには、以下のコマンドを実行します。
huggingface-cli download bartowski/microsoft_NextCoder-32B-GGUF --include "microsoft_NextCoder-32B-Q8_0/*" --local-dir ./
📄 ダウンロード可能なファイル
🔧 技術詳細
埋め込み/出力ウェイト
一部の量子化(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のみです。読み込み時間は長くなる可能性がありますが、全体的な速度が向上します。
ファイルの選択方法
どのファイルを選べばいいか迷った場合は、こちら のチャートが参考になります。まずは、実行できるモデルのサイズを決めましょう。これには、持っているRAMやVRAMの容量を把握する必要があります。
できるだけ高速にモデルを実行したい場合は、GPUのVRAMに全体を収めることを目指しましょう。VRAMの総容量よりも1 - 2GB小さいファイルサイズの量子化を選びます。
最高の品質を求める場合は、システムRAMとGPUのVRAMを合計し、その合計よりも1 - 2GB小さいファイルサイズの量子化を選びます。
次に、'I - 量子化' または 'K - 量子化' を使用するかを決めます。
あまり考えたくない場合は、K - 量子化のいずれかを選びましょう。これらは 'QX_K_X' の形式で、Q5_K_Mのようなものです。
もっと詳細に調べたい場合は、この便利な機能チャート をチェックしてください。
基本的に、Q4以下を目指し、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用している場合は、I - 量子化を検討しましょう。これらはIQX_Xの形式で、IQ3_Mのようなものです。これらは新しく、サイズに対してより良いパフォーマンスを提供します。
これらのI - 量子化はCPUでも使用できますが、同等のK - 量子化よりも遅くなります。したがって、速度とパフォーマンスのトレードオフを決める必要があります。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
クレジット
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。
埋め込み/出力の実験のインスピレーションをくれたZeroWwに感謝します。
私の仕事を支援してくれたLM Studioに感謝します。
私の仕事を支援したい場合は、こちら のko - fiページを訪れてください。