合合信息Embedding模型:引领中文文本向量化技术新高度

news2024/9/22 13:40:06

目录

  • 🍅前言
    • 🍓赛事含金量
    • 🍓Embedding技术简介
    • 🍓Embedding在大模型中的价值
    • 🍓合合信息Embedding模型特点及优势
    • 🍓合合信息Embedding模型测试
    • 🍓技术突破
    • 🍓公司介绍
  • 🍅总结

🍅前言

目前,随着 LangChain + LLM模型的火热,除了层出不穷的大模型外,因为检索的能力会很大程度影响最终的问答效果,所以文本的向量表示模型也是大家比较关注的。在人工智能的世界里,文本向量化技术是连接自然语言处理(NLP)与机器学习的桥梁。它能将复杂的文本数据转换成机器可理解的向量形式,从而使得机器能够更加高效地处理和分析文本数据。最近,合合信息发布的acge_text_embedding 句子向量模型在中文文本向量化领域取得了突破性进展,荣获MTEB中文榜单(C-MTEB)第一的成绩。

🍓赛事含金量

MTEB(Multilingual Text Embedding Benchmark)是一个国际公认的文本向量化技术评估标准,它覆盖了多种语言、多种评测任务,是衡量文本向量化技术先进性和实用性的重要尺度。该评测基准涵盖了分类、聚类、检索、排序、文本相似度等多个经典任务,通过丰富的数据集,全面检验了文本向量模型在中文环境下的性能表现。合合信息的模型能在C-MTEB榜单上获得第一,充分证明了其技术的先进性和实用价值。

榜单地址:https://huggingface.co/spaces/mteb/leaderboard

🍓Embedding技术简介

在机器学习和自然语言处理中,Embedding是指将高维度的数据(例如文字、图片、音频)映射到低维度空间的过程。Embedding向量通常是一个由实数构成的向量,它将输入的数据表示成一个连续的数值空间中的点。
简单来说,Embedding就是一个N维的实值向量,它几乎可以用来表示任何事情,如文本、音乐、视频等。在这里,我们也主要是关注文本的Embedding。
在这里插入图片描述
Embedding重要的原因在于它可以表示单词或者语句的语义。实值向量的Embedding可以表示单词的语义,主要是因为这些Embedding向量是根据单词在语言上下文中的出现模式进行学习的。例如,如果一个单词在一些上下文中经常与另一个单词一起出现,那么这两个单词的嵌入向量在向量空间中就会有相似的位置。这意味着它们有相似的含义和语义。

🍓Embedding在大模型中的价值

在自然语言处理(NLP)的诸多应用场景中,包括情感分析、机器翻译、问答系统等,Embedding扮演了核心角色。它们赋予了模型处理和理解人类语言、从而完成复杂任务的能力。然而,在大型语言模型,如ChatGPT等流行后,人们发现Embedding在解决模型输入限制方面展现出了新的价值。

传统上,如GPT3.5这类语言模型在处理输入文本的能力上存在限制,这通常介于几千至数万个tokens之间,具体取决于模型的架构及可用的硬件资源。这意味着对于较长的文本,如整本书或长篇文章,可能无法一次性完整输入语言模型进行处理。在这种情况下,需要将文本分割成较小的块或“片段”,以便模型单独处理。但这种分割方式可能会造成输出内容的上下文连贯性及整体连贯性问题,进而影响生成文本的质量。

Embedding的价值在此时凸显。通过将单词和短语转化为高维向量,Embedding使得语言模型可以以一种紧凑而高效的方式编码输入文本的上下文信息。借助这些上下文信息,模型能够产生更为连贯、上下文恰当的输出文本,即便是输入文本被分割成多个片段。此外,Embedding还可以在大量文本数据上进行预训练,之后在较小的数据集上进行微调,这有助于提升语言模型在多种NLP应用中的准确性与效率。

🍓合合信息Embedding模型特点及优势

在这里插入图片描述

如上图所示,与目前C-MTEB榜单上排名前五的开源模型相比,合合信息本次发布的acge模型较小,占用资源少;同时,使用过ChatGPT等大语言模型的应该知道MaxTokens上下文的概念很重要,它决定了我们的上下文对话长度,而acge_text_embedding模型输入文本长度为1024,满足绝大部分场景的需求。此外,acge模型还支持可变输出维度,让企业能够根据具体场景去合理分配资源。

合合信息的acge_text_embedding模型基于最新的深度学习技术,具有以下几个显著特点和优势:

  • 高分类、聚类准确率:模型通过对大量中文文本数据的深入学习,能够有效提取文本特征,使其在分类和聚类任务中展现出高准确率。

  • 广泛的应用场景:从相似性搜索、信息检索到推荐系统,acge_text_embedding模型都能提供强有力的技术支撑,极大地提升系统的性能和用户体验。

  • 模型的灵活性和可扩展性:合合信息的模型设计考虑到了不同行业、不同规模应用的需要,支持定制化服务,满足企业多样化的需求。

