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

BERT 模型是什么

科学突破很少发生在真空中。相反,它们往往是建立在积累的人类知识之上的阶梯的倒数第二步。要了解 ChatGPT 和 Google Bart 等大型语言模型 (LLM) 的成功,我们需要回到过去并谈论 BERT。

BERT 由 Google 研究人员于 2018 年开发,是首批 LLM 之一。凭借其惊人的结果,它迅速成为NLP任务中无处不在的基线,包括一般语言理解,问答和命名实体识别。

可以说,BERT为我们如今目睹的生成式AI革命铺平了道路。尽管 BERT 是最早的 LLM 之一,但它仍然被广泛使用,有数千个开源、免费和预训练的 BERT 模型可用于特定用例,例如情感分析、临床笔记分析和有害评论检测。

对 BERT 感到好奇吗?继续阅读本文,我们将探讨 Ber 的架构、该技术的内部工作原理、它的一些实际应用及其局限性。

什么是 BERT?

BERT(代表 Bidirectional Encoder Representations from Transformers)是 Google 于 2018 年开发的开源模型。这是一项雄心勃勃的实验,旨在测试所谓的 Transformers(一种创新的神经架构,由谷歌研究人员在 2017 年的著名论文《注意力是你所需要的一切》中提出)在自然语言 (NLP) 任务上的性能。

BERT成功的关键在于其变压器架构。在 Transformer 出现之前,对自然语言进行建模是一项非常具有挑战性的任务。尽管复杂的神经网络(即递归神经网络或卷积神经网络)兴起,但结果仅部分成功。

主要的挑战在于神经网络用于预测句子中缺失单词的机制。当时,最先进的神经网络依赖于编码器-解码器架构,这是一种功能强大但耗时耗资源的机制,不适合并行计算。

考虑到这些挑战,谷歌研究人员开发了转换器,这是一种基于注意力机制的创新神经架构,如下一节所述。

BERT是如何工作的

让我们来看看 BERT 是如何工作的,包括模型背后的技术、它是如何训练的以及它如何处理数据。

核心体系结构和功能

递归神经网络和卷积神经网络使用顺序计算来生成预测。也就是说,一旦在大型数据集上进行训练,他们可以预测哪个单词将遵循给定的单词序列。从这个意义上说,它们被认为是单向或上下文无关的算法。

相比之下,像BERT这样同样基于编码器-解码器架构的转换器驱动的模型是双向的,因为它们根据前一个单词和后面的单词来预测单词。这是通过自注意力机制实现的,自注意力机制是编码器和解码器中都包含的一层。注意力层的目标是捕获输入句子中不同单词之间存在的上下文关系。

如今,预训练的BERT有很多版本,但在最初的论文中,Google 用不同的神经架构训练了两个版本的 BERT: BERTbase 和 BERTlarge。本质上,BERTbase 有12个变压器层,12个关注层,1.1亿个参数,而 BERTlarge 有 24 个变压器层,16个关注层,3.4 亿个参数。正如预期的那样,BERTlarge 在准确性测试中的表现优于它的小兄弟。

变压器结构说明

预训练和微调

Transformer 在庞大的数据语料库上从头开始训练,遵循一个耗时且昂贵的过程(只有包括 Google 在内的少数公司才能负担得起)。

就 BERT 而言,它在维基百科(~2.5B 字)和 Google 的 BooksCorpus(~800M 字)上进行了为期四天的预训练。这使得该模型不仅可以获得英语知识,还可以获得来自世界各地的许多其他语言的知识。

为了优化训练过程,谷歌开发了新的硬件,即所谓的TPU(张量处理单元),专为机器学习任务而设计。

为了避免训练过程中不必要且成本高昂的交互,谷歌研究人员使用迁移学习技术将(预)训练阶段与微调阶段分开。这允许开发人员选择预训练模型,细化目标任务的输入输出对数据,并使用特定于领域的数据重新训练预训练模型的头部。这个特性使像 BERT 这样的 LLM 成为建立在它们之上的无穷无尽的应用程序的基础模型,

掩码语言建模在BERT处理中的作用

在BERT(以及每个基于transformers的LLM)中实现双向学习的关键因素是注意力机制。此机制基于掩码语言建模 (MLM)。通过屏蔽句子中的单词,此技术迫使模型在句子中两个方向上分析剩余的单词,以增加预测被屏蔽单词的机会。MLM基于在计算机视觉领域已经尝试过的技术,非常适合需要对整个序列有良好上下文理解的任务。

