CoolFace
Modelpublic

AlgorithmicResearchGroup/phi-arxiv-math-instruct

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
1likes30downloads
configuration_mixformer_sequential.py59 linesDownload Raw Back to root
1# Copyright (c) Microsoft Corporation.2# Licensed under the MIT license.3 4import math5from typing import Any, Dict, List, Optional, Union6 7from transformers import PretrainedConfig8 9 10class MixFormerSequentialConfig(PretrainedConfig):11    """MixFormer (sequential for DeepSpeed) configuration."""12 13    model_type = "mixformer-sequential"14 15    attribute_map = {16        "max_position_embeddings": "n_positions",17        "hidden_size": "n_embd",18        "num_attention_heads": "n_head",19        "num_hidden_layers": "n_layer",20        "input_emb_layer": "embd_layer",  # `input_emb_layer` key is for backward compatibility21        "blocks": "architecture",  # `blocks` key is for backward compatibility22    }23 24    def __init__(25        self,26        vocab_size: Optional[int] = 50304,27        n_positions: Optional[int] = 2048,28        n_embd: Optional[int] = 1024,29        n_layer: Optional[int] = 20,30        n_inner: Optional[int] = None,31        n_head: Optional[int] = 16,32        rotary_dim: Optional[int] = 32,33        activation_function: Optional[str] = "gelu_new",34        embd_layer: Optional[str] = "default",35        architecture: Union[Dict[str, Any], List[Dict[str, Any]]] = None,36        embd_pdrop: Optional[float] = 0.0,37        resid_pdrop: Optional[float] = 0.0,38        layer_norm_epsilon: Optional[float] = 1e-5,39        initializer_range: Optional[float] = 0.02,40        tie_word_embeddings: Optional[bool] = False,41        pad_vocab_size_multiple: Optional[int] = 64,42        **kwargs43    ) -> None:44        self.vocab_size = int(math.ceil(vocab_size / pad_vocab_size_multiple) * pad_vocab_size_multiple)45        self.n_positions = n_positions46        self.n_embd = n_embd47        self.n_layer = n_layer48        self.n_inner = n_inner49        self.n_head = n_head50        self.rotary_dim = min(rotary_dim, n_embd // n_head)51        self.activation_function = activation_function52        self.embd_layer = embd_layer53        self.architecture = architecture54        self.embd_pdrop = embd_pdrop55        self.resid_pdrop = resid_pdrop56        self.layer_norm_epsilon = layer_norm_epsilon57        self.initializer_range = initializer_range58 59        super().__init__(tie_word_embeddings=tie_word_embeddings, **kwargs)