Transformers快速入门-学习笔记
- 一、自然语言处理
- NLP 是借助计算机技术研究人类语言的科学
- 自然语言处理发展史
- 一、不懂语法怎么理解语言
- 依靠语言学家人工总结文法规则
- Chomsky Formal Languages
- 难点:上下文有关文法
- 规则增多,存在矛盾
- 依靠语言学家人工总结文法规则
- 二、只要看得足够多,就能处理语言
- 基于数学模型和统计方法
- 通信系统加隐马尔可夫模型
- 对一维且有序任务有优势
- 对二维及次序变化任务不能处理
- 通信系统加隐马尔可夫模型
- 硬件能力提升、海量数据,统计机器学习方法
- 基于有向图的统计模型
- 如2005年 Google 基于统计方法的翻译系统超过基于规则的SysTran系统
- 2006年 Hinton 证明深度信念网络 DBN , 逐层预训练策略, 基于神经网络和反向传播算法 Back Propagation 的深度学习方法 ; LSTM 长短时记忆网络 ;2024年 xLSTM
- 卷积神经网络 CNN ; 2017年 Attention 注意力模型 Transformer 结构
- 基于有向图的统计模型
- 基于数学模型和统计方法
- 一、不懂语法怎么理解语言
- 统计语言模型发展史
- 为自然语言建立数学模型
- 判断一个文字序列是否构成人类能理解并且有意义的句子
- 70年代 Jelinek 贾里尼克 统计模型
- P(S) = P(w_1,w_2,...,w_n)= P(w_1)P(w_2|w_1)P(w_3|w_1,w_2)...P(w_n|w_1,w_2,...,w_{n-1})
- 词语w_n出现的概率取决于在句子中出现在它之前的所有词(理论上也可以引入出现在它之后的词语)。但是,随着文本长度的增加,条件概率P(w_n| w_1,w_2,…,w_{n-1}) 会变得越来越难以计算,因而在实际计算时会假设每个词语 w_i 仅与它前面的 n-1个词语有关
- P(w_i|w_1,w_2,...,w_{i-1}) = P(w_i|w_{i-N+1},w_{i-N+2},...,w_{i-1})
- 这种假设被称为马尔可夫(Markov)假设,对应的语言模型被称为 N 元(N-gram)模型。例如当 N = 2 时,词语 w_i 出现的概率只与它前面的词语w_{i-1} 有关,被称为二元(Bigram)模型;而 N =1 时,模型实际上就是一个上下文无关模型。由于 N 元模型的空间和时间复杂度都几乎是 N 的指数函数,因此实际应用中比较常见的是取 N =3 的三元模型
- 2003年 本吉奥,NNLM 模型,神经网络语言模型
- 通过输入词语前面的 N-1 个词语来预测当前词语
- 词表 词向量 激活函数 Softmax 函数 , 词表 需要学习获得
- 2013年 Google ,Word2Vec 模型
- Word2Vec 模型提供的词向量在很长一段时间里都是自然语言处理方法的标配
- 训练方法 CBOW (Continuous Bag of Words)和 Skip-gram
- 使用周围词语来预测当前词
- 使用了上文和下文来预测,打破只通过上文来预测当前词的惯性
- 使用当前词来预测周围词
- 使用周围词语来预测当前词
- 多义词问题
- 运用词语之间的互信息 雅让斯基
- 2018年 ELMo模型 Embeddings from Languages Models
- 会根据上下文动态的调整词语的词向量
- 采用双层双向LSTM作为编码器
- 2018年 BERT模型 Bidirectional Encoder Representations from Transformers
- 两阶段框架 预训练 微调
- 类似ELMo 双向语言模型
- UNILM 模型
- 大语言模型
- Emergent Abilities 涌现能力
- 规模扩展定律 Scaling Laws
- 2022年11月 ChatGPT 模型
- Qwen LLaMA
- Emergent Abilities 涌现能力
- 为自然语言建立数学模型
- 二、Transformer模型
- 取代循环神经网络RNN和卷积神经网络CNN成为当前NLP模型的标配
- 2017年 Google 《Attention Is All You Need》
- 序列标注
- 《Universal Language Model Fine-tuning for Text Classification》
- GPT (the Generative Pretrained Transformer)
- BERT (Bidirectional Encoder Representations from Transformers)
- 结构
- 纯Encoder 模型
- BERT
- DistilBERT
- RoBERTa
- XLM
- ALBERT
- ELECTRA
- DeBERTa
- XLM-R
- ALBERT
- XLM
- BERT
- 纯Decoder 模型
- GPT
- GPT-2
- CTRL
- GPT-3
- GPT-Neo
- GPT-J
- GPT-3
- CTRL
- GPT-2
- GPT
- Encoder-Decoder 模型
- T5
- BART
- M2M-100
- BigBird
- M2M-100
- BART
- T5
- Encoder(左边):负责理解输入文本,为每个输入构造对应的语义表示(语义特征)
- Decoder(右边):负责生成输出,使用 Encoder 输出的语义表示结合其他输入来生成目标序列
- 注意力层
- 原始结构
- 纯Encoder 模型
- Transformer
- 预训练语言模型
- 自监督学习
- 自监督学习是一种训练目标可以根据模型的输入自动计算的训练方法。
- 因果语言建模
- NNLM
- 遮盖语言建模
- CBOW
- 迁移学习
- 特定任务的标注语料
- 有监督学习
- 微调
- 有监督学习
- 找到一个尽可能接近我们任务的预训练模型,然后微调它
- 特定任务的标注语料
- 更好的性能 不断地增加模型大小
- 海量数据
- 时间和经济成本都非常高
- 模型蒸馏
- 三、注意力机制
- Attention
- 分词 词向量 矩阵
- RNN
- 递归计算 较慢
- Yt = f(Yt-1, Xt)
- 递归计算 较慢
- CNN
- 滑动窗口 局部上下文计算
- Yt = f(Xt-1, Xt,Xt+1)
- 滑动窗口 局部上下文计算
- Attenion
- Self-Attention
- Yt = f(Xt, A,B)
- A=B=X
- Yt = f(Xt, A,B)
- Self-Attention
- Scaled Dot-product Attention
- 计算注意力权重
- 更新 token embeddings
- Attention(Q,K,V) = softmax( ....)
- Pytorch 实现, torch.nn.Embedding
- Multi-head Attention
- 首先通过线性映射将序列映射到特征空间,每一组线性投影后的向量表示称为一个头 (head),然后在每组映射后的序列上再应用 Scaled Dot-product Attention
- Transformer Encoder
- The Feed-Forward Layer
- Layer Normalization
- Positional Embeddings
- 绝对位置表示
- 相对位置表示
- Transformer Decoder
- Masked multi-head self-attention layer
- Encoder-decoder attention layer
- Attention
- 四、开箱即用的pipelines
- 五、模型与分词器
- 六、必要的Pytorch知识
- 七、微调预训练模型
- 八、快速分词器
参考资料: Hello! · Transformers快速入门
相关文章:
Transformers快速入门-学习笔记
一、自然语言处理 NLP 是借助计算机技术研究人类语言的科学自然语言处理发展史 一、不懂语法怎么理解语言 依靠语言学家人工总结文法规则 Chomsky Formal Languages 难点:上下文有关文法 规则增多,存在矛盾 二、只要看得足够多,就能处理语言…...

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

