20250221 NLP

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.rhkb.cn/news/23389.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 3 整合 Spring Cloud Gateway 工程实践

引子 当前微服务架构已成为中大型系统的标配,但在享受拆分带来的敏捷性时,流量治理与安全管控的复杂度也呈指数级上升。因此,我们需要构建微服务网关来为系统“保驾护航”。本文将会通过一个项目(核心模块包含 鉴权服务、文件服务…

flutter项目构建常见问题

最近在研究一个验证码转发的app,原理是尝试读取手机中对应应用的验证码进行自动转发。本次尝试用flutter开发,因为之前没有flutter开发的经验,遇到了诸多环境方面的问题,汇总一些常见的问题如下。希望帮助到入门的flutter开发者&a…

Classic Control Theory | 12 Real Poles or Zeros (第12课笔记-中文版)

笔记链接:https://m.tb.cn/h.Tt876SW?tkQaITejKxnFLhttps://m.tb.cn/h.Tt876SW?tkQaITejKxnFL

图解感知机(Perceptron)

目录 1.感知机(Perceptron)介绍 2.网络结构与工作原理 3.模型工作示例 4.总结 1.感知机(Perceptron)介绍 感知机(Perceptron)是最早的人工神经网络模型之一,由弗兰克罗森布拉特(…

多旋翼+航模+直升机:多型号无人机飞行表演技术详解

多旋翼、航模、直升机等多种型号的无人机飞行表演技术,是现代科技与艺术的完美结合,它们通过精密的编程、高效的通信、先进的定位与导航技术,以及复杂的编队控制算法,共同呈现出令人震撼的视觉效果。以下是对这些无人机飞行表演技…

deepseek 导出导入模型(docker)

前言 实现导出导入deepseek 模型。deepseek 安装docker下参考 docker 导出模型 实际生产环境建议使用docker-compose.yml进行布局,然后持久化ollama模型数据到本地参考 echo "start ollama" docker start ollama#压缩容器内文件夹,然后拷贝…

【MySQL】表的增删查改(CRUD)(上)

个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 CRUD:Create(新增数据)、Retrieve(查询数据)、Update(修改数据)、Delete(修改数据…

Win11作为宿主机,运行VMware 总没有网络

问题: 移动了VMware到新宿主机上后,虚拟机无法连接网络,其实会显示一个圆圈的图标,这是连接上的图标。 造成这个错误的原因是多种多样的。 用下面的方法来查排查错误。 1.控制面板-> 网络连接 安装好虚拟机后,会…

edge浏览器将书签栏顶部显示

追求效果,感觉有点丑,但总归方便多了 操作路径:设置-外观-显示收藏夹栏-始终

快速入门——第三方组件element-ui

学习自哔哩哔哩上的“刘老师教编程”,具体学习的网站为:10.第三方组件element-ui_哔哩哔哩_bilibili,以下是看课后做的笔记,仅供参考。 第一节 组件间的传值 组件可以有内部Data提供数据,也可由父组件通过prop方式传…

代码审计入门学习之sql注入

路由规则 入口文件&#xff1a;index.php <?php // ---------------------------------------------------------------------- // | wuzhicms [ 五指互联网站内容管理系统 ] // | Copyright (c) 2014-2015 http://www.wuzhicms.com All rights reserved. // | Licensed …

基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)

第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示&#xff1a; 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台&#xff0c;所以对信息的安全和稳定要求非常高。为了解决本问题&#xff0c;采用前端…

QQ登录测试用例报告

QQ登录测试用例思维导图 一、安全性测试用例 1. 加密传输与存储验证 测试场景&#xff1a;输入账号密码并提交登录请求。预期结果&#xff1a;账号密码通过加密传输&#xff08;如HTTPS&#xff09;与存储&#xff08;如哈希加盐&#xff09;&#xff0c;无明文暴露。 2. 二…

【AI算法岗面试八股面经【超全整理】——机器学习】

AI算法岗面试八股面经【超全整理】 概率论【AI算法岗面试八股面经【超全整理】——概率论】信息论【AI算法岗面试八股面经【超全整理】——信息论】机器学习【AI算法岗面试八股面经【超全整理】——机器学习】深度学习【AI算法岗面试八股面经【超全整理】——深度学习】NLP【A…

luci界面开发中的MVC架构——LuCI介绍(二)

想要给openwrt开发应用&#xff0c;虽然直接可执行程序也可以运行&#xff0c;但是没有UI会很不方便&#xff0c;想要开发UI就要用openwrt的那一套&#xff0c;自然就是LuCI&#xff0c;LuCI又用了一套MVC框架&#xff0c;今天就讲讲这是个什么东西。 OpenWrt LuCI 界面开发中…

网络安全监测探针安装位置 网络安全监测系统

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 软件简介&#xff1a; SockMon(SocketMonitor)网络安全监控系统是一款为电脑专业人员打造的一款出色的安防监控软件。在如今这个恶意软件&#xff0c;攻击&#…

车载DoIP协议 --- TCP详细解析

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

DeepSeek-R1本地部署保姆级教程

一、DeepSeek-R1本地部署配置要求 &#xff08;一&#xff09;轻量级模型 ▌DeepSeek-R1-1.5B 内存容量&#xff1a;≥8GB 显卡需求&#xff1a;支持CPU推理&#xff08;无需独立GPU&#xff09; 适用场景&#xff1a;本地环境验证测试/Ollama集成调试 &#xff08;二&a…

2025年SCI一区智能优化算法:真菌生长优化算法(Fungal Growth Optimizer,FGO),提供MATLAB代码

一. 真菌生长优化算法&#xff08;FGO&#xff09; 真菌生长优化算法&#xff08;Fungal Growth Optimizer&#xff0c;FGO&#xff09;是一种新型的自然启发式元启发式算法&#xff0c;其灵感来源于自然界中真菌的生长行为。该算法通过模拟真菌的菌丝尖端生长、分支和孢子萌发…

【人工智能】蓝耘智算平台盛大发布DeepSeek满血版:开创AI推理体验新纪元

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ 蓝耘智算平台 蓝耘智算平台核心技术与突破元生代推理引擎快速入门&#xff1a;三步调用大模型接口&#xff0c;OpenAI SDK无缝兼容实战用例文…