モデル概要
モデル特徴
モデル能力
使用事例
🚀 CodeLlama 34B Instruct - GPTQ
このモデルは、Metaが開発したCodeLlama 34B InstructのGPTQモデルファイルを提供します。複数の量子化パラメータが用意されており、ハードウェアと要件に合わせて最適なものを選択できます。

TheBlokeのLLM開発は、andreessen horowitz (a16z)からの助成金によって支援されています。
🚀 クイックスタート
このモデルは、コード生成に特化したCodeLlama 34B InstructのGPTQ量子化バージョンです。以下のセクションでは、モデルの詳細、ダウンロード方法、使用方法について説明します。
✨ 主な機能
- 複数のGPTQ量子化パラメータが用意されており、ハードウェアと要件に合わせて最適なものを選択できます。
- テキスト生成WebUIやPythonコードから簡単にダウンロードして使用できます。
- 多くのGPTQクライアントと互換性があります。
📦 インストール
text-generation-webuiを使用する場合
- text-generation-webuiの最新バージョンを使用していることを確認してください。
- Model tabをクリックします。
- Download custom model or LoRAの下に、
TheBloke/CodeLlama-34B-Instruct-GPTQ
を入力します。
- 特定のブランチからダウンロードする場合は、例えば
TheBloke/CodeLlama-34B-Instruct-GPTQ:main
のように入力します。 - 各オプションのブランチのリストについては、上記の「Provided Files」を参照してください。
- Downloadをクリックします。
- モデルのダウンロードが開始されます。完了すると「Done」と表示されます。
- 左上のModelの横にある更新アイコンをクリックします。
- Modelのドロップダウンメニューから、先ほどダウンロードしたモデル
CodeLlama-34B-Instruct-GPTQ
を選択します。 - モデルが自動的にロードされ、使用可能になります!
- カスタム設定が必要な場合は、設定してから右上のSave settings for this modelをクリックし、続いてReload the Modelをクリックします。
- 手動でGPTQパラメータを設定する必要はなく、
quantize_config.json
ファイルから自動的に設定されます。
- 準備ができたら、Text Generation tabをクリックしてプロンプトを入力し、始めましょう!
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
💻 使用例
Pythonコードから使用する場合
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/CodeLlama-34B-Instruct-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'''[INST] Write code to solve the following coding problem that obeys the constraints and passes the example test cases. Please wrap your code answer using ```:
{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]))
# 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'])
📚 ドキュメント
モデル情報
属性 | 詳情 |
---|---|
モデル作成者 | Meta |
元のモデル | CodeLlama 34B Instruct |
モデルタイプ | llama |
パイプラインタグ | text-generation |
プロンプトテンプレート | [INST] Write code to solve the following coding problem that obeys the constraints and passes the example test cases. Please wrap your code answer using ```: {prompt} [/INST] |
量子化者 | TheBloke |
ライセンス | llama2 |
提供されるファイルと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とGroup Sizeを併用したモデルに問題がありましたが、現在はほぼ解決しています。 - Damp %: 量子化のためにサンプルを処理する方法に影響を与えるGPTQパラメータ。デフォルトは0.01ですが、0.1の方がわずかに精度が向上します。
- GPTQデータセット: 量子化に使用されるデータセット。モデルの学習に適したデータセットを使用すると、量子化精度が向上します。GPTQデータセットは、モデルの学習に使用されるデータセットとは異なることに注意してください - 学習データセットの詳細については、元のモデルリポジトリを参照してください。
- シーケンス長: 量子化に使用されるデータセットシーケンスの長さ。理想的には、モデルのシーケンス長と同じです。一部の非常に長いシーケンスモデル(16+K)の場合は、より短いシーケンス長を使用する必要がある場合があります。ただし、シーケンス長が短いと、量子化モデルのシーケンス長が制限されるわけではありません。長い推論シーケンスでの量子化精度にのみ影響します。
- ExLlama互換性: このファイルがExLlamaでロードできるかどうか。現在、ExLlamaは4ビットのLlamaモデルのみをサポートしています。
ブランチ | Bits | GS | Act Order | Damp % | GPTQデータセット | Seq Len | サイズ | ExLlama | 説明 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | No | 0.1 | Evol Instruct Code | 4096 | 18.33 GB | Yes | 4ビット、Act Orderなし、グループサイズ128g。 |
gptq-4bit-32g-actorder_True | 4 | 32 | Yes | 0.1 | Evol Instruct Code | 4096 | 20.28 GB | Yes | 4ビット、Act Orderあり、グループサイズ32g。最高の推論品質を提供しますが、VRAMの使用量が最大になります。 |
gptq-4bit-64g-actorder_True | 4 | 64 | Yes | 0.1 | Evol Instruct Code | 4096 | 18.98 GB | Yes | 4ビット、Act Orderあり、グループサイズ64g。32gよりもVRAMの使用量が少なくなりますが、精度はわずかに低下します。 |
gptq-4bit-128g-actorder_True | 4 | 128 | Yes | 0.1 | Evol Instruct Code | 4096 | 18.33 GB | Yes | 4ビット、Act Orderあり、グループサイズ128g。64gよりもさらにVRAMの使用量が少なくなりますが、精度はわずかに低下します。 |
gptq-8bit--1g-actorder_True | 8 | None | Yes | 0.1 | Evol Instruct Code | 4096 | 34.30 GB | No | 8ビット、Act Orderあり。グループサイズなし、VRAMの要件を低く抑えます。 |
gptq-8bit-128g-actorder_True | 8 | 128 | Yes | 0.1 | Evol Instruct Code | 4096 | 35.07 GB | No | 8ビット、グループサイズ128gで推論品質を向上させ、Act Orderでさらに精度を向上させます。 |
ブランチからのダウンロード方法
- text-generation-webuiでは、ダウンロード名の末尾に
:branch
を追加できます。例えば、TheBloke/CodeLlama-34B-Instruct-GPTQ:main
。 - Gitを使用する場合は、以下のコマンドでブランチをクローンできます。
git clone --single-branch --branch main https://huggingface.co/TheBloke/CodeLlama-34B-Instruct-GPTQ
- Python Transformersコードでは、ブランチは
revision
パラメータで指定します。
🔧 技術詳細
このモデルは、CodeLlama 34B InstructをGPTQアルゴリズムで量子化したものです。量子化により、モデルのサイズを削減し、VRAMの使用量を抑えることができます。複数の量子化パラメータが提供されており、ハードウェアと要件に合わせて最適なものを選択できます。
📄 ライセンス
このモデルは、llama2ライセンスの下で提供されています。
Discord
これらのモデルやAI全般に関するさらなるサポートや議論に参加するには、以下のDiscordサーバーに参加してください。
謝辞と貢献方法
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に感謝します。



