モデル概要
モデル特徴
モデル能力
使用事例
🚀 Mistral 7B Instruct v0.1 - GPTQ
このプロジェクトでは、Mistral AI 社の Mistral 7B Instruct v0.1 モデルの GPTQ 量子化バージョンを提供しています。このモデルは、ExLlama または Transformers フレームワークで実行でき、さまざまなユーザーの推論ニーズに対応します。
🚀 クイックスタート
環境準備
このモデルを使用するには、以下の依存関係をインストールする必要があります。
pip3 install optimum
pip3 install git+https://github.com/huggingface/transformers.git@72958fcd3c98a7afdc61f953aa58c544ebda2f79
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # CUDA 11.7 を使用する場合は、cu118 を cu117 に置き換えてください
AutoGPTQ のインストールで問題が発生した場合は、ソースからインストールできます。
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.4.2
pip3 install .
コード例
以下は、Python でこのモデルを呼び出す例です。
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Mistral-7B-Instruct-v0.1-GPTQ"
# 別のブランチを使用する場合は、revision パラメータを変更します
# 例: revision="gptq-4bit-32g-actorder_True"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision="main")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "Tell me about AI"
prompt_template=f'''<s>[INST] {prompt} [/INST]
'''
print("\n\n*** Generate:")
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512)
print(tokenizer.decode(output[0]))
# transformers の pipeline を使用して推論することもできます
print("*** Pipeline:")
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1
)
print(pipe(prompt_template)[0]['generated_text'])
✨ 主な機能
- 複数の量子化パラメータサポート:さまざまな量子化パラメータの組み合わせを提供し、ユーザーはハードウェアとニーズに合わせて最適なパラメータを選択できます。
- 複数のフレームワーク互換性:モデルは ExLlama または Transformers フレームワークで実行できます。
- 複数のブランチ選択:各量子化バージョンは異なるブランチにあり、ユーザーはニーズに合わせて選択できます。
📦 インストール
text-generation-webui でのダウンロード
- Model tab をクリックします。
- Download custom model or LoRA に
TheBloke/Mistral-7B-Instruct-v0.1-GPTQ
を入力します。- 特定のブランチからダウンロードする場合は、後に
:branchname
を追加できます。例えば、TheBloke/Mistral-7B-Instruct-v0.1-GPTQ:gptq-4bit-32g-actorder_True
です。 - 具体的なブランチのリストは、後述の 提供されるファイルと GPTQ パラメータ のセクションを参照してください。
- 特定のブランチからダウンロードする場合は、後に
- Download をクリックします。
- モデルのダウンロードが開始され、完了すると "Done" と表示されます。
- 左上の Model の横にある更新アイコンをクリックします。
- Model のドロップダウンメニューから、先ほどダウンロードしたモデル
Mistral-7B-Instruct-v0.1-GPTQ
を選択します。 - モデルが自動的に読み込まれ、使用を開始できます!
- カスタム設定が必要な場合は、設定を完了したら Save settings for this model をクリックし、右上の Reload the Model をクリックします。
- 注意:GPTQ パラメータを手動で設定する必要はありません。これらのパラメータは
quantize_config.json
ファイルから自動的に読み込まれます。
- 注意:GPTQ パラメータを手動で設定する必要はありません。これらのパラメータは
- 準備ができたら、Text Generation tab をクリックし、プロンプトを入力して開始します!
コマンドラインからのダウンロード
huggingface-hub
Python ライブラリを使用してダウンロードすることをお勧めします。
pip3 install huggingface-hub
main
ブランチを Mistral-7B-Instruct-v0.1-GPTQ
フォルダにダウンロードします。
mkdir Mistral-7B-Instruct-v0.1-GPTQ
huggingface-cli download TheBloke/Mistral-7B-Instruct-v0.1-GPTQ --local-dir Mistral-7B-Instruct-v0.1-GPTQ --local-dir-use-symlinks False
別のブランチからダウンロードする場合は、--revision
パラメータを追加します。
mkdir Mistral-7B-Instruct-v0.1-GPTQ
huggingface-cli download TheBloke/Mistral-7B-Instruct-v0.1-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir Mistral-7B-Instruct-v0.1-GPTQ --local-dir-use-symlinks False
git
を使用したダウンロード(推奨しません)
特定のブランチをクローンするには、以下のコマンドを使用します。
git clone --single-branch --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.1-GPTQ
Git を使用したダウンロードは推奨されません。huggingface-hub
を使用するよりも遅く、ディスク容量を 2 倍消費します。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Mistral-7B-Instruct-v0.1-GPTQ"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision="main")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "Tell me about AI"
prompt_template=f'''<s>[INST] {prompt} [/INST]
'''
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512)
print(tokenizer.decode(output[0]))
高度な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Mistral-7B-Instruct-v0.1-GPTQ"
# 特定のブランチを使用する
revision = "gptq-4bit-32g-actorder_True"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision=revision)
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "Tell me about AI"
prompt_template=f'''<s>[INST] {prompt} [/INST]
'''
# pipeline を使用して推論する
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1
)
print(pipe(prompt_template)[0]['generated_text'])
📚 ドキュメント
利用可能なモデルリポジトリ
- GPU 推論用の AWQ モデル
- GPU 推論用の GPTQ モデル。複数の量子化パラメータオプションを提供
- CPU+GPU 推論用の 2、3、4、5、6、および 8 ビットの GGUF モデル
- Mistral AI のオリジナルの非量子化 fp16 モデル(pytorch 形式)。GPU 推論とさらなる変換に使用
プロンプトテンプレート
<s>[INST] {prompt} [/INST]
提供されるファイルと GPTQ パラメータ
さまざまな量子化パラメータが提供されており、ユーザーはハードウェアとニーズに合わせて最適なパラメータを選択できます。各量子化バージョンは異なるブランチにあり、具体的な情報は以下の通りです。
GPTQ パラメータの説明
- Bits:量子化モデルのビットサイズ。
- GS:GPTQ グループサイズ。値が大きいほど、使用する VRAM が少なくなりますが、量子化精度が低くなります。"None" は最低の可能な値です。
- Act Order:ブール値、
desc_act
とも呼ばれます。True に設定すると、量子化精度が向上します。一部の GPTQ クライアントは、Act Order と Group Size を使用する際に問題を引き起こす可能性がありますが、現在この問題はほぼ解決されています。 - Damp %:量子化サンプルの処理に影響する GPTQ パラメータ。デフォルト値は 0.01 ですが、0.1 に設定すると精度がわずかに向上します。
- GPTQ dataset:量子化プロセスで使用されるキャリブレーションデータセット。モデルのトレーニングにより適合するデータセットを使用すると、量子化精度が向上します。GPTQ キャリブレーションデータセットは、モデルのトレーニングに使用されるデータセットとは異なることに注意してください。トレーニングデータセットの詳細については、オリジナルのモデルリポジトリを参照してください。
- Sequence Length:量子化プロセスで使用されるデータセットのシーケンス長。理想的には、この長さはモデルのシーケンス長と同じである必要があります。一部の超長シーケンスモデル(16K 以上)では、より短いシーケンス長を使用する必要がある場合があります。短いシーケンス長は、量子化モデルのシーケンス長を制限することはなく、長い推論シーケンスの量子化精度にのみ影響します。
- ExLlama Compatibility:このファイルが ExLlama で読み込めるかどうか。現在、ExLlama は 4 ビットの Llama モデルのみをサポートしています。
ブランチ | ビット | グループサイズ | Act Order | Damp % | GPTQ データセット | シーケンス長 | サイズ | ExLlama 互換性 | 説明 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | はい | 0.1 | wikitext | 32768 | 4.16 GB | はい | 4 ビット、Act Order を有効にし、グループサイズが 128g。64g よりも VRAM を節約しますが、精度はわずかに低くなります。 |
gptq-4bit-32g-actorder_True | 4 | 32 | はい | 0.1 | wikitext | 32768 | 4.57 GB | はい | 4 ビット、Act Order を有効にし、グループサイズが 32g。最高の推論品質を提供しますが、VRAM 使用量が最大になります。 |
gptq-8bit-128g-actorder_True | 8 | 128 | はい | 0.1 | wikitext | 32768 | 7.68 GB | はい | 8 ビット、グループサイズが 128g、Act Order を有効にして推論品質と精度を向上させます。 |
gptq-8bit-32g-actorder_True | 8 | 32 | はい | 0.1 | wikitext | 32768 | 8.17 GB | はい | 8 ビット、グループサイズが 32g、Act Order を有効にして最高の推論品質を提供します。 |
モデル情報テーブル
属性 | 詳細 |
---|---|
モデルタイプ | Mistral |
トレーニングデータ | トレーニングデータセットの詳細については、オリジナルのモデルリポジトリ Mistral 7B Instruct v0.1 を参照してください |
モデル作成者 | Mistral AI |
オリジナルモデル | Mistral 7B Instruct v0.1 |
量子化者 | TheBloke |
ライセンス | Apache-2.0 |
🔧 技術詳細
モデルアーキテクチャ
この命令モデルは、Mistral-7B-v0.1 をベースにしており、これは以下のアーキテクチャを採用した Transformer モデルです。
- グループ化クエリアテンション(Grouped-Query Attention)
- スライディングウィンドウアテンション(Sliding-Window Attention)
- バイトフォールバック BPE トークナイザー(Byte-fallback BPE tokenizer)
互換性
提供されるファイルは、ExLlama v1 と Transformers 4.34.0.dev0(コミットバージョン 72958fcd3c98a7afdc61f953aa58c544ebda2f79)でのみテストされています。
📄 ライセンス
このプロジェクトは、Apache-2.0 ライセンスの下で提供されています。
Discord
さらなるサポートが必要な場合、またはこれらのモデルや人工知能に関する議論に参加したい場合は、TheBloke AI の Discord サーバー にご参加ください。
謝辞と貢献
chirper.ai チームと gpus.llm-utils.org の Clay に感謝します!
多くの人から貢献の方法を尋ねられています。私はモデルを提供し、他の人を助けることができることを嬉しく思っています。また、この分野にもっと時間を費やし、微調整/トレーニングなどの新しいプロジェクトを始めたいと思っています。
貢献する能力と意欲がある場合は、大歓迎です。これにより、私がより多くのモデルを提供し、新しい人工知能プロジェクトを始めるのに役立ちます。
寄付者は、すべての AI/LLM/モデルに関する問題やリクエストに対して優先的なサポートを受け、プライベートな Discord ルームへのアクセスやその他の特典を享受できます。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別な感謝:Aemon Algiz。
Patreon での特別な言及:Pierre Kircher、Stanislav Ovsiannikov、Michael Levine など、多くの支援者に感謝します。
すべての寛大なスポンサーと寄付者に感謝します!また、a16z の寛大な資金提供にも感謝します。



