モデル概要
モデル特徴
モデル能力
使用事例
🚀 Xwin-LM 13B V0.1 - GPTQ
Xwin-LM 13B V0.1 - GPTQは、Xwin-LMによって作成されたモデルのGPTQ形式のモデルファイルを提供します。複数のGPTQパラメータの組み合わせが用意されており、ハードウェアや要件に合わせて最適なものを選択できます。
🚀 クイックスタート
このセクションでは、Xwin-LM 13B V0.1 - GPTQモデルの基本的な使い方を説明します。
モデルのダウンロード
text-generation-webuiでのダウンロード
- Modelタブをクリックします。
- Download custom model or LoRAの下に、
TheBloke/Xwin-LM-13B-V0.1-GPTQ
を入力します。- 特定のブランチからダウンロードする場合は、例えば
TheBloke/Xwin-LM-13B-V0.1-GPTQ:gptq-4bit-32g-actorder_True
のように入力します。 - 各オプションのブランチのリストについては、「提供されるファイル」を参照してください。
- 特定のブランチからダウンロードする場合は、例えば
- Downloadをクリックします。
- モデルのダウンロードが開始されます。完了すると「Done」と表示されます。
- 左上のModelの横にある更新アイコンをクリックします。
- Modelのドロップダウンで、先ほどダウンロードしたモデル
Xwin-LM-13B-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
ブランチをXwin-LM-13B-V0.1-GPTQ
というフォルダにダウンロードするには、以下のコマンドを実行します。
mkdir Xwin-LM-13B-V0.1-GPTQ
huggingface-cli download TheBloke/Xwin-LM-13B-V0.1-GPTQ --local-dir Xwin-LM-13B-V0.1-GPTQ --local-dir-use-symlinks False
異なるブランチからダウンロードする場合は、--revision
パラメータを追加します。
mkdir Xwin-LM-13B-V0.1-GPTQ
huggingface-cli download TheBloke/Xwin-LM-13B-V0.1-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir Xwin-LM-13B-V0.1-GPTQ --local-dir-use-symlinks False
Pythonコードからの使用
必要なパッケージのインストール
Transformers 4.33.0以降、Optimum 1.12.0以降、およびAutoGPTQ 0.4.2以降が必要です。
pip3 install transformers optimum
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # CUDA 11.7の場合はcu117を使用
AutoGPTQを事前構築されたホイールを使用してインストールする際に問題がある場合は、ソースからインストールしてください。
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.4.2
pip3 install .
コードの使用例
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Xwin-LM-13B-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'''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:
'''
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]))
# Inference can also be done using 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'])
✨ 主な機能
- 複数のGPTQパラメータオプション:異なるビットサイズ、グループサイズ、Act Orderなどのパラメータの組み合わせが提供され、ハードウェアや要件に合わせて最適なものを選択できます。
- 複数の推論環境対応:AutoGPTQ、Occ4m's GPTQ-for-LLaMa fork、ExLlama、Huggingface Text Generation Inference (TGI)などの様々な推論環境で動作します。
📦 インストール
上記の「クイックスタート」セクションで説明した通り、必要なパッケージをインストールし、モデルをダウンロードすることでインストールを行います。
💻 使用例
上記の「クイックスタート」セクションで、Pythonコードからの使用例を示しています。
📚 ドキュメント
モデル情報
- モデル作成者: Xwin-LM
- 元のモデル: Xwin-LM 13B V0.1
提供されるリポジトリ
- GPU推論用のAWQモデル
- GPU推論用のGPTQモデル(複数の量子化パラメータオプションあり)
- CPU+GPU推論用の2、3、4、5、6、および8ビットのGGUFモデル
- GPU推論およびさらなる変換用の、Xwin-LMの元の量子化されていないfp16モデル(pytorch形式)
プロンプトテンプレート
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:
提供されるファイルとGPTQパラメータ
複数の量子化パラメータが提供されており、ハードウェアや要件に合わせて最適なものを選択できます。
各個別の量子化は異なるブランチにあります。異なるブランチからの取得方法については、以下を参照してください。
最近のGPTQファイルはすべてAutoGPTQで作成されており、2023年8月より前にアップロードされたmain
ブランチのファイルはGPTQ-for-LLaMaで作成されています。
GPTQパラメータの説明
- Bits: 量子化されたモデルのビットサイズ。
- GS: GPTQグループサイズ。数値が大きいほどVRAMの使用量が少なくなりますが、量子化精度が低下します。「None」は最小の値です。
- Act Order: TrueまたはFalse。
desc_act
とも呼ばれます。Trueの場合、より高い量子化精度が得られます。一部のGPTQクライアントでは、Act Orderとグループサイズを組み合わせたモデルに問題がありましたが、現在はほとんど解決されています。 - Damp %: 量子化のためにサンプルが処理される方法に影響を与えるGPTQパラメータ。デフォルトは0.01ですが、0.1の方がわずかに精度が向上します。
- GPTQデータセット: 量子化中に使用されるキャリブレーションデータセット。モデルのトレーニングに適したデータセットを使用すると、量子化精度が向上する場合があります。GPTQキャリブレーションデータセットは、モデルのトレーニングに使用されるデータセットとは異なることに注意してください。トレーニングデータセットの詳細については、元のモデルリポジトリを参照してください。
- シーケンス長: 量子化に使用されるデータセットシーケンスの長さ。理想的には、これはモデルのシーケンス長と同じです。一部の非常に長いシーケンスモデル(16K以上)では、より短いシーケンス長を使用する必要がある場合があります。ただし、短いシーケンス長は量子化されたモデルのシーケンス長を制限するものではなく、長い推論シーケンスでの量子化精度にのみ影響します。
- ExLlama互換性: このファイルがExLlamaでロードできるかどうか。現在、ExLlamaは4ビットのLlamaモデルのみをサポートしています。
ブランチ | ビット | GS | Act Order | Damp % | GPTQデータセット | シーケンス長 | サイズ | ExLlama | 説明 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | Yes | 0.1 | wikitext | 4096 | 7.26 GB | Yes | 4ビット、Act Orderあり、グループサイズ128g。64gよりもVRAMの使用量が少ないが、精度はわずかに低い。 |
gptq-4bit-32g-actorder_True | 4 | 32 | Yes | 0.1 | wikitext | 4096 | 8.00 GB | Yes | 4ビット、Act Orderあり、グループサイズ32g。最高の推論品質が得られるが、VRAMの使用量が最大になる。 |
gptq-8bit--1g-actorder_True | 8 | None | Yes | 0.1 | wikitext | 4096 | 13.36 GB | No | 8ビット、Act Orderあり。グループサイズなし、VRAMの使用量を減らす。 |
gptq-8bit-128g-actorder_True | 8 | 128 | Yes | 0.1 | wikitext | 4096 | 13.65 GB | No | 8ビット、グループサイズ128gでより高い推論品質、Act Orderでさらに高い精度。 |
gptq-8bit-32g-actorder_True | 8 | 32 | Yes | 0.1 | wikitext | 4096 | 14.54 GB | No | 8ビット、グループサイズ32gとAct Orderで最大の推論品質。 |
ダウンロード方法(ブランチからのダウンロードを含む)
text-generation-webuiでのダウンロード
main
ブランチからダウンロードするには、「Download model」ボックスにTheBloke/Xwin-LM-13B-V0.1-GPTQ
を入力します。
他のブランチからダウンロードするには、ダウンロード名の末尾に:branchname
を追加します。例えば、TheBloke/Xwin-LM-13B-V0.1-GPTQ:gptq-4bit-32g-actorder_True
のように入力します。
コマンドラインからのダウンロード
huggingface-hub
Pythonライブラリを使用することをおすすめします。
pip3 install huggingface-hub
main
ブランチをXwin-LM-13B-V0.1-GPTQ
というフォルダにダウンロードするには、以下のコマンドを実行します。
mkdir Xwin-LM-13B-V0.1-GPTQ
huggingface-cli download TheBloke/Xwin-LM-13B-V0.1-GPTQ --local-dir Xwin-LM-13B-V0.1-GPTQ --local-dir-use-symlinks False
異なるブランチからダウンロードする場合は、--revision
パラメータを追加します。
mkdir Xwin-LM-13B-V0.1-GPTQ
huggingface-cli download TheBloke/Xwin-LM-13B-V0.1-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir Xwin-LM-13B-V0.1-GPTQ --local-dir-use-symlinks False
huggingface-cliダウンロードの高度な使用方法
--local-dir-use-symlinks False
パラメータを削除すると、ファイルは代わりに中央のHuggingfaceキャッシュディレクトリ(Linuxのデフォルトの場所は~/.cache/huggingface
)に保存され、指定された--local-dir
にシンボリックリンクが追加され、キャッシュ内の実際の場所を指します。これにより、中断されたダウンロードを再開でき、ディスク上の複数の場所にリポジトリをすばやくクローンでき、再ダウンロードをトリガーすることなく済みます。ただし、これがデフォルトオプションとしてリストされていない理由は、ファイルがキャッシュフォルダに隠されてしまい、ディスクスペースの使用場所がわかりにくくなり、ダウンロードしたモデルを削除する際にクリーンアップが難しくなるためです。
キャッシュの場所は、HF_HOME
環境変数および/またはhuggingface-cli
の--cache-dir
パラメータで変更できます。
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
に設定します。
mkdir Xwin-LM-13B-V0.1-GPTQ
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/Xwin-LM-13B-V0.1-GPTQ --local-dir Xwin-LM-13B-V0.1-GPTQ --local-dir-use-symlinks False
Windowsコマンドラインユーザーは、ダウンロードコマンドの前にset HF_HUB_ENABLE_HF_TRANSFER=1
を実行することで環境変数を設定できます。
git
を使用する場合(推奨しません)
特定のブランチをgit
でクローンするには、次のようなコマンドを使用します。
git clone --single-branch --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/Xwin-LM-13B-V0.1-GPTQ
なお、HFリポジトリでgit
を使用することは強く推奨されません。huggingface-hub
を使用するよりもはるかに遅く、モデルファイルを2倍のディスクスペースを使用します(意図したターゲットフォルダと.git
フォルダの両方にバイト単位で保存されるため)。
text-generation-webuiでの使用方法
- Model tabをクリックします。
- Download custom model or LoRAの下に、
TheBloke/Xwin-LM-13B-V0.1-GPTQ
を入力します。- 特定のブランチからダウンロードする場合は、例えば
TheBloke/Xwin-LM-13B-V0.1-GPTQ:gptq-4bit-32g-actorder_True
のように入力します。 - 各オプションのブランチのリストについては、「提供されるファイル」を参照してください。
- 特定のブランチからダウンロードする場合は、例えば
- Downloadをクリックします。
- モデルのダウンロードが開始されます。完了すると「Done」と表示されます。
- 左上のModelの横にある更新アイコンをクリックします。
- Modelのドロップダウンで、先ほどダウンロードしたモデル
Xwin-LM-13B-V0.1-GPTQ
を選択します。 - モデルは自動的にロードされ、使用可能な状態になります!
- カスタム設定が必要な場合は、設定を行ってから右上のSave settings for this modelをクリックし、続いてReload the Modelをクリックします。
- 手動でGPTQパラメータを設定する必要はなく、設定しないでください。これらは
quantize_config.json
ファイルから自動的に設定されます。
- 手動でGPTQパラメータを設定する必要はなく、設定しないでください。これらは
- 準備ができたら、Text Generation tabをクリックし、プロンプトを入力して始めましょう!
Pythonコードからの使用方法
必要なパッケージのインストール
Transformers 4.33.0以降、Optimum 1.12.0以降、およびAutoGPTQ 0.4.2以降が必要です。
pip3 install transformers optimum
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # CUDA 11.7の場合はcu117を使用
AutoGPTQを事前構築されたホイールを使用してインストールする際に問題がある場合は、ソースからインストールしてください。
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.4.2
pip3 install .
コードの使用例
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Xwin-LM-13B-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'''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:
'''
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]))
# Inference can also be done using 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'])
互換性
提供されるファイルは、Transformersを介して、およびAutoGPTQを直接使用してAutoGPTQで動作することがテストされています。また、Occ4m's GPTQ-for-LLaMa forkでも動作するはずです。
ExLlamaは4ビットのLlamaモデルと互換性があります。各ファイルの互換性については、「提供されるファイル」の表を参照してください。
Huggingface Text Generation Inference (TGI)はすべてのGPTQモデルと互換性があります。
🔧 技術詳細
提供されるGPTQモデルには、異なる量子化パラメータの組み合わせがあり、ユーザーはハードウェアや要件に合わせて最適なものを選択できます。量子化パラメータには、ビットサイズ、グループサイズ、Act Order、Damp %、GPTQデータセット、シーケンス長などがあり、それぞれが量子化精度やVRAMの使用量に影響を与えます。
📄 ライセンス
このモデルはLlama2のライセンスに基づいています。



