File size: 3,965 Bytes
fd4c914
 
 
 
 
 
 
 
 
 
 
 
bedecc1
 
 
 
 
 
be94751
bedecc1
 
be94751
bedecc1
be94751
bedecc1
be94751
bedecc1
be94751
bedecc1
 
be94751
bedecc1
 
 
 
be94751
bedecc1
be94751
bedecc1
9ec148c
 
 
be94751
 
 
 
fd4c914
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: apache-2.0
datasets:
- openbmb/UltraInteract_sft
- stingning/ultrachat
- openchat/openchat_sharegpt4_dataset
- Open-Orca/OpenOrca
tags:
- reasoning
pipeline_tag: text-generation
---

This is a fixed version of [Eurus-70b-sft](https://huggingface.co/openbmb/Eurus-70b-sft) made by copying the json files from the (**base**) [CodeLlama-70b-hf](https://huggingface.co/codellama/CodeLlama-70b-hf) model and adding in the Mistral chat template, eg:

```
<s>[INST] Instruction [/INST] Model answer</s> [INST] Follow-up instruction [/INST]
```

This version has the same context length (16k) and RoPE base frequency (1000000) as the `CodeLlama-70b`:

```
> ./perplexity -m eurus:70b-nca-fixed-q8_0.gguf -f wiki.test.raw -c 4096

Final estimate: <to to...>

> ./perplexity -m eurus:70b-nca-fixed-q8_0.gguf -f wiki.test.raw -c 16384

Final estimate: <to to...>
```

I have also tested it with multi-turn conversations for 10k+ context and it has remained perfectly coherent.

It even looks to be fine for use with a context length of 32k:

```
> ./perplexity -m eurus:70b-nca-fixed-q8_0.gguf -f wiki.test.raw -c 32768

Final estimate: <to to...>
```

---

Also see: [Eurus-70b-nca-fixed](https://huggingface.co/jukofyork/Eurus-70b-nca-fixed)

---

<div align="center">

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

**Eurus: A suit 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

Eurus-70B-SFT is fine-tuned from CodeLLaMA-70B on all correct actions in UltraInteract, mixing a small proportion of UltraChat, ShareGPT, and OpenOrca examples.

It achieves better performance than other open-source models of similar sizes and even outperforms specialized models in corresponding domains in many cases. 

## Usage

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]
```

## Evaluation
 - Eurus, both the 7B and 70B variants, achieve the best overall performance among open-source models of similar sizes. Eurus even outperforms specialized models in corresponding domains in many cases. Notably, Eurus-7B outperforms baselines that are 5× larger, and Eurus-70B achieves better performance than GPT-3.5 Turbo.
 - Preference learning with UltraInteract can further improve performance, especially in math and the multi-turn ability.
<img src="./figures/main_exp.png" alt="stats" style="zoom: 40%;" />  


## 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}
}
```