🚀 qCammel 70 - GGUF
このモデルは、自然言語処理におけるテキスト生成タスクに特化しており、多くのクライアントやライブラリと互換性があり、様々な環境での利用が可能です。
🚀 クイックスタート
このセクションでは、qCammel 70 - GGUF モデルの基本的な使い方や関連情報を提供します。
✨ 主な機能
- このリポジトリには、augtoma's qCammel 70 のGGUF形式のモデルファイルが含まれています。
- GGUFは、2023年8月21日にllama.cppチームによって導入された新しい形式で、GGMLの代替となります。GGMLはllama.cppではもはやサポートされていません。GGUFは、GGMLに比べて多くの利点があり、より良いトークン化や特殊トークンのサポート、メタデータのサポート、拡張性が設計されています。
📦 インストール
モデルのダウンロード方法
手動ダウンロードの注意点: 通常、リポジトリ全体をクローンする必要はほとんどありません!複数の異なる量子化形式が提供されており、ほとんどのユーザーは1つのファイルを選択してダウンロードするだけです。
以下のクライアント/ライブラリは、利用可能なモデルのリストを提供し、自動的にモデルをダウンロードします。
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webui
でのダウンロード
「Download Model」の下で、モデルリポジトリ TheBloke/qCammel-70-x-GGUF
を入力し、その下にダウンロードする特定のファイル名(例: qcammel-70-x.q4_K_M.gguf
)を入力します。そして「Download」をクリックします。
コマンドラインでのダウンロード(複数のファイルを一度に含む)
huggingface-hub
Pythonライブラリを使用することをおすすめします。
pip3 install huggingface-hub>=0.17.1
次に、以下のようなコマンドで、任意の個々のモデルファイルを高速で現在のディレクトリにダウンロードできます。
huggingface-cli download TheBloke/qCammel-70-x-GGUF qcammel-70-x.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
💻 使用例
基本的な使用法
llama.cpp
での実行例:
./main -ngl 32 -m qcammel-70-x.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: {prompt} ASSISTANT:"
-ngl 32
をGPUにオフロードするレイヤー数に変更します。GPUアクセラレーションがない場合は削除します。
-c 4096
を目的のシーケンス長に変更します。拡張シーケンスモデル(例: 8K、16K、32K)の場合、必要なRoPEスケーリングパラメータはGGUFファイルから読み取られ、llama.cppによって自動的に設定されます。
- チャットスタイルの会話を行いたい場合は、
-p <PROMPT>
引数を -i -ins
に置き換えます。
高度な使用法
Pythonコードからの実行例:
from ctransformers import AutoModelForCausalLM
pip install ctransformers>=0.2.24
pip install ctransformers[cuda]>=0.2.24
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
model = AutoModelForCausalLM.from_pretrained('TheBloke/qCammel-70-x-GGUF', model_file='qcammel-70-x.q4_K_M.gguf')
📚 ドキュメント
提供されているファイル
注意: 上記のRAM数値は、GPUオフロードを行わない場合を想定しています。レイヤーをGPUにオフロードすると、RAM使用量が減少し、代わりにVRAMが使用されます。
🔧 技術詳細
GGUF形式について
GGUFは、2023年8月21日にllama.cppチームによって導入された新しい形式で、GGMLの代替となります。GGMLはllama.cppではもはやサポートされていません。GGUFは、GGMLに比べて多くの利点があり、より良いトークン化や特殊トークンのサポート、メタデータのサポート、拡張性が設計されています。
量子化方法の説明
詳細を表示するにはクリック
新しい方法は以下の通りです。
- GGML_TYPE_Q2_K - 16個のブロックを含むスーパーブロックでの「タイプ1」2ビット量子化。各ブロックには16個の重みがあります。ブロックのスケールと最小値は4ビットで量子化されます。これにより、実質的に重みあたり2.5625ビット(bpw)が使用されます。
- GGML_TYPE_Q3_K - 16個のブロックを含むスーパーブロックでの「タイプ0」3ビット量子化。各ブロックには16個の重みがあります。スケールは6ビットで量子化されます。これにより、3.4375bpwが使用されます。
- GGML_TYPE_Q4_K - 8個のブロックを含むスーパーブロックでの「タイプ1」4ビット量子化。各ブロックには32個の重みがあります。スケールと最小値は6ビットで量子化されます。これにより、4.5bpwが使用されます。
- GGML_TYPE_Q5_K - 「タイプ1」5ビット量子化。GGML_TYPE_Q4_Kと同じスーパーブロック構造で、5.5bpwになります。
- GGML_TYPE_Q6_K - 「タイプ0」6ビット量子化。16個のブロックを含むスーパーブロック。各ブロックには16個の重みがあります。スケールは8ビットで量子化されます。これにより、6.5625bpwが使用されます。
以下の「提供されているファイル」表を参照して、どのファイルがどの方法を使用しているか、およびその方法を確認してください。
📄 ライセンス
ソースモデルの作成者は、そのライセンスを other
としてリストしており、この量子化も同じライセンスを使用しています。
このモデルはLlama 2をベースにしているため、Meta Llama 2のライセンス条項の対象となり、そのライセンスファイルも追加で含まれています。したがって、このモデルは両方のライセンスの下でライセンスされていると見なされるべきです。デュアルライセンスについての明確化のためにHugging Faceに問い合わせましたが、まだ公式の立場がありません。この状況が変更された場合、またはMetaからこの状況に関するフィードバックがあった場合、このセクションを適宜更新します。
その間、ライセンスに関する質問、特にこれら2つのライセンスがどのように相互作用するかについては、元のモデルリポジトリ augtoma's qCammel 70 に問い合わせてください。