模型简介
模型特点
模型能力
使用案例
🚀 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)认为易危或濒危。相比之下,虎鲸的保护状况因地区而异;然而,目前没有物种被列为极度濒危或面临灭绝。
- 适应能力:海豚已经适应了各种水生环境,从温暖的沿海水域到寒冷的开阔海洋。它们的适应性使它们能够在热带和温带气候中生存。相反,虎鲸适应特定的栖息地,如较冷的沿海水域,主要分布在北半球。