BERT是第一个应用这种技术的法学硕士。特别是,随机 15% 的标记化单词在训练期间被屏蔽。结果表明,BERT能够较准确地预测隐藏词。

BERT是做什么用的?BERT对NLP的影响

在转换器的支持下,BERT能够在多个NLP任务中实现最先进的结果。以下是 BERT 擅长的一些测试:

  • 问答:BERT是最早由变压器驱动的聊天机器人之一,取得了令人印象深刻的成果。
  • 情绪分析:例如,BERT已经成功地预测了电影评论的正面或负面标点符号。
  • 文本生成:作为下一代聊天机器人的前身,BERT已经能够通过简单的提示创建长文本。
  • 总结文本:同样,BERT能够阅读和总结来自复杂领域的文本,包括法律和医疗保健。
  • 语言翻译:BERT已经接受过多种语言编写的数据训练。这使它成为一个多语言模型,这意味着它非常适合语言翻译。
  • 自动完成任务:BERT 可用于自动完成任务,例如,在电子邮件或消息传递服务中。

BERT的实际应用

许多LLM已经在实验集中进行了尝试,但尚未将许多LLM纳入成熟的应用程序中。BERT的情况并非如此,它每天都有数百万人使用(尽管我们可能没有意识到这一点)。

一个很好的例子是谷歌搜索。2020 年,谷歌宣布已通过 70 多种语言的 Google 搜索采用 BERT。这意味着谷歌使用BERT对内容进行排名并显示精选片段。借助注意力机制,Google 现在可以使用问题的上下文来提供有用的信息,如以下示例所示。

资料来源:谷歌

BERT的变体和改编

但这只是故事的一部分。BERT的成功很大程度上归功于其开源性质,它允许开发人员访问原始BERT的源代码并创建新功能和改进。

这导致了大量的 BERT 变体。下面,您可以找到一些最著名的变体:

  • RoBERTa : RoBERTa 是“Robustly Optimized BERT Approach”的缩写,是 Meta 与华盛顿大学合作创建的 BERT 变体。RoBERTa 被认为是比原始 BERT 更强大的版本,它使用比用于训练 BERT 的数据集大 10 倍的数据集进行训练。至于它的架构,最显着的区别是使用动态掩码学习而不是静态掩码学习。这种技术涉及复制训练数据并对其进行 10 次屏蔽,每次都使用不同的掩码策略,使 RoBERTa 能够学习更强大和可推广的单词表示。
  • DistilBERT:自 2010 年代后期推出第一批 LLM 以来,一直存在着构建更大、更重的 LLM 的综合趋势。这是有道理的,因为模型大小和模型精度之间似乎存在直接关系。然而,模型越大,运行所需的资源就越多,因此,使用它的人就越少。DistilBERT 旨在通过提供更小、更快、更便宜和更轻的变体来使 BERT 更易于访问。基于原始 BERT 的架构,DistilBERT 在预训练期间使用知识提炼技术,将大小减少 40%,同时保留其 97% 的语言理解能力,速度提高 60%。
  • ALBERT:ALBERT 代表 A Lite BERT,专门设计用于在预训练期间提高 BERTlarge 的效率。由于训练更大的模型通常会导致内存限制、更长的训练时间和意外的模型退化,因此 ALBERT 的创建者开发了两种参数缩减技术来减少内存咨询并提高训练期间的速度。

如果您想了解更多关于开源 LLM 运动的信息,我们强烈建议您阅读我们关于 2023 年顶级开源 LLM 的帖子

针对特定任务微调 BERT

BERT 和一般的 LLM 最伟大的事情之一是预训练过程与微调过程是分开的。这意味着开发人员可以采用预先训练的 BERT 版本,并针对他们的特定用例对其进行自定义。

就 BERT 而言,有数百个针对各种 NLP 任务开发的 BERT 微调版本。下面,您可以找到一个非常非常有限的 BERT 微调版本列表:

  • BERT-base-chinese:一个针对中文 NLP 任务训练的 BERTbase 版本
  • BERT-base-NER: 为命名实体识别定制的 BERTbase 版本
  • Symps_disease_bert_v3_c41。自然语言聊天机器人的症状到疾病分类模型。
  • BERT专利:是谷歌在全球100M+专利上训练的模型。它基于 BERTlarge。

了解 BERT 的局限性

