Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Deepseek Coder 1.3B Instruct - GPTQ
このプロジェクトは、DeepSeek社によって開発されたDeepseek Coder 1.3B InstructモデルのGPTQ形式のモデルファイルを提供します。複数の量子化パラメータが用意されており、ハードウェアや要件に合わせて最適なものを選ぶことができます。
🚀 クイックスタート
このモデルをすぐに使い始めるには、以下の手順に従ってください。
text-generation-webuiでのダウンロード
main
ブランチからダウンロードするには、「Download model」ボックスにTheBloke/deepseek-coder-1.3b-instruct-GPTQ
を入力します。- 他のブランチからダウンロードするには、ダウンロード名の末尾に
:branchname
を追加します。例えば、TheBloke/deepseek-coder-1.3b-instruct-GPTQ:gptq-4bit-32g-actorder_True
コマンドラインからのダウンロード
huggingface-hub
Pythonライブラリを使うことをおすすめします。
pip3 install huggingface-hub
main
ブランチをdeepseek-coder-1.3b-instruct-GPTQ
というフォルダにダウンロードするには:
mkdir deepseek-coder-1.3b-instruct-GPTQ
huggingface-cli download TheBloke/deepseek-coder-1.3b-instruct-GPTQ --local-dir deepseek-coder-1.3b-instruct-GPTQ --local-dir-use-symlinks False
異なるブランチからダウンロードするには、--revision
パラメータを追加します:
mkdir deepseek-coder-1.3b-instruct-GPTQ
huggingface-cli download TheBloke/deepseek-coder-1.3b-instruct-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir deepseek-coder-1.3b-instruct-GPTQ --local-dir-use-symlinks False
✨ 主な機能
- 複数の量子化パラメータが提供されており、ハードウェアや要件に合わせて最適なものを選ぶことができます。
- 複数の推論サーバーやWeb UIと互換性があります。
- 異なるブランチからのダウンロードが可能です。
📦 インストール
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/deepseek-coder-1.3b-instruct-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'''You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.
### Instruction:
{prompt}
### Response:
'''
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'])
高度な使用法
# 高度な使用法の説明
# 例えば、異なるブランチからモデルを読み込んだり、パラメータを調整したりする場合のコード
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/deepseek-coder-1.3b-instruct-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'''You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.
### Instruction:
{prompt}
### Response:
'''
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.8, do_sample=True, top_p=0.9, top_k=30, max_new_tokens=600)
print(tokenizer.decode(output[0]))
📚 ドキュメント
説明
このリポジトリには、DeepSeekのDeepseek Coder 1.3B InstructのGPTQモデルファイルが含まれています。複数のGPTQパラメータの組み合わせが提供されており、以下の「提供されるファイル」で詳細を確認できます。
利用可能なリポジトリ
- GPU推論用のAWQモデル
- GPU推論用のGPTQモデル(複数の量子化パラメータオプションあり)
- CPU+GPU推論用の2、3、4、5、6、8ビットのGGUFモデル
- GPU推論およびさらなる変換用の、DeepSeekの元の量子化されていないfp16モデル(pytorch形式)
プロンプトテンプレート: DeepSeek
You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.
### Instruction:
{prompt}
### Response:
互換性のあるクライアント/サーバー
これらのGPTQモデルは、以下の推論サーバー/Web UIで動作することが確認されています。
これは完全なリストではない可能性があります。他の互換性のあるものを知っている場合は、教えてください!
提供されるファイルとGPTQパラメータ
複数の量子化パラメータが提供されており、ハードウェアや要件に合わせて最適なものを選ぶことができます。各量子化は異なるブランチにあります。異なるブランチからの取得方法については、以下を参照してください。
ほとんどのGPTQファイルはAutoGPTQで作成されています。Mistralモデルは現在Transformersで作成されています。
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およびMistralモデルのみをサポートしています。
ブランチ | ビット | GS | Act Order | Damp % | GPTQデータセット | シーケンス長 | サイズ | ExLlama | 説明 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | Yes | 0.1 | Evol Instruct Code | 8192 | 0.90 GB | Yes | 4ビット、Act Orderとグループサイズ128g。64gよりもVRAMの使用量が少ないですが、精度はわずかに低下します。 |
gptq-4bit-32g-actorder_True | 4 | 32 | Yes | 0.1 | Evol Instruct Code | 8192 | 0.97 GB | Yes | 4ビット、Act Orderとグループサイズ32g。最大の推論品質を提供しますが、VRAMの使用量が最大になります。 |
gptq-8bit--1g-actorder_True | 8 | None | Yes | 0.1 | Evol Instruct Code | 8192 | 1.48 GB | No | 8ビット、Act Order。グループサイズがないため、VRAMの要件が低くなります。 |
gptq-8bit-128g-actorder_True | 8 | 128 | Yes | 0.1 | Evol Instruct Code | 8192 | 1.51 GB | No | 8ビット、グループサイズ128gで推論品質が向上し、Act Orderでさらに精度が向上します。 |
gptq-8bit-32g-actorder_True | 8 | 32 | Yes | 0.1 | Evol Instruct Code | 8192 | 1.60 GB | No | 8ビット、グループサイズ32gとAct Orderで最大の推論品質を提供します。 |
gptq-4bit-64g-actorder_True | 4 | 64 | Yes | 0.1 | Evol Instruct Code | 8192 | 0.92 GB | Yes | 4ビット、Act Orderとグループサイズ64g。32gよりもVRAMの使用量が少ないですが、精度はわずかに低下します。 |
ブランチからのダウンロード方法
text-generation-webuiでのダウンロード
main
ブランチからダウンロードするには、「Download model」ボックスにTheBloke/deepseek-coder-1.3b-instruct-GPTQ
を入力します。
他のブランチからダウンロードするには、ダウンロード名の末尾に:branchname
を追加します。例えば、TheBloke/deepseek-coder-1.3b-instruct-GPTQ:gptq-4bit-32g-actorder_True
コマンドラインからのダウンロード
huggingface-hub
Pythonライブラリを使用することをおすすめします。
pip3 install huggingface-hub
main
ブランチをdeepseek-coder-1.3b-instruct-GPTQ
というフォルダにダウンロードするには:
mkdir deepseek-coder-1.3b-instruct-GPTQ
huggingface-cli download TheBloke/deepseek-coder-1.3b-instruct-GPTQ --local-dir deepseek-coder-1.3b-instruct-GPTQ --local-dir-use-symlinks False
異なるブランチからダウンロードするには、--revision
パラメータを追加します:
mkdir deepseek-coder-1.3b-instruct-GPTQ
huggingface-cli download TheBloke/deepseek-coder-1.3b-instruct-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir deepseek-coder-1.3b-instruct-GPTQ --local-dir-use-symlinks False
huggingface-cliダウンロードの高度な使用法
--local-dir-use-symlinks False
パラメータを削除すると、ファイルは中央のHugging Faceキャッシュディレクトリ(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 deepseek-coder-1.3b-instruct-GPTQ
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/deepseek-coder-1.3b-instruct-GPTQ --local-dir deepseek-coder-1.3b-instruct-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/deepseek-coder-1.3b-instruct-GPTQ
HFリポジトリでGitを使用することは強く推奨されません。huggingface-hub
を使用するよりもはるかに遅く、モデルファイルを2回保存する必要があるため、ディスクスペースを2倍使用します(意図したターゲットフォルダと.git
フォルダの両方に保存されます)。
text-generation-webuiでこのモデルを簡単にダウンロードして使用する方法
最新バージョンのtext-generation-webuiを使用していることを確認してください。 手動インストール方法を確信していない限り、text-generation-webuiのワンクリックインストーラーを使用することを強くおすすめします。
- Modelタブをクリックします。
- Download custom model or LoRAの下に、
TheBloke/deepseek-coder-1.3b-instruct-GPTQ
を入力します。- 特定のブランチからダウンロードするには、例えば
TheBloke/deepseek-coder-1.3b-instruct-GPTQ:gptq-4bit-32g-actorder_True
を入力します。 - 各オプションのブランチのリストについては、上記の「提供されるファイル」を参照してください。
- 特定のブランチからダウンロードするには、例えば
- Downloadをクリックします。
- モデルのダウンロードが開始されます。完了すると「Done」と表示されます。
- 左上のModelの横にある更新アイコンをクリックします。
- Modelのドロップダウンで、先ほどダウンロードしたモデル
deepseek-coder-1.3b-instruct-GPTQ
を選択します。 - モデルが自動的にロードされ、使用可能になります!
- カスタム設定が必要な場合は、設定を行ってから右上のSave settings for this modelをクリックし、続いてReload the Modelをクリックします。
- 手動でGPTQパラメータを設定する必要はなく、設定しないでください。これらは
quantize_config.json
ファイルから自動的に設定されます。
- 手動でGPTQパラメータを設定する必要はなく、設定しないでください。これらは
- 準備ができたら、Text Generationタブをクリックし、プロンプトを入力して始めましょう!
Text Generation Inference (TGI)からこのモデルを提供する方法
TGIバージョン1.1.0以降を使用することをおすすめします。公式のDockerコンテナはghcr.io/huggingface/text-generation-inference:1.1.0
です。
例のDockerパラメータ:
--model-id TheBloke/deepseek-coder-1.3b-instruct-GPTQ --port 3000 --quantize gptq --max-input-length 3696 --max-total-tokens 4096 --max-batch-prefill-tokens 4096
TGIとやり取りするための例のPythonコード(huggingface-hub 0.17.0以降が必要):
pip3 install huggingface-hub
from huggingface_hub import InferenceClient
endpoint_url = "https://your-endpoint-url-here"
prompt = "Tell me about AI"
prompt_template=f'''You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.
### Instruction:
{prompt}
### Response:
'''
client = InferenceClient(endpoint_url)
response = client.text_generation(prompt,
max_new_tokens=128,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1)
print(f"Model output: {response}")
🔧 技術詳細
提供されるファイルはTransformersで動作することがテストされています。非Mistralモデルの場合は、AutoGPTQを直接使用することもできます。 ExLlamaは、4ビットのLlamaおよびMistralモデルと互換性があります。各ファイルの互換性については、上記の「提供されるファイル」の表を参照してください。
📄 ライセンス
ライセンス情報については、LICENSEを参照してください。ライセンス名はdeepseekです。
Discord
これらのモデルやAI全般についてのさらなるサポートや議論に参加するには、以下に参加してください: 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での特別な言及:Brandon Frisco, LangChain4j, Spiking Neurons AB, transmissions 11, Joseph William Delisle, Nitin Borwankar, Willem Michiel, Michael Dempsey, vamX, Jeffrey Morgan, zynix, jjj, Omer Bin Jawed, Sean Connelly, jinyuan sun, Jeromy Smith, Shadi, Pawan Osman, Chadd, Elijah Stavena, Illia Dulskyi, Sebastain Graf, Stephen Murray, terasurfer, Edmond Seymore, Celu Ramasamy, Mandus, Alex, biorpg, Ajan Kanaga, Clay Pascal, Raven Klaugh, ÈòøÊòé, K, ya boyyy, usrbinkat, Alicia Loh, John Villwock, ReadyPlayerEmma, Chris Smitley, Cap'n Zoog, fincy, GodLy, S_X, sidney chen, Cory Kujawski, OG, Mano Prime, AzureBlack, Pieter, Kalila, Spencer Kim, Tom X Nguyen, Stanislav Ovsiannikov, Michael Levine, Andrey, Trailburnt, Vadim, Enrico Ros, Talal Aujan, Brandon Phillips, Jack West, Eugene Pentland, Michael Davis, Will Dee, webtim, Jonathan Leane, Alps Aficionado, Rooh Singh, Tiffany J. Kim, theTransient, Luke @flexchar, Elle, Caitlyn Gatomon, Ari Malik, subjectnull, Johann-Peter Hartmann, Trenton Dambrowitz, Imad Khwaja, Asp the Wyvern, Emad Mostaque, Rainer Wilmers, Alexandros Triantafyllidis, Nicholas, Pedro Madruga, SuperWojo, Harry Royden McLaughlin, James Bentley, Olakabola, David Ziegler, Ai Maven, Jeff Scr