第1章大型互联网公司的基础架构——1.10 其他NoSQL数据库
这里我们简单介绍一下其他常见的NoSQL数据库及其适用的场景,其中部分数据库会在后续服务设计章节中正式使用时再做详细介绍。 1.10.1 文档数据库 文档数据库的典型代表是MongoDB和CouchDB。**文档数据库普遍采用JSON格式来存储数据,而不是采用僵硬的行…...

DeepSeek+Kimi生成高质量PPT
DeepSeek与Kimi生成PPT全流程解析 一、工具分工原理 DeepSeek核心作用:生成结构化PPT大纲(擅长逻辑构建与内容优化)Kimi核心作用:将文本转换为视觉化PPT(提供模板库与排版引擎) 二、操作步骤详解 1. 通…...
web网络安全:跨站脚本攻击(XSS)
跨站脚本攻击(XSS)概述 跨站脚本攻击(XSS,Cross-Site Scripting) 是一种常见的 Web 安全漏洞,攻击者通过向受信任的网站注入恶意脚本(通常是 JavaScript),诱使其他用户在…...
【Python爬虫(44)】分布式爬虫:筑牢安全防线,守护数据之旅
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...

微信小程序:多菜单栏设计效果
一、实现效果 二、代码 wxml 编辑前端界面,步骤 菜单逻辑: 逐步取出数组中的项,首先取出顶部菜单项,然后选中后取出选中的底部数据(左侧菜单+右侧内容),然后点击左侧菜单取出选中的左侧菜单对应的右侧内容 ①这里我的数据是全部封装到一个数组对象的,首先我的循环…...

