C-Pack: Packaged Resources To Advance General Chinese Embedding

news2025/6/26 17:44:10

简介

在这里插入图片描述

论文提出了一个C-pack资源集合,其中包括三个主要的部分:

  1. C-MTEB一个中文综合基准集合,包括6个任务和35个数据集合。
  2. C-MTP一个中文embedding数据集合,包括unlabeled和labeled两种数据。
  3. C-TEM一个embedding模型家族,包括多种尺寸的模型。
  4. 提出了一套预训练的Recipe方法,通过一次预训练+两次fine-tune取得了良好的模型训练效果。
    并且论文中提出的模型在C-MTEB数据集合上取得了优异的效果,有些任务取得了10%+的效果。
    并且模型在英文的MTEB集合上也取得了SOTA的效果。

具体工作

之前的embedding预训练模型有以下的问题:
1.既没有准备好的训练资源。
2.也没有很好的benchmarks去验证模型的通用性。
为了解决传统做法的这些问题,论文做了以下的工作。
总体上C-Pack提供了中文embedding的首选解决方案。

在这里插入图片描述

1.C-MTEB中文基准

这个基准是在MTEB基础上进行的扩展,收集了6种任务的35个public数据集。由于集合的规模和多样性,主要的中文embedding能力可以被很好的评估,可以很好的评估embedding模型的通用性。
评估的主要任务有:
1.Retrieval召回
2.Re-ranking重排
3.STS语音文本相似度
4.Classification分类
5.Pair-classification文本对相关度分类
6.Clustering聚类
embedding模型的通用能力用6种任务的平均得分进行评估

2.C-MTP中文文本预料

建立了100M的中文文本预料,包括大量的unlabeled数据和少量高质量的labeled数据。
1.C-MTP (unlabeled)寻找大量的语料,蕴含大量的语义信息。主要数据来源于开源网络语料库。最主要的来源是wudao语料库,对于其中的每一篇文章,我们解析了title和passage正文作为文本对,用同样的方法也整理了很多其他的开源语料。因为开源的语料对不能保证完全的相关性,因此进行了第三方模型判断,过滤掉得分较低的语料对。为语料库带来了非常好的效果提升。
2.C-MTP (labeled)同时收集了84w高质量的预料对,大多数的labeled的语料对,都是通过人工标注的方式进行的。人工标注的语料对同样包含了文本embedding的多种能力,包括召回、排序等。

3.C-TEM中文文本embedding模型

利用上面的语料训练了一些列模型(包括24M,102M,326M三种模型),模型在中文基准上取得了非常好的效果。并且C-TEM可以继续被fine-tune应用到不同的业务场景中。
模型整体是Bert-like的模型结构,最后一层的隐藏状态CLS被训练作为embedding信息。最大的一个模型达到了最高的embedding通用能力。
C-TEM模型可以作为一个embedding基座,进行fine-tune预训练后应用到不同的业务中。

4.Training Recipe训练方法

提出来三步训练方法,

4.1 用plain text进行预训练

在这里插入图片描述

4.2 C-MTP (unlabeled)的数据进行对比学习

在这里插入图片描述

4.3 C-MTP (labeled)进行多任务学习

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言水平测试题 过关斩将(1)C语言的那些坑题,你可知道❓