BERT 具有与 LLM 相关的传统限制和问题。BERT的预测始终基于用于训练它的数据的数量和质量。如果训练数据有限、贫乏且有偏见,BERT 可能会抛出不准确、有害的结果,甚至是所谓的LLM幻觉 。

在原始 BERT 的情况下,这种情况更有可能发生,因为该模型是在没有从人类反馈中强化学习 (RLHF) 的情况下训练的,RLHF 是 ChatGPT、LLaMA 2 和 Google Bard 等更高级模型使用的标准技术,用于增强 AI 安全性。RLHF 涉及在培训期间使用人类反馈来监控和指导 LLM 的学习过程,从而确保有效、安全和可信的系统。

此外,尽管与其他最先进的 LLM (如 ChatGPT)相比,它可以被认为是一个小模型,但它仍然需要相当大的计算能力来运行它,更不用说从头开始训练它了。因此,资源有限的开发人员可能无法使用它。

BERT和NLP的未来

BERT是最早的现代LLM之一。但远非老式,BERT仍然是最成功和最广泛使用的LLM之一。 由于其开源性质,今天,有多种变体和数百个预训练版本的BERT专为特定的NLP任务而设计。

相关文章:

BERT 模型是什么

科学突破很少发生在真空中。相反,它们往往是建立在积累的人类知识之上的阶梯的倒数第二步。要了解 ChatGPT 和 Google Bart 等大型语言模型 (LLM) 的成功,我们需要回到过去并谈论 BERT。 BERT 由 Google 研究人员于 2018 年开发&…...

Elasticsearch中object类型与nested类型以及数组之间的区别

一、区别: 0、一般情况下用object 类型来查es中为json对象的字段数据,用nested来查es中为JsonArray数组类型的字段数据。 1、默认情况下ES会把JSON对象直接映射为object类型,只有手动设置才会映射为nested类型 2、object类型可以直接使用普…...

办公文档,私人专用

一、安装Minio 1.1、创建文件夹,并在指定文件夹中下载minio文件 cd /opt mkdir minio cd minio touch minio.log wget https://dl.minio.io/server/minio/release/linux-amd64/minio1.2、赋予minio文件执行权限 chmod 777 minio1.3、启动minio ./minio server /…...

linux 使用log4cpp记录项目日志

为什么要用log4cpp记录项目日志 在通常情况下,Linux/UNIX 每个程序在开始运行的时刻,都会打开 3 个已经打开的 stream. 分别用来输入,输出,打印错误信息。通常他们会被连接到用户终端。这 3 个句柄的类型为指向 FILE 的指针。可以…...

Kafka集群部署

文章目录 一、实例配置二 、zookeeper集群安装三、kafka集群安装四、验证 没有提示,所有机器都执行 在kafka集群中引入zookeeper,主要是为了管理kafka集群的broker。负责管理集群的元数据信息,确保 Kafka 集群的高可用性、高性能和高可靠性。…...

软件测试|深入理解SQL CROSS JOIN:交叉连接

简介 在SQL查询中,CROSS JOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件,而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSS JOIN可以用于生成笛卡尔积,它在某些情况下非常有用&#xff…...

数据权限-模型简要分析

权限管控可以通俗的理解为权力限制,即不同的人由于拥有不同权力,他所看到的、能使用的可能不一样。对应到一个应用系统,其实就是一个用户可能拥有不同的数据权限(看到的)和操作权限(使用的)。 …...

echarts柱状图加单位,底部文本溢出展示

刚开始设置了半天都不展示单位,后来发现是被挡住了,需要调高top值 // 基于准备好的dom,初始化echarts实例var myChart echarts.init(document.getElementById("echartD"));rankOption {// backgroundColor: #00265f,tooltip: {…...

x-cmd pkg | gh - GitHub 官方 CLI

目录 简介首次用户功能特点与 x-cmd gh 模块的关系相关作品进一步探索 简介 gh,是由 GitHub 官方使用 Go 语言开发和维护的命令行工具,旨在脚本或是命令行中便捷管理和操作 GitHub 的工作流程。 注意: 由于 x-cmd 提供了同名模块,因此使用官…...

Python解析XML,简化复杂数据操作的最佳工具!

更多Python学习内容:ipengtao.com XML(可扩展标记语言)是一种常见的文本文件格式,用于存储和交换数据。Python提供了多种库和模块,用于解析和操作XML文件。本文将深入探讨如何使用Python操作XML文件,包括XM…...

