当前位置: 首页 > news >正文

语义模型 - 从 Transformer 到 Qwen

语义模型

Transformers

Huggingface Transformers 是基于一个开源基于 transformer 模型结构提供的预训练语言库,它支持 Pytorch,Tensorflow2.0,并且支持两个框架的相互转换。

其本质上是一个 Encoder-Decoder 架构。因此中间部分的 Transformer 可以分为两个部分:Encoder 和 Decoder。

在这里插入图片描述

Decoder-Only & Encoder-Only

Decoder-Only 模型

GPT Qwen 等属于 Decoder-Only 模型,是生成式模型。

Encoder-Only 模型

其输出是一个embedding向量。与 decoder-only 的文本回答不同,encoder-only 模型将其“答案”编码成这种压缩的数值形式。

这个向量是模型输入的压缩表示,因此有时 encoder-only 模型也被称为表征模型(representational models)。

经常与 Decoder-Only 的模型一起使用,组建更强大的 AI 应用(例如 RAG)。

Bert

Bert 全称为 Bidirectional Encoder Representations from Transformers。是一种基于 Transformers 的双向编码器表示,它只使用了 Transformer 中的 Encoder 部分,用于语言理解的预训练模型。改进了单向编码器的局限性,通过双向上下文提供更强大的语义信息提取能力,广泛应用于多项NLP任务,并在多个基准测试中取得突破性成果。

举个例子理解下双向编码器:

今天天气很差,我们不得不取消户外运动。

将句中的某个字或词挖走,句子就变成:今天天气很( ),我们不得不取消户外运动。分别从单向编码(如 GPT)和双向编码(如 BERT)的角度来考虑“( )”中应该填什么词。

单向编码只会使用“今天天气很”这五个字的信息来推断“( )”内的字或词,从人类角度考虑,使用概率最大的词应该是:“好”“不错”“差”“糟糕”,而这些词可以被划分为截然不同的两类。

双向编码可以利用下文信息“我们不得不取消户外运动”来帮助模型判断,从人类角度考虑,概率最大的词应该是:“差”“糟糕”。

以此就可以直观地感受到,不考虑模型的复杂度和训练数据量,双向编码与单向编码相比,可以利用更多的上下文信息来辅助当前词的语义判断。在语义理解能力上表现更好。

ModernBERT

ModernBERT 是 BERT 的现代化版本,旨在提高下游任务的性能和处理效率。与其前身不同,它支持更长的 Token,更现代的训练方式

GPT

Generative Pre-trained Transformer(GPT)系列是由 OpenA 提出的非常强大的预训练语言模型,这一系列的模型可以在非常复杂的 NLP 任务中取得非常惊艳的效果,例如文章生成,代码生成,机器翻译,Q&A 等。现在已经被广泛应用。

Qwen3

和 GPT 系列模型类似,都是基于 Transforms Decoder 的生成式 AI 模型,由阿里云发布,在架构上和 GPT 略有不同。

模型文件结构

模型保存形式

  • .safetensors 由 Hugging Face 提出,侧重于安全性和效率,适合于那些希望快速部署且对安全有较高要求的场景,尤其在Hugging Face生态中。
  • .ckpt 文件是 PyTorch Lightning 框架采用的模型存储格式,它不仅包含了模型参数,还包括优化器状态以及可能的训练元数据信息,使得用户可以无缝地恢复训练或执行推理。
  • .bin 文件不是标准化的模型保存格式,但在某些情况下可用于存储原始二进制权重数据,加载时需额外处理。
  • .pth 是PyTorch的标准模型保存格式,方便模型的持久化和复用,支持完整模型结构和参数的保存与恢复。
  • .onnx(Open Neural Network Exchange)文件是一个开放格式,用于表示机器学习模型。它旨在提供一种标准的方式来表示深度学习模型,使得模型可以在不同的框架和工具之间进行转换和互操作

文件结构

以 Qwen 0.6B 为例。

Qwen3-0.6B
├── config.json							# 控制模型的名称、最终输出的样式、隐藏层宽度和深度、激活函数的类别等
├── generation_config.json
├── LICENSE
├── merges.txt
├── model.safetensors
├── README.md
├── tokenizer_config.json
├── tokenizer.json					# tokenizer.json 和 tokenizer_config.json 分词的配置文件
└── vocab.json							# vocab.txt 词典文件

扩展

激活函数

