英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

Meta's Llama 2 70B GPTQ

这些文件是用于 Meta's Llama 2 70B 的GPTQ模型文件。

提供多个GPTQ参数组合;有关提供的选项、其参数和用于创建它们的软件的详细信息,请参见下面的“提供的文件”部分。

非常感谢来自 Chai 的 William Beauchamp 为这些量化提供了硬件支持!

ExLlama 支持70B!

this commit 开始,ExLlama支持Llama 2 70B模型。

请确保您将ExLlama更新到最新版本。如果您是text-generation-webui的一键安装用户,则必须首先卸载ExLlama wheel,然后在text-generation-webui/repositories中更新ExLlama;完整的说明如下。

现在我们有了ExLlama,这是推荐使用的加载器,因为性能应该比AutoGPTQ和GPTQ-for-LLaMa更好,并且您将能够使用更高精度的模型,例如128g + Act-Order。

提示:ExLlama不支持3位模型,因此如果您希望尝试这些量化,则需要使用AutoGPTQ或GPTQ-for-LLaMa。

AutoGPTQ和GPTQ-for-LLaMa需要最新版本的Transformers

如果您计划使用AutoGPTQ或GPTQ-for-LLaMa中的任何量化参数,您的Transformers需要使用最新的Github代码。

如果您正在使用text-generation-webui并已更新到最新版本,则系统会自动完成此操作。

如果没有,则可以手动更新:

pip3 install git+https://github.com/huggingface/transformers

可用的存储库

提示模板:无

{prompt}

提供的文件

提供了多个量化参数,以便您可以根据硬件和需求选择最佳参数。

每个单独的量化都在不同的分支中。有关从不同分支获取的说明,请参见下面的说明。

Branch Bits Group Size Act Order (desc_act) File Size ExLlama Compatible? Made With Description
main 4 128 False 35.33 GB True AutoGPTQ Most compatible option. Good inference speed in AutoGPTQ and GPTQ-for-LLaMa. Lower inference quality than other options.
gptq-4bit-32g-actorder_True 4 32 True 40.66 GB True AutoGPTQ 4-bit, with Act Order and group size. 32g gives highest possible inference quality, with maximum VRAM usage. Poor AutoGPTQ CUDA speed.
gptq-4bit-64g-actorder_True 4 64 True 37.99 GB True AutoGPTQ 4-bit, with Act Order and group size. 64g uses less VRAM than 32g, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed.
gptq-4bit-128g-actorder_True 4 128 True 36.65 GB True AutoGPTQ 4-bit, with Act Order and group size. 128g uses even less VRAM, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed.
gptq-3bit--1g-actorder_True 3 None True 26.78 GB False AutoGPTQ 3-bit, with Act Order and no group size. Lowest possible VRAM requirements. May be lower quality than 3-bit 128g.
gptq-3bit-128g-actorder_False 3 128 False 28.03 GB False AutoGPTQ 3-bit, with group size 128g but no act-order. Slightly higher VRAM requirements than 3-bit None.
gptq-3bit-128g-actorder_True 3 128 True 28.03 GB False AutoGPTQ 3-bit, with group size 128g and act-order. Higher quality than 128g-False but poor AutoGPTQ CUDA speed.
gptq-3bit-64g-actorder_True 3 64 True 29.30 GB False AutoGPTQ 3-bit, with group size 64g and act-order. Highest quality 3-bit option. Poor AutoGPTQ CUDA speed.

如何从分支下载

  • 在text-generation-webui中,您可以在下载名称末尾添加: branch,例如TheBloke/Llama-2-70B-GPTQ:gptq-4bit-32g-actorder_True
  • 使用Git,您可以使用以下命令克隆一个分支:
