模型概述
模型特點
模型能力
使用案例
🚀 Geitje 7B Chat - GPTQ
Geitje 7B Chat - GPTQ 是一個基於GPTQ量化技術的模型,它在Edwin Rijgersberg的Geitje 7B Chat模型基礎上進行了量化處理,提供了多種量化參數選項,以滿足不同硬件和需求。該模型適用於對話場景,可在多種推理服務器和Web UI中使用。
🚀 快速開始
模型信息
- 模型創建者:Edwin Rijgersberg
- 原始模型:Geitje 7B Chat
可用倉庫
- 適用於GPU推理的AWQ模型
- 具有多種量化參數選項、適用於GPU推理的GPTQ模型
- 適用於CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- Edwin Rijgersberg的原始未量化fp16 PyTorch格式模型,適用於GPU推理和進一步轉換
提示模板:ToRA
<|user|>
{prompt}
<|assistant|>
已知兼容的客戶端/服務器
GPTQ模型目前在Linux(NVIDIA/AMD)和Windows(僅NVIDIA)上受支持。macOS用戶請使用GGUF模型。
這些GPTQ模型已知可在以下推理服務器/Web UI中工作:
如果您知道其他兼容的客戶端/服務器,請告知!
✨ 主要特性
- 多種量化參數選項:提供了多個量化參數,允許您根據硬件和需求選擇最佳的參數。
- 多平臺支持:支持Linux(NVIDIA/AMD)和Windows(僅NVIDIA)系統。
- 多客戶端兼容:與多個推理服務器和Web UI兼容。
📦 安裝指南
在text-generation-webui中下載
- 從
main
分支下載:在“下載模型”框中輸入TheBloke/GEITje-7B-chat-GPTQ
。 - 從其他分支下載:在下載名稱末尾添加
:branchname
,例如TheBloke/GEITje-7B-chat-GPTQ:gptq-4bit-32g-actorder_True
。
從命令行下載
推薦使用huggingface-hub
Python庫:
pip3 install huggingface-hub
從main
分支下載到名為GEITje-7B-chat-GPTQ
的文件夾:
mkdir GEITje-7B-chat-GPTQ
huggingface-cli download TheBloke/GEITje-7B-chat-GPTQ --local-dir GEITje-7B-chat-GPTQ --local-dir-use-symlinks False
從不同分支下載,添加--revision
參數:
mkdir GEITje-7B-chat-GPTQ
huggingface-cli download TheBloke/GEITje-7B-chat-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir GEITje-7B-chat-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 GEITje-7B-chat-GPTQ
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/GEITje-7B-chat-GPTQ --local-dir GEITje-7B-chat-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/GEITje-7B-chat-GPTQ
請注意,強烈不建議對HF倉庫使用Git。它比使用huggingface-hub
慢得多,並且會佔用兩倍的磁盤空間,因為它必須將模型文件存儲兩次(在目標文件夾和.git
文件夾中都存儲)。
💻 使用示例
在text-generation-webui中輕鬆下載和使用此模型
請確保使用的是text-generation-webui的最新版本。
強烈建議使用text-generation-webui一鍵安裝程序,除非您確定知道如何手動安裝。
- 點擊模型選項卡。
- 在下載自定義模型或LoRA下,輸入
TheBloke/GEITje-7B-chat-GPTQ
。- 要從特定分支下載,例如輸入
TheBloke/GEITje-7B-chat-GPTQ:gptq-4bit-32g-actorder_True
- 請參閱上面的“提供的文件”部分以獲取每個選項的分支列表。
- 要從特定分支下載,例如輸入
- 點擊下載。
- 模型將開始下載。下載完成後將顯示“完成”。
- 在左上角,點擊模型旁邊的刷新圖標。
- 在模型下拉菜單中,選擇您剛剛下載的模型:
GEITje-7B-chat-GPTQ
- 模型將自動加載,現在可以使用了!
- 如果需要任何自定義設置,請設置它們,然後點擊右上角的保存此模型的設置,接著點擊重新加載模型。
- 請注意,您不再需要也不應該手動設置GPTQ參數。這些參數會從
quantize_config.json
文件中自動設置。
- 請注意,您不再需要也不應該手動設置GPTQ參數。這些參數會從
- 準備好後,點擊文本生成選項卡並輸入提示以開始!
從Text Generation Inference (TGI) 服務此模型
建議使用TGI版本1.1.0或更高版本。官方Docker容器為:ghcr.io/huggingface/text-generation-inference:1.1.0
示例Docker參數:
--model-id TheBloke/GEITje-7B-chat-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'''<|user|>
{prompt}
<|assistant|>
'''
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}")
Python代碼示例:從此GPTQ模型進行推理
安裝必要的包
需要:Transformers 4.33.0或更高版本,Optimum 1.12.0或更高版本,以及AutoGPTQ 0.4.2或更高版本。
pip3 install --upgrade transformers optimum
# 如果使用PyTorch 2.1 + CUDA 12.x:
pip3 install --upgrade auto-gptq
# 或者,如果使用PyTorch 2.1 + CUDA 11.x:
pip3 install --upgrade auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/
如果使用PyTorch 2.0,您需要從源代碼安裝AutoGPTQ。同樣,如果預構建的輪子有問題,您應該嘗試從源代碼構建:
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
git checkout v0.5.1
pip3 install .
示例Python代碼
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/GEITje-7B-chat-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 = "Write a story about llamas"
system_message = "You are a story writing assistant"
prompt_template=f'''<|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]))
# 也可以使用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參數
提供了多個量化參數,允許您根據硬件和需求選擇最佳的參數。
每個單獨的量化版本位於不同的分支中。請參閱下面的說明以瞭解如何從不同分支獲取。
大多數GPTQ文件使用AutoGPTQ製作。Mistral模型目前使用Transformers製作。
GPTQ參數說明
- 位(Bits):量化模型的位大小。
- GS:GPTQ組大小。較高的數字使用較少的VRAM,但量化精度較低。“None”是可能的最低值。
- Act Order:真或假。也稱為
desc_act
。真會導致更好的量化精度。一些GPTQ客戶端在使用Act Order和組大小的模型時遇到過問題,但現在這個問題通常已解決。 - 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 | 是 | 0.1 | Dolly 15K Dutch | 4096 | 4.16 GB | 是 | 4位,帶有Act Order和組大小128g。比64g使用更少的VRAM,但精度稍低。 |
gptq-4bit-32g-actorder_True | 4 | 32 | 是 | 0.1 | Dolly 15K Dutch | 4096 | 4.57 GB | 是 | 4位,帶有Act Order和組大小32g。提供最高的推理質量,但使用最大的VRAM。 |
gptq-8bit--1g-actorder_True | 8 | 無 | 是 | 0.1 | Dolly 15K Dutch | 4096 | 7.52 GB | 否 | 8位,帶有Act Order。沒有組大小,以降低VRAM要求。 |
gptq-8bit-128g-actorder_True | 8 | 128 | 是 | 0.1 | Dolly 15K Dutch | 4096 | 7.68 GB | 否 | 8位,組大小為128g以提高推理質量,帶有Act Order以提高精度。 |
gptq-8bit-32g-actorder_True | 8 | 32 | 是 | 0.1 | Dolly 15K Dutch | 4096 | 8.17 GB | 否 | 8位,組大小為32g和Act Order以實現最大推理質量。 |
gptq-4bit-64g-actorder_True | 4 | 64 | 是 | 0.1 | Dolly 15K Dutch | 4096 | 4.29 GB | 是 | 4位,帶有Act Order和組大小64g。比32g使用更少的VRAM,但精度稍低。 |
兼容性
提供的文件經測試可與Transformers一起使用。對於非Mistral模型,也可以直接使用AutoGPTQ。
ExLlama與4位的Llama架構模型(包括Mistral、Yi、DeepSeek、SOLAR等)兼容。請參閱上面的“提供的文件”表以瞭解每個文件的兼容性。
有關客戶端/服務器的列表,請參閱上面的“已知兼容的客戶端/服務器”部分。
🔧 技術細節
原始模型卡:Edwin Rijgersberg的Geitje 7B Chat
GEITje-7B
GEITje是一個基於Mistral 7B的大型開放荷蘭語模型,擁有70億個參數。它在100億個荷蘭語文本標記上進行了進一步訓練,這提高了其荷蘭語技能,並增加了其對荷蘭語主題的知識。
模型描述
- Mistral - 基礎模型:GEITje基於Mistral 7B。它是一個擁有70億個參數的大型開放語言模型,由Mistral AI訓練。據Mistral AI稱,7B模型在他們測試的所有(英語)基準測試中表現優於Llama 2 13B。Mistral 7B已根據Apache 2.0開源許可證發佈。
- GEITje - 在荷蘭語文本上進一步訓練:GEITje是通過在來自Dutch Gigacorpus和MADLAD-400網絡爬取語料庫的不少於100億個荷蘭語文本標記上進一步訓練Mistral 7B而創建的。這是一個所謂的“全參數微調”:對所有參數進行微調。它不是PEFT或LoRA微調。與Mistral一樣,GEITje的“上下文長度”為8192個標記。
- GEITje-chat - 針對對話進行微調:作為GEITje在聊天應用程序中能力的演示,還對GEITje的兩個初始聊天變體進行了微調:GEITje-chat和GEITje-chat-v2。它們可以遵循指令、回答問題,並就各種主題進行對話。
更多信息
在GitHub上的📄 README中閱讀更多關於GEITje-chat的信息。
訓練過程
- 訓練超參數:
- 學習率(learning_rate):1e-05
- 訓練批次大小(train_batch_size):2
- 評估批次大小(eval_batch_size):8
- 種子(seed):42
- 梯度累積步數(gradient_accumulation_steps):8
- 總訓練批次大小(total_train_batch_size):16
- 優化器(optimizer):Adam,β=(0.9, 0.999),ε=1e-08
- 學習率調度器類型(lr_scheduler_type):餘弦
- 學習率調度器預熱比例(lr_scheduler_warmup_ratio):0.1
- 訓練輪數(num_epochs):3
- 訓練結果:
訓練損失 | 輪數 | 步數 | 驗證損失 |
---|---|---|---|
1.0263 | 0.2 | 236 | 0.9482 |
1.0368 | 0.4 | 472 | 0.9574 |
0.9503 | 0.6 | 708 | 0.9492 |
1.1419 | 0.8 | 944 | 0.9406 |
1.2161 | 1.0 | 1180 | 0.9317 |
0.6695 | 1.2 | 1416 | 0.9407 |
0.7379 | 1.4 | 1652 | 0.9350 |
0.7695 | 1.6 | 1888 | 0.9282 |
0.6795 | 1.8 | 2124 | 0.9218 |
0.6217 | 2.0 | 2360 | 0.9174 |
0.438 | 2.2 | 2596 | 0.9546 |
0.3719 | 2.39 | 2832 | 0.9546 |
0.4853 | 2.59 | 3068 | 0.9548 |
0.3852 | 2.79 | 3304 | 0.9548 |
0.48 | 2.99 | 3540 | 0.9548 |
- 框架版本:
- Transformers:4.36.0.dev0
- Pytorch:2.1.1+cu121
- Datasets:2.15.0
- Tokenizers:0.15.0
📄 許可證
本模型使用Apache 2.0許可證。
其他信息
Discord
如需進一步支持,以及就這些模型和人工智能進行討論,請加入我們的: TheBloke AI的Discord服務器
感謝和如何貢獻
感謝chirper.ai團隊!
感謝來自gpus.llm-utils.org的Clay!
很多人問是否可以貢獻。我喜歡提供模型並幫助人們,並且希望能夠花更多時間做這件事,以及開展新的項目,如微調/訓練。
如果您有能力並願意貢獻,我將非常感激,這將幫助我繼續提供更多模型,並開始新的人工智能項目。
捐贈者將在所有AI/LLM/模型問題和請求上獲得優先支持,訪問私人Discord房間,以及其他福利。
- Patreon:https://patreon.com/TheBlokeAI
- Ko-Fi:https://ko-fi.com/TheBlokeAI
特別感謝:Aemon Algiz。
Patreon特別提及:Michael Levine, 阿明, Trailburnt, Nikolai Manek, John Detwiler, Randy H, Will Dee, Sebastain Graf, NimbleBox.ai, Eugene Pentland, Emad Mostaque, Ai Maven, Jim Angel, Jeff Scroggin, Michael Davis, Manuel Alberto Morcote, Stephen Murray, Robert, Justin Joy, Luke @flexchar, Brandon Frisco, Elijah Stavena, S_X, Dan Guido, Undi ., Komninos Chatzipapas, Shadi, theTransient, Lone Striker, Raven Klaugh, jjj, Cap'n Zoog, Michel-Marie MAUDET (LINAGORA), Matthew Berman, David, Fen Risland, Omer Bin Jawed, Luke Pendergrass, Kalila, OG, Erik Bjäreholt, Rooh Singh, Joseph William Delisle, Dan Lewis, TL, John Villwock, AzureBlack, Brad, Pedro Madruga, Caitlyn Gatomon, K, jinyuan sun, Mano Prime, Alex, Jeffrey Morgan, Alicia Loh, Illia Dulskyi, Chadd, transmissions 11, fincy, Rainer Wilmers, ReadyPlayerEmma, knownsqashed, Mandus, biorpg, Deo Leter, Brandon Phillips, SuperWojo, Sean Connelly, Iucharbius, Jack West, Harry Royden McLaughlin, Nicholas, terasurfer, Vitor Caleffi, Duane Dunston, Johann-Peter Hartmann, David Ziegler, Olakabola, Ken Nordquist, Trenton Dambrowitz, Tom X Nguyen, Vadim, Ajan Kanaga, Leonard Tan, Clay Pascal, Alexandros Triantafyllidis, JM33133, Xule, vamX, ya boyyy, subjectnull, Talal Aujan, Alps Aficionado, wassieverse, Ari Malik, James Bentley, Woland, Spencer Kim, Michael Dempsey, Fred von Graf, Elle, zynix, William Richards, Stanislav Ovsiannikov, Edmond Seymore, Jonathan Leane, Martin Kemka, usrbinkat, Enrico Ros
感謝所有慷慨的贊助者和捐贈者!
再次感謝a16z的慷慨資助。



