文章预览
BGE的技术亮点: 高效预训练和大规模文本微调; 在两个大规模语料集上采用了RetroMAE预训练算法,进一步增强了模型的语义表征能力; 通过负采样和难负样例挖掘,增强了语义向量的判别力; 借鉴Instruction Tuning的策略,增强了在多任务场景下的通用能力。 数据集的构成: RetroMAE预训练 主要思想是:encoder用小一点的mask rate得到sentence embedding,然后decoder用大一点的mask rate结合encoder得到的sentence embedding进行重构。 解码的时候每一行都带,上下文信息和位置信息。 对应代码 import logging import os import torch from torch import nn from transformers import BertForMaskedLM, AutoModelForMaskedLM from transformers.modeling_outputs import MaskedLMOutput from .arguments import ModelArguments from .enhancedDecoder import BertLayerForDecoder logger = logging.getLogger(__name__) class RetroMAEForPretraining(nn.Module): def __in
………………………………