rpm数据库被破坏,无法使用yum

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 问题描述: 云服务器在安装了开源的HIDS插件后,发现安装了插件的服务器全部突然无法正常使用yum安装软件…...

国标GB28181视频监控EasyCVR平台:视频集中录制存储/云端录像功能及操作介绍

安防视频监控系统EasyCVR视频综合管理平台,采用了开放式的网络结构,可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,同时还具备权限管理、设…...

Wargames与bash知识11

Wargames与bash知识11 bandit19 关卡提示: 要获得对下一级别的访问权限,您应该使用家目录中的setuid二进制文件。在不带参数的情况下执行它,以了解如何使用。在使用setuid二进制文件后,可以在通常的位置(/etc/bandit…...

Python 基础(一):基本语句

目录 1 条件语句2 循环语句2.1 for 循环2.2 while 循环2.3 break2.4 continue 3 pass 语句 1 条件语句 在进行逻辑判断时,我们需要用到条件语句,Python 提供了 if、elif、else 来进行逻辑判断。格式如下所示: if 判断条件1:执行语句1... el…...

Hibernate实战之操作MySQL数据库(2024-1-8)

Hibernate实战之操作MySQL数据库 2024.1.8 前提环境(JavaMySQLNavicatVS Code)1、Hibernate简介1.1 了解HQL 2、MySQL数据库建表2.1 编写SQL脚本2.2 MySQL执行脚本 3、Java操作MySQL实例(Hibernate)3.1 准备依赖的第三方jar包3.2 …...

【Spring Boot 3】【数据源】自定义JDBC多数据源

【Spring Boot 3】【数据源】自定义JDBC多数据源 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术…...

番茄工作法

番茄工作法是一种时间管理方法,主要适用于专注工作。它的基本步骤包括: 设定一个25分钟的闹钟。默念三二一(321法则),开始全身心投入工作。用专注的状态高效工作25分钟,不允许走神。如果做到了步骤3&#…...

【uniapp】调用阿里云OCR图片识别文字:

文章目录 一、效果&#xff1a;二、实现&#xff1a; 一、效果&#xff1a; 二、实现&#xff1a; 【阿里官方】高精版OCR文字识别【最新版】-云市场-阿里云 <template><view class"container"><!-- 选择图片 --><button click"imageO…...

软考高级选择考哪个好?

&#x1f4d2;软考高级总共5个科目&#xff0c;同样是高级证书&#xff0c;认可度也有区别! 大家一般在「信息系统项目管理师」✔️和「系统架构设计师」✔️二选一 1️⃣信息系统项目管理师 ❤️信息系统项目管理师也叫「高项」&#xff0c;考试内容主要是「项目管理」相关&am…...

在云服务器ECS上用Python写一个搜索引擎

在云服务器ECS上用Python写一个搜索引擎 一、场景介绍二、搜索引擎的组成2.1 网页的爬取及排序2.2 用户使用搜索引擎进行搜索 三、操作步骤3.1 环境准备3.2 安装Anaconda3.3 安装Streamlit3.4 下载搜索引擎代码3.5 运行搜索引擎 四、常见问题4.1 运行setup.py时可能的问题4.2 如…...

Python在智能手机芯片研发

Python在智能手机芯片研发中扮演着重要的角色。以下是几个方面的重要性&#xff1a; 快速原型设计&#xff1a;Python具有简洁易读的语法和丰富的第三方库&#xff0c;使工程师能够快速构建原型和进行快速迭代。这对于芯片研发来说&#xff0c;可以加快开发速度&#xff0c;减少…...

K8S学习指南(70)-K8S中的informa机制

引言 在 Kubernetes 集群中&#xff0c;Informer 是一种重要的机制&#xff0c;用于监控和处理集群中资源对象的变化。它是基于观察者模式设计的&#xff0c;允许开发者注册对某类资源对象的关注&#xff0c;并在对象发生变化时得到通知。本文将深入介绍 Kubernetes 中的 Info…...

「MCU」SD NAND芯片之国产新选择优秀

文章目录 前言 传统SD卡和可贴片SD卡 传统SD卡 可贴片SD卡 实际使用 总结 前言 随着目前时代的快速发展&#xff0c;即使是使用MCU的项目上也经常有大数据存储的需求。可以看到经常有小伙伴这样提问&#xff1a; 大家好&#xff0c;请问有没有SD卡芯片&#xff0c;可以…...

【QML COOK】- 002-添加一个图片

1. 编辑main.qml import QtQuickWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")Image {anchors.fill: parentsource: "qrc:/Resources/Images/arrow.png"} }将Window的width和height都改成800&#xff0c;因为我们要添加的图片大…...

Java10:内部类

7 内部类&#xff08;了解&#xff09;7.1 成员内部类7.2 静态内部类7.3 局部内部类7.4 匿名内部类 2.3. 静态内部类2.4. Lambda表达式&#xff0c; 7 内部类&#xff08;了解&#xff09; 内部类&#xff1a;就是在一个类的内部再定义一个类。 分类&#xff1a; 成员内部类 静…...

PostgreSQL 支持的字段类型

PostgreSQL 支持多种字段类型&#xff0c;以下是 PostgreSQL 13 版本中支持的所有字段类型&#xff1a; 数值类型&#xff1a; smallint&#xff1a;小整数类型。integer&#xff1a;整数类型。bigint&#xff1a;大整数类型。decimal&#xff1a;精确小数类型。numeric&#x…...

npm报错error:03000086:digital envelope routines::initialization error

可能是因为node版本过高&#xff0c;与现在的项目不符合 这是降低node版本的命令&#xff0c;然后重新运行 npm install npm8.1.2 -g...

el-table 展开行表格,展开的内容高度可以变化时,导致的固定列错位的问题

问题描述 一个可展开的表格&#xff08;列设置了type“expand”&#xff09;&#xff0c;并且展开后的内容高度可以变化&#xff0c;会导致后面所有行的固定列错位&#xff0c;图如下&#xff0c;展示行中是一个树形表格&#xff0c;默认不展示子级&#xff0c;点击树形表格的…...

python插入排序

插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常使用in-place排序&#xff0…...

怎么将营业执照图片转为excel表格?(批量合并识别技巧)

一、为何要将营业执照转为excel表格&#xff1f; 1、方便管理&#xff1a;将营业执照转为excel格式&#xff0c;可以方便地进行管理和整理&#xff0c;快速查找需要的信息。 2、数据处理&#xff1a;Excel可以提供丰富的计算和数据分析功能&#xff0c;转化为excel后方便数据…...

wordpress文章采集排版/上海哪家seo好

问题描述 今天博主在做题过程中&#xff0c;碰到了java.util.NoSuchElementException这个异常&#xff0c;说实话之前真的没见过。话不多说&#xff0c;先上源码 import java.util.Scanner;public class StaticTest1 {public static void main(String[] args) {BankAccount.se…...

营销到底是干嘛的/优质的seo快速排名优化

为什么80%的码农都做不了架构师&#xff1f;>>> 查看显卡型号 lspci -nn | grep VGA 添加backports源&#xff0c;更新源 sudo echo "deb http://httpredir.debian.org/debian jessie-backports main contrib non-free" >> /etc/apt/sources.list…...

商业综合体设计/aso优化什么意思

请看下图&#xff1a; 2000年&#xff0c;新西兰科学家利用转基因技术培育出新一代转基因奶牛&#xff08;Transgenic cow&#xff09;。奶水质量高。含有医用蛋白质。 婴儿宝宝能不能吃新西兰转基因奶粉&#xff1f;吃了这样的奶粉。孩子身体可以变得更加壮实&#xff0c;可是…...

中国企业公司/橘子seo查询

原文 http://blogs.msdn.com/jjameson/archive/2007/04/23/out-of-the-box-permission-policy-levels.aspx几个月前&#xff0c;我使用下面的命令把自己添加到一个站点里&#xff0c;该站点原来在其它服务器上&#xff0c;使用恢复的方式还原到现在的服务器。 stsadm.exe –o a…...

安贞网站建设公司/seo自动排名软件

Neo4j是一个高性能的,NOSQL图形数据库&#xff0c;本身就支持集群部署&#xff0c;今天要搭建的就是neo4j的因果集群&#xff0c;其中分为&#xff1a; 核心节点&#xff1a;core-server&#xff0c;可以对数据进行读写的中心节点&#xff0c;通过选举确定leader&#xff0c;fo…...

微信小程序企业网站/域名注册网

http://www.lydsy.com/JudgeOnline/problem.php?id1061 (题目链接) 题意 给定n天&#xff0c;第i天需要ai个志愿者&#xff0c;有m类志愿者&#xff0c;每类志愿者工作时间为[l,r]&#xff0c;花费为ci&#xff0c;求最小花费。 Solution 我用的是线性规划单纯形法。 首先要…...