模型:
TheBloke/starchat-beta-GPTQ
Chat & support: my new Discord server
Want to contribute? TheBloke's Patreon page
这些文件是经过 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|>
请确保您正在使用最新版本的text-generation-webui
首先确保您已安装 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) 来尽可能提高推理准确性。
如需进一步支持,并对这些模型和人工智能进行讨论,请加入我们:
感谢 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。
感谢所有慷慨的资助者和捐赠者!
StarChat是一系列经过训练的语言模型,用于作为有用的编码助手。StarChat Beta是系列中的第二个模型,是根据 StarChat 的一个变式对 StarCoderPlus 进行微调的版本。通过删除内置的OpenAssistant数据集的对齐,我们提高了模型在编码任务中的性能,并增加了对编码任务的支持。然而,这意味着当模型被要求生成有问题的文本时,它可能会产生问题,因此仅应用于教育和研究目的。
该模型是在一个包含超过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数据集后的数据集。
训练过程中使用了以下超参数:
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 |
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}, }