File size: 7,295 Bytes
436ce8d 492f3a8 436ce8d 492f3a8 436ce8d 55a4864 436ce8d 55a4864 436ce8d 55a4864 e939100 55a4864 436ce8d 55a4864 492f3a8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
---
language:
- en
license: apache-2.0
datasets:
- SenseLLM/ReflectionSeq-GPT
- SenseLLM/ReflectionSeq-DS
model-index:
- name: ReflectionCoder-CL-34B
results:
- task:
type: text-generation
name: Text Generation
dataset:
name: IFEval (0-Shot)
type: HuggingFaceH4/ifeval
args:
num_few_shot: 0
metrics:
- type: inst_level_strict_acc and prompt_level_strict_acc
value: 40.08
name: strict accuracy
source:
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=SenseLLM/ReflectionCoder-CL-34B
name: Open LLM Leaderboard
- task:
type: text-generation
name: Text Generation
dataset:
name: BBH (3-Shot)
type: BBH
args:
num_few_shot: 3
metrics:
- type: acc_norm
value: 14.26
name: normalized accuracy
source:
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=SenseLLM/ReflectionCoder-CL-34B
name: Open LLM Leaderboard
- task:
type: text-generation
name: Text Generation
dataset:
name: MATH Lvl 5 (4-Shot)
type: hendrycks/competition_math
args:
num_few_shot: 4
metrics:
- type: exact_match
value: 1.96
name: exact match
source:
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=SenseLLM/ReflectionCoder-CL-34B
name: Open LLM Leaderboard
- task:
type: text-generation
name: Text Generation
dataset:
name: GPQA (0-shot)
type: Idavidrein/gpqa
args:
num_few_shot: 0
metrics:
- type: acc_norm
value: 0.11
name: acc_norm
source:
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=SenseLLM/ReflectionCoder-CL-34B
name: Open LLM Leaderboard
- task:
type: text-generation
name: Text Generation
dataset:
name: MuSR (0-shot)
type: TAUR-Lab/MuSR
args:
num_few_shot: 0
metrics:
- type: acc_norm
value: 10.4
name: acc_norm
source:
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=SenseLLM/ReflectionCoder-CL-34B
name: Open LLM Leaderboard
- task:
type: text-generation
name: Text Generation
dataset:
name: MMLU-PRO (5-shot)
type: TIGER-Lab/MMLU-Pro
config: main
split: test
args:
num_few_shot: 5
metrics:
- type: acc
value: 4.71
name: accuracy
source:
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?query=SenseLLM/ReflectionCoder-CL-34B
name: Open LLM Leaderboard
---
## ReflectionCoder: Learning from Reflection Sequence for Enhanced One-off Code Generation
<p align="center">
<a href="https://arxiv.org/abs/2405.17057">π Paper</a> β’
<a href="https://github.com/SenseLLM/ReflectionCoder">π Repo</a> β’
<a href="https://huggingface.co/SenseLLM/ReflectionCoder-DS-33B">π€ Models</a> β’
<a href="https://huggingface.co/datasets/SenseLLM/ReflectionSeq-GPT">π Datasets </a>
</p>
## Introduction
ReflectionCoder is a novel approach that effectively leverages reflection sequences constructed by integrating compiler feedback to improve one-off code generation performance. Please refer to our paper and repo for more details!
![](method.png)
<hr>
## Models
| Model | Checkpoint | Size | HumanEval (+) | MBPP (+) | License|
|:-------|:------------|:------|:---------------|:----------|:--------|
| ReflectionCoder-CL-7B | π€ [HF Link](https://huggingface.co/SenseLLM/ReflectionCoder-CL-7B) | 7B | 75.0 (68.9) | 72.2 (61.4) | [Llama2](https://ai.meta.com/llama/license/) |
| ReflectionCoder-CL-34B | π€ [HF Link](https://huggingface.co/SenseLLM/ReflectionCoder-CL-34B) | 34B | 70.7 (66.5) | 68.4 (56.6) | [Llama2](https://ai.meta.com/llama/license/) |
| ReflectionCoder-DS-6.7B | π€ [HF Link](https://huggingface.co/SenseLLM/ReflectionCoder-DS-6.7B) | 6.7B | 80.5 (74.4) | 81.5 (69.6) | [DeepSeek](https://github.com/deepseek-ai/DeepSeek-Coder/blob/main/LICENSE-MODEL) |
| ReflectionCoder-DS-33B | π€ [HF Link](https://huggingface.co/SenseLLM/ReflectionCoder-DS-33B) | 33B | 82.9 (76.8) | 84.1 (72.0) | [DeepSeek](https://github.com/deepseek-ai/DeepSeek-Coder/blob/main/LICENSE-MODEL) |
## Datasets
| Dataset | Link | License |
|:-------------------|:----------------|:----------------------------------------------|
| ReflectionSeq-GPT | π€ [HF Link](https://huggingface.co/datasets/SenseLLM/ReflectionSeq-GPT) | [License](LICENSE) |
| ReflectionSeq-DS | π€ [HF Link](https://huggingface.co/datasets/SenseLLM/ReflectionSeq-DS) | [License](LICENSE) |
## How to Use
#### Chat Format
Following chat templates of most models, we use two special tokens to wrap the message of user and assistant, *i.e.*, ``<|user|>``, ``<|assistant|>``, and ``<|endofmessage|>``. Furthermore, we use two special tokens to wrap the content of different blocks, *i.e.*, ``<|text|>`` and ``<|endofblock|>``. You can use the following template to prompt our ReflectionCoder.
```python
import torch
from transformers import pipeline
chat = [
{"role": "user", "content": "<Your code instruction here>"}
]
generator = pipeline(
model="SenseLLM/ReflectionCoder-CL-34B",
task="text-generation",
torch_dtype=torch.bfloat16,
device_map="auto",
)
result = generator(chat, max_length=128, num_return_sequences=1)
print(result)
```
Please refer to our [GitHub Repo](https://github.com/SenseLLM/ReflectionCoder) for more technical details.
## Citation
If you find this repo useful for your research, please kindly cite our paper:
```
@misc{ren2024reflectioncoder,
title={ReflectionCoder: Learning from Reflection Sequence for Enhanced One-off Code Generation},
author={Houxing Ren and Mingjie Zhan and Zhongyuan Wu and Aojun Zhou and Junting Pan and Hongsheng Li},
year={2024},
eprint={2405.17057},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
```
## Acknowledgments
We thank the following amazing projects that truly inspired us:
- [CodeLlama](https://ai.meta.com/research/publications/code-llama-open-foundation-models-for-code/)
- [DeepSeek-Coder](https://github.com/deepseek-ai/DeepSeek-Coder)
- [WizardCoder](https://github.com/nlpxucan/WizardLM/tree/main/WizardCoder)
- [Evol-CodeAlpaca-v1](https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1)
- [MagiCoder](https://github.com/ise-uiuc/magicoder/tree/main)
- [EvalPlus](https://github.com/evalplus/evalplus)
- [OpenCoderInterpreter](https://github.com/OpenCodeInterpreter/OpenCodeInterpreter/tree/main)
# [Open LLM Leaderboard Evaluation Results](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard)
Detailed results can be found [here](https://huggingface.co/datasets/open-llm-leaderboard/details_SenseLLM__ReflectionCoder-CL-34B)
| Metric |Value|
|-------------------|----:|
|Avg. |11.92|
|IFEval (0-Shot) |40.08|
|BBH (3-Shot) |14.26|
|MATH Lvl 5 (4-Shot)| 1.96|
|GPQA (0-shot) | 0.11|
|MuSR (0-shot) |10.40|
|MMLU-PRO (5-shot) | 4.71|
|