模型概述
模型特點
模型能力
使用案例
🚀 Dolphin Llama 13B - GPTQ
Dolphin Llama 13B - GPTQ 是一個基於 Llama 架構的大語言模型,本倉庫提供了該模型的 GPTQ 量化版本,支持多種量化參數選擇,可根據不同硬件和需求進行推理。
🚀 快速開始
從 text-generation-webui 下載並使用
請確保使用的是 text-generation-webui 的最新版本。強烈建議使用一鍵安裝程序,除非你確定知道如何手動安裝。
- 點擊 Model tab。
- 在 Download custom model or LoRA 下,輸入
TheBloke/Dolphin-Llama-13B-GPTQ
。- 若要從特定分支下載,例如輸入
TheBloke/Dolphin-Llama-13B-GPTQ:main
。 - 各選項的分支列表見上方“Provided files and GPTQ parameters”。
- 若要從特定分支下載,例如輸入
- 點擊 Download。
- 模型開始下載,完成後顯示“Done”。
- 在左上角,點擊 Model 旁邊的刷新圖標。
- 在 Model 下拉菜單中,選擇剛下載的模型:
Dolphin-Llama-13B-GPTQ
。 - 模型將自動加載,即可使用!
- 若需要自定義設置,設置完成後點擊右上角的 Save settings for this model,然後點擊 Reload the Model。
- 注意,不再需要也不應該手動設置 GPTQ 參數,這些參數會從
quantize_config.json
文件自動設置。
- 注意,不再需要也不應該手動設置 GPTQ 參數,這些參數會從
- 準備好後,點擊 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/Dolphin-Llama-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'''SYSTEM: {system_message}
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 量化參數組合,可根據硬件和需求選擇最佳參數。
- 多平臺兼容:支持 AutoGPTQ、ExLlama、Huggingface Text Generation Inference (TGI) 等多種推理工具。
- 自定義提示模板:使用 Orca - Vicuna 提示模板,可靈活設置系統消息和用戶提示。
📦 安裝指南
從分支下載
- 在 text - generation - webui 中,可在下載名稱末尾添加
:branch
,例如TheBloke/Dolphin-Llama-13B-GPTQ:main
。 - 使用 Git,可通過以下命令克隆分支:
git clone --single-branch --branch main https://huggingface.co/TheBloke/Dolphin-Llama-13B-GPTQ
- 在 Python Transformers 代碼中,分支通過
revision
參數指定。
安裝必要 Python 包
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
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Dolphin-Llama-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'''SYSTEM: {system_message}
USER: {prompt}
ASSISTANT:
'''
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 進行推理
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/Dolphin-Llama-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'''SYSTEM: {system_message}
USER: {prompt}
ASSISTANT:
'''
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'])
📚 詳細文檔
模型信息
屬性 | 詳情 |
---|---|
模型創建者 | Eric Hartford |
原始模型 | Dolphin Llama 13B |
模型類型 | llama |
提示模板 | Orca - Vicuna<br>SYSTEM: {system_message}<br>USER: {prompt}<br>ASSISTANT:<br> |
可用倉庫
- AWQ 模型(用於 GPU 推理)
- GPTQ 模型(用於 GPU 推理,多種量化參數選項)
- 2、3、4、5、6 和 8 位 GGUF 模型(用於 CPU + GPU 推理)
- Eric Hartford 原始未量化的 fp16 模型(pytorch 格式,用於 GPU 推理和進一步轉換)
提供的文件和 GPTQ 參數
提供多種量化參數,可根據硬件和需求選擇最佳參數。每個單獨的量化版本位於不同分支。所有近期的 GPTQ 文件使用 AutoGPTQ 製作,非主分支的所有文件使用 AutoGPTQ 製作。main
分支中 2023 年 8 月之前上傳的文件使用 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 | 否 | 0.1 | wikitext | 2048 | 7.26 GB | 是 | 4 位,無 Act Order,組大小 128g。 |
gptq-4bit-32g-actorder_True | 4 | 32 | 是 | 0.1 | wikitext | 2048 | 8.00 GB | 是 | 4 位,有 Act Order,組大小 32g。可獲得最高的推理質量,但使用最大的 VRAM。 |
gptq-4bit-64g-actorder_True | 4 | 64 | 是 | 0.1 | wikitext | 2048 | 7.51 GB | 是 | 4 位,有 Act Order,組大小 64g。比 32g 使用更少的 VRAM,但精度稍低。 |
gptq-4bit-128g-actorder_True | 4 | 128 | 是 | 0.1 | wikitext | 2048 | 7.26 GB | 是 | 4 位,有 Act Order,組大小 128g。比 64g 使用更少的 VRAM,但精度稍低。 |
gptq-8bit--1g-actorder_True | 8 | None | 是 | 0.1 | wikitext | 2048 | 13.36 GB | 否 | 8 位,有 Act Order。無組大小,以降低 VRAM 需求。 |
gptq-8bit-128g-actorder_False | 8 | 128 | 否 | 0.1 | wikitext | 2048 | 13.65 GB | 否 | 8 位,組大小 128g 以提高推理質量,無 Act Order 以提高 AutoGPTQ 速度。 |
gptq-8bit-128g-actorder_True | 8 | 128 | 是 | 0.1 | wikitext | 2048 | 13.65 GB | 否 | 8 位,組大小 128g 以提高推理質量,有 Act Order 以獲得更高的精度。 |
gptq-8bit-64g-actorder_True | 8 | 64 | 是 | 0.1 | wikitext | 2048 | 13.95 GB | 否 | 8 位,組大小 64g 和 Act Order 以獲得更高的推理質量。AutoGPTQ CUDA 速度較慢。 |
兼容性
提供的文件經測試可與 AutoGPTQ 配合使用,可通過 Transformers 或直接使用 AutoGPTQ。它們也應與 Occ4m's GPTQ - for - LLaMa fork 兼容。 ExLlama 兼容 4 位的 Llama 模型。每個文件的兼容性見上方“Provided files and GPTQ parameters”表。 Huggingface Text Generation Inference (TGI) 兼容所有 GPTQ 模型。
🔧 技術細節
數據集
該數據集是 Microsoft's Orca 的開源實現。經過去審查、去重和清理後,數據集包括:
- 842,610 條 FLANv2 指令,並使用 GPT - 4 完成。
- 2,625,353 條 FLANv2 指令,並使用 GPT - 3.5 完成。 遵循 Orca 論文中概述的子混合和系統提示分佈,但有一些例外。在 FLAN - 1m 數據集中包含了所有 75k 的 CoT,而不是採樣。此外,發現許多項目重複,因此去除了重複項。然後過濾掉對齊、拒絕、迴避和偏差的實例,以產生一個可在其上分層個性化對齊 LoRA 的無審查模型。還過濾掉了重複項並清理了數據。
訓練
- 使用整個 flan5m(gpt3.5 完成)數據集訓練 3 個週期,學習率為 2e - 5,然後停止訓練以避免過擬合。
- 使用整個 flan1m(gpt4 完成)數據集訓練 2.5 個週期,學習率為 1e - 5,然後停止訓練以避免過擬合。
- 在 8 個 H100 GPU 上訓練約 600 小時。
- 使用類似於 Vicuna 的提示格式,但添加了 SYSTEM: 字段。
提示格式
SYSTEM: {system}
USER: {prompt}
ASSISTANT:
示例
SYSTEM: you are an expert marine biologist.
USER: Please list 10 ways that dolphins are superior to orcas.
ASSISTANT:
📄 許可證
該模型基於 llama1,僅用於非商業用途。未來版本將在 llama2 和其他適合商業用途的開放模型上訓練。
Discord
如需進一步支持,以及討論這些模型和人工智能相關話題,請加入: TheBloke AI's Discord server
致謝與貢獻方式
感謝 chirper.ai 團隊!感謝來自 [gpus.llm - utils.org](llm - utils) 的 Clay! 很多人詢問是否可以貢獻。我喜歡提供模型並幫助他人,希望能有更多時間做這些事,也希望能拓展到新的項目,如微調/訓練。 如果您有能力並願意貢獻,將不勝感激,這將幫助我繼續提供更多模型,並開始新的人工智能項目。 捐贈者將在所有 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 的慷慨資助。
示例輸出
SYSTEM: you are an expert marine biologist.
USER: Please list 10 ways that dolphins are superior to orcas.
ASSISTANT:
- 社會結構:海豚生活在稱為“群”的複雜社會群體中,由大家庭單位組成,可能包括數百個個體。而虎鯨通常形成較小、更臨時的群體,稱為“氏族”或母系親屬群體。
- 溝通方式:海豚擁有高度發達的發聲、肢體語言甚至心靈感應系統,用於相互交流,目的包括協調合作捕獵策略、分享食物來源信息和維持社會關係。雖然虎鯨也有一些溝通能力,但它們的方法通常不如海豚複雜。
- 智力水平:海豚被廣泛認為是最聰明的動物物種之一,展示出先進的解決問題能力、自我意識、工具使用(如使用海綿作為工具)和學習能力。一些海豚物種被觀察到表現出利他主義和理解人類情感。相比之下,雖然虎鯨也很聰明,但它們的認知複雜性不如海豚。
- 嬉戲行為:海豚以其嬉戲行為而聞名,經常進行雜技表演、追逐尾巴和玩球或海藻等物體。這種嬉戲行為被認為對它們的社會關係和心理刺激至關重要。雖然虎鯨偶爾也會嬉戲互動,但不如海豚普遍和多樣。
- 敏捷性和速度:海豚是非常敏捷的游泳者,追捕獵物時速度可達每小時 30 英里(48 公里)。它們可以快速改變方向,輕鬆穿過狹窄空間。雖然虎鯨本身也是強大的捕食者和快速的游泳者,但它們無法與海豚的加速度和敏捷性相媲美。
- 捕食習慣:海豚和虎鯨都是肉食性動物,主要以魚類和頭足類動物為食。然而,海豚採用更廣泛的捕獵技術,包括合作捕獵策略,如驅趕、包圍和將魚群驅趕到淺水區,使魚群迷失方向,更容易捕獲。虎鯨主要依靠從下方伏擊獵物,並使用強大的下顎迅速攻擊。
- 繁殖方式:雌性海豚通常在約 12 個月的妊娠期後產下一隻幼崽。母親在撫養和照顧後代直到它們獨立方面起著至關重要的作用。另一方面,雌性虎鯨傾向於每三到五年繁殖一次,一次產下多隻幼崽,並嚴重依賴母親進行保護和教導。
- 發聲範圍:海豚擁有廣泛的聲音,包括咔噠聲、哨聲和身體聲音,這使它們能夠傳達不同的信息,並在群體中建立獨特的身份。虎鯨也會發聲,但不如海豚叫聲多樣。
- 保護狀況:許多海豚物種面臨棲息地喪失、汙染、過度捕撈和氣候變化的威脅。因此,一些種群被國際自然保護聯盟(IUCN)認為易危或瀕危。相比之下,虎鯨的保護狀況因地區而異;然而,目前沒有物種被列為極度瀕危或面臨滅絕。
- 適應能力:海豚已經適應了各種水生環境,從溫暖的沿海水域到寒冷的開闊海洋。它們的適應性使它們能夠在熱帶和溫帶氣候中生存。相反,虎鯨適應特定的棲息地,如較冷的沿海水域,主要分佈在北半球。



