模型:

TheBloke/Nous-Hermes-13B-SuperHOT-8K-GPTQ

英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

NousResearch的Nous-Hermes-13B GPTQ

这些文件是合并了 NousResearch's Nous-Hermes-13B Kaio Ken's SuperHOT 8K 的GPTQ 4bit模型文件。

这是通过使用 GPTQ-for-LLaMa 进行4bit量化的结果。

这是一个实验性的新GPTQ,可以提供多达8K的上下文大小。

通过最新版本的 text-generation-webui ,已经测试了增加的上下文长度是否适用于 ExLlama

通过使用AutoGPTQ的Python代码进行了测试,并启用了trust_remote_code=True。

代码来源:

  • 增加上下文长度的原始概念和代码: kaiokendev
  • 通过trust_remote_code自动包含了此功能的更新的Llama建模代码: emozilla

请仔细阅读下面的内容以了解如何使用它。

还未提供GGML版本,因为llama.cpp中尚未支持SuperHOT。正在调查并希望很快能实现。

可用的存储库

如何在text-generation-webui中使用ExLlama下载和使用这个模型

请确保您正在使用text-generation-webui的最新版本

  • 点击“模型”选项卡。
  • 在“下载自定义模型或LoRA”下,输入“TheBloke/Nous-Hermes-13B-SuperHOT-8K-GPTQ”。
  • 点击“下载”。
  • 模型开始下载。下载完成后会显示“完成”。
  • 取消选中“自动加载模型”。
  • 在左上角,点击“模型”旁边的刷新图标。
  • 在“模型”下拉菜单中,选择刚才下载的模型:Nous-Hermes-13B-SuperHOT-8K-GPTQ
  • 要使用增加的上下文,请将“加载器”设置为“ExLlama”,将“max_seq_len”设置为8192或4096,并将“compress_pos_emb”设置为4(对于8192上下文)或设置为2(对于4096上下文)。
  • 现在点击“保存设置”,然后点击“重新加载”。
  • 模型将自动加载,现在已准备好使用!
  • 准备好后,单击“文本生成”选项卡,输入提示开始使用!
  • 如何使用Python代码中的此GPTQ模型

    首先确保您已安装了AutoGPTQ和Einops:

    pip3 install einops auto-gptq
    

    然后运行以下代码。请注意,为了使其工作,config.json已被硬编码为8192的序列长度。

    如果您想尝试4096以减少VRAM使用量,请手动编辑config.json以将max_position_embeddings设置为所需值。

    from transformers import AutoTokenizer, pipeline, logging
    from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
    import argparse
    
    model_name_or_path = "TheBloke/Nous-Hermes-13B-SuperHOT-8K-GPTQ"
    model_basename = "nous-hermes-13b-superhot-8k-GPTQ-4bit-128g.no-act.order"
    
    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_map='auto',
            use_triton=use_triton,
            quantize_config=None)
    
    model.seqlen = 8192
    
    # Note: check the prompt template is correct for this model.
    prompt = "Tell me about AI"
    prompt_template=f'''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'])
    

    使用其他UI:Monkey Patch

    在存储库中提供了llama_rope_scaled_monkey_patch.py,由@kaiokendev编写。

    理论上可以将其添加到任何Python UI或自定义代码中,以实现与trust_remote_code=True相同的结果。我没有测试过这一点,并且应使用trust_remote_code=True替代它,但出于完整性和兴趣考虑,我还是包括在其中。

    提供的文件

    nous-hermes-13b-superhot-8k-GPTQ-4bit-128g.no-act.order.safetensors

    这将与AutoGPTQ、ExLlama和CUDA版本的GPTQ-for-LLaMa一起使用。有报道称最近的GPTQ-for-LLaMa Triton模式存在问题。如果出现问题,请改用AutoGPTQ。

    它使用group_size 128创建,以提高推理准确性,但没有使用--act-order(desc_act)以增加兼容性并改善推理速度。

    • nous-hermes-13b-superhot-8k-GPTQ-4bit-128g.no-act.order.safetensors
      • 适用于具有增加的上下文(4096或8192)的ExLlama
      • 适用于Python代码中的AutoGPTQ,包括具有增加的上下文,如果设置trust_remote_code=True
      • 应该适用于GPTQ-for-LLaMa的CUDA模式,但不确定增加的上下文是否有效-待确认。在GPTQ-for-LLaMa Triton模式下可能存在问题。
      • 适用于text-generation-webui,包括一键安装程序。
      • 参数:Groupsize = 128。Act Order/desc_act = False。

    Discord

    如需进一步支持和讨论有关这些模型和AI的内容,请加入我们:

    TheBloke AI's Discord server

    感谢和如何贡献

    感谢 chirper.ai 团队!

    我已经有很多人问我是否可以贡献。我喜欢提供模型和帮助他人,并且非常愿意能够花更多时间来做这些事情,以及扩大到新的项目,如精细调整/训练。

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

    捐赠者将获得对AI / LLM /模型问题和请求的优先支持,可以访问私人Discord房间,以及其他好处。

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

    Patreon特别提及:Pyrater,WelcomeToTheClub,Kalila,Mano Prime,Trenton Dambrowitz,Spiking Neurons AB,Pierre Kircher,Fen Risland,Kevin Schuppel,Luke,Rainer Wilmers,vamX,Gabriel Puliatti,Alex,Karl Bernard,Ajan Kanaga,Talal Aujan,Space Cruiser,ya boyyy,biorpg,Johann-Peter Hartmann,Asp the Wyvern,Ai Maven,Ghost,Preetika Verma,Nikolai Manek,trip7s trip,John Detwiler,Fred von Graf,Artur Olbinski,subjectnull,John Villwock,Junyu Yang,Rod A,Lone Striker,Chris McCloskey,Iucharbius,Matthew Berman,Illia Dulskyi,Khalefa Al-Ahmad,Imad Khwaja,chris gileta,Willem Michiel,Greatston Gnanesh,Derek Yates,K,Alps Aficionado,Oscar Rangel,David Flickinger,Luke Pendergrass,Deep Realms,Eugene Pentland,Cory Kujawski,terasurfer,Jonathan Leane,senxiiz,Joseph William Delisle,Sean Connelly,webtim,zynix,Nathan LeClaire。

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

    原始模型卡片:Kaio Ken的SuperHOT 8K

    SuperHOT原型2 w/ 8K上下文

    这是SuperHOT的第二个原型,这次是30B的8K上下文,没有RLHF,使用了 the github blog 中描述的相同技术。测试表明,该模型确实利用了8K的扩展上下文。

    您将需要使用monkeypatch,或者如果您已经使用了monkeypatch,则将缩放因子更改为0.25,并将最大序列长度更改为8192

    寻找合并和量化模型? 训练细节

    我使用以下配置训练了LoRA:

    • 1200个样本(超过2048序列长度的约400个样本)
    • 学习率为3e-4
    • 3轮
    • 导出的模块为:
      • q_proj
      • k_proj
      • v_proj
      • o_proj
      • 没有偏置
    • 排名=4
    • Alpha = 8
    • 没有dropout
    • 权重衰减为0.1
    • AdamW的beta1为0.9和beta2 0.99,epsilon为1e-5
    • 在4位基础模型上训练

    原始模型卡片:NousResearch的Nous-Hermes-13B

    模型卡片:Nous-Hermes-13b

    模型描述

    Nous-Hermes-13b是一种最先进的语言模型,经过超过30万条指令的精细调整。此模型由Nous Research进行了精细调整,Teknium和Karan4D负责精细调整过程和数据集策划,Redmond AI赞助计算,还有其他几位贡献者。结果是一个经过增强的Llama 13b模型,可以在各种任务中与GPT-3.5-turbo相媲美。

    此模型以其长回复、低幻觉率和无OpenAI审查机制脱颖而出。在8x a100 80GB DGX机器上,通过超过50小时的训练,以2000序列长度进行了精细调整。

    模型训练

    该模型几乎完全基于合成的GPT-4输出进行训练。这包括来自各种源头的数据,例如GPTeacher,general,roleplay v1&2,code instruct数据集,Nous Instruct和PDACTL(未公开发布),CodeAlpaca,Evol_Instruct Uncensored,GPT4-LLM和Unnatural Instructions。

    额外的数据输入来自Camel-AI的生物学/物理学/化学和数学数据集,Airoboros的GPT-4数据集等等。总共约有30万条指令的数据。

    合作者

    模型的精细调整和数据集是Teknium,Karan4D,Nous Research,Huemin Art和Redmond AI共同努力和资源的结晶。

    对于慷慨地共享数据集的所有数据集创建者,值得表达崇高的敬意和感谢。

    特别感谢@winglian,@erhartford和@main_horse在某些训练问题上的协助。

    在数据集的贡献者中,GPTeacher由Teknium提供,Wizard LM由nlpxucan提供,Nous Research Instruct数据集由Karan4D和HueminArt提供。Microsoft提供了GPT4-LLM和Unnatural Instructions,Airoboros数据集由jondurbin提供,Camel-AI数据集来自Camel-AI,CodeAlpaca数据集由Sahil 2801提供。如果有遗漏的,请在社区板块开启一个线程。

    提示格式

    模型遵循Alpaca提示格式:

    ### Instruction:
    
    ### Response:
    

    ### Instruction:
    
    ### Input:
    
    ### Response:
    

    应用用例的资源:

    有关使用huggingface transformers和discord进行交互式对话机器人的示例,请查看: https://github.com/teknium1/alpaca-discord 使用角色扮演discord机器人的示例,请查看: https://github.com/teknium1/alpaca-roleplay-discordbot

    未来计划

    模型目前正在以FP16格式上传,并计划将模型转换为GGML和GPTQ 4bit量化。该团队还正在进行详尽的基准测试,类似于对GPT4-x-Vicuna的测试。我们将尝试与GPT4All合作将模型纳入其中。

    基准测试结果

    |    Task     |Version| Metric |Value |   |Stderr|
    |-------------|------:|--------|-----:|---|-----:|
    |arc_challenge|      0|acc     |0.4915|±  |0.0146|
    |             |       |acc_norm|0.5085|±  |0.0146|
    |arc_easy     |      0|acc     |0.7769|±  |0.0085|
    |             |       |acc_norm|0.7424|±  |0.0090|
    |boolq        |      1|acc     |0.7948|±  |0.0071|
    |hellaswag    |      0|acc     |0.6143|±  |0.0049|
    |             |       |acc_norm|0.8000|±  |0.0040|
    |openbookqa   |      0|acc     |0.3560|±  |0.0214|
    |             |       |acc_norm|0.4640|±  |0.0223|
    |piqa         |      0|acc     |0.7965|±  |0.0094|
    |             |       |acc_norm|0.7889|±  |0.0095|
    |winogrande   |      0|acc     |0.7190|±  |0.0126|
    

    在与GPT4all的基准测试列表进行比较时,这些基准测试使我们在ARC-c、ARC-e、Hellaswag和OpenBookQA上排名第一,在Winogrande上排名第二。

    模型用途

    模型可在Hugging Face上下载。它适用于广泛的语言任务,从生成创造性文本到理解和遵循复杂的指令。

    计算由我们的项目赞助商Redmond AI提供,感谢!