BART&BERT

BART和BERT都是基于Transformer架构的预训练语言模型。

  1. 模型架构:

    • BERT (Bidirectional Encoder Representations from Transformers) 主要是一个编码器(Encoder)模型,它使用了Transformer的编码器部分来处理输入的文本,并生成文本的表示。BERT特别擅长理解语言的上下文,因为它在预训练阶段使用了掩码语言模型(MLM)任务,即随机遮蔽一些单词,然后让模型预测这些被遮蔽的单词。
    • BART 是一个解码器(Decoder)模型,它使用了Transformer的解码器部分。BART在预训练阶段使用了类似于BERT的MLM任务,但它还包括了一个下一句预测(NSP)任务,这使得BART在生成文本方面更为擅长。
  2. 预训练任务:

    • BERT的预训练任务主要是MLM,它随机遮蔽输入文本中的一些单词,并让模型预测这些单词。
    • BART的预训练任务除了MLM,还包括一个句子排列任务,即模型需要预测给定句子序列的正确顺序。
  3. 应用场景:

    • BERT通常用于需要理解文本的任务,如文本分类、命名实体识别、问答系统等。
    • BART则更适合于文本生成任务,如摘要、翻译、文本填空等。
  4. 生成方式:

    • BERT是一个自回归模型,它在生成文本时是逐词生成的,每次只预测一个词。
    • BART也是一个自回归模型,但它在生成文本时可以更灵活地处理序列到序列的任务,例如在机器翻译中将一个句子从一种语言翻译成另一种语言。
  5. 使用以下代码来加载BERT模型并进行一个简单的文本分类任务: from transformers import BertTokenizer, BertForSequenceClassification

    import torch

    加载预训练的BERT模型和分词器

    model_name = "bert-base-uncased" # 选择一个BERT模型

    tokenizer = BertTokenizer.from_pretrained(model_name)

    model = BertForSequenceClassification.from_pretrained(model_name)

    准备输入数据

    text = "This is a positive example." # 一个正面的例子

    encoded_input = tokenizer(text, return_tensors='pt')

    模型预测

    model.eval() # 将模型设置为评估模式

    with torch.no_grad():

    output = model(**encoded_input)

    输出预测结果

    predictions = torch.nn.functional.softmax(output.logits, dim=-1)

    print(predictions)

  6. 对于BART模型,进行文本摘要任务,可以使用以下代码: from transformers import BartTokenizer, BartForConditionalGeneration

    import torch

    加载预训练的BART模型和分词器

    model_name = "facebook/bart-large-cnn" # 选择一个BART模型,这里使用CNN新闻摘要任务的预训练模型

    tokenizer = BartTokenizer.from_pretrained(model_name)

    model = BartForConditionalGeneration.from_pretrained(model_name)

    准备输入数据

    text = "The quick brown fox jumps over the lazy dog." # 一个完整的句子

    encoded_input = tokenizer(text, return_tensors='pt', max_length=512, truncation=True)

    生成摘要

    model.eval() # 将模型设置为评估模式

    with torch.no_grad():

    output = model.generate(**encoded_input, max_length=20)

    输出生成的摘要

    print(tokenizer.decode(output0, skip_special_tokens=True))

  7. 模型目标:

    • BERT的目标是提高对文本的理解能力,通过预训练的上下文表示来增强下游任务的性能。
    • BART的目标是提高文本生成的能力,通过预训练的序列到序列表示来增强生成文本的连贯性和准确性。

尽管BART和BERT在设计和应用上有所不同,但它们都利用了Transformer的强大能力来处理自然语言,并在NLP领域取得了显著的成果。

相关推荐
在所不辞兄4 小时前
【零基础学智能仿真-42】二维随机有限元实战——把随机材料场赋给网格单元
人工智能·深度学习·算法·机器学习·工程仿真
hhzz18 小时前
【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南
人工智能·python·深度学习·yolo·计算机视觉
Rocky Ding*19 小时前
深入浅出完整解析FLUX.2、Seedream(即梦)、Z-image、Qwen-Image、GLM-Image核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·扩散模型·ai-native
小明科普20 小时前
酷狗 kgg 转 MP3 踩坑:别再把歌词文件当歌转了
深度学习
凡达Ai派1 天前
AI画布交付文件总是混在一起?用源文件、预览图和发布图三层目录分开管理
图像处理·深度学习·神经网络·自然语言处理·知识图谱
薛定e的猫咪1 天前
(AISTATS 2023)BaCaDI 逐章阅读
人工智能·深度学习·算法·机器学习
凡达Ai派1 天前
AI画布里的文字总是错位或乱码?把生成、排版和校对拆成三段
图像处理·人工智能·深度学习·神经网络·自然语言处理·知识图谱
数聚天成DeepSData1 天前
OPUS 不是一份统一许可证的语料:子语料许可如何逐项管理?
人工智能·深度学习·机器学习·数据集·deepsdata
迷路爸爸1801 天前
梯度消失和梯度爆炸
人工智能·深度学习·机器学习
AI人工智能+1 天前
医疗机构执业许可证识别技术融合计算机视觉、OCR与大模型,实现手机拍照或上传文件后自动提取证书关键字段信息
深度学习·自然语言处理·ocr·医疗机构执业许可证识别