add measurement.json
Browse files- README.md +159 -0
- measurement.json +0 -0
README.md
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
base_model: HuggingFaceH4/starchat2-15b-sft-v0.1
|
3 |
+
tags:
|
4 |
+
- alignment-handbook
|
5 |
+
- generated_from_trainer
|
6 |
+
datasets:
|
7 |
+
- HuggingFaceH4/ultrafeedback_binarized
|
8 |
+
- HuggingFaceH4/orca_dpo_pairs
|
9 |
+
model-index:
|
10 |
+
- name: starchat2-15b-v0.1
|
11 |
+
results: []
|
12 |
+
---
|
13 |
+
|
14 |
+
<img src="https://huggingface.co/HuggingFaceH4/starchat2-15b-v0.1/resolve/main/model_logo.png" alt="StarChat2 15B Logo" width="800" style="margin-left:'auto' margin-right:'auto' display:'block'"/>
|
15 |
+
|
16 |
+
# Model Card for StarChat2 15B
|
17 |
+
|
18 |
+
StarChat is a series of language models that are trained to act as helpful coding assistants. StarChat2 is the latest model in the series, and is a fine-tuned version of [StarCoder2](https://huggingface.co/bigcode/starcoder2-15b) that was trained with SFT and DPO on a mix of synthetic datasets.
|
19 |
+
|
20 |
+
## Model Details
|
21 |
+
|
22 |
+
### Model Description
|
23 |
+
|
24 |
+
<!-- Provide a longer summary of what this model is. -->
|
25 |
+
|
26 |
+
- **Model type:** A 16B parameter GPT-like model fine-tuned on a mix of publicly available, synthetic datasets.
|
27 |
+
- **Language(s) (NLP):** Primarily English and 80+ programming languages.
|
28 |
+
- **License:** BigCode Open RAIL-M v1
|
29 |
+
- **Finetuned from model:** [bigcode/starcoder2-15b](https://huggingface.co/bigcode/starcoder2-15b)
|
30 |
+
|
31 |
+
### Model Sources
|
32 |
+
|
33 |
+
<!-- Provide the basic links for the model. -->
|
34 |
+
|
35 |
+
- **Repository:** https://github.com/huggingface/alignment-handbook
|
36 |
+
- **Demo:** https://huggingface.co/spaces/HuggingFaceH4/starchat2-playground
|
37 |
+
|
38 |
+
## Performance
|
39 |
+
|
40 |
+
StarChat2 15B was trained to balance chat and programming capabilities. It achieves strong performance on chat benchmarks like [MT Bench](https://huggingface.co/spaces/lmsys/mt-bench) and [IFEval](https://arxiv.org/abs/2311.07911), as well as the canonical HumanEval benchmark for Python code completion. The scores reported below were obtained using the [LightEval](https://github.com/huggingface/lighteval) evaluation suite (commit `988959cb905df4baa050f82b4d499d46e8b537f2`) and each prompt has been formatted with the model's corresponding chat template to simulate real-world usage. This is why some scores may differ from those reported in technical reports or on the Open LLM Leaderboard.
|
41 |
+
|
42 |
+
| Model | MT Bench | IFEval | HumanEval |
|
43 |
+
|-------------------------------------------------------------------------------------------------|---------:|-------:|----------:|
|
44 |
+
| [starchat2-15b-v0.1](https://huggingface.co/HuggingFaceH4/starchat2-15b-v0.1) | 7.66 | 35.12 | 71.34 |
|
45 |
+
| [deepseek-coder-6.7b-instruct](https://huggingface.co/deepseek-ai/deepseek-coder-6.7b-instruct) | 4.17 | 14.23 | 80.48 |
|
46 |
+
| [CodeLlama-13b-Instruct-hf](https://huggingface.co/codellama/CodeLlama-13b-Instruct-hf) | 6.80 | 43.44 | 50.60 |
|
47 |
+
|
48 |
+
|
49 |
+
## Intended uses & limitations
|
50 |
+
|
51 |
+
The model was fine-tuned on a blend of chat, code, math, and reasoning datasets. As a result, the model can be used for chat and you can check out our [demo](https://huggingface.co/spaces/HuggingFaceH4/starchat2-playground) to test its coding capabilities.
|
52 |
+
|
53 |
+
Here's how you can run the model using the `pipeline()` function from 🤗 Transformers:
|
54 |
+
|
55 |
+
```python
|
56 |
+
# pip install 'transformers @ git+https://github.com/huggingface/transformers.git@831bc25d8fdb85768402f772cf65cc3d7872b211'
|
57 |
+
# pip install accelerate
|
58 |
+
|
59 |
+
import torch
|
60 |
+
from transformers import pipeline
|
61 |
+
|
62 |
+
pipe = pipeline(
|
63 |
+
"text-generation",
|
64 |
+
model="HuggingFaceH4/starchat2-15b-v0.1",
|
65 |
+
device_map="auto",
|
66 |
+
torch_dtype=torch.bfloat16,
|
67 |
+
)
|
68 |
+
messages = [
|
69 |
+
{
|
70 |
+
"role": "system",
|
71 |
+
"content": "You are StarChat2, an expert programming assistant",
|
72 |
+
},
|
73 |
+
{"role": "user", "content": "Write a simple website in HTML. When a user clicks the button, it shows a random Chuck Norris joke."},
|
74 |
+
]
|
75 |
+
outputs = pipe(
|
76 |
+
messages,
|
77 |
+
max_new_tokens=512,
|
78 |
+
do_sample=True,
|
79 |
+
temperature=0.7,
|
80 |
+
top_k=50,
|
81 |
+
top_p=0.95,
|
82 |
+
stop_sequence="<|im_end|>",
|
83 |
+
)
|
84 |
+
print(outputs[0]["generated_text"][-1]["content"])
|
85 |
+
```
|
86 |
+
|
87 |
+
## Bias, Risks, and Limitations
|
88 |
+
|
89 |
+
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
90 |
+
|
91 |
+
StarChat2 15B has not been aligned to human preferences with techniques like RLHF or deployed with in-the-loop filtering of responses like ChatGPT, so the model can produce problematic outputs (especially when prompted to do so).
|
92 |
+
Models trained primarily on code data will also have a more skewed demographic bias commensurate with the demographics of the GitHub community, for more on this see the [StarCoder2 dataset](https://huggingface.co/datasets/bigcode/the-stack-v2)
|
93 |
+
|
94 |
+
Since the base model was pretrained on a large corpus of code, it may produce code snippets that are syntactically valid but semantically incorrect.
|
95 |
+
For example, it may produce code that does not compile or that produces incorrect results.
|
96 |
+
It may also produce code that is vulnerable to security exploits.
|
97 |
+
We have observed the model also has a tendency to produce false URLs which should be carefully inspected before clicking.
|
98 |
+
|
99 |
+
StarChat2 15B was fine-tuned from the base model [StarCoder2](https://huggingface.co/bigcode/starcoder2-15b), please refer to its model card's [Limitations Section](https://huggingface.co/bigcode/starcoder2-15b#limitations) for relevant information.
|
100 |
+
In particular, the model was evaluated on some categories of gender biases, propensity for toxicity, and risk of suggesting code completions with known security flaws; these evaluations are reported in its [technical report](https://huggingface.co/papers/2402.19173).
|
101 |
+
|
102 |
+
|
103 |
+
## Training details
|
104 |
+
|
105 |
+
This model is a fine-tuned version of [starchat2-15b-sft-v0.1](https://huggingface.co/HuggingFaceH4/starchat2-15b-sft-v0.1) on the HuggingFaceH4/ultrafeedback_binarized and the HuggingFaceH4/orca_dpo_pairs datasets. Check out the recipe in the [Alignment Handbook](https://github.com/huggingface/alignment-handbook) for more details.
|
106 |
+
|
107 |
+
It achieves the following results on the evaluation set:
|
108 |
+
- Loss: 0.4347
|
109 |
+
- Rewards/chosen: -0.9461
|
110 |
+
- Rewards/rejected: -2.7745
|
111 |
+
- Rewards/accuracies: 0.7658
|
112 |
+
- Rewards/margins: 1.8284
|
113 |
+
- Logps/rejected: -322.1934
|
114 |
+
- Logps/chosen: -316.1898
|
115 |
+
- Logits/rejected: -2.3817
|
116 |
+
- Logits/chosen: -2.3005
|
117 |
+
|
118 |
+
## Training procedure
|
119 |
+
|
120 |
+
### Training hyperparameters
|
121 |
+
|
122 |
+
The following hyperparameters were used during training:
|
123 |
+
- learning_rate: 5e-07
|
124 |
+
- train_batch_size: 2
|
125 |
+
- eval_batch_size: 4
|
126 |
+
- seed: 42
|
127 |
+
- distributed_type: multi-GPU
|
128 |
+
- num_devices: 8
|
129 |
+
- gradient_accumulation_steps: 8
|
130 |
+
- total_train_batch_size: 128
|
131 |
+
- total_eval_batch_size: 32
|
132 |
+
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
|
133 |
+
- lr_scheduler_type: cosine
|
134 |
+
- lr_scheduler_warmup_ratio: 0.1
|
135 |
+
- num_epochs: 2
|
136 |
+
|
137 |
+
### Training results
|
138 |
+
|
139 |
+
| Training Loss | Epoch | Step | Validation Loss | Rewards/chosen | Rewards/rejected | Rewards/accuracies | Rewards/margins | Logps/rejected | Logps/chosen | Logits/rejected | Logits/chosen |
|
140 |
+
|:-------------:|:-----:|:----:|:---------------:|:--------------:|:----------------:|:------------------:|:---------------:|:--------------:|:------------:|:---------------:|:-------------:|
|
141 |
+
| 0.717 | 0.17 | 100 | 0.6006 | -0.0924 | -0.2899 | 0.6329 | 0.1975 | -272.5022 | -299.1165 | -2.5313 | -2.4191 |
|
142 |
+
| 0.6273 | 0.35 | 200 | 0.5160 | -0.3994 | -0.9461 | 0.6930 | 0.5467 | -285.6261 | -305.2568 | -2.5281 | -2.4278 |
|
143 |
+
| 0.5538 | 0.52 | 300 | 0.4781 | -0.6589 | -1.5892 | 0.7247 | 0.9302 | -298.4870 | -310.4470 | -2.4996 | -2.4110 |
|
144 |
+
| 0.5056 | 0.7 | 400 | 0.4594 | -0.8283 | -2.1332 | 0.7437 | 1.3050 | -309.3687 | -313.8344 | -2.4472 | -2.3644 |
|
145 |
+
| 0.4983 | 0.87 | 500 | 0.4512 | -0.7758 | -2.2806 | 0.7468 | 1.5049 | -312.3167 | -312.7843 | -2.4223 | -2.3404 |
|
146 |
+
| 0.4662 | 1.04 | 600 | 0.4431 | -0.7839 | -2.4016 | 0.7658 | 1.6177 | -314.7355 | -312.9465 | -2.4049 | -2.3215 |
|
147 |
+
| 0.4411 | 1.22 | 700 | 0.4415 | -1.0090 | -2.7582 | 0.7690 | 1.7492 | -321.8679 | -317.4481 | -2.3840 | -2.3016 |
|
148 |
+
| 0.471 | 1.39 | 800 | 0.4368 | -0.9617 | -2.7445 | 0.7690 | 1.7828 | -321.5930 | -316.5019 | -2.3809 | -2.2991 |
|
149 |
+
| 0.4485 | 1.57 | 900 | 0.4351 | -0.9490 | -2.7594 | 0.7722 | 1.8103 | -321.8916 | -316.2497 | -2.3815 | -2.3004 |
|
150 |
+
| 0.4411 | 1.74 | 1000 | 0.4348 | -0.9293 | -2.7469 | 0.7658 | 1.8176 | -321.6409 | -315.8547 | -2.3823 | -2.3011 |
|
151 |
+
| 0.4499 | 1.92 | 1100 | 0.4348 | -0.9482 | -2.7767 | 0.7658 | 1.8285 | -322.2369 | -316.2320 | -2.3828 | -2.3012 |
|
152 |
+
|
153 |
+
|
154 |
+
### Framework versions
|
155 |
+
|
156 |
+
- Transformers 4.39.0.dev0
|
157 |
+
- Pytorch 2.1.2+cu121
|
158 |
+
- Datasets 2.16.1
|
159 |
+
- Tokenizers 0.15.1
|
measurement.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|