# Copyright 2022 MosaicML Examples authors # SPDX-License-Identifier: Apache-2.0 from transformers import BertConfig as TransformersBertConfig class BertConfig(TransformersBertConfig): def __init__( self, alibi_starting_size: int = 512, attention_probs_dropout_prob: float = 0.0, **kwargs, ): """Configuration class for MosaicBert. Args: alibi_starting_size (int): Use `alibi_starting_size` to determine how large of an alibi tensor to create when initializing the model. You should be able to ignore this parameter in most cases. Defaults to 512. attention_probs_dropout_prob (float): By default, turn off attention dropout in Mosaic BERT (otherwise, Flash Attention will be off by default). Defaults to 0.0. """ super().__init__(attention_probs_dropout_prob=attention_probs_dropout_prob, **kwargs) self.alibi_starting_size = alibi_starting_size