20250221 NLP
1.向量和嵌入
https://zhuanlan.zhihu.com/p/634237861
encoder的输入就是向量,提前嵌入为向量
二.多模态文本嵌入向量过程
1.文本预处理
文本tokenizer之前需要预处理吗?
是的,文本tokenizer之前通常需要对文本进行预处理。预处理步骤可以包括以下内容:
1. 标准化
- 大小写转换:将文本转换为统一大小写(通常是小写)以减少词汇表大小。
- 去除标点符号:除去不必要的标点符号,保持文本的简洁。
2. 分词准备
- 去除空白:清除多余的空格或换行符。
- 特殊字符处理:处理特殊字符或符号,以确保分词的准确性。
3. 其他处理
- 停用词过滤:根据任务需要,可以去除常见但无意义的停用词(如“的”、“和”等)。
- 词干提取或词形还原:将单词还原到其基本形式,以统一表示。
这些预处理步骤帮助提高tokenizer的效率和准确性,确保生成的token序列更具一致性和可用性。
当然,这里是一个简单的文本预处理示例:
原始文本
"What is the animal?"
预处理步骤
-
大小写转换
- 将文本转换为小写:
"what is the animal?"
- 将文本转换为小写:
-
去除标点符号
- 去掉问号:
"what is the animal"
- 去掉问号:
-
去除多余空格
- 确保没有多余空格:
"what is the animal"
- 确保没有多余空格:
-
停用词过滤(可选)
- 如果需要,可以去掉停用词(如"is", "the"),具体取决于任务需求:
"what animal"
- 如果需要,可以去掉停用词(如"is", "the"),具体取决于任务需求:
-
词干提取或词形还原(可选)
- 将单词还原到词干形式(如“running”变为“run”):
"what animal"
- 将单词还原到词干形式(如“running”变为“run”):
结果
经过预处理,文本更为简洁,适合于tokenization和后续处理。预处理后的文本可以被tokenizer进一步分割为token序列,如:
["what", "animal"]
这些步骤帮助确保tokenizer的输出一致且易于模型处理。
2.tokenizer 字节对编码
例如BPE、WordPiece等分词模型构建词汇表(['low', 'est']),添加自增索引。
BPE(Byte Pair Encoding)本身不需要训练,但它确实需要一个过程来构建词汇表。这涉及从文本中统计频率和合并字符对。以下是一个示例来说明这个过程:
BPE构建过程示例
假设文本数据
"banana", "bandana"
步骤1:初始化
- 将每个单词分解为字符序列:
b a n a n a
b a n d a n a
步骤2:统计频率
- 统计所有相邻字符对的出现频率:
- 'b a':2次
- 'a n':3次
- 'n a':3次
- 'a n':3次
- 'n d':1次
- 'd a':1次
步骤3:合并高频对
- 合并出现频率最高的字符对 'a n':
b an a n a
b an d a n a
步骤4:重复过程
-
再次统计字符对:
- 'b an':2次
- 'an a':2次
- 'n a':2次
- 'an d':1次
- 'd a':1次
-
合并 'an':
ban a n a
ban d a n a
-
继续合并,直到达到预定义的词汇表大小。
最终词汇表
- 通过多次合并,最终得到一个包含字符和子词的词汇表:
['b', 'a', 'n', 'd', 'an', 'ban']
总结
- BPE通过合并高频字符对,构建出一个高效的子词词汇表。
- 这个过程不需要训练参数,但需要从数据中统计和合并字符对以创建词汇表。
3.embedding
通过子词索引在嵌入表中查找对应的嵌入向量。相似的语义信息的挨着。
文本嵌入表需要训练吗?还是LLM预训练模型自带的
文本嵌入表通常是需要训练的,但它可以是LLM预训练模型的一部分。在大型语言模型(LLM)的预训练过程中,嵌入表会随着模型其他参数一起优化,以便更好地捕捉词汇的语义信息。
两种常见情况
-
预训练模型自带:
- 许多大型语言模型在发布时已经包含了训练好的文本嵌入表。
- 使用这些模型时,嵌入表可以直接应用于新任务。
-
自定义训练:
- 如果你使用自己的数据进行微调或训练新的模型,文本嵌入表会在训练过程中更新。
- 嵌入表的参数会随着其他模型参数一起通过反向传播进行优化。
总结
文本嵌入表可以是预训练模型的一部分,也可以在特定任务中通过微调进行更新。嵌入表的质量对模型理解和生成文本的能力有重要影响。
在多模态大语言模型(MLLM)中,文本嵌入表可以是静态的,也可以是动态的,具体取决于模型的设计和使用的技术。
静态嵌入
- 定义:每个词在训练开始时被分配一个固定的向量。
- 特征:
- 嵌入在训练过程中不随上下文变化。
- 常用于早期的嵌入技术,如Word2Vec和GloVe。
- 优点:计算效率高,易于实现。
- 缺点:无法捕捉词的上下文特征和多义性。
动态嵌入
- 定义:词的嵌入根据上下文动态生成。
- 特征:
- 嵌入向量在每个输入实例中可能不同。
- 使用模型如BERT、GPT等。
- 优点:能够更好地理解上下文,处理多义词。
- 缺点:计算复杂度较高。
在MLLM中的应用
- 静态嵌入:在一些简单或资源受限的应用中可能仍然使用。
- 动态嵌入:在需要深度理解和复杂推理的任务中更为常见。
总结
在现代多模态模型中,动态上下文嵌入越来越普遍,它们能够提供更丰富的语义信息,适合复杂的跨模态任务。
相关文章:
20250221 NLP
1.向量和嵌入 https://zhuanlan.zhihu.com/p/634237861 encoder的输入就是向量,提前嵌入为向量 二.多模态文本嵌入向量过程 1.文本预处理 文本tokenizer之前需要预处理吗? 是的,文本tokenizer之前通常需要对文本进行预处理。预处理步骤可…...
Mac M3/M4 本地部署Deepseek并集成vscode
Mac 部署 使用傻瓜集成平台ollama,ollama平台依赖于docker,Mac的M3/M4 因doesn’t have VT-X/AMD-v enabled 所以VB,VM无法使用,导致docker无法启动,需要使用docker的替代品podman, 它完全兼容docker brew install p…...
flink使用demo
1、添加不同数据源 package com.baidu.keyue.deepsight.memory.test;import com.baidu.keyue.deepsight.memory.WordCount; import com.baidu.keyue.deepsight.memory.WordCountData; import org.apache.flink.api.common.RuntimeExecutionMode; import org.apache.flink.api.…...
目标检测中单阶段检测模型与双阶段检测模型详细对比与说明
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
简识Spring创建Bean方式和设计模式
一、理论解释: Spring在创建Bean时主要有四种方式,这些方式分别涉及到了不同的设计模式。以下是具体的创建方式及对应的设计模式: 通过反射调用构造方法创建Bean: 方式:在Spring的配置文件中,使用<bean…...
空字符串““、空白字符串“ “和 null 三者的区别
空字符串、空白字符串和 null 三者的区别表格: 类型定义示例长度是否有值空字符串字符串长度为 0,但不是 null,即存在一个有效的空字符串对象。""0有值(空值)空白字符串字符串包含空格、制表符等空白字符&a…...
agent和android怎么结合:健康助手,旅游助手,学习助手
agent和android怎么结合:健康助手,旅游助手,学习助手 创新点 智能交互创新:提出全新的agent - Android交互模式,如基于手势、语音、眼动等多模态融合的交互方式。例如让agent能够同时理解用户的语音指令和手势动作,在Android设备上提供更加自然和高效的交互体验,比如在…...
1.16作业
1 进注册界面,第一次以为抓包选把isadmin ture了就好 第二次尝试,勾选is admin,有需要invitecode(经典) 2 p r**5 r**4 - r**3 r**2 - r 2023 q r**5 - r**4 r**3 - r**2 r 2023 n 25066797992811602609904…...
上帝之眼——nmap
nmap介绍 Nmap(网络映射器)是一款广受欢迎的网络探测和安全评估工具,被誉为“上帝之眼”。它以其强大的扫描功能和广泛的应用场景,成为系统管理员和安全专家手中的得力助手。本文将对Nmap进行详细介绍,包括其优点、基本…...
6.日常英语笔记
It’s a pity that my English hasn’t improved much, and I’m not able to chat with you freely. lung 肺 pulmonary 医学中的肺部相关的 pulmonary disease 肺部疾病 pneumonia 肺炎 pulmonary inflammation 肺炎 stick on the wall 贴到墙上 paste on the wall faint w…...
工业路由器和工业交换机,打造高效稳定的工业网络?
工业路由器和工业交换机各有千秋,但如何将它们完美结合,构建稳定高效的工业网络?答案就在这里! 工业物联网(IIoT)是高效、稳定的工业网络成为智慧工厂、工业自动化和远程监控等场景的基础支撑。工业路由器…...
[c++]--类和对象
目录 前言 一、类的定义 1.类定义格式 2.访问限定符 3.类域 二、实例化 1.实例化概念 2.对象大小 三、this指针 四、C和C语言实现Stack对比 五、类的默认成员函数 1.构造函数 2.析构函数 3.拷贝构造函数 4.赋值运算符重载 4.1.运算符重载 4.2.赋值运算符重载 5.取地址运算符重载…...
图论 之 迪斯科特拉算法求解最短路径
文章目录 题目743.网络延迟时间3341.到达最后一个房间的最少时间I 求解最短路径的问题,分为使用BFS和使用迪斯科特拉算法,这两种算法求解的范围是有区别的 BFS适合求解,边的权值都是1的图中的最短路径的问题 图论 之 BFS迪斯科特拉算法适合求…...
Linux中[root@localhost ~]#
root :当前登录用户 :分隔符 localhost :主机名。当前电脑的名字 ~:当前用户所在的位置 #:命令提示符,从这个位置开始可以输入命令 另一个提示符是$ 如果是 root ,则提示# 如果是普…...
DuodooBMS源码解读之 sale_delivery模块
发货通知单下载功能操作手册 一、功能概述 该代码实现了发货通知单的下载功能,用户可以选择要下载的发货通知单,系统将生成包含发货通知单详细信息的 Excel 文件供用户下载。 二、文件结构及说明 sale_delivery/controllers/download.py 定义了一个 …...
uniapp引入uview组件库(可以引用多个组件)
第一步安装 npm install uview-ui2.0.31 第二步更新uview npm update uview-ui 第三步在main.js中引入uview组件库 第四步在uni.scss中引入import "uview-ui/theme.scss"样式 第五步在文件中使用组件...
SpringCloud-Eureka初步使用
什么是REST是一组用于规范资源在网络中转移的表现形式软件架构设计风格.简单来说就是客户端和服务器之间的一种交互形式 什么是RESTful,满足了REST风格的接口或者程序,RESTful API是其中的接口,spring中提供了RestTemplate这个类,他强制执行了REST的规范,包括使用HTTP协议的状…...
【gitlab】认识 持续集成与部署
持续集成(CI)与持续部署(CD) 1. 什么是持续集成(CI)? 持续集成(Continuous Integration,CI)是一种软件开发实践,强调开发人员频繁地将代码提交到…...
机器学习,我们主要学习什么?
机器学习的发展历程 机器学习的发展历程,大致分为以下几个阶段: 1. 起源与早期探索(20世纪40年代-60年代) 1949年:Hebb提出了基于神经心理学的学习机制,开启了机器学习的先河1950年代:机器学习的…...
React 高阶组件的优缺点
React 高阶组件的优缺点 优点 1. 代码复用性高 公共逻辑封装:当多个组件需要实现相同的功能或逻辑时,高阶组件可以将这些逻辑封装起来,避免代码重复。例如,多个组件都需要在挂载时进行数据获取操作,就可以创建一个数…...
算法1-4 数楼梯
题目描述 楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。 输入格式 一个数字,楼梯数。 输出格式 输出走的方式总数。 输入输出样例 输入 #1 4 输出 #1 5 说明/提示 对于…...
我的世界1.20.1forge开发教程(6)——自定义燃料,熔炼规则、配方
配方篇 在Minecraft中,配方代码是用于定义合成配方的一种数据格式。在开发者的角度,配方代码通常以JSON格式编写,包含了合成所需的原料、合成产物以及合成方式等信息。 在1.12版本之前,开发者需要通过修改游戏的源代码来添加自定义配方。这通常需要对游戏的Java代码进行修…...
推荐几款SpringBoot项目手脚架
作为程序员、一般需要搭建项目手脚架时、都会去Gitee或Github上去找、但是由于Github在国内并不稳定、所以就只能去Gitee去上查找。 不同语言检索方式不一样、但是也类似。 Gitee WEB应用开发 / 后台管理框架 芋道源码 ELADMIN 后台管理系统 一个基于 Spring Boot 2.7.1…...
01 1个路由器+两个子网
前言 这是最近一个朋友的 ensp 相关的问题, 这里来大致了解一下 ensp, 计算机网络拓扑 相关基础知识 这里一系列文章, 主要是参照了这位博主的 ensp 专栏 这里 我只是做了一个记录, 自己实际操作了一遍, 增强了一些 自己的理解 当然 这里仅仅是一个 简单的示例, 实际场景…...
buu-[OGeek2019]babyrop-好久不见41
打开 /dev/urandom 设备文件,读取4个字节到 buf 中。 将 buf 传递给 sub_804871F() 函数,该函数似乎对输入进行某种处理并返回一个值 v2。 最后,将 v2 传递给 sub_80487D0() 函数。 这个函数首先将 a1 转换为字符串 s。 然后从标准输入读…...
PV和UV的区别
文章目录 1. UV(Unique Visitor / 独立访客):多少人来过2. PV(Page View / 页面浏览量):访问了多少次3. 对比 UV 和 PV4. 示例场景5. 扩展指标 UV 侧重用户规模,反映“多少人来过”。PV 侧重访问…...
DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析
调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…...
JavaScript变量的作用域介绍
JavaScript变量的作用域介绍 JavaScript 变量的作用域决定了变量在代码中的可访问性。 var 是 JavaScript 中最早用于声明变量的关键字,它函数作用域或全局作用域。 let 关键字,具有块级作用域、全局作用域。 const关键字,具有块级作用域…...
ollama如何安全卸载,解决Ollama unins000.msg is missing
春节后在本地电脑安装了Ollama的客户端,每次开机自启,影响开机速度,而且本地的模型不如联网的回答效果好,果断选择了卸载,但是今天卸载发现提示下方的错误。根据此文章可以解决当前的问题。 根据此文章可以解决当前的…...
2.5GE 超千兆SFP光模块型号(常用光模块收发光功率范围)
SFP 2.5GE超千兆光模,参考表格: 型号类型工作波长 (nm)发光功率 (dBm)光功率灵敏度 (dBm)传输距离 (m)SFP-25G-SR多模光纤850-10.0 to -3.0-18.0300 (OM3) / 400 (OM4)SFP-25G-LR单模光纤1310-5.0 to 1.0-24.010,000SFP-25G-ER单模光纤1550-1.0 to 4.0…...
Ubuntu24.04安装不同版本的pip
目录 1.安装pip 2. 为不同的Python版本安装pip 3. 安装python库 1.安装pip 一般情况下,Ubuntu系统默认提供Python 3,但可能没有安装pip。可以通过以下命令安装pip sudo apt update sudo apt install python3-pip 安装完成后,可以通过以下…...
fastadmin实现海报批量生成、邮件批量发送
记录一个海报批量生成、邮件批量发送功能开发,业务场景如下: 国外客户做观展预登记,工作人员通过后台,批量给这些观众生成入场证件并发送到观众登记的邮箱,以方便观众入场时快速进场。证件信息包含入场二维码、姓名&a…...
拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!
2025年2月19日 知名博主Dwarkesh Patel对话微软CEO萨蒂亚纳德拉 在最新访谈释放重磅信号:AI将掀起工业革命级增长,量子计算突破引爆材料科学革命,游戏引擎进化为世界模拟器。 整个视频梳理出几大核心观点,揭示科技巨头的未来十年…...
深度学习(2)-深度学习关键网络架构
关键网络架构 深度学习有4种类型的网络架构:密集连接网络、卷积神经网络、循环神经网络和Transformer。每种类型的模型都是针对特定的输入模式,网络架构包含了关于数据结构的假设,即模型搜索的假设空间。某种架构能否解决某个问题࿰…...
MyBatis中的日志和映射器说明
1.MyBatis中的日志 1.1 什么是日志 在我们编写应用的时候,有一些信息需要及时查看,查看的时候有时需要输出到控制台,有时需要输出到文件。MyBatis也需要日志,一般情况下,使用log4j进行日志管理。 1.2 在MyBatis中…...
pip下载速度变快可以用清华镜像源
pip下载速度变快可以用清华镜像源 https://pypi.tuna.tsinghua.edu.cn/simplepip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple参考清华镜像源地址(国内下载python包必备地址)_清华源镜像地址-CSDN博客...
骶骨神经
骶骨肿瘤手术后遗症是什么_39健康网_癌症 [健康之路]匠心仁术(七) 勇闯禁区 骶骨肿瘤切除术...
LeetCode刷题---二分查找---441
排列硬币 441. 排列硬币 - 力扣(LeetCode) 题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n ,计算…...
DeepSeek 提示词:定义、作用、分类与设计原则
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
最短路的方案数+打印路径
这个题目整合了我们最短路用到的很多技能 如何统计最短路径的方案数呢,这就需要我们另外开一个全局数组 如何打印路径呢,还是开一个全局的数组,记录前一个是啥就行 简单的来说,要增加啥新的功能,直接多开全局变量就行…...
Python爬虫系列教程之第十三篇:构建高可用爬虫系统 —— 混合架构与自动化监控
大家好,欢迎继续关注本系列爬虫教程!随着爬虫项目规模的不断扩大和业务需求的提升,单一技术方案往往难以满足实际应用中对高可用性、稳定性和自动化监控的要求。如何构建一个既能应对多种反爬策略,又能在异常情况下自动恢复、实时…...
Python学习心得浅拷贝与深拷贝
一、变量的赋值、浅拷贝以及深拷贝的定义: 1.变量的赋值:只是形成两个变量,实际上还是指向同一个对象 2.浅拷贝:拷贝时,对象包含的子对象内容不拷贝,因此,源对象与拷贝对象会引用同一个子对象…...
cs106x-lecture13(Autumn 2017)-SPL实现
打卡cs106x(Autumn 2017)-lecture13 (以下皆使用SPL实现,非STL库,后续课程结束会使用STL实现) 1、v1v2p1p2 The following code C uses pointers and produces two lines of output. What is the output? int v1 10; int v2 25; int* p1 &v1…...
3D模型在线转换工具:轻松实现3DM转OBJ
3D模型在线转换是一款功能强大的在线工具,支持多种3D模型格式的在线预览和互转。无论是工业设计、建筑设计,还是数字艺术领域,这款工具都能满足您的需求。 3DM与OBJ格式简介 3DM格式:3DM是一种广泛应用于三维建模的文件格式&…...
AI IDE 新势力 Trae 功能深度解析:Builder与Chat模式的应用场景与市场竞争力分析
文章目录 一、前言二、简介2.1 Trae 的背景与定位 三、Trae 核心功能3.1 Builder模式介绍3.2 Chat模式介绍 四、Trae 实际应用案例4.1 Trae 安装与配置4.1.1 Trae 安装与配置4.1.2 Trae 设置 4.2 实战案例分享4.2.1 Trae Builder模式:从0到1生成对接 DeepSeek 的聊天…...
天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制
天 锐 蓝盾终端安全管理系统以终端安全为基石,深度融合安全、管理与维护三大要素,通过对桌面终端系统的精准把控,助力企业用户构筑起更为安全、稳固且可靠的网络运行环境。它实现了管理的标准化,有效破解终端安全管理难题…...
ADCP处理软件CODAS安装 (conda方法安装)
夏威夷大学出品的ADCP处理软件,我主要用来查看船载ADCP流速数据。 1. 先安装conda(miniconda就可以),这里不再赘述,安装完可以添加conda库和取消登录自动激活conda conda config --add channels conda-forge # 添加库 conda config --set a…...
JUC并发—9.并发安全集合三
大纲 1.并发安全的数组列表CopyOnWriteArrayList 2.并发安全的链表队列ConcurrentLinkedQueue 3.并发编程中的阻塞队列概述 4.JUC的各种阻塞队列介绍 5.LinkedBlockingQueue的具体实现原理 6.基于两个队列实现的集群同步机制 1.并发安全的数组列表CopyOnWriteArrayList …...
后端Java Stream数据流的使用=>代替for循环
API讲解 对比 示例代码对比 for循环遍历 package cn.ryanfan.platformback.service.impl;import cn.ryanfan.platformback.entity.Algorithm; import cn.ryanfan.platformback.entity.AlgorithmCategory; import cn.ryanfan.platformback.entity.DTO.AlgorithmInfoDTO; im…...
强化学习-GAE方法
2016-ICLR-HIGH-DIMENSIONAL CONTINUOUS CONTROL USING GENERALIZED ADVANTAGE ESTIMATION 解决问题 强化学习的目标为最大化策略的预期总回报,其中一个主要困难为 行为对reward的影响存在一个长时间的延迟(credit assignment problem)。价…...