🍓合合信息Embedding模型测试

我们使用合合信息的acge_text_embedding模型来做一下句子的相似度计算吧!步骤如下:

安装 sentence_transformers:

pip install --upgrade sentence_transformers -i https://pypi.tuna.tsinghua.edu.cn/simple

代码:

from sentence_transformers import SentenceTransformer

sentences = ["我喜欢学习机器学习", "我对深度学习很感兴趣"]
# 使用合合信息的acge_text_embedding模型
model = SentenceTransformer('aspire/acge_text_embedding')
print(model.max_seq_length) # 输出上下文长度
embeddings_1 = model.encode(sentences, normalize_embeddings=True)
embeddings_2 = model.encode(sentences, normalize_embeddings=True)
similarity = embeddings_1 @ embeddings_2.T
print(similarity) # 输出相似矩阵

运行结果:

在这里插入图片描述

可以看到这段代码输出这两个句子之间的相似度矩阵,根据输出的相似度值,值越接近 1 表示两个句子越相似,值越接近 0 表示两个句子越不相似,上述结果表明这两个句子较为相似!

注意:若无法访问huggingface,请使用魔法或者在镜像网站下载模型到本地!当然,也可以在huggingface线上体验该模型。地址:https://huggingface.co/aspire/acge_text_embedding

在这里插入图片描述

🍓技术突破

Embedding模型在当前大模型实际落地应用过程中扮演着至关重要的角色,而Embedding模型的训练通常需要大量的文本数据,这些数据使模型能够学习到单词间丰富的关系和语义,常见的文本embedding模型包括Word2Vec、GloVe和BERT等,这些模型通过不同的机制学习单词的向量表示,但它们的共同目标都是将文本信息压缩到一个连续的、低维的向量空间中。

为了更好地发挥大模型在应用过程中的价值,合合信息技术团队重点从数据集、训练策略等方面针对Embedding模型进行了优化,打造了acge模型。在数据集方面,技术人员收集构造了大量的数据集,保证训练的质量与场景覆盖面;在模型训练方面,引入多种有效的模型调优技术,比如Matryoshka训练方式,能够实现一次训练,获取不同维度的表征提取;为了不同任务针对性学习,使用策略学习训练方式,显著提升了检索、聚类、排序等任务上的性能;引入持续学习训练方式,克服了神经网络存在灾难性遗忘的问题,使模型训练迭代能够达到最优收敛空间,最终产出了目前业界第一的Embedding模型。

🍓公司介绍

合合信息是一家人工智能及大数据科技企业,基于自主研发的领先的智能文字识别及商业大数据核心技术,为全球C端用户和多元行业B端客户提供数字化、智能化的产品及服务。公开资料显示,公司的C端产品覆盖了全球百余个国家和地区的亿级用户,B端服务覆盖了近30个行业的企业客户。《财富》杂志2022年发布的世界500强公司名单中,公司客户已覆盖超过125家。

合合信息的更多产品信息可前往:https://www.textin.com/

🍅总结

在AI蓬勃发展的时代,作为开发者,我们需要与时俱进。不仅要熟练运用大模型的表层功能,更要深入底层,积极了解大模型相关技术的细节和原理。这样才能更好地理解和应用人工智能技术,不断提升自己的技能水平,跟上技术发展的步伐。

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

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

相关文章

flutter 谷歌的苹果系统消息推送

flutter firebase 云消息通知教程 (android-安卓、ios-苹果) Android、ReactNative、Flutter集成Firebase推送注意事项 Android:Firebase 凭据 iOS:基于 p8 令牌的 APN 连接 iOS:p12 生成证书 Flutter之对接国外推送onesignal踩坑笔记&a…

计算机网络学习day02|HTTP协议

目录 一、HTTP报文格式长什么样?是如何分割的? 请求行 状态行 头部字段 常用头字段 小结 二、HTTP提供了哪些方法?GET和POST的区别是什么? 1.HTTP有哪些方法 2.GET/HEAD 3.PSOT/PUT 小结 三、URI和URL URI 的格式 U…

【C++】 【进程】第二天

1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显式实现,编译器会…

2024三掌柜赠书活动第二十四期:containerd原理剖析与实战

目录 前言 Containerd的架构 Containerd的工作流程 Containerd的实战演示 关于《containerd原理剖析与实战》 编辑推荐 内容简介 作者简介 图书目录 书中前言/序言 《containerd原理剖析与实战》全书速览 结束语 前言 作为开发者,对于编程语言并不陌生&…

【ARM 裸机】C 语言 led 驱动

前面刚学习了汇编 led 驱动的编写和验证,现在开始就要进入 C 语言 led 驱动编写与验证了 ! 1、C 语言运行环境构建 1.1、设置处理器模式 使 6ULL 处于 SVC 模式下,之前已经提到了处理器的九种模式,参考:【ARM 裸机】汇编 led 驱…

