モデル概要
モデル特徴
モデル能力
使用事例
🚀 ChatMusician-GGUF
このモデルは、テキスト生成に特化したChatMusicianのGGUF形式のモデルファイルを提供します。元のモデルはm-a-p/ChatMusicianで、多様な量子化形式が用意されています。
🚀 クイックスタート
モデル情報
属性 | 详情 |
---|---|
モデル作成者 | m-a-p |
元のモデル | m-a-p/ChatMusician |
量子化担当者 | MaziyarPanahi |
モデルの説明
MaziyarPanahi/ChatMusician-GGUFには、m-a-p/ChatMusicianのGGUF形式のモデルファイルが含まれています。
✨ 主な機能
GGUFについて
GGUFは、2023年8月21日にllama.cppチームによって導入された新しい形式です。これはGGMLの代替形式で、現在はllama.cppではGGMLがサポートされなくなっています。
以下は、GGUFをサポートすることが知られているクライアントとライブラリの不完全なリストです。
- llama.cpp:GGUFのソースプロジェクトで、CLIとサーバーオプションを提供します。
- text-generation-webui:最も広く使用されているWeb UIで、多くの機能と強力な拡張機能を備えています。GPUアクセラレーションをサポートしています。
- KoboldCpp:全機能を備えたWeb UIで、すべてのプラットフォームとGPUアーキテクチャでGPUアクセラレーションをサポートしています。特にストーリーテリングに適しています。
- GPT4All:無料でオープンソースのローカル実行GUIで、Windows、Linux、macOSをサポートし、完全なGPUアクセラレーションを備えています。
- LM Studio:WindowsとmacOS(Silicon)用の使いやすく強力なローカルGUIで、GPUアクセラレーションを備えています。2023年11月27日現在、Linux版はベータ版です。
- LoLLMS Web UI:多くの興味深い独自機能を備えた素晴らしいWeb UIで、モデル選択が容易な完全なモデルライブラリを持っています。
- Faraday.dev:WindowsとmacOS(SiliconとIntel)用の魅力的で使いやすいキャラクターベースのチャットGUIで、GPUアクセラレーションを備えています。
- llama-cpp-python:GPUアクセラレーション、LangChainサポート、OpenAI互換のAPIサーバーを備えたPythonライブラリです。
- candle:パフォーマンスに重点を置いたRustのMLフレームワークで、GPUサポートと使いやすさを備えています。
- ctransformers:GPUアクセラレーション、LangChainサポート、OpenAI互換のAIサーバーを備えたPythonライブラリです。ただし、2023年11月27日現在、ctransformersは長時間更新されておらず、最近の多くのモデルをサポートしていません。
量子化方法の説明
詳細を表示するにはクリック
利用可能な新しい方法は以下の通りです。
- GGML_TYPE_Q2_K - 16個のブロックを含むスーパーブロックでの「タイプ1」の2ビット量子化。各ブロックには16個の重みがあります。ブロックのスケールと最小値は4ビットで量子化されます。これにより、重みごとに実効的に2.5625ビット(bpw)が使用されます。
- GGML_TYPE_Q3_K - 16個のブロックを含むスーパーブロックでの「タイプ0」の3ビット量子化。各ブロックには16個の重みがあります。スケールは6ビットで量子化されます。これにより、3.4375 bpwが使用されます。
- GGML_TYPE_Q4_K - 8個のブロックを含むスーパーブロックでの「タイプ1」の4ビット量子化。各ブロックには32個の重みがあります。スケールと最小値は6ビットで量子化されます。これにより、4.5 bpwが使用されます。
- GGML_TYPE_Q5_K - 「タイプ1」の5ビット量子化。GGML_TYPE_Q4_Kと同じスーパーブロック構造で、5.5 bpwになります。
- GGML_TYPE_Q6_K - 「タイプ0」の6ビット量子化。16個のブロックを含むスーパーブロックで、各ブロックには16個の重みがあります。スケールは8ビットで量子化されます。これにより、6.5625 bpwが使用されます。
📦 インストール
GGUFファイルのダウンロード方法
⚠️ 重要提示
手動でダウンロードする場合は、通常、リポジトリ全体をクローンする必要はありません!複数の異なる量子化形式が提供されており、ほとんどのユーザーは1つのファイルを選択してダウンロードするだけです。
以下のクライアント/ライブラリは、利用可能なモデルのリストを提供し、自動的にモデルをダウンロードします。
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webui
でのダウンロード
「Download Model」の下で、モデルリポジトリMaziyarPanahi/ChatMusician-GGUFを入力し、その下にダウンロードする具体的なファイル名(例:ChatMusician-GGUF.Q4_K_M.gguf)を入力します。そして「Download」をクリックします。
コマンドラインでのダウンロード
huggingface-hub
Pythonライブラリを使用することをおすすめします。
pip3 install huggingface-hub
次に、以下のようなコマンドで、任意の個別のモデルファイルを高速で現在のディレクトリにダウンロードできます。
huggingface-cli download MaziyarPanahi/ChatMusician-GGUF ChatMusician-GGUF.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
より高度なhuggingface-cliのダウンロード方法(クリックして読む)
パターンを使用して複数のファイルを一度にダウンロードすることもできます。
huggingface-cli download [MaziyarPanahi/ChatMusician-GGUF](https://huggingface.co/MaziyarPanahi/ChatMusician-GGUF) --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
huggingface-cli
でのダウンロードに関する詳細なドキュメントは、HF -> Hub Python Library -> Download files -> Download from the CLIを参照してください。
高速接続(1Gbit/s以上)でのダウンロードを高速化するには、hf_transfer
をインストールします。
pip3 install hf_transfer
そして、環境変数HF_HUB_ENABLE_HF_TRANSFER
を1
に設定します。
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download MaziyarPanahi/ChatMusician-GGUF ChatMusician-GGUF.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windowsコマンドラインユーザーは、ダウンロードコマンドの前にset HF_HUB_ENABLE_HF_TRANSFER=1
を実行して環境変数を設定できます。
💻 使用例
基本的な使用法
llama.cppでの実行例
llama.cpp
をd0cee0d以降のコミットを使用していることを確認してください。
./main -ngl 35 -m ChatMusician-GGUF.Q4_K_M.gguf --color -c 32768 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant"
-ngl 32
をGPUにオフロードするレイヤー数に変更します。GPUアクセラレーションがない場合は削除します。-c 32768
を目的のシーケンス長に変更します。拡張シーケンスモデル(例:8K、16K、32K)の場合、必要なRoPEスケーリングパラメータはGGUFファイルから読み取られ、llama.cppによって自動的に設定されます。ただし、より長いシーケンス長はより多くのリソースを必要とするため、この値を減らす必要がある場合があります。
チャットスタイルの会話を行いたい場合は、-p <PROMPT>
引数を-i -ins
に置き換えます。
その他のパラメータとその使用方法については、the llama.cpp documentationを参照してください。
text-generation-webuiでの実行方法
詳細な手順は、text-generation-webuiのドキュメントtext-generation-webui/docs/04 ‚Äê Model Tab.mdを参照してください。
Pythonコードからの実行方法
llama-cpp-pythonまたはctransformersライブラリを使用して、PythonからGGUFモデルを使用できます。ただし、2023年11月27日現在、ctransformersはしばらくの間更新されておらず、最近の一部のモデルと互換性がありません。したがって、llama-cpp-pythonの使用をおすすめします。
llama-cpp-pythonを使用してPythonコードでこのモデルをロードする方法
詳細なドキュメントは、llama-cpp-python docsを参照してください。
パッケージのインストール
システムに応じて、以下のコマンドのいずれかを実行します。
# GPUアクセラレーションのない基本的なctransformers
pip install llama-cpp-python
# NVidia CUDAアクセラレーション付き
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
# またはOpenBLASアクセラレーション付き
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
# またはCLBLastアクセラレーション付き
CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
# またはAMD ROCm GPUアクセラレーション付き(Linuxのみ)
CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
# またはmacOSシステムのみのMetal GPUアクセラレーション付き
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
# Windowsでは、PowerShellで変数CMAKE_ARGSを設定するには、以下の形式に従います。例:NVidia CUDAの場合
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on"
pip install llama-cpp-python
簡単なllama-cpp-pythonのサンプルコード
from llama_cpp import Llama
# gpu_layersをGPUにオフロードするレイヤー数に設定します。システムでGPUアクセラレーションが利用できない場合は0に設定します。
llm = Llama(
model_path="./ChatMusician-GGUF.Q4_K_M.gguf", # まずモデルファイルをダウンロードしてください
n_ctx=32768, # 使用する最大シーケンス長 - より長いシーケンス長はより多くのリソースを必要とすることに注意
n_threads=8, # 使用するCPUスレッド数。システムとパフォーマンスに合わせて調整します
n_gpu_layers=35 # GPUアクセラレーションが利用可能な場合、GPUにオフロードするレイヤー数
)
# 簡単な推論例
output = llm(
"<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant", # プロンプト
max_tokens=512, # 最大512トークンまで生成
stop=["</s>"], # 例の停止トークン - この特定のモデルに必ずしも正しいとは限りません!使用前に確認してください。
echo=True # プロンプトをエコーするかどうか
)
# チャットコンプリーションAPI
llm = Llama(model_path="./ChatMusician-GGUF.Q4_K_M.gguf", chat_format="llama-2") # 使用するモデルに合わせてchat_formatを設定します
llm.create_chat_completion(
messages = [
{"role": "system", "content": "You are a story writing assistant."},
{
"role": "user",
"content": "Write a story about llamas."
}
]
)
高度な使用法
LangChainとの連携
以下は、llama-cpp-pythonとctransformersをLangChainとともに使用するガイドです。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。



