英文

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},
}