git clone --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/Llama-2-70B-GPTQ`
  • 在Python Transformers代码中,分支是revision参数;请参见下面的说明。

如何在 text-generation-webui 中轻松下载和使用此模型。

请确保您正在使用最新版本的 text-generation-webui ,其中包括对Llama 2模型的支持。

强烈建议使用text-generation-webui的一键安装程序,除非您知道如何进行手动安装。

使用ExLlama(仅限4位模型)-如果您有足够的VRAM可用,建议选项

ExLlama现已更新以支持Llama 2 70B,但您需要将ExLlama更新到最新版本。

默认情况下,text-generation-webui会安装ExLlama的预编译wheel。在text-generation-webui更新以反映ExLlama的更改之前-希望不会太长时间-您必须卸载它,然后将ExLlama克隆到text-generation-webui/repositories目录中。 ExLlama将在首次加载模型时编译其内核。

请按照Linux一键安装程序的说明进行操作:

  • 进入text-generation-webui主文件夹:cd /path/to/text-generation-webui
  • 激活text-generation-webui的conda env:
  • source "installer_files/conda/etc/profile.d/conda.sh"
    conda activate installer_files/env
    
  • 运行: pip3 uninstall exllama
  • 运行: cd repositories/exllama,然后运行 git pull 更新exllama。
  • 现在启动text-generation-webui,并按照下面的说明下载和运行模型。ExLlama应该在第一次加载模型时构建其内核。
  • 在text-generation-webui中下载和运行模型

  • 点击 模型 选项卡。
  • 在下载自定义模型或LoRA下方,输入 TheBloke/Llama-2-70B-GPTQ 。
    • 要从特定分支下载,请输入例如 TheBloke/Llama-2-70B-GPTQ:gptq-4bit-32g-actorder_True
    • 请参见上面的提供的文件列表,了解每个选项的分支列表。
  • 点击 下载。
  • 模型将开始下载。完成后,它将显示“完成”
  • 如果您计划使用4位文件,请将加载器设置为ExLlama;否则选择AutoGPTQ或GPTQ-for-LLaMA。
    • 如果使用AutoGPTQ,请确保“不注入融合注意力”被选中
  • 在左上角,单击模型旁边的刷新图标。
  • 在 模型 下拉菜单中,选择刚刚下载的模型:TheBloke/Llama-2-70B-GPTQ
  • 模型将自动加载,现在已准备好使用!
  • 然后,单击 为该模型保存设置,然后在右上角单击重新加载模型,以确保持久保存设置。
  • 准备就绪后,单击 文本生成 选项卡并输入提示来开始!
  • 如何从Python代码中使用此GPTQ模型

    首先确保您已安装 AutoGPTQ

    GITHUB_ACTIONS=true pip3 install auto-gptq
    

    您还需要从Github获取最新的Transformers代码:

    pip3 install git+https://github.com/huggingface/transformers
    

    您必须将 inject_fused_attention=False 设置如下所示。

    然后尝试以下示例代码:

    from transformers import AutoTokenizer, pipeline, logging
    from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
    
    model_name_or_path = "TheBloke/Llama-2-70B-GPTQ"
    model_basename = "gptq_model-4bit--1g"
    
    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,
            inject_fused_attention=False, # Required for Llama 2 70B model at this time.
            use_safetensors=True,
            trust_remote_code=False,
            device="cuda:0",
            use_triton=use_triton,
            quantize_config=None)
    
    """
    To download from a specific branch, use the revision parameter, as in this example:
    
    model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
            revision="gptq-4bit-32g-actorder_True",
            model_basename=model_basename,
            inject_fused_attention=False, # Required for Llama 2 70B model at this time.
            use_safetensors=True,
            trust_remote_code=False,
            device="cuda:0",
            quantize_config=None)
    """
    
    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, max_new_tokens=512)
    print(tokenizer.decode(output[0]))
    
    # Inference can also be done using transformers' pipeline
    
    # Prevent printing spurious transformers error when using pipeline with AutoGPTQ
    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'])
    

    兼容性

    提供的文件可与AutoGPTQ(CUDA和Triton模式)、GPTQ-for-LLaMa(仅测试了CUDA)和Occ4m的GPTQ-for-LLaMa分支一起使用。

    ExLlama现在与Llama 2 70B模型兼容,从 this commit 开始。

    有关每个文件的兼容性,请参见上面的提供的文件表。

    Discord

    如需进一步支持以及对这些模型和AI的讨论,请加入我们的Discord:

    TheBloke AI's Discord server

    感谢以及如何贡献

    感谢 chirper.ai 团队!

    我已经有很多人问我是否可以为此贡献。我喜欢提供模型和帮助别人,并希望能够花更多时间在这方面,并扩展到新的项目,如微调/训练。

    如果您有能力和意愿贡献,我将非常感激,并将帮助我继续提供更多模型,并开始进行新的AI项目。

    捐助者将在AI/LLM/模型问题和请求方面获得优先支持,可以访问私人Discord房间,以及其他福利。

    特别感谢:来自CarbonQuill的Luke,Aemon Algiz。

    Patreon特别感谢:Space Cruiser、Nikolai Manek、Sam、Chris McCloskey、Rishabh Srivastava、Kalila、Spiking Neurons AB、Khalefa Al-Ahmad、WelcomeToTheClub、Chadd、Lone Striker、Viktor Bowallius、Edmond Seymore、Ai Maven、Chris Smitley、Dave、Alexandros Triantafyllidis、Luke @flexchar、Elle、ya boyyy、Talal Aujan、Alex、Jonathan Leane、Deep Realms、Randy H、subjectnull、Preetika Verma、Joseph William Delisle、Michael Levine、chris gileta、K、Oscar Rangel、LangChain4j、Trenton Dambrowitz、Eugene Pentland、Johann-Peter Hartmann、Femi Adebogun、Illia Dulskyi、senxiiz、Daniel P. Andersen、Sean Connelly、Artur Olbinski、RoA、Mano Prime、Derek Yates、Raven Klaugh、David Flickinger、Willem Michiel、Pieter、Willian Hasse、vamX、Luke Pendergrass、webtim、Ghost、Rainer Wilmers、Nathan LeClaire、Will Dee、Cory Kujawski、John Detwiler、Fred von Graf、biorpg、Iucharbius、Imad Khwaja、Pierre Kircher、terasurfer、Asp the Wyvern、John Villwock、theTransient、zynix、Gabriel Tamborski、Fen Risland、Gabriel Puliatti、Matthew Berman、Pyrater、SuperWojo、Stephen Murray、Karl Bernard、Ajan Kanaga、Greatston Gnanesh、Junyu Yang。

    感谢所有慷慨的赞助者和捐赠者!

    原始模型卡片:Meta's Llama 2 70B

    Llama 2

    Llama 2是一系列在规模从70亿到700亿参数的预训练和微调生成性文本模型。这是用于70B预训练模型的存储库,转换为Hugging Face Transformers格式。其他模型的链接可以在底部的索引中找到。

    模型详情

    注意:使用此模型受Meta许可证的约束。要下载模型权重和分词器,请访问 website 并接受我们的许可协议,然后请求访问。

    Meta开发并公开发布了Llama 2系列大型语言模型(LLM),这是一系列在规模从70亿到700亿参数的预训练和微调生成性文本模型。我们微调的LLM称为Llama-2-Chat,专为对话用例进行了优化。Llama-2-Chat模型在我们测试的大多数基准测试中优于开源聊天模型,并且在我们的有关帮助性和安全性的人工评估中与一些热门闭源模型(如ChatGPT和PaLM)持平。

    模型开发者 Meta

    变体 Llama 2有多种参数大小- 7B、13B和70B-以及预训练和微调变体。

    输入 模型仅接受文本输入。

    输出 模型仅生成文本。

    模型架构 Llama 2是一种自回归语言模型,使用了一种优化后的变换器架构。经过微调的版本使用了有监督的微调(SFT)和增强学习与人类反馈(RLHF)来与人类对于帮助性和安全性的偏好相一致。

    Training Data Params Content Length GQA Tokens LR
    Llama 2 A new mix of publicly available online data 7B 4k 2.0T 3.0 x 10 -4
    Llama 2 A new mix of publicly available online data 13B 4k 2.0T 3.0 x 10 -4
    Llama 2 A new mix of publicly available online data 70B 4k 2.0T 1.5 x 10 -4

    Llama 2系列模型。令牌计数仅指预训练数据。所有模型都使用4M个令牌的全局批次大小进行训练。更大的模型-70B-使用Grouped-Query Attention(GQA)来提高推理可扩展性。

    模型日期 Llama 2是在2023年1月至2023年7月之间进行训练的。

    状态 这是基于离线数据集训练的静态模型。我们将随着社区反馈改进模型安全性的过程中发布未来版本的调优模型。

    许可证 提供自定义商业许可证: https://ai.meta.com/resources/models-and-libraries/llama-downloads/

    使用目的

    预期使用用例 Llama 2旨在用于商业和研究用途的英文。微调模型旨在用于助理式对话,而预训练模型可以用于各种自然语言生成任务。

    为了获得聊天版本的预期功能和性能,需要遵循特定的格式,包括INST和<<SYS>>标签,BOS和EOS令牌以及之间的空格和换行符(我们建议对输入调用strip()以避免双空格)。有关详细信息,请参见我们在GitHub上的参考代码: chat_completion

    超出范围的用途 任何违反适用法律或法规的用途(包括贸易合规法)。使用英语以外的语言。以有违Llama 2可接受使用政策和许可协议的任何其他方式使用。

    硬件和软件

    训练因素 我们使用自定义训练库、Meta的研究超级集群和生产集群进行预训练。微调、注释和评估也是在第三方云计算上进行的。

    碳足迹 预训练使用了累计330万个GPU小时的计算,硬件类型为A100-80GB(TDP为350-400W)。估计总排放量为539 tCO2eq,该排放量的100%通过Meta的可持续发展计划进行了抵消。

    Time (GPU hours) Power Consumption (W) Carbon Emitted(tCO 2 eq)
    Llama 2 7B 184320 400 31.22
    Llama 2 13B 368640 400 62.44
    Llama 2 70B 1720320 400 291.42
    Total 3311616 539.00

    预训练期间的CO2排放。时间:训练每个模型所需的总GPU时间。功耗:GPU设备每个GPU设备的峰值功率容量,根据功耗使用效率进行调整。 100%的排放通过Meta的可持续发展计划直接进行抵消,因为我们正在公开发布这些模型,所以不需要其他人承担预训练成本。

    训练数据

    概述 Llama 2在规模为2万亿个标记的公开可用源中进行了预训练。微调数据包括公开可用的说明数据集,以及超过一百万个新的人工注释示例。预训练数据集和微调数据集均不包含Meta用户数据。

    数据新鲜度预训练数据截止到2022年9月,但某些微调数据更近,最多到2023年7月。

    评估结果

    在本节中,我们报告了Llama 1和Llama 2模型在标准学术基准测试上的结果。对于所有评估,我们使用了我们的内部评估库。

    Model Size Code Commonsense Reasoning World Knowledge Reading Comprehension Math MMLU BBH AGI Eval
    Llama 1 7B 14.1 60.8 46.2 58.5 6.95 35.1 30.3 23.9
    Llama 1 13B 18.9 66.1 52.6 62.3 10.9 46.9 37.0 33.9
    Llama 1 33B 26.0 70.0 58.4 67.6 21.4 57.8 39.8 41.7
    Llama 1 65B 30.7 70.7 60.5 68.6 30.8 63.4 43.5 47.6
    Llama 2 7B 16.8 63.9 48.9 61.3 14.6 45.3 32.6 29.3
    Llama 2 13B 24.5 66.9 55.4 65.8 28.7 54.8 39.4 39.1
    Llama 2 70B 37.5 71.9 63.6 69.4 35.2 68.9 51.2 54.2

    分组学术基准测试的整体性能。 代码:我们报告了模型在HumanEval和MBPP上的平均pass@1分数。常识推理:我们报告了PIQA、SIQA、HellaSwag、WinoGrande、ARC easy和challenge、OpenBookQA和CommonsenseQA的平均分数。我们对CommonSenseQA进行了7-shot评估,对其他所有基准测试进行了0-shot评估。 知识世界:我们评估了NaturalQuestions和TriviaQA的5-shot性能,并报告了平均值。 阅读理解:对于阅读理解,我们报告了SQuAD、QuAC和BoolQ的0-shot平均分数。 MATH:我们报告了GSM8K(8 shot)和MATH(4 shot)基准的平均值。

    TruthfulQA Toxigen
    Llama 1 7B 27.42 23.00
    Llama 1 13B 41.74 23.08
    Llama 1 33B 44.19 22.57
    Llama 1 65B 48.71 21.77
    Llama 2 7B 33.29 21.25
    Llama 2 13B 41.86 26.10
    Llama 2 70B 50.18 24.60

    预训练LLM在自动安全基准测试上的评估结果。对于TruthfulQA,我们呈现了既真实又信息丰富的生成比例(越高越好)。对于ToxiGen,我们呈现了有毒生成的百分比(越小越好)。

    TruthfulQA Toxigen
    Llama-2-Chat 7B 57.04 0.00
    Llama-2-Chat 13B 62.18 0.00
    Llama-2-Chat 70B 64.14 0.01

    在不同安全数据集上对微调LLM的评估结果。与上述度量标准定义相同。

    道德考虑和限制

    Llama 2是一项具有风险的新技术。迄今为止的测试仅以英语进行,并未涵盖,也无法涵盖所有场景。因此,与所有LLM一样,Llama 2的潜在输出无法预先预测,并且在某些情况下,模型可能会产生不准确、有偏见或其他令人反感的响应。因此,在部署任何Llama 2应用程序之前,开发人员应根据其特定的模型应用进行安全测试和调优。

    有关详细信息,请参阅可在 https://ai.meta.com/llama/responsible-use-guide/ 获取的负责任使用指南。

    报告问题

    请通过以下方式之一报告模型的任何软件“错误”或其他问题:

    Llama 模型索引

    Model Llama2 Llama2-hf Llama2-chat Llama2-chat-hf
    7B 12329321 12330321 12331321 12332321
    13B 12333321 12334321 12335321 12334321
    70B 12337321 12338321 12339321 12338321