モデル概要
モデル特徴
モデル能力
使用事例
🚀 Swallow 70B Instruct - GGUF
このモデルは、テキスト生成タスクに特化した高性能な言語モデルです。Tokyotech-llmによって開発され、多くのユースケースに対応しています。
🚀 クイックスタート
このリポジトリには、tokyotech-llmのSwallow 70B Instruct のGGUF形式のモデルファイルが含まれています。
✨ 主な機能
- 複数の言語(英語、日本語)に対応したテキスト生成が可能です。
- 多くのクライアントやライブラリと互換性があり、柔軟な利用ができます。
- 様々な量子化方法が提供され、メモリ使用量と品質のバランスを調整できます。
📦 インストール
必要なライブラリのインストール
pip3 install huggingface-hub
モデルファイルのダウンロード
huggingface-cli download TheBloke/Swallow-70B-instruct-GGUF swallow-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
💻 使用例
基本的な使用法
from llama_cpp import Llama
# Set gpu_layers to the number of layers to offload to GPU. Set to 0 if no GPU acceleration is available on your system.
llm = Llama(
model_path="./swallow-70b-instruct.Q4_K_M.gguf", # Download the model file first
n_ctx=4096, # The max sequence length to use - note that longer sequence lengths require much more resources
n_threads=8, # The number of CPU threads to use, tailor to your system and the resulting performance
n_gpu_layers=35 # The number of layers to offload to GPU, if you have GPU acceleration available
)
# Simple inference example
output = llm(
"以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:", # Prompt
max_tokens=512, # Generate up to 512 tokens
stop=["</s>"], # Example stop token - not necessarily correct for this specific model! Please check before using.
echo=True # Whether to echo the prompt
)
# Chat Completion API
llm = Llama(model_path="./swallow-70b-instruct.Q4_K_M.gguf", chat_format="llama-2") # Set chat_format according to the model you are using
llm.create_chat_completion(
messages = [
{"role": "system", "content": "You are a story writing assistant."},
{
"role": "user",
"content": "Write a story about llamas."
}
]
)
高度な使用法
./main -ngl 35 -m swallow-70b-instruct.Q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答:"
📚 ドキュメント
モデル情報
プロパティ | 詳細 |
---|---|
モデルタイプ | llama |
モデル作成者 | tokyotech-llm |
モデル名 | Swallow 70B Instruct |
パイプラインタグ | テキスト生成 |
プロンプトテンプレート | 以下に、あるタスクを説明する指示があります。リクエストを適切に完了するための回答を記述してください。\n\n### 指示:\n{prompt}\n\n### 応答: |
量子化者 | TheBloke |
ライセンス | llama2 |
互換性
これらの量子化されたGGUFv2ファイルは、2023年8月27日以降のllama.cpp(コミット d0cee0d 以降)と互換性があります。また、多くのサードパーティのUIやライブラリとも互換性があります。
量子化方法の説明
詳細を表示するにはクリック
利用可能な新しい方法は次のとおりです。
- GGML_TYPE_Q2_K - "type-1" 2ビット量子化。16個のブロックを含むスーパーブロックで、各ブロックには16個の重みがあります。ブロックのスケールと最小値は4ビットで量子化されます。これにより、実効的に重みあたり2.5625ビット(bpw)が使用されます。
- GGML_TYPE_Q3_K - "type-0" 3ビット量子化。16個のブロックを含むスーパーブロックで、各ブロックには16個の重みがあります。スケールは6ビットで量子化されます。これにより、3.4375 bpwが使用されます。
- GGML_TYPE_Q4_K - "type-1" 4ビット量子化。8個のブロックを含むスーパーブロックで、各ブロックには32個の重みがあります。スケールと最小値は6ビットで量子化されます。これにより、4.5 bpwが使用されます。
- GGML_TYPE_Q5_K - "type-1" 5ビット量子化。GGML_TYPE_Q4_Kと同じスーパーブロック構造で、5.5 bpwになります。
- GGML_TYPE_Q6_K - "type-0" 6ビット量子化。16個のブロックを含むスーパーブロックで、各ブロックには16個の重みがあります。スケールは8ビットで量子化されます。これにより、6.5625 bpwが使用されます。
使用されている方法とその使用方法については、以下の提供されるファイルの表を参照してください。
提供されるファイル
名前 | 量子化方法 | ビット数 | サイズ | 必要な最大RAM | 使用ケース |
---|---|---|---|---|---|
swallow-70b-instruct.Q2_K.gguf | Q2_K | 2 | 29.38 GB | 31.88 GB | 最も小さいが、品質が大幅に低下する - ほとんどの目的には推奨されません |
swallow-70b-instruct.Q3_K_S.gguf | Q3_K_S | 3 | 30.03 GB | 32.53 GB | 非常に小さいが、品質が大きく低下する |
swallow-70b-instruct.Q3_K_M.gguf | Q3_K_M | 3 | 33.30 GB | 35.80 GB | 非常に小さいが、品質が大きく低下する |
swallow-70b-instruct.Q3_K_L.gguf | Q3_K_L | 3 | 36.26 GB | 38.76 GB | 小さいが、品質が大幅に低下する |
swallow-70b-instruct.Q4_0.gguf | Q4_0 | 4 | 39.00 GB | 41.50 GB | レガシー; 小さいが、品質が非常に大きく低下する - Q3_K_Mの使用を推奨 |
swallow-70b-instruct.Q4_K_S.gguf | Q4_K_S | 4 | 39.20 GB | 41.70 GB | 小さいが、品質が大きく低下する |
swallow-70b-instruct.Q4_K_M.gguf | Q4_K_M | 4 | 41.55 GB | 44.05 GB | 中程度で、品質がバランスが良い - 推奨 |
swallow-70b-instruct.Q5_0.gguf | Q5_0 | 5 | 47.60 GB | 50.10 GB | レガシー; 中程度で、品質がバランスが良い - Q4_K_Mの使用を推奨 |
swallow-70b-instruct.Q5_K_S.gguf | Q5_K_S | 5 | 47.60 GB | 50.10 GB | 大きいが、品質の低下が少ない - 推奨 |
swallow-70b-instruct.Q5_K_M.gguf | Q5_K_M | 5 | 48.89 GB | 51.39 GB | 大きいが、品質の低下が非常に少ない - 推奨 |
swallow-70b-instruct.Q6_K.gguf | Q6_K | 6 | 56.74 GB | 59.24 GB | 非常に大きいが、品質の低下が極めて少ない |
swallow-70b-instruct.Q8_0.gguf | Q8_0 | 8 | 73.49 GB | 75.99 GB | 非常に大きいが、品質の低下が極めて少ない - 推奨されません |
注: 上記のRAMの数値は、GPUオフロードを行わない場合を想定しています。レイヤーをGPUにオフロードすると、RAMの使用量が減少し、代わりにVRAMが使用されます。
Q6_KとQ8_0ファイルは分割されており、結合が必要です
注: HFは50GBを超えるファイルのアップロードをサポートしていません。そのため、Q6_KとQ8_0ファイルは分割ファイルとしてアップロードされています。
Q6_KとQ8_0ファイルに関する指示をクリック
q6_K
以下をダウンロードしてください。
swallow-70b-instruct.Q6_K.gguf-split-a
swallow-70b-instruct.Q6_K.gguf-split-b
q8_0
以下をダウンロードしてください。
swallow-70b-instruct.Q8_0.gguf-split-a
swallow-70b-instruct.Q8_0.gguf-split-b
ファイルを結合するには、次のようにします。
LinuxとmacOS:
cat swallow-70b-instruct.Q6_K.gguf-split-* > swallow-70b-instruct.Q6_K.gguf && rm swallow-70b-instruct.Q6_K.gguf-split-*
cat swallow-70b-instruct.Q8_0.gguf-split-* > swallow-70b-instruct.Q8_0.gguf && rm swallow-70b-instruct.Q8_0.gguf-split-*
Windowsコマンドライン:
COPY /B swallow-70b-instruct.Q6_K.gguf-split-a + swallow-70b-instruct.Q6_K.gguf-split-b swallow-70b-instruct.Q6_K.gguf
del swallow-70b-instruct.Q6_K.gguf-split-a swallow-70b-instruct.Q6_K.gguf-split-b
COPY /B swallow-70b-instruct.Q8_0.gguf-split-a + swallow-70b-instruct.Q8_0.gguf-split-b swallow-70b-instruct.Q8_0.gguf
del swallow-70b-instruct.Q8_0.gguf-split-a swallow-70b-instruct.Q8_0.gguf-split-b
🔧 技術詳細
GGUFは、2023年8月21日にllama.cppチームによって導入された新しいフォーマットです。これは、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は長時間更新されておらず、多くの最近のモデルをサポートしていません。
📄 ライセンス
このモデルは、llama2ライセンスの下で提供されています。
Discord
これらのモデルやAI全般に関するさらなるサポートや議論に参加するには、以下に参加してください。
謝辞と貢献方法
chirper.aiチームに感謝します!
gpus.llm-utils.orgのClayに感謝します!
多くの人から貢献できるかどうかを尋ねられました。私はモデルを提供し、人々を助けることが好きで、それをもっと多くの時間を費やし、微調整/トレーニングなどの新しいプロジェクトにも進出できることを願っています。
貢献できる方は、大いに感謝して受け取り、より多くのモデルを提供し、新しいAIプロジェクトの作業を開始するのに役立ちます。
寄付者は、すべてのAI/LLM/モデルの質問やリクエストに対する優先サポート、プライベートDiscordルームへのアクセス、その他の特典を受けることができます。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別な感謝: Aemon Algiz。
Patreonの特別な言及: Michael Levine, 阿明, Trailburnt, Nikolai Manek, John Detwiler, Randy H, Will Dee, Sebastain Graf, NimbleBox.ai, Eugene Pentland, Emad Mostaque, Ai Maven, Jim Angel, Jeff Scroggin, Michael Davis, Manuel Alberto Morcote, Stephen Murray, Robert, Justin Joy, Luke @flexchar, Brandon Frisco, Elijah Stavena, S_X, Dan Guido, Undi ., Komninos Chatzipapas, Shadi, theTransient, Lone Striker, Raven Klaugh, jjj, Cap'n Zoog, Michel-Marie MAUDET (LINAGORA), Matthew Berman, David, Fen Risland, Omer Bin Jawed, Luke Pendergrass, Kalila, OG, Erik Bjäreholt, Rooh Singh, Joseph William Delisle, Dan Lewis, TL, John Villwock, AzureBlack, Brad, Pedro Madruga, Caitlyn Gatomon, K, jinyuan sun, Mano Prime, Alex, Jeffrey Morgan, Alicia Loh, Illia Dulskyi, Chadd, transmissions 11, fincy, Rainer Wilmers, ReadyPlayerEmma, knownsqashed, Mandus, biorpg, Deo Leter, Brandon Phillips, SuperWojo, Sean Connelly, Iucharbius, Jack West, Harry Royden McLaughlin, Nicholas, terasurfer, Vitor Caleffi, Duane Dunston, Johann-Peter Hartmann, David Ziegler, Olakabola, Ken Nordquist, Trenton Dambrowitz, Tom X Nguyen, Vadim, Ajan Kanaga, Leonard Tan, Clay Pascal, Alexandros Triantafyllidis, JM33133, Xule, vamX, ya boyyy, subjectnull, Talal Aujan, Alps Aficionado, wassieverse, Ari Malik, James Bentley, Woland, Spencer Kim, Michael Dempsey, Fred von Graf, Elle, zynix, William Richards, Stanislav Ovsiannikov, Edmond Seymore, Jonathan Leane, Martin Kemka, usrbinkat, Enrico Ros
すべての寛大なパトロンと寄付者に感謝します!
そして、a16zにも再度感謝します!



