8k中英双语文本嵌入模型效果初探

一 模型介绍

向量模型用于生成向量表示,被广泛应用于检索、分类、聚类或语义匹配等传统的自然语言处理任务。到了大模型时代,由于上下文长度的限制,需要压缩、存储和查询大量的信息,这就需要用到向量模型对输入的文本进行向量化表示,然后再喂给大模型,以得到期望的输出。更长的向量模型输入的长度可以提高 RAG 场景下大模型回复的准确性,而且适用于各种处理长文本的场景,例如处理数十页的报告综述等。

模型参数

在这里插入图片描述

模型特点:

  • 使用了Alibi而不是位置编码,直接在计算注意力的时候加入了双向的Alibi,达到更长的输入长度
  • 在大量精处理后的数据上进行训练,并使用文本对数据和难负样本数据进行微调

更多详情可以查看论文:https://arxiv.org/pdf/2310.19923.pdf

二 效果对比

jina 标榜自己是一个双语模型,不是单语或者多语言模型,这样更加适合做语义相似检索,而且不需要进行翻译。因此本次使用jina-embeddings-v2-base-zh这个模型来验证中英双语能力。

中英文双语表征能力

使用下面的一个句子对,对比模型是MOKA的m3e-large

['How is the weather today?', '今天天气怎么样?']
模型相似度
jina-v2-base-zh0.7860609
m3e-large0.7047691

很明显,结果表明了jina模型对这两个句子嵌入后的向量更加相似

长中英文双语表征能力

上述差距还不大,但是jina-v2支持的上下文可达8k,而m3e-large最多只能到512。这回用长本文来看看两者的差距。


e = "Here's a breakdown of Machine Learning (ML) and Deep Learning (DL):\n Machine Learning:\n A subfield of artificial intelligence (AI) that enables computers to learn from data without explicit programming.\n The process involves training a model on a large dataset to identify patterns and relationships.\n Once trained, the model can make new predictions or decisions based on new data.\n Examples of machine learning include:\n  Supervised learning: training a model on labeled data (e.g., training a spam filter on emails).\n  Unsupervised learning: finding hidden patterns in unlabeled data (e.g., discovering clusters of customers in a dataset).\n  Reinforcement learning: an agent learns through trial and error to maximize its rewards (e.g., a robot learning to play a game).\n Deep Learning:\n A subfield of machine learning that focuses on mimicking the structure and function of the human brain.\n Deep learning models are built using artificial neural networks with multiple layers.\n Each layer of the network performs a specific task, and the entire network works together to learn complex patterns from data."
len(e)
>> 1109

z = "以下是机器学习 (ML) 和深度学习 (DL) 的细分:\n 机器学习:\n 人工智能 (AI) 的一个子领域,使计算机无需显式编程即可从数据中学习。\n 该过程涉及训练模型在大型数据集上识别模式和关系。\n 经过训练,模型可以根据新数据做出新的预测或决策。\n 机器学习的示例包括:\n 监督学习:在标记数据(例如,训练电子邮件的垃圾邮件过滤器)。\n 无监督学习:在未标记的数据中查找隐藏模式(例如,发现数据集中的客户集群)。\n 强化学习:代理通过反复试验进行学习,以最大化其奖励(例如,学习玩游戏的机器人)。\n 深度学习:\n 机器学习的一个子领域,专注于模仿人脑的结构和功能。\n 深度学习模型是使用多层人工神经网络构建的。\n 网络的每一层都执行特定的任务,整个网络协同工作,从数据中学习复杂的模式"
len(z)
>> 344
模型相似度
jina-v2-base-zh0.82530826
m3e-large0.66310775

输入的文本长度增加后,可以明显看到两者的差距,再长的文本可能m3e也处理不了,因此没有必要再进行下一步验证。

内存占用

模型向量长度字节
jina-v2-base-zh7683072 Bytes
m3e-large10244096 Bytes

相当于每个嵌入后的向量,jina-v2-base可以节省大约1k字节。如果有10亿条这样的向量数据可节省1T的空间,这对于大规模RAG场景下非常有用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTB-Bizness

一、信息收集 访问ip自动跳转域名,host绑定域名后访问 目录爆破 有一个登录目录,访问发现是apahce ofbiz登录页面 发现存在漏洞 二、漏洞利用 在github上找到了图形化利用工具 使用工具反弹shell 得到flag 三、权限提升 从本地利用python开启http服务…

项目解决方案:街道社区视频监控接入、汇聚和联网设计方案

目 录 一、客户需求 二、网络拓扑图 三、方案描述 四、系统配置 1、服务器配置 2、带宽配置 五、方案优势 1. 平台可堆叠使用 2. 支持主流接入协议 4. 多种终端显示 5. 客户端功能强大 6. 一机一档 一、客户需求 1,一个街道有十个社…

迷你世界寻找火山脚本附带雪山

print("寻找火山雪山\n星空露珠工作室制作") local blockbing120 --冰山 local blockhuo124 -- 火山 local bing{} local huo{} local m,n0,0 local ra0 local run0 local function o(e) if run-1 then return end run-1 local objide.eventobjid--点击方块的玩家 lo…

【python】0、超详细介绍:json、http