海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
1.首先说了一下为什么要用ISUP协议来取流 ISUP主要就是用来解决摄像头没有公网ip的情况,如果摄像头或者所在局域网的路由器有公网ip的话,其实采用rtsp直接取流是最方便也是性能最好的,但是项目的摄像头没有公网IP所以被迫使用ISUP,ISUP是海康…...
蓝桥杯之阶段考核
📖 Day 7:阶段考核 - 蓝桥杯官方模拟赛(限时 4 小时) 📖 一、如何高效完成模拟赛? 模拟赛是一种接近真实竞赛的训练方式。要高效完成模拟赛,需要掌握以下策略: 1. 赛前准备 ✅ 环…...
Python爬虫基础重要数据类型
重要数据类型 列表数据类型 在实际开发中,经常需要将一组(不只一个)数据存储起来,以便后边的代码使用。列表就是这样的一个数据结构。且列表是Python中最基本也是最常用的数据结构之一。什么是数据结构呢?通俗来讲&a…...

乐享数科:供应链金融—三个不同阶段的融资模式
供应链金融是与产业链紧密结合的融资模式,它主要体现在订单采购、存货保管、销售回款这三个不同的业务阶段,并针对这些阶段提供了相应的金融服务。以下是这三个阶段中主要的融资模式及其特点: 供应链金融融资模式主要分为以下几种࿱…...

【AI】openEuler 22.03 LTS SP4安装 docker NVIDIA Container Toolkit
NVIDIA Container Toolkit 打开网址 Unsupported distribution or misconfigured repository settings | NVIDIA Container Toolkit 为方便离线安装,先下载过来 wget https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo mk…...
【2025全网首发B站教程】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测!
【2025全站首发】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测! 文章目录 1. 数据集准备1.1 标签格式转换1.2 数据集划分1.3 yaml配置文件创建 2. 训练验证 1. 数据集准备 示例数据集下载链接:P…...
设计模式教程:中介者模式(Mediator Pattern)
中介者模式是一种行为型设计模式,它用于减少对象之间的直接依赖关系。通过引入一个中介者对象,所有对象的交互都通过中介者进行,而不是直接相互通信。这种模式的主要目的是减少对象之间的耦合,提升系统的灵活性和可维护性。 1. 定…...
编写dockercompose脚本,管理redis,activemq,mysql5.7
编写dockercompose脚本,管理redis,activemq,mysql5.7,mysql的root密码设置Duke2007,redis密码设置duke0591 Docker Compose 多服务编排脚本(安全增强版) yaml 复制 services: # # MySQL 5.7 服务配置 #…...
【编程语言】委托与函数指针
委托与函数指针的相似之处: 指向方法:C# 的委托和 C 的函数指针都可以用来指向一个方法或函数。调用方法:它们都可以通过引用(委托或函数指针)来调用指向的方法。 委托与函数指针的主要区别: 类型安全&am…...

基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)
第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示: 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台,所以对信息的安全和稳定要求非常高。为了解决本问题,采用前端…...

数字后端实现之Innovus中open net原因解析及解决方案
数字IC后端设计实现Innovus中我们经常会碰到如下的WARNING警告信息。这个log是在route或ECO Route阶段报的。这个WARNING必须要看,因为这里是报告当前设计存在open的net,即某些pin只有逻辑连接,而没有实际的物理连接。 这里正常工具应该报ERR…...
MATLAB基础学习相关知识
MATLAB安装参考:抖音-记录美好生活 MATLAB基础知识学习参考:【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3 第1部分:变量定义和基本运算 生成矩阵: % 生成矩阵% 直接法% ,表示行 ;表示列 a [1,2,3;4,5,6;7,8,9];%…...

Mac系统下使用Docker快速部署MaxKB:打造本地知识库问答系统
随着大语言模型的广泛应用,知识库问答系统逐渐成为提升工作效率和个人学习的有力工具。MaxKB是一款基于LLM(Large Language Model)大语言模型的知识库问答系统,支持多模型对接、文档上传和自动爬取等功能。本文将详细介绍如何在Ma…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...