20250221 NLP

ops/2025/2/25 22:05:45/

1.向量和嵌入

https://zhuanlan.zhihu.com/p/634237861

encoder的输入就是向量,提前嵌入为向量

二.多模态文本嵌入向量过程


1.文本预处理

文本tokenizer之前需要预处理吗?

是的,文本tokenizer之前通常需要对文本进行预处理。预处理步骤可以包括以下内容:

1. 标准化

  • 大小写转换:将文本转换为统一大小写(通常是小写)以减少词汇表大小。
  • 去除标点符号:除去不必要的标点符号,保持文本的简洁。

2. 分词准备

  • 去除空白:清除多余的空格或换行符。
  • 特殊字符处理:处理特殊字符或符号,以确保分词的准确性。

3. 其他处理

  • 停用词过滤:根据任务需要,可以去除常见但无意义的停用词(如“的”、“和”等)。
  • 词干提取或词形还原:将单词还原到其基本形式,以统一表示。

这些预处理步骤帮助提高tokenizer的效率和准确性,确保生成的token序列更具一致性和可用性。

当然,这里是一个简单的文本预处理示例:

原始文本

"What is the animal?"

预处理步骤

  1. 大小写转换

    • 将文本转换为小写:
      "what is the animal?"
      
  2. 去除标点符号

    • 去掉问号:
      "what is the animal"
      
  3. 去除多余空格

    • 确保没有多余空格:
      "what is the animal"
      
  4. 停用词过滤(可选)

    • 如果需要,可以去掉停用词(如"is", "the"),具体取决于任务需求:
      "what animal"
      
  5. 词干提取或词形还原(可选)

    • 将单词还原到词干形式(如“running”变为“run”):
      "what animal"
      

结果

经过预处理,文本更为简洁,适合于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)的预训练过程中,嵌入表会随着模型其他参数一起优化,以便更好地捕捉词汇的语义信息。

两种常见情况

  1. 预训练模型自带

    • 许多大型语言模型在发布时已经包含了训练好的文本嵌入表。
    • 使用这些模型时,嵌入表可以直接应用于新任务。
  2. 自定义训练

    • 如果你使用自己的数据进行微调或训练新的模型,文本嵌入表会在训练过程中更新。
    • 嵌入表的参数会随着其他模型参数一起通过反向传播进行优化。

总结

文本嵌入表可以是预训练模型的一部分,也可以在特定任务中通过微调进行更新。嵌入表的质量对模型理解和生成文本的能力有重要影响。

在多模态大语言模型(MLLM)中,文本嵌入表可以是静态的,也可以是动态的,具体取决于模型的设计和使用的技术。

静态嵌入

  • 定义:每个词在训练开始时被分配一个固定的向量。
  • 特征
    • 嵌入在训练过程中不随上下文变化。
    • 常用于早期的嵌入技术,如Word2Vec和GloVe。
  • 优点:计算效率高,易于实现。
  • 缺点:无法捕捉词的上下文特征和多义性。

动态嵌入

  • 定义:词的嵌入根据上下文动态生成。
  • 特征
    • 嵌入向量在每个输入实例中可能不同。
    • 使用模型如BERT、GPT等。
  • 优点:能够更好地理解上下文,处理多义词。
  • 缺点:计算复杂度较高。

在MLLM中的应用

  • 静态嵌入:在一些简单或资源受限的应用中可能仍然使用。
  • 动态嵌入:在需要深度理解和复杂推理的任务中更为常见。

总结

在现代多模态模型中,动态上下文嵌入越来越普遍,它们能够提供更丰富的语义信息,适合复杂的跨模态任务。


http://www.ppmy.cn/ops/161299.html

相关文章

LeetCode - 23 合并 K 个升序链表

题目来源 23. 合并 K 个升序链表 - 力扣(LeetCode) 题目描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 示例 1: 输入:lists [[1,4,…

2025vue4.x全栈学习关键技术分析线路图

关键升级点说明‌: ‌编译优化‌ :Vue 4.x采用WASM编译提速300% ‌智能工具链‌ :Vite插件市场新增AI代码审查模块 ‌跨平台能力‌ :Uni-App支持原生ARCore/ARKit调用 ‌安全增强‌ :默认启用WebAuthn生物认证…

自驾游拼团小程序的设计与实现(ssm论文源码调试讲解)

第4章 系统设计 4.1系统功能结构设计 本系统采用前台用户、发起人操作,后台管理员操作的方式进行设计,用户在前台需要注册登录,注册登录后可以浏览资讯信息、旅游拼团信息、旅游景点信息,然后参团和发布帖子等。管理员负责前台信…

Qt开发⑦Qt的窗口_上_菜单栏+工具栏+状态栏

目录 1. 菜单栏 1.1 创建菜单栏 1.2 在菜单栏中添加菜单 1.3 创建菜单项 1.4 在菜单项之间添加分割线 1.5 添加快捷键 1.6 添加子菜单 1.7 添加图标 1.8 综合示例 2. 工具栏 2.1 创建工具栏 2.2 设置停靠位置 2.3 设置浮动属性 2.4 设置移动属性 2.5 综合示例 …

[MDM 2024]Spatial-Temporal Large Language Model for Traffic Prediction

论文网址:[2401.10134] Spatial-Temporal Large Language Model for Traffic Prediction 论文代码:GitHub - ChenxiLiu-HNU/ST-LLM: Official implementation of the paper "Spatial-Temporal Large Language Model for Traffic Prediction" …

Springboot 熔断,穿透,雪崩

1. 熔断(Circuit Breaker) 含义 熔断机制类似于电路中的保险丝,当某个服务出现问题(如响应时间过长、频繁报错等)时,为了避免整个系统被拖垮,会暂时切断对该服务的调用,直接返回一…

若依前后端分离框架修改3.8.9版本(重点在安全框架讲解与微信小程序登录集成)

若依模板改造(3.8.9) 1、基础改造 下载代码 从[RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本](https://gitee.co…

《DLEN:用于低光图像增强的双域双分支Transformer》

paper:2501.12235 GitHub:LaLaLoXX/DLEN 目录 摘要 1、介绍 2、相关工作 2.1 低光图像增强 2.2 低级Vision Transformer 2.3 小波变换的应用 3、方法 3.1 整体流程 3.2 双分支恢复器 3.3 可学习小波模块 4、实验 4.1 数据集和实施细节 …