文章目录 一、json二、http2.1 json 读取 request 序列化 三、基本类型3.1 decimal 四、图像4.1 颜色格式转换 一、json import json f open(data.json) # open json file data json.load(f) # 读出 json object for i in data[emp_details]: # 取出一级属性 emp_details, …

二蛋赠书十六期:《高效使用Redis:一书学透数据存储与高可用集群》

很多人都遇到过这么一道面试题:Redis是单线程还是多线程?这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程,说复杂是因为这个答案其实并不准确。 难道Redis不是单线程?我们启动一个Redis实例,验证一…

Spring定时任务--手动执行定时任务(替代@Scheduled)

原文网址:Spring定时任务--手动执行定时任务(替代Scheduled) 简介 本文介绍SpringBoot如何手动执行定时任务。 之前此文已经介绍过,直接用Scheduled即可使用Spring的定时任务,但有时需要手动去提交定时任务&#xf…

解决MySQL安装server时报被什么需要问题

bug: 执行这个四个命令的时候,最后一个server报错,显示被需要 rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-comm…

深入理解Java中的Reader类:一步步剖析

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)

一、Qt Designer简介 Qt Designer是PyQt程序UI界面的实现工具,可以帮助我们快速开发 PyQt 程序的速度。它生成的 UI 界面是一个后缀为 .ui 的文件,可以通过 pyiuc 转换为 .py 文件。 Qt Designer工具使用简单,可以通过拖拽和点击完成复杂界面…

Linux安装Mysql设置自启动失败,bugFailed to execute operation: No such file or directory

bug: [rootlocalhost mysql-5.7]# systemctl enable mysql.service Failed to execute operation: No such file or directory 出现bug原因: ①CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和…

Python 程序基础

计算机组成原理 计算机组成 计算机硬件通常由以下几部分组成: 中央处理器(CPU):负责执行计算机指令,完成各种计算和逻辑操作。存储器(Memory):用于存储计算机执行程序所需的数据和…

STM32单片机基本原理与应用(九)

SDIO/SD卡实验 实验内容 将SD卡插入实训平台并烧写程序,开机后TFTLCD屏幕上会显示是否成功初始化SD卡并显示SD卡容量。 电路原理图 实验原理 SD卡的通信方式有两种:SPI和SDIO。SD卡有五种寄存器,如下表 SD 卡的指令由 6 个字节组成&…

定时执行专家 - 扩展功能详解(109个Nircmd命令、无限扩展的脚本功能)

目录 ◆ 109个Nircmd命令 ▼ 如何使用109个Nircmd ▼ 关于Nircmd ◆ 无限扩展的脚本 ▼ VBS脚本 ▼ BAT脚本 ◆ 关于软件的安装使用说明 ▼软件介绍▼ ▼定时执行专家 - 详细安装教程▼ ▼定时执行专家 - 自动截屏教程▼ ▼重要提醒:软件安装目录▼ ◆ V…

JWT学习笔记

了解 JWT Token 释义及使用 | Authing 文档 JSON Web Token Introduction - jwt.io JSON Web Token (JWT,RFC 7519 (opens new window)),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519)。该 token 被设计为紧凑…

微服务基础环境搭建

一.创建父工程 用于聚合其他微服务模块 1 新建 Maven 项目 JDK8Maven 项目Web 2 项目设置 编码的选择 UTF8JDK 版本的选择 3 删除 src 目录 4 配置父级 pom.xml SpringBoot:模块探究之spring-boot-dependencies-CSDN博客 子模块能够依赖当前父级 pom.xml 配置 【My…

数据结构-Queue队列

一,队列的简单认识 队列也是一种线性数据结构,与栈不同的是,它只能从一端添加元素,从另一端取出元素.定义了一端,另一端也就确定了. (当然还有一个特殊的双向队列LinkedList除外,它既可以从队首添加元素,也可以移除元素,队尾也是一样的,既可以添加元素,也可以移除元素) 二,队…

有哪些副业渠道?

夸克网盘这个软件出来好久了,官方前不久才开通了推广渠道,这就给了我们以此赚钱的机会。具体时间应该是在2022年12月份。 所谓夸克网盘拉新,就是夸克网盘为了抢占市场,与其他网盘竞争对手(百度网盘、迅雷网盘等&#…

一键生成请求方法的工具 —— OpenAPI Typescript Codegen

文章目录 用法自定义请求参数的方法1)使用代码生成器提供的全局参数修改对象2)直接定义 axios 请求库的全局参数,比如:全局请求响应拦截器 报错解决 用法 首先下载axios npm install axios官网:https://github.com/f…

Centos中安装Docker及Docker的使用

在centos7系统中安装指定版本的docker,并通过docker使用安装mysql为例,阐述docker的使用。 2.1、Docker卸载及安装yum依赖 【卸载Docker,如果安装的Docker的版本不合适】 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-…

Kafka之Producer源码

Producer源码解读 在 Kafka 中, 我们把产生消息的一方称为 Producer 即 生产者, 它是 Kafka 的核心组件之一, 也是消息的来源所在。它的主要功能是将客户端的请求打包封装发送到 kafka 集群的某个 Topic 的某个分区上。那么这些生产者产生的消息是怎么传到 Kafka 服务端的呢&a…