Yi-6B / README.md
cArlIcon's picture
update README
f77c5ff
|
raw
history blame
No virus
7.52 kB
metadata
license: other
license_name: yi-license
license_link: LICENSE

Yi

Introduction

The Yi series models are large language models trained from scratch by developers at 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 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.

1.1 Try out the base model:

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:

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.

1.2 Finetuning from the base model:

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:

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.

1.3 Quantization

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:

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

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. The Yi series model must be adhere to the Model License Agreement. For any questions related to licensing and copyright, please contact us (oss@01.ai).