模型概述
模型特點
模型能力
使用案例
🚀 Llava v1.5 13B - GPTQ
Llava v1.5 13B - GPTQ 是經過量化處理的模型文件,提供多種量化參數選擇,適用於不同硬件和需求,可用於研究大型多模態模型和聊天機器人。
🚀 快速開始
下載模型
在 text-generation-webui 中下載
- 若要從
main
分支下載,在“Download model”框中輸入TheBloke/llava-v1.5-13B-GPTQ
。 - 若要從其他分支下載,在下載名稱末尾添加
:branchname
,例如TheBloke/llava-v1.5-13B-GPTQ:gptq-4bit-32g-actorder_True
。
從命令行下載
推薦使用 huggingface-hub
Python 庫:
pip3 install huggingface-hub
- 若要將
main
分支下載到名為llava-v1.5-13B-GPTQ
的文件夾:
mkdir llava-v1.5-13B-GPTQ
huggingface-cli download TheBloke/llava-v1.5-13B-GPTQ --local-dir llava-v1.5-13B-GPTQ --local-dir-use-symlinks False
- 若要從不同分支下載,添加
--revision
參數:
mkdir llava-v1.5-13B-GPTQ
huggingface-cli download TheBloke/llava-v1.5-13B-GPTQ --revision gptq-4bit-32g-actorder_True --local-dir llava-v1.5-13B-GPTQ --local-dir-use-symlinks False
在 text-generation-webui 中使用模型
- 確保使用的是 text-generation-webui 的最新版本。強烈推薦使用 text-generation-webui 一鍵安裝程序,除非你確定知道如何手動安裝。
- 點擊 Model tab。
- 在 Download custom model or LoRA 下,輸入
TheBloke/llava-v1.5-13B-GPTQ
。若要從特定分支下載,輸入例如TheBloke/llava-v1.5-13B-GPTQ:gptq-4bit-32g-actorder_True
,具體分支列表可參考“Provided files, and GPTQ parameters”部分。 - 點擊 Download,模型將開始下載,下載完成後會顯示“Done”。
- 在左上角,點擊 Model 旁邊的刷新圖標。
- 在 Model 下拉菜單中,選擇剛下載的模型:
llava-v1.5-13B-GPTQ
。 - 模型將自動加載,現在即可使用!
- 若需要自定義設置,設置完成後點擊 Save settings for this model,然後在右上角點擊 Reload the Model。注意,無需也不應再手動設置 GPTQ 參數,這些參數會從
quantize_config.json
文件中自動設置。 - 準備好後,點擊 Text Generation tab 並輸入提示詞即可開始!
使用 Text Generation Inference (TGI) 服務此模型
推薦使用 TGI 版本 1.1.0 或更高版本,官方 Docker 容器為:ghcr.io/huggingface/text-generation-inference:1.1.0
。
示例 Docker 參數:
--model-id TheBloke/llava-v1.5-13B-GPTQ --port 3000 --quantize awq --max-input-length 3696 --max-total-tokens 4096 --max-batch-prefill-tokens 4096
示例 Python 代碼與 TGI 交互(需要 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'''{prompt}
'''
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 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/llava-v1.5-13B-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'''{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]))
# 也可以使用 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'])
✨ 主要特性
- 本倉庫包含 Haotian Liu 的 Llava v1.5 13B 的 GPTQ 模型文件。
- 提供多種 GPTQ 參數排列,可根據硬件和需求選擇最佳參數。
📦 安裝指南
安裝必要的 Python 庫
- 若要從命令行下載模型,需安裝
huggingface-hub
:
pip3 install huggingface-hub
- 若要使用 Python 代碼與 TGI 交互,需安裝
huggingface-hub
:
pip3 install huggingface-hub
- 若要從 Python 代碼使用此 GPTQ 模型,需安裝以下庫:
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 .
下載模型
可參考“快速開始”部分的下載說明。
📚 詳細文檔
提供的文件和 GPTQ 參數
提供多種量化參數,以便根據硬件和需求選擇最佳參數。每個單獨的量化版本位於不同分支,以下是獲取不同分支文件的說明。大多數 GPTQ 文件使用 AutoGPTQ 製作,Mistral 模型目前使用 Transformers 製作。
GPTQ 參數說明
- Bits:量化模型的位大小。
- GS:GPTQ 組大小。較高的數值使用較少的顯存,但量化精度較低。“None”是最低可能值。
- Act Order:True 或 False。也稱為
desc_act
。True 可獲得更好的量化精度。一些 GPTQ 客戶端在使用 Act Order 加 Group Size 的模型時遇到過問題,但現在一般已解決。 - Damp %:一個影響量化樣本處理方式的 GPTQ 參數。默認值為 0.01,但 0.1 可獲得稍高的精度。
- GPTQ 數據集:量化期間使用的校準數據集。使用更適合模型訓練的數據集可以提高量化精度。請注意,GPTQ 校準數據集與訓練模型使用的數據集不同,請參考原始模型倉庫瞭解訓練數據集的詳細信息。
- 序列長度:量化時使用的數據集序列長度。理想情況下,此長度應與模型序列長度相同。對於一些非常長序列的模型(16K 以上),可能需要使用較低的序列長度。請注意,較低的序列長度不會限制量化模型的序列長度,它僅影響較長推理序列的量化精度。
- ExLlama 兼容性:此文件是否可以使用 ExLlama 加載,目前 ExLlama 僅支持 4 位的 Llama 模型。
分支 | Bits | GS | Act Order | Damp % | GPTQ 數據集 | Seq Len | 大小 | ExLlama | 描述 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | 是 | 0.1 | wikitext | 4096 | 7.26 GB | 是 | 4 位,使用 Act Order 和組大小 128g。比 64g 使用更少的顯存,但精度稍低。 |
gptq-4bit-32g-actorder_True | 4 | 32 | 是 | 0.1 | wikitext | 4096 | 8.00 GB | 是 | 4 位,使用 Act Order 和組大小 32g。可獲得最高的推理質量,但使用最大的顯存。 |
gptq-8bit--1g-actorder_True | 8 | 無 | 是 | 0.1 | wikitext | 4096 | 9.96 GB | 否 | 8 位,使用 Act Order。無組大小,以降低顯存需求。 |
gptq-8bit-128g-actorder_True | 8 | 128 | 是 | 0.1 | wikitext | 4096 | 9.93 GB | 否 | 8 位,使用組大小 128g 以獲得更高的推理質量,並使用 Act Order 以獲得更高的精度。 |
gptq-8bit-32g-actorder_True | 8 | 32 | 是 | 0.1 | wikitext | 4096 | 9.97 GB | 否 | 8 位,使用組大小 32g 和 Act Order 以獲得最大的推理質量。 |
gptq-4bit-64g-actorder_True | 4 | 64 | 是 | 0.1 | wikitext | 4096 | 7.51 GB | 是 | 4 位,使用 Act Order 和組大小 64g。比 32g 使用更少的顯存,但精度稍低。 |
提示詞模板:llava 1.5
A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.
USER: <image>{prompt}
ASSISTANT:
🔧 技術細節
模型信息
屬性 | 詳情 |
---|---|
模型類型 | llama |
模型創建者 | Haotian Liu |
基礎模型 | liuhaotian/llava-v1.5-13b |
量化者 | TheBloke |
許可證 | llama2 |
提示詞模板 | '{prompt} ' |
訓練和量化相關
- 訓練數據集:
- 558K 從 LAION/CC/SBU 過濾的圖像 - 文本對,由 BLIP 加標題。
- 158K GPT 生成的多模態指令跟隨數據。
- 450K 面向學術任務的 VQA 混合數據。
- 40K ShareGPT 數據。
- GPTQ 量化:
- 大多數 GPTQ 文件使用 AutoGPTQ 製作,Mistral 模型目前使用 Transformers 製作。
- 提供多種量化參數組合,不同分支對應不同的量化版本,可根據硬件和需求選擇。
兼容性
- 提供的文件經測試可與 AutoGPTQ 配合使用,可通過 Transformers 或直接使用 AutoGPTQ。它們也應與 Occ4m's GPTQ-for-LLaMa 分支 兼容。
- ExLlama 與 4 位的 Llama 和 Mistral 模型兼容,具體文件兼容性可參考“Provided files, and GPTQ parameters”表。
- Huggingface Text Generation Inference (TGI) 與所有 GPTQ 模型兼容。
📄 許可證
Llama 2 遵循 LLAMA 2 社區許可證,版權所有 (c) Meta Platforms, Inc. 保留所有權利。
💬 社區與支持
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 特別提及:Pierre Kircher, Stanislav Ovsiannikov, Michael Levine, Eugene Pentland, Andrey, 준교 김, Randy H, Fred von Graf, Artur Olbinski, Caitlyn Gatomon, terasurfer, Jeff Scroggin, James Bentley, Vadim, Gabriel Puliatti, Harry Royden McLaughlin, Sean Connelly, Dan Guido, Edmond Seymore, Alicia Loh, subjectnull, AzureBlack, Manuel Alberto Morcote, Thomas Belote, Lone Striker, Chris Smitley, Vitor Caleffi, Johann - Peter Hartmann, Clay Pascal, biorpg, Brandon Frisco, sidney chen, transmissions 11, Pedro Madruga, jinyuan sun, Ajan Kanaga, Emad Mostaque, Trenton Dambrowitz, Jonathan Leane, Iucharbius, usrbinkat, vamX, George Stoitzev, Luke Pendergrass, theTransient, Olakabola, Swaroop Kallakuri, Cap'n Zoog, Brandon Phillips, Michael Dempsey, Nikolai Manek, danny, Matthew Berman, Gabriel Tamborski, alfie_i, Raymond Fosdick, Tom X Nguyen, Raven Klaugh, LangChain4j, Magnesian, Illia Dulskyi, David Ziegler, Mano Prime, Luis Javier Navarrete Lozano, Erik Bjäreholt, 阿明, Nathan Dryer, Alex, Rainer Wilmers, zynix, TL, Joseph William Delisle, John Villwock, Nathan LeClaire, Willem Michiel, Joguhyik, GodLy, OG, Alps Aficionado, Jeffrey Morgan, ReadyPlayerEmma, Tiffany J. Kim, Sebastain Graf, Spencer Kim, Michael Davis, webtim, Talal Aujan, knownsqashed, John Detwiler, Imad Khwaja, Deo Leter, Jerry Meng, Elijah Stavena, Rooh Singh, Pieter, SuperWojo, Alexandros Triantafyllidis, Stephen Murray, Ai Maven, ya boyyy, Enrico Ros, Ken Nordquist, Deep Realms, Nicholas, Spiking Neurons AB, Elle, Will Dee, Jack West, RoA, Luke @flexchar, Viktor Bowallius, Derek Yates, Subspace Studios, jjj, Toran Billups, Asp the Wyvern, Fen Risland, Ilya, NimbleBox.ai, Chadd, Nitin Borwankar, Emre, Mandus, Leonard Tan, Kalila, K, Trailburnt, S_X, Cory Kujawski









