英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

Allen AI's Tulu 7B GPTQ

这些文件是用于 Allen AI's Tulu 7B 的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 128 False 3.90 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 4.28 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 4.02 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 3.90 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 7.01 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 7.16 GB False AutoGPTQ 8-bit, with group size 128g for higher inference quality and without Act Order to improve AutoGPTQ speed.

如何从分支下载

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

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

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

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

  • 点击 模型 标签。
  • 在 下载定制模型或LoRA 下,输入 TheBloke/tulu-7B-GPTQ 。
    • 要从特定分支下载,请输入例如 TheBloke/tulu-7B-GPTQ:gptq-4bit-32g-actorder_True
    • 有关每个选项的分支列表,请参见上面的提供的文件。
  • 点击 下载 。
  • 模型开始下载。下载完成后会显示“完成”
  • 在左上角,点击 模型 旁边的刷新图标。
  • 在 模型 下拉菜单中,选择刚刚下载的模型: tulu-7B-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-7B-GPTQ"
    model_basename = "gptq_model-4bit-128g"
    
    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)
    
    """
    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=True,
            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

    如需进一步支持以及有关这些模型和人工智能的讨论,请加入我们:

    TheBloke AI's Discord server

    感谢和如何贡献。

    感谢 chirper.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's Tulu 7B

    Tulu 7B

    该模型是基于一个混合的指令数据集(FLAN V2、CoT、Dolly、Open Assistant 1、GPT4-Alpaca、Code-Alpaca和ShareGPT)对7B LLaMa模型进行微调的。请注意,这是一个模型差异-有关使用说明,请参见下面的内容。

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

    本模型根据LICENSE.txt中给出的AI模型许可证(包括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中列出的最小要求。然后在同一台机器上下载或克隆此模型差异。

    然后运行:

    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
    44.5 47.0 6.0 27.0 38.1 39.2 45.7 7.7 17.5 27.8 48.3 33.1

    如果您使用了这个模型,请引用我们的工作,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}},
    }