Team Ai
Modelpublic

AlgorithmicResearchGroup/phi-chemistry

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
0likes42downloads
configuration_mixformer_sequential.py60 linesDownload Raw Back to root
1 2# Copyright (c) Microsoft Corporation.3# Licensed under the MIT license.4 5import math6from typing import Any, Dict, List, Optional, Union7 8from transformers import PretrainedConfig9 10 11class MixFormerSequentialConfig(PretrainedConfig):12    """MixFormer (sequential for DeepSpeed) configuration."""13 14    model_type = "mixformer-sequential"15 16    attribute_map = {17        "max_position_embeddings": "n_positions",18        "hidden_size": "n_embd",19        "num_attention_heads": "n_head",20        "num_hidden_layers": "n_layer",21        "input_emb_layer": "embd_layer",  # `input_emb_layer` key is for backward compatibility22        "blocks": "architecture",  # `blocks` key is for backward compatibility23    }24 25    def __init__(26        self,27        vocab_size: Optional[int] = 50304,28        n_positions: Optional[int] = 2048,29        n_embd: Optional[int] = 1024,30        n_layer: Optional[int] = 20,31        n_inner: Optional[int] = None,32        n_head: Optional[int] = 16,33        rotary_dim: Optional[int] = 32,34        activation_function: Optional[str] = "gelu_new",35        embd_layer: Optional[str] = "default",36        architecture: Union[Dict[str, Any], List[Dict[str, Any]]] = None,37        embd_pdrop: Optional[float] = 0.0,38        resid_pdrop: Optional[float] = 0.0,39        layer_norm_epsilon: Optional[float] = 1e-5,40        initializer_range: Optional[float] = 0.02,41        tie_word_embeddings: Optional[bool] = False,42        pad_vocab_size_multiple: Optional[int] = 64,43        **kwargs44    ) -> None:45        self.vocab_size = int(math.ceil(vocab_size / pad_vocab_size_multiple) * pad_vocab_size_multiple)46        self.n_positions = n_positions47        self.n_embd = n_embd48        self.n_layer = n_layer49        self.n_inner = n_inner50        self.n_head = n_head51        self.rotary_dim = min(rotary_dim, n_embd // n_head)52        self.activation_function = activation_function53        self.embd_layer = embd_layer54        self.architecture = architecture55        self.embd_pdrop = embd_pdrop56        self.resid_pdrop = resid_pdrop57        self.layer_norm_epsilon = layer_norm_epsilon58        self.initializer_range = initializer_range59 60        super().__init__(tie_word_embeddings=tie_word_embeddings, **kwargs)