英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

HuggingFaceH4的Starchat Beta GPTQ

这些文件是经过 HuggingFaceH4's Starchat Beta 压缩到4位的GPTQ模型文件。

这是使用 AutoGPTQ 进行4位量化的结果。

提示模板

<|system|> system message goes here <|end|>
<|user|> prompt goes here <|end|>
<|assistant|>

示例:

<|system|> Below is a conversation between a human user and a helpful AI coding assistant. <|end|>
<|user|> How do I sort a list in Python? <|end|>
<|assistant|>

可用的存储库

如何轻松下载和使用此模型的文本生成Web UI

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

  • 点击 “模型” 标签。
  • 在“下载自定义模型或LoRA”下,输入 “TheBloke/starchat-beta-GPTQ” 。
  • 点击 “下载” 。
  • 模型开始下载。下载完成后会显示 “完成”
  • 在左上角,点击 “模型” 旁边的刷新图标。
  • 在 “模型” 下拉菜单中,选择刚刚下载的模型: starchat-beta-GPTQ
  • 模型将自动加载,现在可以使用了!
  • 如果您想使用任何自定义设置,请设置它们,然后依次点击 “保存此模型的设置” 和 “重新加载模型” 在右上方。
    • 注意,您不再需要手动设置GPTQ参数。它们将从quantize_config.json文件自动设置。
  • 准备就绪后,点击 “文本生成” 标签,输入提示即可开始!
  • 如何在Python代码中使用此GPTQ模型

    首先确保您已安装 AutoGPTQ

    pip install auto-gptq

    然后尝试以下示例代码:

    from transformers import AutoTokenizer, pipeline, logging
    from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
    import argparse
    
    model_name_or_path = "TheBloke/starchat-beta-GPTQ"
    # Or to load it locally, pass the local download path
    # model_name_or_path = "/path/to/models/The_Bloke_starchat-beta-GPTQ"
    
    use_triton = False
    
    tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
    
    model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
            use_safetensors=True,
            device="cuda:0",
            use_triton=use_triton,
            quantize_config=None)
    
    # Prevent printing spurious transformers error when using pipeline with AutoGPTQ
    logging.set_verbosity(logging.CRITICAL)
    
    pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
    
    prompt_template = "<|system|>\n<|end|>\n<|user|>\n{query}<|end|>\n<|assistant|>"
    prompt = prompt_template.format(query="How do I sort a list in Python?")
    # We use a special <|end|> token with ID 49155 to denote ends of a turn
    outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.2, top_k=50, top_p=0.95, eos_token_id=49155)
    # You can sort a list in Python by using the sort() method. Here's an example:\n\n```\nnumbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]\nnumbers.sort()\nprint(numbers)\n```\n\nThis will sort the list in place and print the sorted list.
    print(outputs[0]['generated_text'])
    

    提供的文件

    gptq_model-4bit--1g.safetensors

    这将适用于AutoGPTQ和GPTQ-for-LLaMa的CUDA版本。据报道,最近的GPTQ-for-LLaMa Triton模式存在问题。如果您遇到问题,请改用AutoGPTQ。

    它是以降低VRAM需求的方式创建的,且使用 --act-order (desc_act) 来尽可能提高推理准确性。

    • gptq_model-4bit--1g.safetensors
      • 适用于CUDA或Triton模式中的AutoGPTQ。
      • 适用于text-generation-webui,包括一键安装程序。
      • 不适用于GPTQ-for-LLaMa。
      • 参数: Groupsize = -1。Act Order / desc_act = True。

    Discord

    如需进一步支持,并对这些模型和人工智能进行讨论,请加入我们:

    TheBloke AI's Discord server

    感谢,以及如何参与贡献

    感谢 chirper.ai 团队!

    我已经有很多人问我能否做出贡献。我喜欢提供模型,并帮助人们,非常愿意花更多的时间去做这些事情,还有扩展到新的项目,比如微调/训练。

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

    捐赠者将获得在所有人工智能/LLM/模型问题和请求上的优先支持,可以访问私人Discord房间以及其他好处。

    特别感谢:CarbonQuill的Luke、Aemon Algiz、Dmitriy Samsonov。

    Patreon特别提及的人:Ajan Kanaga、Kalila、Derek Yates、Sean Connelly、Luke、Nathan LeClaire、Trenton Dambrowitz、Mano Prime、David Flickinger、vamX、Nikolai Manek、senxiiz、Khalefa Al-Ahmad、Illia Dulskyi、trip7s trip、Jonathan Leane、Talal Aujan、Artur Olbinski、Cory Kujawski、Joseph William Delisle、Pyrater、Oscar Rangel、Lone Striker、Luke Pendergrass、Eugene Pentland、Johann-Peter Hartmann。

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

    原始模型卡片:HuggingFaceH4的Starchat Beta

    StarChat Beta模型卡片

    StarChat是一系列经过训练的语言模型,用于作为有用的编码助手。StarChat Beta是系列中的第二个模型,是根据 StarChat 的一个变式对 StarCoderPlus 进行微调的版本。通过删除内置的OpenAssistant数据集的对齐,我们提高了模型在编码任务中的性能,并增加了对编码任务的支持。然而,这意味着当模型被要求生成有问题的文本时,它可能会产生问题,因此仅应用于教育和研究目的。

    模型详细信息

    模型描述

    • 模型类型:一个具有16亿参数的基于GPT的模型,经过微调,用于对一个别的变体作出回应。
    • 语言(NLP):主要是英语和80多种编程语言。
    • 许可证:BigCode Open RAIL-M v1
    • 从模型进行微调: bigcode/starcoderplus

    模型来源(可选)

    预期用途和限制

    该模型是在一个包含超过35种语言的多样对话数据集的一个变体上进行微调的,因此可以用于聊天,并且您可以查看我们的代码任务的 demo 进行测试。

    以下是您可以如何使用 ? Transformers 中的 pipeline() 函数来运行模型的方法:

    import torch
    from transformers import pipeline
    
    pipe = pipeline("text-generation", model="HuggingFaceH4/starchat-beta", torch_dtype=torch.bfloat16, device_map="auto")
    
    prompt_template = "<|system|>\n<|end|>\n<|user|>\n{query}<|end|>\n<|assistant|>"
    prompt = prompt_template.format(query="How do I sort a list in Python?")
    # We use a special <|end|> token with ID 49155 to denote ends of a turn
    outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.2, top_k=50, top_p=0.95, eos_token_id=49155)
    # You can sort a list in Python by using the sort() method. Here's an example:\n\n```\nnumbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]\nnumbers.sort()\nprint(numbers)\n```\n\nThis will sort the list in place and print the sorted list.
    

    偏见、风险和限制

    StarChat Beta没有通过RLHF等技术对人类偏好进行过校准,也没有通过响应过滤的循环内部部署,因此模型可能会产生问题的输出(尤其是在被要求这样做时)。主要在代码数据上训练的模型也会具有与GitHub社区人口统计数据相一致的更偏倚的人口统计偏见。更多相关信息请参阅源自The Stack的 StarCoder dataset

    由于基本模型是在大量代码语料库上进行预训练的,它可能会生成语法上有效但语义不正确的代码片段。例如,它可能生成不编译或产生错误结果的代码。它也可能生成存在安全漏洞的代码。我们观察到模型还有生成虚假URL的倾向,使用前应仔细检查。

    StarChat Beta是从基本模型 StarCoder Base 经过微调的,请参阅其模型卡片的 Limitations Section 获取相关信息。特别是,该模型对一些性别偏见、倾向于有毒性以及倾向于建议具有已知安全漏洞的代码完成的风险进行了评估;这些评估结果在其 technical report 中有报告。

    训练和评估数据

    StarChat Beta是在一个变体的 openassistant-guanaco dataset 进行训练的。我们使用与 WizardLM 相同的过滤器应用于ShareGPT数据集后的数据集。

    训练过程

    训练超参数

    训练过程中使用了以下超参数:

    • 学习率:2e-05
    • 训练批量大小:4
    • 评估批量大小:4
    • 种子:42
    • 分布式类型:多GPU
    • 设备数量:8
    • 梯度累积步数:8
    • 总训练批量大小:256
    • 总评估批量大小:32
    • 优化器:beta为(0.9,0.999)和epsilon为1e-08的Adam
    • 学习率调度程序类型:余弦
    • 学习率调度程序热身比例:0.03
    • 迭代次数:6

    训练结果

    Training Loss Epoch Step Validation Loss
    1.5321 0.98 15 1.2856
    1.2071 1.97 30 1.2620
    1.0162 2.95 45 1.2853
    0.8484 4.0 61 1.3274
    0.6981 4.98 76 1.3994
    0.5668 5.9 90 1.4720

    框架版本

    • Transformers 4.28.1
    • Pytorch 2.0.1+cu118
    • Datasets 2.12.0
    • Tokenizers 0.13.3

    引用

    BibTeX:

    @article{Tunstall2023starchat-alpha,
      author = {Tunstall, Lewis and Lambert, Nathan and Rajani, Nazneen and Beeching, Edward and Le Scao, Teven and von Werra, Leandro and Han, Sheon and Schmid, Philipp and Rush, Alexander},
      title = {Creating a Coding Assistant with StarCoder},
      journal = {Hugging Face Blog},
      year = {2023},
      note = {https://huggingface.co/blog/starchat},
    }