🚀 Japanese StableLM Instruct Gamma 7B - GGUF
このモデルは、Stability AIによって開発されたJapanese StableLM Instruct Gamma 7BのGGUF形式のモデルファイルを提供します。GGUF形式は、GPUやCPUでの推論に最適化されており、様々なクライアントやライブラリで利用できます。
🚀 クイックスタート
このモデルを使用するには、まずGGUF形式のモデルファイルをダウンロードする必要があります。ダウンロード方法や使用方法については、以下のセクションで詳しく説明します。
✨ 主な機能
- 多言語対応:特に日本語に最適化されています。
- 多様なクライアントサポート:llama.cpp、text-generation-webui、KoboldCppなど、多くのクライアントやライブラリで利用できます。
- 量子化モデルの提供:様々な量子化方法によるモデルが用意されており、メモリ使用量と精度のバランスを選択できます。
📦 インストール
GGUFファイルのダウンロード
自動ダウンロード
以下のクライアントやライブラリを使用すると、利用可能なモデルのリストから選択して自動的にダウンロードできます。
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webuiでのダウンロード
「Download Model」の下にあるモデルリポジトリに TheBloke/japanese-stablelm-instruct-gamma-7B-GGUF
を入力し、その下にダウンロードするファイル名(例:japanese-stablelm-instruct-gamma-7b.Q4_K_M.gguf
)を指定して「Download」をクリックします。
コマンドラインでのダウンロード
huggingface-hub
Pythonライブラリを使用することをおすすめします。
pip3 install huggingface-hub
次に、以下のコマンドで任意のモデルファイルを現在のディレクトリに高速でダウンロードできます。
huggingface-cli download TheBloke/japanese-stablelm-instruct-gamma-7B-GGUF japanese-stablelm-instruct-gamma-7b.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
💻 使用例
llama.cppでの実行例
llama.cpp
を d0cee0d 以降のコミットを使用していることを確認してください。
./main -ngl 32 -m japanese-stablelm-instruct-gamma-7b.Q4_K_M.gguf --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。\n\n### 指示: \n{prompt}\n\n### 入力: \n{input}\n\n### 応答:"
-ngl 32
はGPUにオフロードするレイヤー数です。GPUアクセラレーションがない場合は削除してください。
-c 2048
は必要なシーケンス長です。拡張シーケンスモデル(8K、16K、32Kなど)の場合は、必要なRoPEスケーリングパラメータがGGUFファイルから読み取られ、llama.cppによって自動的に設定されます。
- チャットスタイルの会話を行いたい場合は、
-p <PROMPT>
引数を -i -ins
に置き換えてください。
text-generation-webuiでの実行方法
詳細な手順は、text-generation-webui/docs/llama.cpp.md を参照してください。
Pythonコードからの実行方法
llama-cpp-python または ctransformers ライブラリを使用して、PythonからGGUFモデルを利用できます。
ctransformersを使用したPythonコードの例
まず、パッケージをインストールします。
# GPUアクセラレーションなしの基本的なctransformers
pip install ctransformers
# またはCUDA GPUアクセラレーション付き
pip install ctransformers[cuda]
# またはAMD ROCm GPUアクセラレーション付き(Linuxのみ)
CT_HIPBLAS=1 pip install ctransformers --no-binary ctransformers
# またはmacOSシステムのみのMetal GPUアクセラレーション付き
CT_METAL=1 pip install ctransformers --no-binary ctransformers
簡単なコード例:
from ctransformers import AutoModelForCausalLM
llm = AutoModelForCausalLM.from_pretrained("TheBloke/japanese-stablelm-instruct-gamma-7B-GGUF", model_file="japanese-stablelm-instruct-gamma-7b.Q4_K_M.gguf", model_type="mistral", gpu_layers=50)
print(llm("AI is going to"))
📚 詳細ドキュメント
モデル情報
プロンプトテンプレート
以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。
### 指示:
{prompt}
### 入力:
{input}
### 応答:
互換性
これらの量子化されたGGUFv2ファイルは、2023年8月27日以降のllama.cpp(コミット d0cee0d 以降)と互換性があります。また、多くのサードパーティのUIやライブラリとも互換性があります。
量子化方法の説明
詳細を表示するにはクリック
利用可能な新しい方法は以下の通りです。
- GGML_TYPE_Q2_K:16個のブロックを含むスーパーブロックでの「タイプ1」の2ビット量子化。各ブロックには16個の重みがあります。ブロックのスケールと最小値は4ビットで量子化されます。これにより、1重みあたり実質的に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が使用されます。
提供されているファイルがどの方法を使用しているかについては、以下の「提供されているファイル」の表を参照してください。
提供されているファイル
注:上記のRAM数値は、GPUオフロードがない場合を想定しています。レイヤーをGPUにオフロードすると、RAM使用量が減少し、代わりにVRAMが使用されます。
🔧 技術詳細
- GGUF形式:llama.cppチームによって2023年8月21日に導入された新しい形式で、GGMLの代替となります。GGMLはllama.cppではもはやサポートされていません。
- 量子化:提供されているモデルファイルは、Massed Compute が提供するハードウェアを使用して量子化されています。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。