在Nuxt.js中添加PostCSS自动前缀器

在其他浏览器中,有些 CSS 属性需要带有前缀。如-webkit- | -o- | -ms- 等等 Autoprefixer 是一个 PostCSS 插件,可以将你的CSS代码渲染到浏览器中自动补充厂商前缀,因此你不用担心自己编写的CSS代码有浏览器兼容性问题。 如: .fl…

Golang | Leetcode Golang题解之第43题字符串相乘

题目: 题解: func multiply(num1 string, num2 string) string {if num1 "0" || num2 "0" {return "0"}m, n : len(num1), len(num2)ansArr : make([]int, m n)for i : m - 1; i > 0; i-- {x : int(num1[i]) - 0fo…

AI大模型探索之路-认知篇3:大语言模型微调基础认知

文章目录 前言一、微调技术概述二、微调的必要性三、大模型的微调方法四、微调过程中的技术细节五、微调后的模型评估与应用总结 前言 在人工智能的广阔研究领域内,大型预训练语言模型(Large Language Models, LLMs)已经成为推动技术革新的关…

软考132-上午题-【软件工程】-沟通路径

一、定义 1-1、沟通路径1 沟通路径 1-2、沟通路径2 沟通路径 n-1 二、真题 真题1: 真题2: 真题3:

C++感受6-Hello World 交互版

变量、常量输入、输出、流getline() 函数读入整行输入Hello() 函数复习新定义函数 Input() 实现友好的人机交互还有 “痘痘” 为什么挤不到的分析…… 1. DRY 原则简介 上一节课,我们写了两版“问候”程序。第一版的最大问题是重复的内容比较多,每一次问…

Netty快速入门

网络通信模型 在了解Netty之前,我们可以简单的先了解一下我们的网络通信方式,正所谓知其然,知其所以然。只有了解了网络通信模型,我们才能更好的去理解Netty的一些核心的原理。 如下图是一个简单的请求发送的时候的一个大概的HTT…

大型网站系统架构演化实例_6.使用分布式文件系统和分布式数据库系统

1.使用分布式文件系统和分布式数据库系统 任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,这时需要使用分布式数据库。文件系统也一…

el-image组件预览图片同时操作页面

背景:el-image组件打开预览效果不能滑动页面。 Q:那么如何才能在打开遮罩层后还能操作页面呢? A:改变遮罩层的大小。CSS3有一个属性width:fit-content;可以解决这个问题。 打开F12看看饿了么的原生样式如下 加上width&#xff1…

AI大模型实现软件智能化落地实践

1、什么是大模型 大型语言模型(Large Language Model,LLM;Large Language Models,LLMs)。 大语言模型是一种深度学习模型,特别是属于自然语言处理(NLP)的领域,一般是指包含数干亿&…

在数字化转型过程中,企业的资产管理需要做出哪些调整?

在数字化转型过程中,企业的资产管理做出调整的常见于以下几个方面: 1、提高工作效率:数字化转型能够让员工在部门与部门之间的沟通更加顺畅,节省时间,提高效率。这要求企业在资产管理中采用数字化工具和流程&#xff…

高中数学:三角函数之考点精华-单调性问题

一、解题方法 1、换元 2、画图 3、反向求解 参考:整体换元法 二、练习 例题1 解析: 这一题,比较简单,是标准的换元法应用题。 这里稍微注意下第二小问的对称中心,因为,B1,所以,对…

单机三pxc节点集群,+docker-haproxy2.0负载均衡实现

一.下载 https://www.haproxy.org/download/2.0/src/haproxy-2.0.5.tar.gz 或者在这里下载(下面需要的各个配置文件都有): https://download.csdn.net/download/cyw8998/89170129 二.编写文件,制作docker镜像 1.Dockerfile&a…

恒峰智慧科技—森林消防泵,你了解多少?

在我们的日常生活中,森林火灾是一种非常危险的现象。为了保护森林资源和人民的生命财产安全,森林消防泵成为了一种非常重要的设备。那么,你对森林消防泵了解多少呢?本文将为您详细介绍森林消防泵的操作步骤、注意事项以及维护保养…

第⑮讲:Ceph集群管理与监控操作指南

文章目录 1.查看集群的状态信息2.动态的查看集群的状态信息3.查看集群的利用率4.查看OSD的资源利用率5.查看OSD的列表6.查看各组件的状态7.查看集群的仲裁信息8.查看/修改集群组件sock的配置参数 1.查看集群的状态信息 通过集群状态信息可以看到集群的健康状态、各个组件的运行…

Spark 中的分桶分化

Spark 中的分桶分化 Bucketing是 Spark 和 Hive 中用于优化任务性能的一种技术。在分桶桶(集群列)中确定数据分区并防止数据混洗。根据一个或多个分桶列的值,将数据分配给预定义数量的桶。 分桶有两个主要好处: 改进的查询性能&…