英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

Meta的Llama 2 70B Chat GPTQ

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

提供了多个GPTQ参数排列,有关提供的选项、参数和用于创建它们的软件的详细信息,请参阅下面的提供的文件。

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

ExLlama支持70B来了!

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

请确保您更新到最新版本的ExLlama。如果您是一个文本生成网页UI一键式用户,您必须首先卸载ExLlama wheel,然后克隆ExLlama到text-generation-webui/repositories;完整的说明如下。

现在我们有了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代码。

如果您使用的是文本生成WebUI并更新到了最新版本,这将为您自动完成。

如果没有,请按照以下方式手动更新:

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

可用的存储库

提示模板:Llama-2-Chat

[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe.  Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]

要继续对话:

[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe.  Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]{model_reply} 
[INST]{prompt}[/INST]

提供的文件

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

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

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.

从分支下载的方法

  • 在文本生成WebUI中,您可以在下载名称的末尾添加:branch,例如TheBloke/Llama-2-70B-chat-GPTQ:gptq-4bit-32g-actorder_True
  • 使用Git,您可以使用以下命令克隆分支:
git clone --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/Llama-2-70B-chat-GPTQ`
  • 在Python Transformers代码中,分支是修订参数;请参阅下面的说明。

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

请确保您使用的是包括对Llama 2模型支持的最新版本的 text-generation-webui

强烈建议使用文本生成WebUI的一键安装程序,除非您知道如何进行手动安装。

使用ExLlama(仅限4位模型)-如果您的VRAM足够用于4位,则推荐此选项

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

默认情况下,文本生成WebUI会安装ExLlama的预编译wheel。在文本生成WebUI更新以反映ExLlama的更改之前(希望不会太久),您必须卸载该版本,然后在text-generation-webui/repositories中更新ExLlama。然后ExLlama将在模型加载时编译其内核。

请参考Linux一键安装程序的说明:

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

  • 单击“Model”选项卡。
  • 在“Download custom model or LoRA”下,输入“TheBloke/Llama-2-70B-chat-GPTQ”。
    • 要从特定分支下载,请输入例如TheBloke/Llama-2-70B-chat-GPTQ:gptq-4bit-32g-actorder_True
    • 有关每个选项的分支列表,请参阅上面的提供的文件。
  • 单击“Download”。
  • 模型开始下载。下载完成后,将显示“完成”
  • 如果您计划使用4位文件,请将加载程序设置为ExLlama,否则选择AutoGPTQ或GPTQ-for-LLaMa。
    • 如果使用AutoGPTQ,请确保选中“No inject fused attention”
  • 在左上角,单击Model旁边的刷新图标。
  • 在Model下拉菜单中,选择刚刚下载的模型:TheBloke/Llama-2-70B-chat-GPTQ
  • 模型将自动加载,现在可以使用!
  • 然后,单击“Save settings for this model”,然后在右上角单击“Reload the Model”,以确保保存设置。
  • 准备好后,单击“Text Generation”选项卡,然后输入提示开始!
  • 如何使用Python代码中的这个GPTQ模型

    首先确保您安装了 AutoGPTQ

    GITHUB_ACTIONS=true pip3 install auto-gptq
    

    您还需要从Github获取最新的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-chat-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'''SYSTEM: You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe.  Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
    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]))
    
    # 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的讨论,请加入我们:

    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的Llama 2 70B Chat

    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),以符合人类对于帮助性和安全性的偏好。

    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专为商业和研究用途以及英语进行了设计。微调模型专为类似助手的聊天使用,而预训练模型则可用于各种自然语言生成任务。

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

    硬件和软件

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

    碳足迹预训练利用了硬件A100-80GB(TDP为350-400W)上的3.3M GPU小时的累计计算。估计的总排放量为539 tCO2eq,其中100%通过Meta的可持续性计划进行了抵消。

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

    培训数据

    概述Llama 2在来自公开可用来源的2万亿令牌的数据上进行了预训练。微调数据包括公开可用的指令数据集以及100多万个新的人工注释示例。预训练数据和微调数据集均不包括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上的平均通过@1得分。 常识推理:我们报告PIQA、SIQA、HellaSwag、WinoGrande、ARC easy和challenge、OpenBookQA和CommonsenseQA的平均分数。我们报告CommonSenseQA的7次测试结果和其他所有基准测试的0次测试结果。 世界知识:我们评估NaturalQuestions和TriviaQA的5次测试性能,并报告平均值。 阅读理解:对于阅读理解,我们报告SQuAD、QuAC和BoolQ的0次测试平均值。 MATH:我们报告GSM8K(8次测试)和MATH(4次测试)基准的平均值为首位。

    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