モデル概要
モデル特徴
モデル能力
使用事例
🚀 Dolphin Llama 13B - GPTQ
このプロジェクトは、Eric Hartford氏によるDolphin Llama 13BモデルのGPTQ形式のモデルファイルを提供します。複数のGPTQパラメータの組み合わせが用意されており、ハードウェアや要件に合わせて最適なものを選択できます。
🚀 クイックスタート
このセクションでは、Dolphin Llama 13B - GPTQモデルの基本的な使い方を説明します。
モデルのダウンロード
-
text-generation-webuiを使用する場合:
- Modelタブをクリックします。
- Download custom model or LoRAの下に、
TheBloke/Dolphin-Llama-13B-GPTQ
を入力します。特定のブランチからダウンロードする場合は、例えばTheBloke/Dolphin-Llama-13B-GPTQ:main
のように入力します。 - Downloadをクリックします。
- モデルのダウンロードが開始され、完了すると「Done」と表示されます。
- 左上のModelの横にある更新アイコンをクリックします。
- Modelのドロップダウンメニューから、先ほどダウンロードしたモデル
Dolphin-Llama-13B-GPTQ
を選択します。 - モデルは自動的にロードされ、使用可能な状態になります。
- カスタム設定が必要な場合は、設定を行ってから右上のSave settings for this modelをクリックし、続いてReload the Modelをクリックします。手動でのGPTQパラメータの設定は不要で、
quantize_config.json
ファイルから自動的に設定されます。 - 準備ができたら、Text Generation tabをクリックしてプロンプトを入力し、使用を開始します。
-
Gitを使用する場合:
git clone --single-branch --branch main https://huggingface.co/TheBloke/Dolphin-Llama-13B-GPTQ
Pythonコードからの使用
必要なパッケージのインストール
Transformers 4.32.0以上、Optimum 1.12.0以上、およびAutoGPTQ 0.4.2以上が必要です。
pip3 install transformers>=4.32.0 optimum>=1.12.0
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
pip3 install .
CodeLlamaモデルの場合は、Transformers 4.33.0以上を使用する必要があります。4.33.0がまだリリースされていない場合は、ソースからTransformersをインストールする必要があります。
pip3 uninstall -y transformers
pip3 install git+https://github.com/huggingface/transformers.git
コードの使用例
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Dolphin-Llama-13B-GPTQ"
# 別のブランチを使用する場合は、revisionを変更します
# 例: revision="main"
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'''SYSTEM: {system_message}
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パラメータの組み合わせを提供し、ハードウェアや要件に合わせて最適なものを選択できます。
- AutoGPTQ、Occ4m's GPTQ-for-LLaMa fork、ExLlama、Huggingface Text Generation Inference (TGI)などのツールとの互換性があります。
📦 インストール
text-generation-webuiを使用する場合
上記のクイックスタートの手順に従って、モデルをダウンロードして使用してください。
Pythonコードから使用する場合
上記のクイックスタートの手順に従って、必要なパッケージをインストールしてください。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Dolphin-Llama-13B-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'''SYSTEM: {system_message}
USER: {prompt}
ASSISTANT:
'''
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/Dolphin-Llama-13B-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'''SYSTEM: {system_message}
USER: {prompt}
ASSISTANT:
'''
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'])
📚 ドキュメント
説明
このリポジトリには、Eric Hartford氏のDolphin Llama 13BのGPTQモデルファイルが含まれています。複数のGPTQパラメータの組み合わせが提供されており、以下の「提供されるファイル」で各オプションの詳細、パラメータ、および作成に使用されたソフトウェアについて説明されています。
利用可能なリポジトリ
- GPU推論用のAWQモデル
- GPU推論用のGPTQモデルで、複数の量子化パラメータオプションがあります。
- CPU+GPU推論用の2、3、4、5、6、および8ビットのGGUFモデル
- Eric Hartford氏の元の量子化されていないfp16モデル(pytorch形式)で、GPU推論およびさらなる変換に使用できます。
プロンプトテンプレート: Orca-Vicuna
SYSTEM: {system_message}
USER: {prompt}
ASSISTANT:
提供されるファイルとGPTQパラメータ
複数の量子化パラメータが提供されており、ハードウェアや要件に合わせて最適なものを選択できます。各量子化は異なるブランチにあります。異なるブランチから取得する方法については、以下を参照してください。最近のGPTQファイルはすべてAutoGPTQで作成されており、main
ブランチ以外のすべてのファイルは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 dataset: 量子化に使用されるデータセット。モデルのトレーニングに適したデータセットを使用すると、量子化精度を向上させることができます。GPTQデータセットは、モデルのトレーニングに使用されるデータセットとは異なることに注意してください。トレーニングデータセットの詳細については、元のモデルリポジトリを参照してください。
- Sequence Length: 量子化に使用されるデータセットシーケンスの長さ。理想的には、モデルのシーケンス長と同じです。一部の非常に長いシーケンスモデル(16+K)では、より短いシーケンス長を使用する必要がある場合があります。ただし、シーケンス長を短くすると、量子化されたモデルのシーケンス長が制限されることはありません。長い推論シーケンスでの量子化精度にのみ影響します。
- ExLlama Compatibility: このファイルがExLlamaで読み込めるかどうか。現在、ExLlamaは4ビットのLlamaモデルのみをサポートしています。
ブランチ | Bits | GS | Act Order | Damp % | GPTQデータセット | Seq Len | サイズ | ExLlama | 説明 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | いいえ | 0.1 | wikitext | 2048 | 7.26 GB | はい | 4ビット、Act Orderなし、グループサイズ128g。 |
gptq-4bit-32g-actorder_True | 4 | 32 | はい | 0.1 | wikitext | 2048 | 8.00 GB | はい | 4ビット、Act Orderあり、グループサイズ32g。最高の推論品質が得られますが、VRAMの使用量が最大になります。 |
gptq-4bit-64g-actorder_True | 4 | 64 | はい | 0.1 | wikitext | 2048 | 7.51 GB | はい | 4ビット、Act Orderあり、グループサイズ64g。32gよりもVRAMの使用量が少なくなりますが、精度はわずかに低下します。 |
gptq-4bit-128g-actorder_True | 4 | 128 | はい | 0.1 | wikitext | 2048 | 7.26 GB | はい | 4ビット、Act Orderあり、グループサイズ128g。64gよりもさらにVRAMの使用量が少なくなりますが、精度はわずかに低下します。 |
gptq-8bit--1g-actorder_True | 8 | なし | はい | 0.1 | wikitext | 2048 | 13.36 GB | いいえ | 8ビット、Act Orderあり。グループサイズなしで、VRAMの要件を下げます。 |
gptq-8bit-128g-actorder_False | 8 | 128 | いいえ | 0.1 | wikitext | 2048 | 13.65 GB | いいえ | 8ビット、グループサイズ128gで推論品質を向上させ、Act OrderなしでAutoGPTQの速度を向上させます。 |
gptq-8bit-128g-actorder_True | 8 | 128 | はい | 0.1 | wikitext | 2048 | 13.65 GB | いいえ | 8ビット、グループサイズ128gで推論品質を向上させ、Act Orderでさらに精度を向上させます。 |
gptq-8bit-64g-actorder_True | 8 | 64 | はい | 0.1 | wikitext | 2048 | 13.95 GB | いいえ | 8ビット、グループサイズ64gとAct Orderで、さらに高い推論品質が得られます。AutoGPTQのCUDA速度は遅いです。 |
ブランチからのダウンロード方法
- text-generation-webuiでは、ダウンロード名の末尾に
:branch
を追加できます。例えば、TheBloke/Dolphin-Llama-13B-GPTQ:main
のように入力します。 - Gitを使用する場合は、以下のコマンドでブランチをクローンできます。
git clone --single-branch --branch main https://huggingface.co/TheBloke/Dolphin-Llama-13B-GPTQ
- Python Transformersコードでは、ブランチは
revision
パラメータで指定します。詳細は上記のコード例を参照してください。
🔧 技術詳細
提供されるファイルは、Transformersを介して、またはAutoGPTQを直接使用して、AutoGPTQで動作することがテストされています。Occ4m's GPTQ-for-LLaMa forkでも動作するはずです。ExLlamaは4ビットのLlamaモデルと互換性があります。各ファイルの互換性については、上記の「提供されるファイル」の表を参照してください。Huggingface Text Generation Inference (TGI)は、すべてのGPTQモデルと互換性があります。
📄 ライセンス
このモデルは、otherライセンスの下で提供されています。
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の特別な言及: Alicia Loh, Stephen Murray, K, Ajan Kanaga, RoA, Magnesian, Deo Leter, Olakabola, Eugene Pentland, zynix, Deep Realms, Raymond Fosdick, Elijah Stavena, Iucharbius, Erik Bjäreholt, Luis Javier Navarrete Lozano, Nicholas, theTransient, John Detwiler, alfie_i, knownsqashed, Mano Prime, Willem Michiel, Enrico Ros, LangChain4j, OG, Michael Dempsey, Pierre Kircher, Pedro Madruga, James Bentley, Thomas Belote, Luke @flexchar, Leonard Tan, Johann-Peter Hartmann, Illia Dulskyi, Fen Risland, Chadd, S_X, Jeff Scroggin, Ken Nordquist, Sean Connelly, Artur Olbinski, Swaroop Kallakuri, Jack West, Ai Maven, David Ziegler, Russ Johnson, transmissions 11, John Villwock, Alps Aficionado, Clay Pascal, Viktor Bowallius, Subspace Studios, Rainer Wilmers, Trenton Dambrowitz, vamX, Michael Levine, 준교 김, Brandon Frisco, Kalila, Trailburnt, Randy H, Talal Aujan, Nathan Dryer, Vadim, 阿明, ReadyPlayerEmma, Tiffany J. Kim, George Stoitzev, Spencer Kim, Jerry Meng, Gabriel Tamborski, Cory Kujawski, Jeffrey Morgan, Spiking Neurons AB, Edmond Seymore, Alexandros Triantafyllidis, Lone Striker, Cap'n Zoog, Nikolai Manek, danny, ya boyyy, Derek Yates, usrbinkat, Mandus, TL, Nathan LeClaire, subjectnull, Imad Khwaja, webtim, Raven Klaugh, Asp the Wyvern, Gabriel Puliatti, Caitlyn Gatomon, Joseph William Delisle, Jonathan Leane, Luke Pendergrass, SuperWojo, Sebastain Graf, Will Dee, Fred von Graf, Andrey, Dan Guido, Daniel P. Andersen, Nitin Borwankar, Elle, Vitor Caleffi, biorpg, jjj, NimbleBox.ai, Piete



