# FlagEval
**Repository Path**: flagopen/FlagEval
## Basic Information
- **Project Name**: FlagEval
- **Description**: FlagEval is an evaluation toolkit for AI large foundation models.
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-03-16
- **Last Updated**: 2025-03-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

[English](README.md)
--------------------------------------------------------------------------------
**FlagEval**是一个面向AI大模型的开源评测工具包,同时也是一个开放的[评测平台](https://flageval.baai.ac.cn/#/home)。
FlagEval 评测平台的目标是覆盖三个主要的评估对象——基础模型、预训练算法以及微调/压缩算法,以及四个关键领域下丰富的下游任务,包括自然语言处理(NLP)、计算机视觉(CV)、语音(Audio)和多模态(Multimodal)。您可以在我们的官方网站 [flageval.baai.ac.cn](https://flageval.baai.ac.cn/#/home) 上找到更多信息。我们致力于建立科学、公正、开放的评测基准、方法、工具集,协助研究人员全方位评估基础模型及训练算法的性能,同时探索利用AI方法实现对主观评测的辅助,大幅提升评测的效率和客观性。
FlagEval 开源评测工具包现在包含以下子项目。
## 1. mCLIPEval
[**mCLIPEval**](https://github.com/FlagOpen/FlagEval/tree/master/mCLIPEval) 是一个多语言 CLIP(Contrastive Language–Image Pre-training)系列模型的评测工具包,特点如下:
* 支持多语言(12种)评测数据和单语言(英文/中文)评测数据;
* 支持多种任务评测,包括 Zero-shot classification、Zero-shot retrieval 以及 zeroshot composition等;
* 支持已**适配的基础模型**及**用户自定义基础模型**的评测,目前已适配的基础模型包括[FlagAI](https://github.com/FlagAI-Open/FlagAI) 中的([AltCLIP](https://github.com/FlagAI-Open/FlagAI/tree/master/examples/AltCLIP), [EVA-CLIP](https://github.com/FlagAI-Open/FlagAI/tree/master/examples/EVA_CLIP)),[OpenCLIP](https://github.com/mlfoundations/open_clip) ,[Chinese CLIP](https://github.com/OFA-Sys/Chinese-CLIP),[Multilingual CLIP](https://github.com/FreddeFrallan/Multilingual-CLIP) ,[Taiyi](https://fengshenbang-doc.readthedocs.io/zh/latest/docs/%E5%A4%AA%E4%B9%99%E7%B3%BB%E5%88%97/index.html)系列等;
* 支持多种数据来源,如[torchvision](https://pytorch.org/vision/stable/datasets.html),[huggingface](https://huggingface.co/datasets),[kaggle](https://www.kaggle.com/datasets)等;
* 通过多种可视化的方式展示评测结果,方便对多个模型进行比较。
### 如何使用
环境建议:
* Pytorch version >= 1.8.0
* Python version >= 3.8
* For evaluating models on GPUs, you'll also need install CUDA and NCCL
使用方式:
```shell
git clone https://github.com/FlagOpen/FlagEval.git
cd FlagEval/mCLIPEval/
pip install -r requirements.txt
```
更多的细节请参考 [mCLIPEval/README.md](https://github.com/FlagOpen/FlagEval/tree/master/mCLIPEval/README.md) 。
## 2. ImageEval-prompt
[ImageEval-prompt](https://github.com/FlagOpen/FlagEval/tree/master/imageEval) 是一组在实体、风格和细节等细粒度上进行评估的Prompt。通过在细粒度上的综合评估,研究者可以更好地理解文生图(Text-to-Image,T2I)模型的优点和局限性,以便进一步改进模型的性能。
* 英文数据集来自 PartiPrompts benchmark 的 1624 条英文 Prompt,其中 339 条 Prompt 翻译成中文作为中文数据集。
* 每条 Prompt 采取“双人背靠背标注+第三人仲裁”方式进行标注,分为实体、风格和细节三个维度:
* 实体包括 5 个子维度:主体对象、状态、颜色、数量与位置;
* 风格包括 2 个子维度:绘画风格与文化风格;
* 细节包括 4 个子维度:手部、五官、性别与反常识。
更多细节请参考 [imageEVAL/README_zh.md](https://github.com/FlagOpen/FlagEval/blob/master/imageEval/README_zh.md)
## 3. C-SEM
C-SEM 针对当前大模型的可能存在的缺陷和不足,创新地构造多种层次、多种难度的评测数据, 并参考人类的语言思维习惯,考察模型在理解语义时的“思考”过程。当前开源的 C-SEM v1.0版本共包括四个子评测项,分别从词汇、句子两个级别评测模型的语义理解能力,通用性较强,适用于研究对照。
当前 C-SEM 的子评测项分别为
* 词汇级的语义关系判断(LLSRC)
* 句子级别的语义关系判断(SLSRC)
* 词汇的多义理解问题(SLPWC)
* 基础修饰知识检测(SLRFC)
后续 C-SEM 评测基准将会持续迭代,覆盖更多语义理解相关知识,形成多层次的语义理解评测体系。同时,[FlagEval 大模型评测平台](https://flageval.baai.ac.cn/#/trending) 将在第一时间集成最新版本,加强对大语言模型的中文能力评测的全面性。
更多细节请参考 [csem/README-zh.md](https://github.com/FlagOpen/FlagEval/blob/master/csem/README-zh.md)
## 联系我们
* 如果有关于 FlagEval的意见,建议或错误报告,请提交[GitHub Issue](https://github.com/FlagOpen/FlagEval/issues) 或者邮件至 flageval@baai.ac.cn,让我们共同建设更好的FlagEval。
* **诚聘行业精英加入FlagEval团队。** 如果您有兴趣加入我们一起推进基础模型评测的工具,请联系 flageval@baai.ac.cn,期待您的加入!
* **欢迎共同建设FlagEval。** 如果您有新的任务或者新的数据或者新的工具希望加入FlagEval,请联系flageval@baai.ac.cn,期待与您合作,共同建设基础模型评测体系!
## [许可证](/LICENSE)
本项目大部分是基于协议[Apache 2.0 license](LICENSE), 但是部分的代码是基于其他的协议:
* CLIP_benchmark 是基于协议[MIT license](https://github.com/LAION-AI/CLIP_benchmark/blob/main/LICENSE)
* ImageNet1k数据集是基于协议[huggingface datasets license and ImageNet licenese](https://huggingface.co/datasets/imagenet-1k/blob/main/README.md#licensing-information)
## 其他
#### ↳ Stargazers, 谢谢支持!
[](https://github.com/FlagOpen/FlagEval/stargazers)
#### ↳ Forkers, 谢谢支持!
[](https://github.com/FlagOpen/FlagEval/network/members)
#### 如果您觉得我们的工作对您有价值有帮助,请给我们鼓励的**星星🌟**,谢谢您的支持!