我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位 👍点赞 ⭐收藏 📝评论 我的专栏:C语言基础语法(超详细)_☆光之梦☆的博客-CSDN博客(这…

C# 使用 RSA 加密算法生成证书签名产生“The system cannot find the file specified”异常

使用 C# 中 RSA(System.Security.Cryptography.RSA) 加密算法生成证书签名进行身份验证,在 VS2022 开发工具本地运行应用程序一切正常。 但将应用程序部署到远程服务器(如:Azure App Services)&#xff0c…

自动化测试的执行策略详解

前言 自动化测试的执行策略是指在自动化测试过程中,为了达到测试目标和要求,所采用的测试执行方案和策略。 执行策略涉及到测试用例的执行顺序、方式、环境、频率等方面的决策。 同时,我也准备了一份软件测试视频教程(含接口、…

【技术干货】如何快速创建商用照明 OEM APP?

本文介绍了如何在涂鸦 IoT 平台的 App 工作台上创建一款体验版商照 App、正式版 OEM App、上架 App、以及完成通用配置。 OEM App 开发 创建 App 登录 涂鸦 IoT 平台的 App 页面。 单击 创建APP,选择 商照 APP 进行创建。 在提示框里,完善 App 信息…

SpringBoot 接口 字节数组直接显示为图片

源码: import java.io.ByteArrayOutputStream; import javax.imageio.ImageIO; import org.springframework.web.bind.annotation.RequestMapping;/*** 获取二维码图像* 二维码支付** param price 金额* return 二维码图像* throws IOException IOException*/ Requ…

掌动智能:UI自动化测试工具几点优势

UI自动化测试工具在现代软件开发中扮演着重要的角色,它们能够有效地验证应用程序的用户界面,确保其在不同平台和设备上的正常运行。本文将介绍掌动智能UI自动化测试工具的优势有哪些! 掌动智能UI自动化测试工具优势 1、零成本入门 自然语言编写&#xff…

单目标应用:墨西哥蝾螈优化算法(Mexican Axolotl Optimization,MAO)求解微电网优化--MATLAB代码

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、墨西哥蝾螈优化算法MAO 墨西哥蝾螈优化算法(Mexican Axolotl Optimization,MAO)由Yenny Villuendas-Rey 1等人于2021…

代码随想录算法训练营第23期day20| 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

目录 一、(leetcode 530)二叉搜索树的最小绝对差 二、(leetcode 501)二叉搜索树中的众数 1.二叉搜索树 2.非二叉搜索树 思路 三、(leetcode 236)二叉树的最近公共祖先 一、(leetcode 530&…

v-model 原理

v-model 原理 : 对应的是 v-bind 对应额是 v-on 创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day04\准备代码\10-…

Tomcat和HPPT协议

1.介绍 1.Java EE 规范 JavaEE(java Enterprise Edition):java企业版 JavaEE 规范是很多的java开发技术的总称。这些技术规范都是沿用自J2EE的。一共包括了13个技术规范 2.WEB概述 WEB在计算机领域中代表的是网络 像我们之前所用的WWW&…

JS VUE 用 canvas 给图片加水印

最近写需求,遇到要给图片加水印的需求。 刚开始想的方案是给图片上覆盖一层水印照片,但是这样的话用户直接下载图片水印也会消失。 后来查资料发现用 canvas 就可以给图片加水印,下面是处理过程。 首先我们要确认图片的格式,我们通…

【Java 进阶篇】JavaScript三元运算符详解

JavaScript是一门广泛用于前端和后端开发的编程语言,具备强大的表达式和运算符。本篇博客将重点介绍JavaScript中的三元运算符,解释其语法、用法和示例。如果您是JavaScript初学者,或者希望更深入了解这门语言的运算符,那么这篇博…

mysql面试题44:MySQL数据库cpu飙升的话,要怎么处理?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL数据库cpu飙升的话,要怎么处理呢? 当MySQL数据库的CPU使用率飙升时,可能表示数据库负载过重或存在性能问题。以下是处理MySQL数据库CPU飙…

VSS、VDD、VBAT、VSSA

引言 在学习设计TM32时,发现芯片除了GPIO引脚外还会引出许多引脚,以STM32F407ZGT6为例除了GPIO引脚还会有以下引脚 如VSS、VDD、VBAT、VSSA、NRST、VREF、VDDA、VCAP_1、VCAP_2、PDR_ON这些引脚。他们有何作用,电路设计中应如何连接&#x…

【SCS-CN】SCS-CN模型中CN值的确定

目录 一、说明二、SWAT三、HEC-HMS四、CN值转换公式五、确定CN25.1 ArcSWAT 2009用户指南5.2 SWAT plus Document5.3 National Engineering Handbook5.4 HEC-HMS水文建模系统原理方法应用5.5 Technical Release 55 (TR-55) 六、确定水文土壤单元(HSG)6.1…

dll动态链接库及ocx activex 控件regsvr32注册失败 解决方法(Win10)

一、错误提示说明: 1、regsvr32注册dll或ocx activex控件时提示模块 dll加载失败,请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.dll文件是否有问题”。 检查了.dll文件路径也没有问题,在开发机器上是可以…

“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“

目录 第一单元:二十一世纪程序执行 背景: 总结: 第二单元:对象导向与类别设计 背景: 总结: 第三单元:使用类别与基底类别库 背景: 总结: 第四单元:Windows开发程序 背景: 总结: 第五单元:防护式程序设计 背景: 总结…

Unity可视化Shader工具ASE介绍——6、通过例子说明ASE节点的连接方式

大家好,我是阿赵。继续介绍Unity可视化Shader编辑插件ASE的用法。上一篇已经介绍了很多ASE常用的节点。这一篇通过几个小例子,来看看这些节点是怎样连接使用的。   这篇的内容可能会比较长,最终是做了一个遮挡X光的效果,不过把这…

解决github加载过慢问题

github打不开怎么办?看到这篇文章,一切都稳了! DNS被污染,一句话,修改系统hosts文件! 1.hosts文件在哪?C:\Windows\System32\drivers\etc 2.用记事本打开hosts,在最后加入以下两行…

Kotlin函数作为参数指向不同逻辑

Kotlin函数作为参数指向不同逻辑 fun sum(): (Int, Int) -> Int {return { a, b -> (a b) } }fun multiplication(): (Int, Int) -> Int {return { a, b -> (a * b) } }fun main(args: Array<String>) {var math: (Int, Int) -> Intmath sum()println(m…