模型概述
模型特點
模型能力
使用案例
🚀 Llama 2 13B - GPTQ
本項目提供了 Meta的Llama 2 13B 的GPTQ模型文件,包含多種GPTQ參數排列組合,可根據自身硬件和需求選擇最合適的參數。
🚀 快速開始
下載模型
- 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
參數指定分支。
在 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。注意,無需也不應再手動設置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
使用代碼示例
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]))
# 也可以使用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'])
✨ 主要特性
- 多種量化參數:提供多個量化參數,可根據硬件和需求選擇最佳參數。
- 多分支支持:每個單獨的量化版本位於不同分支,方便獲取。
- 多工具兼容:文件經測試可與 AutoGPTQ 兼容,也應能與 Occ4m's GPTQ-for-LLaMa fork 配合使用。ExLlama 兼容 4 位的 Llama 模型,Huggingface Text Generation Inference (TGI) 兼容所有 GPTQ 模型。
📦 安裝指南
安裝必要的包
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
💻 使用示例
基礎用法
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]))
高級用法
# 使用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
- 原始模型:Llama 2 13B
可用倉庫
- 用於GPU推理的AWQ模型
- 用於GPU推理的GPTQ模型,有多個量化參數選項
- 用於CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- Meta原始未量化的pytorch格式fp16模型,用於GPU推理和進一步轉換
提示模板
{prompt}
提供的文件和GPTQ參數
多個量化參數可供選擇,每個單獨的量化版本位於不同分支。所有近期的 GPTQ 文件均使用 AutoGPTQ 製作,非主分支中的所有文件也使用 AutoGPTQ 製作。2023 年 8 月之前上傳到 main
分支的文件使用 GPTQ-for-LLaMa 製作。
GPTQ參數解釋
- Bits:量化模型的位大小。
- GS:GPTQ 組大小。較高的數值使用較少的 VRAM,但量化精度較低。"None" 是可能的最低值。
- Act Order:真或假。也稱為
desc_act
。真會導致更好的量化精度。一些 GPTQ 客戶端在使用 Act Order 加 Group Size 的模型時遇到過問題,但現在這個問題通常已解決。 - Damp %:一個影響量化樣本處理方式的 GPTQ 參數。默認值為 0.01,但 0.1 會導致稍高的精度。
- GPTQ dataset:用於量化的數據集。使用與模型訓練更匹配的數據集可以提高量化精度。請注意,GPTQ 數據集與用於訓練模型的數據集不同,請參考原始模型倉庫瞭解訓練數據集的詳細信息。
- Sequence Length:用於量化的數據集序列長度。理想情況下,此值應與模型序列長度相同。對於一些非常長序列的模型(16+K),可能需要使用較低的序列長度。請注意,較低的序列長度不會限制量化模型的序列長度,它只會影響較長推理序列的量化精度。
- ExLlama Compatibility:該文件是否可以使用 ExLlama 加載,目前 ExLlama 僅支持 4 位的 Llama 模型。
分支 | Bits | GS | Act Order | Damp % | GPTQ 數據集 | Seq Len | 大小 | 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 需求。 |
🔧 技術細節
兼容性
文件經測試可與 AutoGPTQ 兼容,也應能與 Occ4m's GPTQ-for-LLaMa fork 配合使用。ExLlama 兼容 4 位的 Llama 模型,Huggingface Text Generation Inference (TGI) 兼容所有 GPTQ 模型。
📄 許可證
本項目使用 llama2 許可證,自定義商業許可證可在 https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 獲取。
其他信息
Discord
如需進一步支持,或討論這些模型和人工智能相關話題,可加入 TheBloke AI's Discord服務器。
感謝與貢獻
感謝 chirper.ai 團隊和 gpus.llm-utils.org 的 Clay。如果你願意貢獻,捐贈將非常感激,這將有助於提供更多模型並開展新的人工智能項目。捐贈者將獲得優先支持、訪問私人 Discord 房間等福利。
- Patreon:https://patreon.com/TheBlokeAI
- Ko-Fi:https://ko-fi.com/TheBlokeAI
特別感謝眾多支持者,包括 Aemon Algiz 等眾多個人和組織。
也再次感謝 a16z 的慷慨資助。



