乐于分享
好东西不私藏

Dingo:面向AI时代的全方位数据质量评估工具

Dingo:面向AI时代的全方位数据质量评估工具

大家好,今天给各位介绍一款开源的数据质量评估工具——Dingo。在当前AI大模型蓬勃发展的时代,”数据为王”已经成为共识,但”垃圾进,垃圾出”的铁律同样不容忽视。无论是训练自己的模型,还是使用现有模型,高质量的数据都是成功的关键。Dingo就是为解决这一痛点而生的全方位数据质量评估工具。

为什么数据质量如此重要?

在我们的实践中,以下数据问题经常困扰着AI从业者:

  • 训练集中存在大量重复、无意义的样本
  • 指令微调数据中问答不匹配或质量低下
  • 预训练语料包含大量脏数据和格式错误的文本
  • 评测数据集存在偏差,导致评估结果不准确
  • 多模态数据中图文不匹配或描述不准确

这些问题不仅浪费计算资源,更会直接影响模型性能。尤其在大模型时代,数据质量问题被进一步放大——训练一次的成本高昂,而发现数据问题往往为时已晚。

Dingo: 全方位守护你的数据质量

Dingo提供了一站式的数据质量评估解决方案,它的核心特点包括:

Dingo架构图

1. 多源多模态支持

无论你的数据来自哪里,Dingo都能轻松应对:

  • 本地文件(各种格式)
  • HuggingFace数据集
  • S3存储桶

同时支持文本和图像两种模态,未来还将扩展到音频和视频。

2. 双轨评估方法

Dingo采用两种互补的评估方法:

基于规则的评估:内置20多种启发式规则,可以快速检测常见问题,如文本不完整、字符分布异常、内容重复等。

基于大模型的评估:集成包括OpenAI的GPT系列、Deepseek以及Llama3等在内的大语言模型,进行更加细致和语义化的质量评估。

3. 灵活的使用方式

Dingo提供多种使用方式:

  • 命令行界面,适合快速评估
  • SDK,方便集成到现有流程
  • 支持本地执行和Spark分布式处理

4. 多维度质量评估

Dingo从多个关键维度评估数据质量:

  • 完整性:数据是否完整,是否缺失元素?
  • 有效性:数据格式是否正确,内容是否有意义?
  • 流畅性:文本是否自然流畅,符合语法规则?
  • 安全性:数据是否包含敏感信息或有问题的内容?
  • 相似度:是否存在重复或冗余内容?
  • 等等…

实战案例:Dingo如何提升你的AI项目

案例一:预训练语料筛选

某团队使用Dingo筛选了1TB的中文语料,发现约25%的数据存在严重质量问题。通过Dingo的评估结果,他们不仅过滤掉了低质量内容,还发现了数据中的若干痛点问题,如大量重复段落、网页抓取错误等。结果,他们用75%的高质量数据训练出的模型性能反而优于使用全量数据的基线模型。

快速上手Dingo

安装非常简单:

pip install dingo-python

下面是一个简单的示例,评估本地文本文件:

from dingo.io import InputArgsfrom dingo.execimport Executor# 评估一个纯文本文件input_data = {"eval_group""sft"# 用于SFT数据的规则集"input_path""data.txt"# 本地文本文件路径"dataset""local","data_format""plaintext"# 格式:纯文本"save_data"True# 保存评估结果}input_args = InputArgs(**input_data)executor = Executor.exec_map["local"](input_args)result = executor.execute()# 获取结果summary = executor.get_summary() # 总体评估摘要bad_data = executor.get_bad_info_list() # 有问题数据列表good_data = executor.get_good_info_list() # 高质量数据列表

扩展Dingo满足特定需求

Dingo的设计注重可扩展性,你可以轻松创建自定义规则:

from dingo.model import Modelfrom dingo.model.rule.base import BaseRulefrom dingo.config.config import DynamicRuleConfigfrom dingo.io import MetaDatafrom dingo.model.modelres import ModelRes@Model.rule_register('MY_CUSTOM_RULE', ['default'])classMyCustomRule(BaseRule):"""检查文本中的自定义模式"""    dynamic_config = DynamicRuleConfig(pattern=r'你的模式正则表达式')    @classmethoddefeval(cls, input_data: MetaData) -> ModelRes:        res = ModelRes()# 在这里实现你的规则return res

你还可以集成自定义LLM模型或提示,以适应特定领域的评估需求。

可视化评估界面

基于Dingo我们构建了的企业级数据质量评估与管理平台Dingo SaaS。它将 Dingo 强大的数据质量评估能力产品化,提供 Web 界面、API 服务和完整的数据管理工作流。这个交互式界面帮助你探索问题实例,了解质量分布。

Dingo GUI

结语

在AI竞争日益激烈的今天,数据质量已成为决定成败的关键因素。工欲善其事,必先利其器,Dingo正是为此而生的利器。它不仅帮助你发现数据中的问题,更通过全方位评估为你的AI项目保驾护航。

github开源项目地址:https://github.com/MigoXLab/dingo (欢迎点个Star!👏👏👏

Dingo SAAS平台地址:https://dingo.openxlab.org.cn/