sunx.ai

sunx.ai

llama70Bの元のモデルをGGUF形式に変換します。

1、ダウンロード#

まず、huggingface からモデルをダウンロードします。元のモデルや他のバリエーションをダウンロードすることができますが、私は llama3-70B のバリエーションをダウンロードします。全体のサイズは約 130G です。

huggingface-cli download cognitivecomputations/dolphin-2.9.1-llama-3-70b --cache-dir ./model

もし中国のネットワークを使用している場合は、huggingface プロキシhttps://hf-mirror.com/を使用してください。

2、llama.cpp のインストール#

GitHub からダウンロードしてインストールします:https://github.com/ggerganov/llama.cpp

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

インストールが完了しました。

3、モデルを ggml 形式に変換する#

llama.cpp ディレクトリにいることを確認してください。

python convert.py  huggingfaceモデルディレクトリ \
--outfile moxing.gguf \
--outtype f16 --vocab-type bpe
#例
python convert.py  ./model/models--cognitivecomputations--dolphin-2.9.1-llama-3-70b/snapshots/3f2d2fae186870be37ac83af1030d00a17766929 \
--outfile ./GGUF/dolphin-2.9.1-llama-3-70b-f16.gguf \
--outtype f16 --vocab-type bpe

少し時間がかかるかもしれませんが、完了すると dolphin-2.9.1-llama-3-70b-f16.gguf ファイルが生成されます。サイズは変わらずに 130G ですが、実行することができます。ただし、140G 以上の VRAM が必要です。一般的な GPU では実行できないため、ファイルを量子化して容量を減らします(品質は若干低下します)。

4、GGUF モデルの量子化#

まず、品質をリストアップします。

  • q2_k:特定のテンソルは高い精度で設定され、他のテンソルは基本レベルを保ちます。
  • q3_k_l、q3_k_m、q3_k_s:これらのバリエーションは、異なるテンソルに異なる精度レベルを使用し、パフォーマンスと効率をバランスさせます。
  • q4_0:これは最初の量子化スキームで、4 ビットの精度を使用します。
  • q4_1 と q4_k_m、q4_k_s:これらは、リソース使用をバランスさせるために、異なる程度の精度と推論速度を提供します。
  • q5_0、q5_1、q5_k_m、q5_k_s:これらのバージョンは、より高い精度を保証しながら、より多くのリソースを使用し、推論速度が遅くなります。
  • q6_k と q8_0:これらは最高の精度を提供しますが、高いリソース消費と遅い速度のため、すべてのユーザーに適しているとは限りません。

ここでは Q4_K_M スキームを使用します。

まだ llama.cpp ディレクトリにいることを確認し、実行権限を付与するために make を実行します(quantize 実行ファイルがない場合)。

./quantize ./GGUF/dolphin-2.9.1-llama-3-70b-f16.gguf ./GGUF/dolphin-2.9.1-llama-3-70b-Q4_K_M.gguf Q4_K_M

量子化が完了すると、ファイルサイズは約 40G になります。これで VRAM が 48G の環境で実行できるようになり、コストが半分になりました。

5、推論の実行#

llama.cpp を使用して推論を実行することもできますが、gguf にはより友好な ollama を使用することもできます。詳細なコードは公式の GitHub:https://github.com/ollama/ollamaを参照してください。

結論#

これで第 1 部が完了しました。問題がある場合は、コメントセクションでディスカッションしてください。

この記事は Mix Space から xLog に同期されました。
元のリンクは https://sunx.ai/posts/nlp/llama70b です。


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。