File size: 7,520 Bytes
2863d55
301567c
 
 
2863d55
5f5a111
 
 
 
 
 
 
 
 
 
f77c5ff
5f5a111
 
 
 
 
 
 
f77c5ff
 
 
 
 
 
 
 
 
 
 
 
 
5f5a111
 
f77c5ff
5f5a111
f77c5ff
 
 
5f5a111
f77c5ff
5f5a111
f77c5ff
5f5a111
 
 
 
 
 
 
 
f77c5ff
5f5a111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f77c5ff
5f5a111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f77c5ff
5f5a111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f77c5ff
 
 
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
---
license: other
license_name: yi-license
license_link: LICENSE
---
<div align="center">

<h1>
  Yi
</h1>

</div>

## Introduction

The **Yi** series models are large language models trained from scratch by developers at [01.AI](https://01.ai/). The first public release contains two base models with the parameter size of 6B and 34B.

## News

- 🎯 **2023/11/05**: The base model of `Yi-6B` and `Yi-34B` (with **200K** context window)

## Model Performance

| Model         |   MMLU   |  CMMLU   |  C-Eval  |  GAOKAO  |   BBH    | Commonsense Reasoning | Reading Comprehension | Math & Code |
| :------------ | :------: | :------: | :------: | :------: | :------: | :-------------------: | :-------------------: | :---------: |
|               |  5-shot  |  5-shot  |  5-shot  |  0-shot  | 3-shot@1 |           -           |           -           |      -      |
| LLaMA2-34B    |   62.6   |    -     |    -     |    -     |   44.1   |         69.9          |         68.0          |    26.0     |
| LLaMA2-70B    |   68.9   |   53.3   |    -     |   49.8   |   51.2   |         71.9          |         69.4          |    36.8     |
| Baichuan2-13B |   59.2   |   62.0   |   58.1   |   54.3   |   48.8   |         64.3          |         62.4          |    23.0     |
| Qwen-14B      |   66.3   |   71.0   |   72.1   |   62.5   |   53.4   |         73.3          |         72.5          |    39.8     |
| Skywork-13B   |   62.1   |   61.8   |   60.6   |   68.1   |   41.7   |         72.4          |         61.4          |    24.9     |
| InternLM-20B  |   62.1   |   59.0   |   58.8   |   45.5   |   52.5   |         78.3          |           -           |    26.0     |
| Aquila-34B    |   67.8   |   71.4   |   63.1   |    -     |    -     |           -           |           -           |      -      |
| Falcon-180B   |   70.4   |   58.0   |   57.8   |   59.0   |   54.0   |         77.3          |         68.8          |    34.0     |
| Yi-6B         |   63.2   |   75.5   |   72.0   |   72.2   |   42.8   |         72.3          |         68.7          |    19.8     |
| **Yi-34B**    | **76.3** | **83.7** | **81.4** | **82.8** | **54.3** |       **80.1**        |       **76.4**        |  **37.1**   |


While benchmarking open-source models, we have observed a disparity between the results generated by our pipeline and those reported in public sources (e.g. OpenCampus). Upon conducting a more in-depth investigation of this difference, we have discovered that various models may employ different prompts, post-processing strategies, and sampling techniques, potentially resulting in significant variations in the outcomes. Our prompt and post-processing strategy remains consistent with the original benchmark, and greedy decoding is employed during evaluation without any post-processing for the generated content. For scores that did not report by original author (including score reported with different setting), we try to get results with our pipeline.

To extensively evaluate model's capability, we adopted the methodology outlined in Llama2. Specifically, we included PIQA, SIQA, HellaSwag, WinoGrande, ARC, OBQA, and CSQA to assess common sense reasoning. SquAD, QuAC, and BoolQ were incorporated to evaluate reading comprehension. CSQA was exclusively tested using a 7-shot setup, while all other tests were conducted in a 0-shot configuration. Additionally, we introduced GSM8K (8-shot@1), MATH (4-shot@1), HumanEval (0-shot@1), and MBPP (3-shot@1) under the category "Math & Code". Due to technical constraints, we did not test Falcon-180 on QuAC and OBQA; the score is derived by averaging the scores on the remaining tasks. Since the scores for these two tasks are generally lower than the average, we believe that Falcon-180B's performance was not underestimated.

## Usage

Feel free to [create an issue](https://github.com/01-ai/Yi/issues/new) if you encounter any problem when using the Yi series models.

### 1. Run with docker

The recommended approach to try out our models is through docker. We provide the following docker images.

- `ghcr.io/01-ai/yi:latest`
- `ml-a100-cn-beijing.cr.volces.com/ci/01-ai/yi:latest`

Note that the `latest` tag always point to the latest code in the `main` branch. To test a stable version, please replace it with a specific [tag](https://github.com/01-ai/Yi/tags).

#### 1.1 Try out the base model:

```bash
docker run -it ghcr.io/01-ai/yi:latest python demo/text_generation.py
```

To reuse the downloaded models in the previous step, you can mount them into the container:

```bash
docker run -it                   \
  -v /path/to/model:/model       \
  ghcr.io/01-ai/yi:latest        \
  python demo/text_generation.py \
  --model /model
```

For more advanced usage, please refer the [doc](./demo/README.md).

#### 1.2 Finetuning from the base model:

```bash
docker run -it                                      \
  -v /path/to/base/model:/base_model                \
  -v /path/to/save/finetuned/model:/finetuned_model \
  ghcr.io/01-ai/yi:latest                           \
  bash finetune/scripts/run_sft_Yi_6b.sh
```

Once finished, you can compare the finetuned model and the base model with the following command:

```bash
docker run -it                                       \
  -v /path/to/save/finetuned/model/:/finetuned_model \
  -v /path/to/base/model/:/base_model                \
  ghcr.io/01-ai/yi:latest                            \
  bash finetune/scripts/run_eval.sh
```

For more advanced usage like fine-tuning based on your custom data, please refer the [doc](./finetune/README.md).

#### 1.3 Quantization

```bash
docker run -it                                         \
  -v /path/to/base/model:/base_model                   \
  -v /path/to/save/quantization/model:/quantized_model \
  ghcr.io/01-ai/yi:latest                              \
  python quantization/gptq/quant_autogptq.py           \
  --model /base_model                                  \
  --output_dir /quantized_model                        \
  --trust_remote_code        
```

Once finished, you can then evaluate the resulted model as follows:

```bash
docker run -it                                         \
  -v /path/to/save/quantization/model:/quantized_model \
  ghcr.io/01-ai/yi:latest                              \
  python quantization/gptq/eval_quantized_model.py     \
  --model /quantized_model                             \
  --trust_remote_code
```

For more detailed explanation, please read the [doc](./quantization/gptq/README.md)

## Disclaimer

Although we use data compliance checking algorithms during the training process to ensure the compliance of the trained model to the best of our ability, due to the complexity of the data and the diversity of language model usage scenarios, we cannot guarantee that the model will generate correct and reasonable output in all scenarios. Please be aware that there is still a risk of the model producing problematic outputs. We will not be responsible for any risks and issues resulting from misuse, misguidance, illegal usage, and related misinformation, as well as any associated data security concerns.

## License

The source code in this repo is licensed under the [Apache 2.0 license](https://github.com/01-ai/Yi/blob/main/LICENSE).
The Yi series model must be adhere to the [Model License Agreement](https://github.com/01-ai/Yi/blob/main/MODEL_LICENSE_AGREEMENT.txt).
For any questions related to licensing and copyright, please contact us ([oss@01.ai](mailto:oss@01.ai)).