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

深度学习模型之BERT的24个小模型源码与预训练紧凑模型的重要性

原始信息

  • 论文: Well-Read Students Learn Better: On the Importance of Pre-training Compact Models
  • 作者:Iulia Turc, Ming-Wei Chang, Kenton Lee, Kristina Toutanova
  • 地址:arxiv.org/pdf/1908.08…
  • 中文:阅读良好的学生学得更好:关于预训练紧凑模型的重要性
  • 源码:见微小BERT模型的源码地址章节

目前24个较小的BERT模型的发布版本,现在只有英语,采用WordPiece掩码。
笔者翻译水平有限,有误之处请指正,万分感激。

摘要

自然语言表征模型的最新发展伴随着庞大而昂贵的模型,这些模型通过自监督的预训练的方式来利于通用领域文本。 由于应用此模型的下任务的成本,关于预训练的语言表征模型的几个压缩技术已经被提及(Sun等.,2019a;Sanh,2019) 。 然而,令人惊讶的是仅预先训练和微调紧凑型模型的简单基线已经被忽视。 在文本中,我们首先展示了较小体系架构中保留预训练的重要性,而且微调预先训练的紧凑模型可以与并行工作中提出的更精细的方法相竞争。 从预训练凑型模型开始,我们将探索通过标准知识提取从大的微调模型中转移任务知识,由此产生的简单、有效且通用的算,将给预训练提取带来更多的提升。通过广泛的实验,我们更加普遍的探索了在两个研究不足的变量(模型大小与未标记任务的数据属性)下在预训练与提取之间的相互作用。我们有一个让人吃惊的发现,即使是按序给相同的数据,他们仍然会产生复合效应。为了加快未来的研究,我们公开了24个预训练的微小BERT模型.

介绍

在通用领域文本语料库上的自监督学习,最终任务学习是实现基于深度和广度Transforme网络的两阶段训练方法(Vaswani等.,2017)来促进语言理解(Devlin等,2018;Sun等,019b;Sun等,2019b;Liu等,2019)。然而,最先进的模型有数亿个参数,计算成本很高。我们的目标是在有限的内存和延迟预算下有收获。我们寻求一个性能良好,通用且简单的训练方法,能够利用额外的资源,例如未标记的任务数据。

在考虑压缩技术之前,我们先从以下问题开始:我们能使用同样的两阶段方法训练较小模型么?换一句话说,我们探索了将语言模型预训练和任务微调直接应用于紧凑模型的想法。到目前为止,这个简单的基线一直被NLP社区所忽视,这可能潜在于这样的一个假设,当焦点集中在最终任务而不是通用语言模型的目标时有限能力的紧凑模型会得到更好的资本化。与我们一起提出了标准预训练+微调程序的变体的也有,但通用性有限(Sun等人,2019a;Sanh,2019)。我们惊喜的发现,在最初的公式中进行预训练+微调是构建紧凑模型的一种有竞争力的方法。

image.png

从这里开始,我们把它称为预训练提取(PD) 如上图。PD优于预训练+微调(PF)基线,尤其是在存在用于蒸馏的大转移集的情况下。特别是在提取大型转移设置的情况下。 在一项对照研究中,遵循并行工作中的数据和模型架构设置,我们展示了预训练蒸馏优于或具有更精细方法的竞争力,这些方法使用更复杂的任务知识提取(Sun等,2019a)或从未标记文本中进行更复杂的预训练(Sanh,2019)时。前者从中级教师激活中提取任务知识,从启发式初始化的学生开始。后者在更大的LM教师的帮助下,对在未标记文本上预先训练的紧凑模型进行微调。

本论文中最值得注意的贡献之一是:就预训练提取及其基线在各种条件下的表现 进行了广泛的实验。我们调查先前工作中研究不足的两个要点:模型大小和未标记数据的数量/质量。在对24个不同尺寸(4m至110m参数)的模型进行实验时深度/宽度的权衡,我们观察到,经过预训练的学生更好地利用深度而非宽度,这个属性对于随机初始化的模型是不可见的。对于第二点,我们改变了未标记数据的数量,以及它与标记集的相似性。有趣的是,预训练的取比标准提取对传递集中的这些变化更具鲁棒性。

