作者:禅与计算机程序设计艺术
1.简介
BERT(Bidirectional Encoder Representations from Transformers)模型是自然语言处理任务中最具代表性的预训练模型之一。其在通用语言理解三项性能基准GLUE、SQuAD、MNLI上均取得了不俗的成绩,被广泛应用于文本分类、问答匹配等领域。本文将详细讲述BERT模型及其Fine-tuning过程,并结合PyTorch实现了一个完整的BERT Finetune实践案例。
2.基本概念
2.1 BERT模型简介
BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer模型的预训练语言模型。它最大的特点是在于能够同时考虑左右两边的信息。它通过对上下文进行建模,使得模型可以识别出哪些词对于句子的表现更重要。其通过三种类型的层(encoder layers)来构建Transformer模型,这三种层包括Embedding层、Attention层和MLP层。其中,Embedding层负责对输入的token进行embedding映射,Attention层负责学习句子内部的关系,MLP层则用于做特征抽取。
2.1.1 模型架构
BERT主要由以下三个模块组成:
WordPiece Embedding Layer: 对input token进行wordpiece分词,并通过WordPiece embedding将单词转换成固定维度的向量