英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

Allen AI的Tulu 30B GPTQ

这些文件是用于 Allen AI's Tulu 30B 的GPTQ模型文件。

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

这些模型是使用由 Latitude.sh 提供的硬件进行量化的。

可用的存储库

提示模板:Tulu

<|user|>
{prompt}
<|assistant|>

提供的文件

提供了多个量化参数,以便您可以选择适合您的硬件和要求的最佳参数。

每个独立的量化在不同的分支中。请参阅下面的获取不同分支的说明。

Branch Bits Group Size Act Order (desc_act) File Size ExLlama Compatible? Made With Description
main 4 None True 16.94 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 19.44 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 18.18 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 17.55 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-8bit--1g-actorder_True 8 None True 32.99 GB False AutoGPTQ 8-bit, with Act Order. No group size, to lower VRAM requirements and to improve AutoGPTQ speed.
gptq-8bit-128g-actorder_False 8 128 False 33.73 GB False AutoGPTQ 8-bit, with group size 128g for higher inference quality and without Act Order to improve AutoGPTQ speed.
gptq-3bit--1g-actorder_True 3 None True 12.92 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 13.51 GB False AutoGPTQ 3-bit, with group size 128g but no act-order. Slightly higher VRAM requirements than 3-bit None.

如何从分支下载

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

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

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

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

  • 单击“模型”选项卡。
  • 在“下载自定义模型或LoRA”下,输入“TheBloke/tulu-30B-GPTQ”。
    • 要从特定分支下载,请输入例如TheBloke/tulu-30B-GPTQ:gptq-4bit-32g-actorder_True
    • 有关每个选项的分支列表,请参见上面提供的文件。
  • 单击“下载”。
  • 模型将开始下载。下载完成后,会显示“完成”
  • 在左上角,单击“模型”旁边的刷新图标。
  • 在“模型”下拉菜单中,选择刚刚下载的模型:tulu-30B-GPTQ
  • 模型将自动加载,现在已准备就绪!
  • 如果您需要任何自定义设置,请进行设置,然后单击“保存此模型的设置”,然后在右上方单击“重新加载模型”。
    • 请注意,您不再需要手动设置GPTQ参数。这些参数将从文件quantize_config.json中自动设置。
  • 准备就绪后,单击“文本生成”选项卡并输入提示以开始!
  • 如何使用此GPTQ模型的Python代码

    首先确保您已安装 AutoGPTQ

    GITHUB_ACTIONS=true pip install auto-gptq

    然后尝试以下示例代码:

    from transformers import AutoTokenizer, pipeline, logging
    from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
    
    model_name_or_path = "TheBloke/tulu-30B-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
            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,
            use_safetensors=True,
            trust_remote_code=False,
            device="cuda:0",
            quantize_config=None)
    """
    
    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'])
    

    兼容性

    提供的文件适用于AutoGPTQ(CUDA和Triton模式)、GPTQ-for-LLaMa(仅测试了CUDA)和Occ4m的GPTQ-for-LLaMa分支。

    ExLlama适用于4位的Llama模型。有关每个文件的兼容性,请参见上面提供的文件表。

    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。

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

    原始模型卡片:Allen AI的Tulu 30B

    Tulu 30B

    这个模型是在FLAN V2、CoT、Dolly、Open Assistant 1、GPT4-Alpaca、Code-Alpaca和ShareGPT等混合指令数据集(FLAN V2,CoT,Dolly,Open Assistant 1,GPT4-Alpaca,Code-Alpaca和ShareGPT)上进行微调的30B LLaMa模型。 请注意这是一个模型diff-有关使用说明,请参见下面的说明。

    该模型是作为论文 How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources 的一部分进行训练的。用于训练和评估此模型的代码库可以在 https://github.com/allenai/open-instruct 中找到。

    此模型根据LICENSE.txt中给出的AI模型许可证及原始Llama许可证(llama_license.txt)许可。

    用法

    我们假设您已经可以访问以HF格式存储的LLaMa模型。您可以在此处找到有关获取访问权并转换模型的详细信息: https://huggingface.co/docs/transformers/main/model_doc/llama

    克隆 https://github.com/allenai/open-instruct 并安装所需的依赖关系,或者只需复制scripts/weight_diff.py并安装weight-diff-requirements.txt中列出的最低要求。然后将此模型diff下载或克隆到同一台机器上。

    然后,运行:

    python scripts/weight_diff.py recover --path_raw ${hf_llama_path} --path_tuned ${output_path} --path_diff ${diff_location}
    

    然后,您将获得一个恢复的模型!请注意,这需要相当多的RAM,特别是对于较大的模型。

    输入格式

    该模型经过训练以使用以下格式(注意换行符):

    <|user|>
    Your message here!
    <|assistant|>
    

    为了获得最佳结果,请按此格式格式化所有输入。确保在 <|assistant|> 后包含一个换行符,这可能会对生成的质量产生相当大的影响。

    性能

    这是我们在论文 How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources 中探讨的各种基准测试中该模型的性能:

    MMLU 0-shot MMLU 5-shot GSM Direct GSM CoT BBH Direct BBH CoT TydiQA Gold-Passage TydiQA Closed-book Codex-Eval Pass@1 Codex-Eval Pass@10 AlpacaFarm vs Davinci-003 Average
    57.7 58.4 6.0 51.0 45.8 48.7 58.2 12.3 25.4 46.0 63.5 44.7

    如果您使用了这个模型,请引用我们的工作、llama论文和原始数据集:

    @misc{wang2023far,
          title={How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources}, 
          author={Yizhong Wang and Hamish Ivison and Pradeep Dasigi and Jack Hessel and Tushar Khot and Khyathi Raghavi Chandu and David Wadden and Kelsey MacMillan and Noah A. Smith and Iz Beltagy and Hannaneh Hajishirzi},
          year={2023},
          eprint={2306.04751},
          archivePrefix={arXiv},
          primaryClass={cs.CL}
    }
    
    @misc{touvron2023llama,
          title={LLaMA: Open and Efficient Foundation Language Models}, 
          author={Hugo Touvron and Thibaut Lavril and Gautier Izacard and Xavier Martinet and Marie-Anne Lachaux and Timothée Lacroix and Baptiste Rozière and Naman Goyal and Eric Hambro and Faisal Azhar and Aurelien Rodriguez and Armand Joulin and Edouard Grave and Guillaume Lample},
          year={2023},
          eprint={2302.13971},
          archivePrefix={arXiv},
          primaryClass={cs.CL}
    }
    
    @misc{dolly,
      author = {Databricks},
      title = {Free Dolly: Introducing the World's First Truly Open Instruction-Tuned LLM},
      year = {2023},
      publisher = {GitHub},
      journal = {GitHub repository},
      howpublished = {Blog post},
      url = {https://www.databricks.com/blog/2023/04/12/dolly-first-open-commercially-viable-instruction-tuned-llm}
    }
    
    @article{longpre2023flan,
      title={The Flan Collection: Designing Data and Methods for Effective Instruction Tuning},
      author={Longpre, Shayne and Hou, Le and Vu, Tu and Webson, Albert and Chung, Hyung Won and Tay, Yi and Zhou, Denny and Le, Quoc V and Zoph, Barret and Wei, Jason and others},
      journal={arXiv preprint arXiv:2301.13688},
      year={2023}
    }
    
    @misc{köpf2023openassistant,
          title={OpenAssistant Conversations -- Democratizing Large Language Model Alignment}, 
          author={Andreas Köpf and Yannic Kilcher and Dimitri von Rütte and Sotiris Anagnostidis and Zhi-Rui Tam and Keith Stevens and Abdullah Barhoum and Nguyen Minh Duc and Oliver Stanley and Richárd Nagyfi and Shahul ES and Sameer Suri and David Glushkov and Arnav Dantuluri and Andrew Maguire and Christoph Schuhmann and Huu Nguyen and Alexander Mattick},
          year={2023},
          eprint={2304.07327},
          archivePrefix={arXiv},
          primaryClass={cs.CL}
    }
    
    @article{peng2023instruction,
      title={Instruction Tuning with GPT-4},
      author={Peng, Baolin and Li, Chunyuan and He, Pengcheng and Galley, Michel and Gao, Jianfeng},
      journal={arXiv preprint arXiv:2304.03277},
      year={2023}
    }
    
    @misc{codealpaca,
      author = {Sahil Chaudhary},
      title = {Code Alpaca: An Instruction-following LLaMA model for code generation},
      year = {2023},
      publisher = {GitHub},
      journal = {GitHub repository},
      howpublished = {\url{https://github.com/sahil280114/codealpaca}},
    }