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…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)
+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
