模型简介
模型特点
模型能力
使用案例
🚀 Falcon-7B-Instruct GPTQ
本仓库包含一个针对 Falcon-7B-Instruct 的实验性GPTQ 4位模型。它是使用 AutoGPTQ 进行4位量化的结果。
项目头部信息

TheBloke的大语言模型工作得到了 andreessen horowitz (a16z) 的慷慨资助
🚀 快速开始
本项目提供了Falcon-7B-Instruct的GPTQ 4位量化模型,下面将介绍如何下载和使用该模型。
✨ 主要特性
- 本模型是对Falcon-7B-Instruct进行4位量化的结果,使用了AutoGPTQ工具。
- 模型可能在最新的GPTQ-for-LLaMa代码中有更好的性能表现。
- 提供了简单的Python示例代码,方便用户快速上手。
📦 安装指南
AutoGPTQ安装
AutoGPTQ是必需的依赖库,可使用以下命令进行安装:
GITHUB_ACTIONS=true pip install auto-gptq
AutoGPTQ为Windows和Linux提供了预编译的轮子,需要CUDA工具包11.7或11.8。如果你使用的是CUDA工具包12.x,则需要按照以下步骤手动编译:
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
pip install .
手动编译需要你安装 Nvidia CUDA工具包。
运行Python示例代码所需依赖
运行示例代码还需要安装einops:
pip install einops
💻 使用示例
基础用法
在text-generation-webui中下载和使用本模型的步骤如下:
- 启动text-generation-webui。
- 点击 模型 标签。
- 取消勾选 自动加载模型。
- 在 下载自定义模型或LoRA 下,输入
TheBloke/falcon-7B-instruct-GPTQ
。 - 点击 下载。
- 等待下载完成。
- 点击左上角 模型 旁边的 刷新 图标。
- 在 模型下拉框 中选择你刚刚下载的模型
falcon-7B-instruct-GPTQ
。 - 将 加载器 设置为 AutoGPTQ。该模型不适用于ExLlama,可能适用于最新的GPTQ-for-LLaMa,但尚未经过测试。
- 勾选 信任远程代码,然后点击 保存设置。
- 点击 重新加载。
- 当显示模型已加载后,点击 文本生成 标签并输入提示词!
高级用法
以下是一个简单的Python示例代码,展示了如何使用该模型进行文本生成:
from transformers import AutoTokenizer, pipeline, logging
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
import argparse
model_name_or_path = "TheBloke/falcon-7b-instruct-GPTQ"
# 你也可以将模型下载到本地并访问
# model_name_or_path = "/path/to/TheBloke_falcon-7b-instruct-GPTQ"
model_basename = "model"
use_triton = False
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
model_basename=model_basename,
use_safetensors=True,
trust_remote_code=True,
device="cuda:0",
use_triton=use_triton,
quantize_config=None)
prompt = "Tell me about AI"
prompt_template=f'''A helpful assistant who helps the user with any questions asked.
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, max_new_tokens=512)
print(tokenizer.decode(output[0]))
# 也可以使用transformers的pipeline进行推理
# 注意,如果你使用pipeline,会看到一个虚假的错误消息,说模型类型不受支持
# 可以忽略这个消息!或者使用以下日志记录行来隐藏它:
# 防止在使用pipeline和AutoGPTQ时打印虚假的transformers错误
logging.set_verbosity(logging.CRITICAL)
print("*** Pipeline:")
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
temperature=0.7,
top_p=0.95,
repetition_penalty=1.15
)
print(pipe(prompt_template)[0]['generated_text'])
📚 详细文档
关于 trust_remote_code
请注意,这个命令行参数会导致Falcon提供的Python代码在你的机器上执行。目前需要这个代码是因为Falcon太新,Hugging Face transformers还不支持它。未来某个时候,transformers将原生支持该模型,届时就不再需要 trust_remote_code
了。在本仓库中可以看到两个 .py
文件,这些就是会被执行的文件,它们是从 Falcon-7B-Instruct 的基础仓库中复制过来的。
提供的文件
gptq_model-4bit-64g.safetensors
该文件适用于AutoGPTQ 0.2.0及更高版本。它使用组大小64以提高推理质量,并且没有使用 desc_act
(激活顺序)以提高推理速度。
gptq_model-4bit-64g.safetensors
- 适用于AutoGPTQ CUDA 0.2.0及更高版本。目前不适用于AutoGPTQ Triton,但有望在未来添加支持。
- 可在text-generation-webui中使用
--trust-remote-code
加载。 - 不适用于任何版本的GPTQ-for-LLaMa。
- 参数:组大小 = 64,无激活顺序。
原模型信息
模型详情
属性 | 详情 |
---|---|
开发方 | https://www.tii.ae |
模型类型 | 因果解码器 |
语言 | 英语和法语 |
许可证 | TII Falcon LLM许可证 |
微调基础模型 | Falcon-7B |
用途
- 直接使用:Falcon-7B-Instruct在指令和聊天数据集的混合数据上进行了微调。
- 超出范围的使用:未经充分风险评估和缓解的生产使用;任何可能被认为不负责任或有害的使用场景。
偏差、风险和局限性
Falcon-7B-Instruct主要在英语数据上进行训练,可能无法很好地泛化到其他语言。此外,由于它是在代表网络的大规模语料库上训练的,可能会带有网络上常见的刻板印象和偏差。
建议
建议Falcon-7B-Instruct的用户开发防护措施,并在任何生产使用中采取适当的预防措施。
训练详情
训练数据
Falcon-7B-Instruct在2.5亿个标记的指令/聊天数据集混合数据上进行了微调,具体数据来源如下:
数据源 | 比例 | 标记数 | 描述 |
---|---|---|---|
Bai ze | 65% | 1.64亿 | 聊天数据 |
GPT4All | 25% | 6200万 | 指令数据 |
GPTeacher | 5% | 1100万 | 指令数据 |
RefinedWeb-English | 5% | 1300万 | 大规模网络爬取数据 |
技术规格
模型架构和目标
Falcon-7B是一个因果解码器模型,在因果语言建模任务(即预测下一个标记)上进行训练。其架构大致改编自GPT-3论文 (Brown et al., 2020),有以下不同点:
- 位置嵌入:旋转嵌入 (Su et al., 2021)。
- 注意力机制:多查询注意力 (Shazeer et al., 2019) 和FlashAttention (Dao et al., 2022)。
- 解码器块:并行注意力/多层感知机,带有单个层归一化。
超参数 | 值 | 注释 |
---|---|---|
层数 | 32 | |
d_model |
4544 | 为补偿多查询注意力而增加 |
head_dim |
64 | 为优化FlashAttention而减小 |
词汇表 | 65024 | |
序列长度 | 2048 |
计算基础设施
- 硬件:Falcon-7B-Instruct在AWS SageMaker上进行训练,使用了32个A100 40GB GPU的P4d实例。
- 软件:使用自定义的分布式训练代码库Gigatron进行训练,采用3D并行方法,结合ZeRO和高性能Triton内核(如FlashAttention等)。
引用
相关论文即将发布。
🔧 技术细节
性能说明
目前使用AutoGPTQ时,该GPTQ模型的性能非常慢。它可能在最新的GPTQ-for-LLaMa代码中有更好的性能表现,但尚未经过个人测试。
提示模板
A helpful assistant who helps the user with any questions asked.
User: prompt
Assistant:
📄 许可证
Falcon-7B-Instruct根据 TII Falcon LLM许可证 提供。大致来说:
- 你可以自由使用我们的模型进行研究和/或个人用途。
- 你可以分享和构建这些模型的衍生作品,但需要注明出处并使用相同的许可证进行共享。
- 对于商业用途,如果可归因收入低于每年100万美元,则无需支付版税;否则,你需要与TII达成商业协议。
其他信息
Discord
如需进一步的支持,以及参与关于这些模型和人工智能的讨论,请加入我们的 TheBloke AI的Discord服务器。
感谢与贡献方式
感谢 chirper.ai 团队!有很多人询问是否可以进行贡献。我喜欢提供模型并帮助他人,也希望能够花更多时间做这些事情,以及开展新的项目,如微调/训练。如果你有能力并愿意贡献,将不胜感激,这将帮助我继续提供更多模型,并开展新的人工智能项目。捐赠者将在所有AI/大语言模型/模型问题和请求上获得优先支持,访问私人Discord房间,以及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特别感谢:Aemon Algiz。
Patreon特别提及:Sam, theTransient, Jonathan Leane等众多支持者。
联系信息
如有任何问题,可通过邮箱 falconllm@tii.ae 联系。



