模型:
HuggingFaceH4/starchat-alpha
注意,您可能对StarChat Beta版本感兴趣。
StarChat是一系列语言模型,它们是从StarCoder中微调而来的,用作有帮助的编码助手。StarChat Alpha是这些模型中的第一个版本,作为alpha版本,仅用于教育或研究目的。特别需要注意的是,该模型尚未经过如强化学习(RLHF)等技术对人类偏好进行调整,因此在产生问题内容时可能会产生问题。
StarChat Alpha适用于教育和/或研究目的,可用于探索开源语言模型的编程能力。
StarChat Alpha尚未经过如强化学习(RLHF)的技术调整人类偏好,也未通过诸如ChatGPT的响应筛选进行部署,因此该模型可以生成有问题的输出(特别是在要求生成此类输出时)。以代码数据为主要训练数据的模型还具有与GitHub社区人口统计数据相对应的偏见。有关更多信息,请参阅从The Stack导出的 StarCoder dataset 。
由于基础模型是在大量代码语料库上预训练的,它可能会生成语法上正确但语义上不正确的代码片段。例如,它可能会生成无法编译或产生错误结果的代码。它还可能会生成存在安全漏洞的代码。我们观察到该模型还倾向于生成虚假的URL,点击前需要仔细检查。
StarChat Alpha是基于基础模型 StarCoder Base 进行微调的,请参阅该模型卡的 Limitations Section 以获取相关信息。特别是,该模型经过了某些性别偏见、毒性倾向性以及建议存在已知安全漏洞的代码完成的风险的评估;这些评估结果在其 technical report 中报告。
使用以下代码可以开始使用该模型。
以下是使用? Transformers的 pipeline() 函数运行模型的方法:
import torch from transformers import pipeline pipe = pipeline("text-generation", model="HuggingFaceH4/starchat-alpha", 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.
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}, }