最后,为了深入了解LM预训练和任务特定提取之间的相互作用,我们在同一数据集上依次进行了这些操作。在这个实验中,尽管单个操作数据集用于这两个步骤,这种复合效应令人惊讶,表明预训练和蒸馏是学习数据的互补方面。在这个实验中,尽管两个步骤都使用了单个数据集,但这两个操作链接起来的性能比单独应用的任何一个都要好。这种复合效应令人惊讶,表明预训练和提取是学习数据的互补方面。

结论

我们进行了大量的实验,以了解知识提炼和预训练+微调算法是如何单独工作的,以及它们如何交互。我们发现他们好处的复合,并且揭示训练训提取的力量。 这是一种简单且有效的方法,可以最大限度的利于可用:一个强大的老师,复合数据源(他们的好处是复合的,并揭示了预训练蒸馏的力量,这是一种简单而有效的方法,可以最大限度地利用所有可用的资源:一个强大的老师,以及多个数据源(标记集、未标记转移集和未标记LM集)。

章节说明

  1. INTRODUCTION:介绍(已译)
  2. PROBLEM STATEMENT:问题描述
  3. PRE-TRAINED DISTILLATION:预训练提取
  4. COMPARISON TO CONCURRENT WORK:与并行工作的比较
  5. ANALYSIS SETTINGS:配置分析
  6. ANALYSIS:实验分析
  7. RELATED WORK: 相关工作
  8. CONCLUSION:结论(已译)

微小BERT模型的源码地址

H=128H=256H=512H=768
L=22/128 (BERT-Tiny)2/2562/5122/768
L=44/1284/256 (BERT-Mini)4/512 (BERT-Small)4/768
L=66/1286/5122/5126/768
L=88/1288/2568/512 (BERT-Medium)8/768
L=1010/12810/25610/51210/768
L=1212/12812/25612/512-

GLUE分数

image.png

相关阅读

深度学习经典模型之BERT(上)
深度学习经典模型之BERT(下)

[参考]

  • 见原论文
  • 部分数据来源于官方源码站 github.com/google-rese…

如果您也对AI大模型感兴趣想学习却苦于没有方向👀
小编给自己收藏整理好的学习资料分享出来给大家💖
👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码关注免费领取【保证100%免费】🆓
请添加图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉如何学习AI大模型?👈

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

请添加图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

在这里插入图片描述

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

四、AI大模型商业化落地方案

在这里插入图片描述

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
请添加图片描述

相关文章:

深度学习模型之BERT的24个小模型源码与预训练紧凑模型的重要性

原始信息 论文: Well-Read Students Learn Better: On the Importance of Pre-training Compact Models作者:Iulia Turc, Ming-Wei Chang, Kenton Lee, Kristina Toutanova地址:arxiv.org/pdf/1908.08…中文:阅读良好的学生学得更…...

【HarmonyOS】深入理解@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

【HarmonyOS】深入理解Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化 前言 之前就Observed和ObjectLink写过一篇讲解博客【HarmonyOS】 多层嵌套对象通过ObjectLink和Observed实现渲染更新处理! 其中就Observe监听类的使用,Object…...

Java笔试面试题AI答之设计模式(1)

文章目录 1. 简述什么是设计模式 ?2. 叙述常见Java设计模式分类 ?3. Java 设计模式的六大原则 ?4. 简述对 MVC 的理解, MVC 有什么优缺点?MVC 的三个核心部分:MVC 的优点:MVC 的缺点&#xff1a…...

java调用opencv部署到centos7

1、官网下载opencv https://opencv.org/releases/ 2、下载opencv并解压 unzip opencv-3.4.7.zip cd opencv-3.4.7 mkdir build cd build/ 3、安装cmake yum remove cmake -y ; yum install -y gcc gcc-c make automake openssl openssl-devel wget https://cmake.org/files/…...

【python qdrant 向量数据库 完整示例代码】

测试一下python版本的dqrant向量数据库的效果,完整代码如下: 安装库 !pip install qdrant-client>1.1.1 !pip install -U sentence-transformers导入 from qdrant_client import models, QdrantClient from sentence_transformers import SentenceT…...

初识C语言(三)

感兴趣的朋友们可以留个关注,我们共同交流,相互促进学习。 文章目录 前言 八、函数 九、数组 (1)数组的定义 (2)数组的下标和使用 十、操作符 (1)算数操作符 (2&#xff…...

用通义灵码如何快速合理解决遗留代码问题?

本文首先介绍了遗留代码的概念,并对遗留代码进行了分类。针对不同类型的遗留代码,提供了相应的处理策略。此外,本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。 什么是遗留代码 与过时技术相关的代码: 与不再受支持的…...

新书推荐——《Python贝叶斯深度学习》

在过去的十年中,机器学习领域取得了长足的进步,并因此激发了公众的想象力。但我们必须记住,尽管这些算法令人印象深刻,但它们并非完美无缺。本书旨在通过平实的语言介绍如何在深度学习中利用贝叶斯推理,帮助读者掌握开…...

数据结构-3.1.栈的基本概念

一.栈的定义: 栈和线性表的区别:栈只能在表尾一端进行插入或者删除的操作,而线性表可以在任意一个地方进行插入或者删除 二.有关栈的关键术语: 三.栈的基本操作: 1.回顾线性表的基本操作: 2.栈的基本操作&…...

关于 NLP 应用方向与深度训练的核心流程

文章目录 主流应用方向核心流程(5步)1.选定语言模型结构2.收集标注数据3.forward 正向传播4.backward 反向传播5.使用模型预测真实场景 主流应用方向 文本分类文本匹配序列标注生成式任务 核心流程(5步) 基本流程实现的先后顺序…...

linux如何启用ipv6随机地址

简介 在 IPv6 中,临时随机地址(Temporary IPv6 Address)是一种为了提高隐私和安全而设计的功能。通常,默认的 IPv6 地址是基于设备的 MAC 地址生成的,容易导致跟踪和识别设备。启用临时 IPv6 地址可以避免这个问题&am…...

探索 Android DataBinding:实现数据与视图的完美融合

在 Android 开发中,数据与视图的交互一直是一个关键的问题。为了更好地实现数据的展示和更新,Google 推出了 DataBinding 库,它为开发者提供了一种简洁、高效的方式来处理数据与视图之间的绑定关系,大大提高了开发效率和代码的可读…...

Java 编码系列:线程基础与最佳实践

引言 在多任务处理和并发编程中,线程是不可或缺的一部分。Java 提供了丰富的线程管理和并发控制机制,使得开发者可以轻松地实现多线程应用。本文将深入探讨 Java 线程的基础知识,包括 Thread 类、Runnable 接口、Callable 接口以及线程的生命…...

《深度学习》—— ResNet 残差神经网络

文章目录 一、什么是ResNet?二、残差结构(Residual Structure)三、Batch Normalization(BN----批归一化) 一、什么是ResNet? ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出,斩获…...

针对考研的C语言学习(定制化快速掌握重点3)

1.数组常见错误 数组传参实际传递的是数组的起始地址&#xff0c;若在函数中改变数组内容&#xff0c;数组本身也会发生变化 #include<stdio.h> void change_ch(char* str) {str[0] H; } int main() {char ch[] "hello";change_ch(ch);printf("%s\n&q…...

pikachu XXE(XML外部实体注入)通关

靶场&#xff1a;pikachu 环境: 系统&#xff1a;Windows10 服务器&#xff1a;PHPstudy2018 靶场&#xff1a;pikachu 关卡提示说&#xff1a;这是一个接收xml数据的api 常用的Payload 回显 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY …...

shell脚本定时任务通知到钉钉

shell脚本定时任务通知到钉钉 1、背景 ​ 前两天看了一下定时任务&#xff0c;垃圾清理、日志相关、系统巡检这些&#xff0c;有的服务器运行就有问题&#xff0c;或者不运行&#xff0c;正好最近在做运维标准重制运维手册&#xff0c;顺便把自动化这块优化一下&#xff0c;所…...

2.4K star的GOT-OCR2.0:端到端OCR 模型

GOT-OCR2.0是一款新一代的光学字符识别&#xff08;OCR&#xff09;技术&#xff0c;标志着人工智能在文本识别领域的重大进步。作为一款开源模型&#xff0c;GOT-OCR2.0不仅支持传统的文本和文档识别&#xff0c;还能够处理乐谱、图表以及复杂的数学公式&#xff0c;为用户提供…...

【JavaEE】——线程的安全问题和解决方式

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;问题引入 二&#xff1a;问题深入 1&#xff1a;举例说明 2&#xff1a;图解双线程计算…...

初步认识了解分布式系统

背景认识&#xff1a;我们要学习redis&#xff0c;还是得了解一下什么是分布式。为什么呢&#xff1f;因为redis只有在分布式系统中才能发挥它最大的作用&#xff0c;也就是领域展开&#xff0c;所以接下来我们就简单过一下什么是分布式系统 一些术语认识&#xff1a; &#x…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...