神经网络模拟的是人脑中的神经元结构,激活函数旨在帮助网络学习数据中的复杂模式。在神经元中,输入经过一系列加权求和后作用于另一个函数,这个函数就是这里的激活函数。

通俗来讲,就是将输入和输出的映射升纬,使模型适配更多的非线性情况。激活函数可以分为线性激活函数(线性方程控制输入到输出的映射,如 f(x)=x 等)以及非线性激活函数(非线性方程控制输入到输出的映射,比如Sigmoid、Tanh、ReLU、LReLU、PReLU、Swish 等)

Tokenizer

Tokenizer分词算法是NLP大模型最基础的组件,基于Tokenizer可以将文本转换成独立的token列表,进而转换成输入的向量成为计算机可以理解的输入形式。

根据不同的切分粒度可以把tokenizer分为:

  1. 基于词的切分,基于字的切分和基于subword的切分。 基于subword的切分是目前的主流切分方式。
  2. subword的切分包括: BPE(/BBPE), WordPiece 和 Unigram三种分词模型。其中WordPiece可以认为是一种特殊的BPE。
  3. 完整的分词流程包括:文本归一化,预切分,基于分词模型的切分,后处理。
  4. SentencePiece是一个分词工具,内置BEP等多种分词方法,基于Unicode编码并且将空格视为特殊的token。这是当前大模型的主流分词方案。
分词方法典型模型
BPEGPT, GPT-2, GPT-J, GPT-Neo, RoBERTa, BART, LLaMA, ChatGLM-6B, Baichuan
WordPieceBERT, DistilBERT,MobileBERT
UnigramAlBERT, T5, mBART, XLNet

LoRA 微调

LoRA:Low-Rank Adaptation of Large Language Models(低阶自适应参数高效微调 )。

基本原理是冻结预训练好的模型权重参数,在冻结原模型参数的情况下,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数。由于这些新增参数数量较少,这样不仅 finetune 的成本显著下降,还能获得和全模型微调类似的效果。

参考

  1. https://zhuanlan.zhihu.com/p/535100411
  2. https://zhuanlan.zhihu.com/p/1911115248053755995
  3. https://yuluo-yx.github.io/blog/deep-learn-init/#%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98%E5%BC%95%E5%85%A5
  4. https://yuluo-yx.github.io/docs/LLMs-AI-llms-what-token/#%E5%88%86%E8%AF%8D%E5%99%A8%E5%8E%9F%E7%90%86
http://www.dtcms.com/a/556850.html

相关文章:

  • 前端零基础速成前端开发路线
  • 《系统规划与管理师教程(第2版)》方法篇 第10章 云原生系统规划 知识点总结
  • 有没有让人做问卷的网站中国深圳航空公司官方网站
  • springcloud二-Seata3- Seata各事务模式
  • MySQL 全链路性能调优:从 “凌晨三点被叫醒“ 到 “0.1 秒响应“ 的实战心法(超能优化版)
  • linux命令-用户管理-7
  • 【JavaScript】Pointer Events 与移动端交互
  • 客户评价 网站织梦cms侵权
  • 文件上传下载
  • 深入GoChannel:并发编程的底层奥秘
  • JS面试基础(一) 垃圾回收,变量与运算符
  • 2025年渗透测试面试题总结-225(题目+回答)
  • 重庆电商平台网站建设合肥推广优化公司
  • Linux命令行基础:常用命令快速上手(附代码示例)
  • 在Ubuntu Desktop操作系统下,rustdesk客户端如何设置成开机自动启动?
  • 建设静态网站怎么制作网页链接在微信上发
  • Pandas-DataFrame 数据结构详解
  • 用层还是表格做网站快淘宝建设网站的好处
  • 2025年渗透测试面试题总结-224(题目+回答)
  • 详细了解TLS、HTTPS、SSL原理
  • 弹性力学| 应力应变关系
  • 网站建设实习收获多平台网页制作
  • BPE(Byte Pair Encoding)详解:从基础原理到现代NLP应用
  • 【Java学习路线| 最佳食用指南 60days】
  • nfs的运用
  • 【企业架构】TOGAF架构标准规范-迁移计划
  • 做网站用asp还是php亚马逊建站服务
  • 数据结构(15)
  • 《算法闯关指南:优选算法--前缀和》--29.和为k的子数组,30.和可被k整除的子数组
  • 如何在GitHub仓库中添加MIT开源许可证