🚀 StarChat-β模型
StarChat是一系列语言模型,旨在成为实用的编码助手。StarChat-β是该系列的第二款模型,它是基于StarCoderPlus微调而来,在"无审查"版本的openassistant-guanaco
数据集上进行训练。研究发现,去除OpenAssistant数据集中的内置对齐方式,能提升模型在Open LLM排行榜上的表现,使其在编码任务中更实用。不过,这也意味着该模型在特定提示下可能会生成有问题的文本,因此仅适用于教育和研究目的。

🚀 快速开始
该模型在OpenAssistant/oasst1
数据集的变体上进行了微调,该数据集包含35种以上语言的各种对话。因此,该模型可用于聊天,你可以通过演示来测试其编码能力。
以下是使用🤗 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?")
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.2, top_k=50, top_p=0.95, eos_token_id=49155)
✨ 主要特性
- 多语言支持:主要支持英语和80多种编程语言。
- 编码辅助:经过微调,能够在编码任务中提供帮助。
📚 详细文档
模型详情
模型描述
模型来源
- 仓库:https://github.com/bigcode-project/starcoder
- 演示:https://huggingface.co/spaces/HuggingFaceH4/starchat-playground
偏差、风险和局限性
StarChat-β未使用RLHF等技术与人类偏好对齐,也未像ChatGPT那样在循环中过滤回复,因此该模型可能会产生有问题的输出(尤其是在特定提示下)。
主要基于代码数据训练的模型也会存在与GitHub社区人口统计特征相应的偏差。更多信息请参阅StarCoder数据集,该数据集源自The Stack。
由于基础模型在大量代码语料库上进行预训练,它可能会生成语法正确但语义错误的代码片段。例如,它可能会生成无法编译或产生错误结果的代码,也可能会生成易受安全漏洞攻击的代码。此外,我们还发现该模型有生成虚假URL的倾向,点击前应仔细检查。
StarChat-β是在基础模型StarCoderPlus上进行微调的,请参考其模型卡片的局限性部分获取相关信息。特别是,该模型在一些性别偏差类别、毒性倾向以及建议存在已知安全漏洞的代码补全风险方面进行了评估,这些评估结果在其技术报告中有所报告。
训练和评估数据
StarChat-β在"无审查"版本的openassistant-guanaco
数据集上进行训练。我们采用了与过滤WizardLM背后的ShareGPT数据集相同的方法。
训练过程
训练超参数
- 学习率:2e-05
- 训练批次大小:4
- 评估批次大小:4
- 随机种子:42
- 分布式类型:多GPU
- 设备数量:8
- 梯度累积步数:8
- 总训练批次大小:256
- 总评估批次大小:32
- 优化器:Adam(β1=0.9,β2=0.999,ε=1e-08)
- 学习率调度器类型:余弦
- 学习率调度器预热比例:0.03
- 训练轮数:6
训练结果
训练损失 |
轮数 |
步数 |
验证损失 |
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
引用
虽然目前没有与StarChat-β相关的博客文章或论文,但你可以在以下博客文章中找到早期版本的详细信息:
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},
}
⚠️ 重要提示
StarChat-β可能会产生有问题的输出,尤其是在特定提示下,因此仅适用于教育和研究目的。
💡 使用建议
对于模型生成的代码片段,尤其是涉及安全和正确性的部分,建议进行仔细检查和验证。对于模型生成的URL,点击前要仔细确认其真实性。