Text Generation
Transformers
Safetensors
mixtral
reasoning
preference_learning
nca
conversational
text-generation-inference
Inference Endpoints
File size: 4,609 Bytes
190ef78
 
ece09fa
 
 
 
 
 
 
 
 
190ef78
ece09fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2734286
6ce8ea6
2734286
6ce8ea6
 
ec838b0
 
 
6ce8ea6
 
 
 
ece09fa
 
0169f18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ece09fa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: apache-2.0
datasets:
- openbmb/UltraInteract_sft
- openbmb/UltraInteract_pair
- openbmb/UltraFeedback
tags:
- reasoning
- preference_learning
- nca
pipeline_tag: text-generation
---

<div align="center">

<img src="https://huggingface.co/openbmb/Eurus-7b-sft/resolve/main/figures/Eurus-logo.png" width="200px">

**Eurus: A suite of open-source LLMs optimized for reasoning**

<p align="center">
 <a href="#introduction"> Introduction</a><a href="#evaluation">Evaluation</a>
</p>


</div>

# Links

- 📜 [Paper](https://arxiv.org/abs/2404.02078)
- 🤗 [Eurus Collection](https://huggingface.co/collections/openbmb/eurus-660bc40bec5376b3adc9d1c5)
- 🤗 UltraInteract
  - [SFT](https://huggingface.co/datasets/openbmb/UltraInteract_sft)
  - [Preference Learning](https://huggingface.co/datasets/openbmb/UltraInteract_pair) 
- [GitHub Repo](https://github.com/OpenBMB/Eurus)

# Introduction

Eurux-8x22B-NCA is SFT and [NCA](https://arxiv.org/abs/2402.05369) fine-tuned from [Mixtral-8x22B](https://huggingface.co/mistral-community/Mixtral-8x22B-v0.1) on all multi-turn trajectory pairs in [UltraInteract](https://huggingface.co/openbmb/UltraInteract) and all pairs in [UltraFeedback](https://huggingface.co/openbmb/UltraFeedback).

It achieves superb reasoning performance as well as exellent chat & instruction-following capabilities.

## Evaluation
We conducted overall coding, math, reasoning, knowledge, instruction-following and chat benchmarking. Results are shown below:

| Models/Benchmarks|   Coding  |       |          |   Math  |       |           | Reasoning | Knowledge | Ins-Following |   Chat   |
|-----------------|:---------:|:-----:|:--------:|:-------:|:-----:|:---------:|:---------:|:---------:|:-------------:|:--------:|
|                 | HumanEval |  MBPP | LeetCode | GSMPLUS |  MATH | TheoremQA | BBH (CoT) |    MMLU   |     IFEval    | MT-Bench |
| GPT-3.5-Turbo   |   76.8    | 82.5  |   23.3   |  61.2   | 37.8  |   35.6    |   70.1    |   70.0    |     56.6      |   7.94   |
| GPT-4           |   85.4    | 83.5  |   41.8   |  85.6   | 69.7  |   52.4    |   86.7    |   86.4    |     79.7      |   8.96   |
| Mixtral-8x7B-Ins|   50.6    | 50.1  |   5.6    |  49.6   | 25.9  |   20.4    |   73.5    |   70.3    |     48.8      |   8.30   |
| DS-LM-67B-Chat  |   70.7    | 65.7  |   20.0   |  65.0   | 41.0  |   17.9    |   78.9    |   72.3    |     52.7      |     -    |
| QWen-1.5-72B    |   71.3    | 56.9  |   15.6   |  65.4   | 43.4  |   18.5    |   78.0    |   72.9    |     53.4      |   8.61   |
| Eurus-70b-NCA   |   79.3    | 71.9  |   33.3   |  62.8   | 41.7  |   32.6    |   80.0    |   59.4    |     49.2      |   7.54   |
| Eurux-8x22b-KTO |   71.3    | 68.9  |   29.4   |  68.3   | 48.4  |   35.3    |   83.6    |   75.9    |     67.1      |   8.58   |
| Eurux-8x22b-NCA |   75.0    | 69.7  |   35.0   |  68.1   | 49.0  |   35.5    |   83.5    |   75.6    |     67.1      |   8.46   |

## Usage

```python
# pip install 'transformers>=4.39.3'
# pip install accelerate

import torch
from transformers import pipeline

pipe = pipeline(
    "text-generation",
    model="openbmb/Eurux-8x22b-nca",
    device_map="auto",
    torch_dtype=torch.bfloat16,
)
messages = [
    {"role": "user", "content": "What does Eurus mean?"},
]
outputs = pipe(
    messages,
    max_new_tokens=512,
    do_sample=True,
    temperature=0.7,
    top_k=50,
    top_p=0.95,
)
print(outputs[0]["generated_text"][-1]["content"])
```

We apply tailored prompts for coding and math, consistent with UltraInteract data formats:

**Coding**

```
[INST] Write Python code to solve the task:
{Instruction} [/INST]
```
**Math-CoT**

```
[INST] Solve the following math problem step-by-step.
Simplify your answer as much as possible. Present your final answer as \\boxed{Your Answer}.
{Instruction} [/INST]
```

**Math-PoT**

```
[INST] Tool available:
[1] Python interpreter
When you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment.
Solve the following math problem step-by-step.
Simplify your answer as much as possible.
{Instruction} [/INST]
```


## Citation
```
@misc{yuan2024advancing,
      title={Advancing LLM Reasoning Generalists with Preference Trees}, 
      author={Lifan Yuan and Ganqu Cui and Hanbin Wang and Ning Ding and Xingyao Wang and Jia Deng and Boji Shan and Huimin Chen and Ruobing Xie and Yankai Lin and Zhenghao Liu and Bowen Zhou and Hao Peng and Zhiyuan Liu and Maosong Sun},
      year={2024},
      eprint={2404.02078},
      archivePrefix={arXiv},
      primaryClass={cs.AI}
}
```