语言人工智能指南

BERT 和编码器模型

BERT 是一种具有里程碑意义的语言模型,它可以同时从两个方向读取文本以构建丰富的含义表示。

阅读时间:2分钟最后更新

概述

作为编码器模型,它擅长理解文本而非生成文本,支持搜索、分类和问答等任务。

深入探讨

BERT(来自 Transformers 的双向编码器表示)由 Google 于 2018 年发布,几乎一夜之间改变了自然语言处理。与从左到右读取以预测下一个单词的 GPT 风格模型不同,BERT 使用每个单词两侧的上下文立即读取整个句子。这种双向视图使其能够更好地理解含义。为了以这种方式进行训练,BERT 使用屏蔽语言模型:它随机隐藏大约 15% 的标记,并学习使用周围的上下文来填充空白。它还接受了下一个句子预测的训练,以理解句子之间的关系。突破性的想法是预训练然后微调:在巨大的未标记文本上训练一个大模型,然后使用小型标记数据集将其廉价地适应特定任务。 BERT 是一个仅编码器的模型,因此它生成嵌入,而不是自由流动的文本。

技术洞察

BERT 仅使用 Transformer 的编码器部分,并具有自注意力机制,让每个 token 同时关注两个方向上的每个其他 token。因为正常的从左到右的目标会让双向模型轻易地看到答案,所以 BERT 会掩盖标记并预测它们,这迫使真正的理解。预训练后,您通常会添加一个小型的特定于任务的头部并微调整个模型。 RoBERTa 等后继者改进了训练方案,而 DistilBERT 和 ALBERT 则缩小了模型以提高速度和效率。

战略影响

速度与规模

语言工作流程可以在不牺牲一致性的情况下更快地移动。

交通与覆盖范围

它扩展了跨语言和沟通方式的访问。

更清晰的判决

团队可以花更多时间进行判断,而自动化则可以处理重复。

BERT 和编码器模型的未来

编码器模型仍然是需要理解而不是生成的任务的支柱,例如大规模语义搜索、检索、重新排名和分类。虽然生成式解码器模型成为头条新闻,但 BERT 系列编码器却悄悄为包括 Google 搜索在内的生产系统提供支持。未来的方向是更高效的编码器、多语言和特定领域的变体,以及与检索增强生成管道的紧密集成,其中快速编码器找到相关文档,然后由更大的生成模型用来回答。

现实世界的实施

支持 Google 搜索以更好地理解会话查询背后的意图

生成句子嵌入,以便向量数据库可以找到语义相似的文档

将客户评论分类为正面或负面,以进行大规模情感分析

从提取问答系统中的段落中提取答案

风险与防护栏

幻觉的事实可以悄悄地进入报告、支持流程或研究成果。

及时的敏感性可能会在类似的请求中产生不一致的结果。

如果访问控制薄弱,敏感文本数据可能会暴露。

实施路线图

1

在推出之前定义输出格式、语气和质量标准。

2

当准确性很重要时,请使用可信来源进行地面响应。

3

为高风险输出保留人工审查检查点。

4

跟踪故障模式并定期重新训练提示或工作流程。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the BERT and Encoder Models quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一个指南

序列到序列模型

常见问题

什么是BERT和编码器模型?

BERT 是一种具有里程碑意义的语言模型,它可以同时从两个方向读取文本以构建丰富的含义表示。作为编码器模型,它擅长理解文本而不是生成文本,为搜索、分类和问答等任务提供支持。

BERT 中的“双向”指的是什么?

与从左到右的模型不同,BERT 同时考虑每个单词两侧的完整上下文,使其对含义有更丰富的理解。

使 BERT 成为双向的主要预训练目标是什么?

BERT 隐藏了大约 15% 的标记,并学习从周围的上下文中预测它们,这需要使用两个方向并防止它轻易地看到答案。

BERT 使用 Transformer 架构的哪一部分?

BERT 是一个仅编码器的模型,这就是为什么它专门生成用于理解的表示而不是生成自由流动的文本。

BERT 流行的“预训练然后微调”方法是什么?

BERT 在大量未标记文本上进行预训练,然后针对每个下游任务使用小型标记数据集进行微调,从而节省大量精力。

BERT 主要设计用于产生什么样的输出?

作为编码器,BERT 擅长为分类、搜索和问答等任务生成嵌入,而不是生成长文本。