🚀 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,點擊前要仔細確認其真實性。