| from transformers import BertConfig |
|
|
|
|
| class BertConfig(BertConfig): |
|
|
| def __init__( |
| self, |
| alibi_starting_size: int = 512, |
| attention_probs_dropout_prob: float = 0.0, |
| |
| |
| use_glu_mlp: bool = True, |
| use_monarch_mlp: bool = False, |
| monarch_mlp_nblocks: int = 4, |
| |
| |
| use_positional_encodings: bool = False, |
| max_position_embeddings: int = 512, |
| |
| |
| residual_long_conv: bool = False, |
| |
| |
| bidirectional: bool = True, |
| hyena_w_mod: int = 1, |
| hyena_filter_dropout: float = 0.2, |
| hyena_filter_order: int = 64, |
| hyena_training_additions: bool = False, |
| |
| |
| use_flash_mm: bool = False, |
| |
| |
| pool_all: bool = False, |
| |
| **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. |
| Defaults to 0.0. |
| """ |
| super().__init__( |
| attention_probs_dropout_prob=attention_probs_dropout_prob, **kwargs) |
| self.alibi_starting_size = alibi_starting_size |
|
|
| |
| self.use_glu_mlp = use_glu_mlp |
| self.use_monarch_mlp = use_monarch_mlp |
| self.monarch_mlp_nblocks = monarch_mlp_nblocks |
|
|
| |
| self.use_positional_encodings = use_positional_encodings |
| self.max_position_embeddings = max_position_embeddings |
|
|
| |
| self.residual_long_conv = residual_long_conv |
|
|
| |
| self.bidirectional = bidirectional |
| self.hyena_w_mod = hyena_w_mod |
| self.hyena_filter_dropout = hyena_filter_dropout |
| self.hyena_filter_order = hyena_filter_order |
| self.hyena_training_additions = hyena_training_additions |
|
|
| |
| self.use_flash_mm = use_flash_mm |
|
|
| |
| self.pool_all = pool_all |
| |