モデル概要
モデル特徴
モデル能力
使用事例
🚀 Llama 2 13B - GPTQ
このリポジトリは、MetaのLlama 2 13BモデルのGPTQモデルファイルを提供しています。複数のGPTQパラメータの組み合わせが用意されており、ハードウェアと要件に合わせて最適なものを選択できます。
🚀 クイックスタート
このモデルをすぐに使い始めるには、以下の手順に従ってください。
text-generation-webuiを使った場合
- text-generation-webuiの最新バージョンを使用していることを確認してください。
- Model tabをクリックします。
- Download custom model or LoRAの下に、
TheBloke/Llama-2-13B-GPTQ
を入力します。特定のブランチからダウンロードする場合は、例えばTheBloke/Llama-2-13B-GPTQ:main
のように入力します。 - Downloadをクリックします。
- モデルのダウンロードが完了すると、"Done"と表示されます。
- 左上のModelの横にある更新アイコンをクリックします。
- Modelのドロップダウンから、先ほどダウンロードしたモデル
Llama-2-13B-GPTQ
を選択します。 - モデルは自動的にロードされ、使用可能な状態になります。
- カスタム設定が必要な場合は、設定を行ってから右上のSave settings for this modelをクリックし、続いてReload the Modelをクリックします。
Pythonコードから使う場合
まず、必要なパッケージをインストールします。
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以上を使用する必要があります。
pip3 uninstall -y transformers
pip3 install git+https://github.com/huggingface/transformers.git
以下のコードを使ってモデルを使用できます。
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Llama-2-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'''{prompt}
'''
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パラメータの組み合わせが提供されており、ハードウェアと要件に合わせて最適なものを選択できます。
- text-generation-webuiを使った簡単なダウンロードと使用が可能です。
- Pythonコードからも容易に使用できます。
📦 インストール
text-generation-webuiを使ったインストール
上記のクイックスタートの手順を参照してください。
Pythonコードから使う場合のインストール
必要なパッケージのインストール手順は、上記のクイックスタートのセクションに記載されています。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Llama-2-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'''{prompt}
'''
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]))
📚 ドキュメント
モデル情報
- モデル作成者: Meta
- オリジナルモデル: Llama 2 13B
利用可能なリポジトリ
- GPU推論用のAWQモデル
- 複数の量子化パラメータオプションを持つGPU推論用のGPTQモデル
- CPU+GPU推論用の2、3、4、5、6、8ビットのGGUFモデル
- GPU推論とさらなる変換用の、pytorch形式のMetaのオリジナルの非量子化fp16モデル
プロンプトテンプレート
{prompt}
提供されるファイルとGPTQパラメータ
複数の量子化パラメータが提供されており、ハードウェアと要件に合わせて最適なものを選択できます。各量子化は異なるブランチにあります。以下は各パラメータの説明です。
GPTQパラメータの説明
- Bits: 量子化モデルのビットサイズ。
- GS: GPTQグループサイズ。数値が大きいほどVRAMの使用量が少なくなりますが、量子化精度が低下します。"None"は最小値です。
- Act Order: TrueまたはFalse。
desc_act
とも呼ばれます。Trueの場合、量子化精度が向上します。一部のGPTQクライアントでは、Act OrderとGroup Sizeを組み合わせたモデルに問題がありましたが、現在はほとんど解決されています。 - Damp %: 量子化のためにサンプルが処理される方法に影響を与えるGPTQパラメータ。デフォルトは0.01ですが、0.1の方がわずかに精度が向上します。
- GPTQデータセット: 量子化に使用されるデータセット。モデルのトレーニングに適したデータセットを使用すると、量子化精度が向上します。GPTQデータセットは、モデルのトレーニングに使用されるデータセットとは異なります。トレーニングデータセットの詳細については、オリジナルのモデルリポジトリを参照してください。
- シーケンス長: 量子化に使用されるデータセットシーケンスの長さ。理想的には、モデルのシーケンス長と同じです。一部の非常に長いシーケンスモデル(16+K)では、より短いシーケンス長を使用する必要がある場合があります。ただし、短いシーケンス長は量子化モデルのシーケンス長を制限するものではありません。長い推論シーケンスでの量子化精度にのみ影響します。
- ExLlama互換性: このファイルがExLlamaでロードできるかどうか。現在、ExLlamaは4ビットのLlamaモデルのみをサポートしています。
ブランチ | Bits | GS | Act Order | Damp % | GPTQデータセット | シーケンス長 | サイズ | ExLlama | 説明 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | いいえ | 0.01 | wikitext | 4096 | 7.26 GB | はい | 4ビット、Act Orderなし、グループサイズ128g。 |
gptq-4bit-32g-actorder_True | 4 | 32 | はい | 0.01 | wikitext | 4096 | 8.00 GB | はい | 4ビット、Act Orderあり、グループサイズ32g。最大の推論品質を提供しますが、最大のVRAM使用量が必要です。 |
gptq-4bit-64g-actorder_True | 4 | 64 | はい | 0.01 | wikitext | 4096 | 7.51 GB | はい | 4ビット、Act Orderあり、グループサイズ64g。32gよりもVRAMの使用量が少ないですが、精度がやや低下します。 |
gptq-4bit-128g-actorder_True | 4 | 128 | はい | 0.01 | wikitext | 4096 | 7.26 GB | はい | 4ビット、Act Orderあり、グループサイズ128g。64gよりもさらにVRAMの使用量が少ないですが、精度がやや低下します。 |
gptq-8bit-128g-actorder_True | 8 | 128 | はい | 0.01 | wikitext | 4096 | 13.65 GB | いいえ | 8ビット、グループサイズ128gで推論品質が高く、Act Orderでさらに精度が向上します。 |
gptq-8bit-64g-actorder_True | 8 | 64 | はい | 0.01 | wikitext | 4096 | 13.95 GB | いいえ | 8ビット、グループサイズ64gとAct Orderで、さらに高い推論品質を提供します。AutoGPTQ CUDAの速度が遅い場合があります。 |
gptq-8bit-128g-actorder_False | 8 | 128 | いいえ | 0.01 | wikitext | 4096 | 13.65 GB | いいえ | 8ビット、グループサイズ128gで推論品質が高く、Act Orderを使用せずにAutoGPTQの速度を向上させます。 |
gptq-8bit--1g-actorder_True | 8 | なし | はい | 0.01 | wikitext | 4096 | 13.36 GB | いいえ | 8ビット、Act Orderあり。グループサイズなしで、VRAMの要件を下げます。 |
ブランチからのダウンロード方法
- text-generation-webuiでは、ダウンロード名の末尾に
:branch
を追加できます。例えばTheBloke/Llama-2-13B-GPTQ:main
のようにします。 - Gitを使う場合は、以下のコマンドでブランチをクローンできます。
git clone --single-branch --branch main https://huggingface.co/TheBloke/Llama-2-13B-GPTQ
- Python Transformersのコードでは、ブランチは
revision
パラメータで指定します。
🔧 技術詳細
このモデルは、MetaのLlama 2 13BモデルをGPTQ方式で量子化したものです。量子化にはAutoGPTQを使用しており、複数の量子化パラメータの組み合わせが提供されています。各パラメータの説明は、上記の提供されるファイルとGPTQパラメータのセクションに記載されています。
📄 ライセンス
このモデルはLlama 2のライセンスに基づいて提供されています。
Discord
これらのモデルやAI全般に関するさらなるサポートや議論に参加するには、以下のDiscordサーバーに参加してください。 TheBloke AI's Discord server
謝辞と貢献方法
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, Pieter, Matthew Berman, terasurfer, Michael Davis, Alex, Stanislav Ovsiannikov
すべての寛大なパトロンと寄付者に感謝します! そして、a16zの寛大な助成金に再び感謝します!



