Team Ai
Modelpublic

AlgorithmicResearchGroup/phi-arxiv-cs-ml-instruct

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
0likes27downloads
configuration_phi.py64 linesDownload Raw Back to root
1# Copyright (c) Microsoft Corporation.2# Licensed under the MIT license.3 4import math5from typing import Optional6 7from transformers import PretrainedConfig8 9 10class PhiConfig(PretrainedConfig):11    """Phi configuration."""12 13    model_type = "phi"14    attribute_map = {15        "max_position_embeddings": "n_positions",16        "hidden_size": "n_embd",17        "num_attention_heads": "n_head",18        "num_hidden_layers": "n_layer",19    }20 21    def __init__(22        self,23        vocab_size: int = 50304,24        n_positions: int = 2048,25        n_embd: int = 1024,26        n_layer: int = 20,27        n_inner: Optional[int] = None,28        n_head: int = 16,29        n_head_kv: Optional[int] = None,30        rotary_dim: Optional[int] = 32,31        activation_function: Optional[str] = "gelu_new",32        flash_attn: bool = False,33        flash_rotary: bool = False,34        fused_dense: bool = False,35        attn_pdrop: float = 0.0,36        embd_pdrop: float = 0.0,37        resid_pdrop: float = 0.0,38        layer_norm_epsilon: float = 1e-5,39        initializer_range: float = 0.02,40        tie_word_embeddings: bool = False,41        pad_vocab_size_multiple: 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.n_head_kv = n_head_kv51        self.rotary_dim = min(rotary_dim, n_embd // n_head)52        self.activation_function = activation_function53        self.flash_attn = flash_attn54        self.flash_rotary = flash_rotary55        self.fused_dense = fused_dense56        self.attn_pdrop = attn_pdrop57        self.embd_pdrop = embd_pdrop58        self.resid_pdrop = resid_pdrop59        self.layer_norm_epsilon = layer_norm_epsilon60        self.initializer_range = initializer_range61 62        super().__init__(tie_word_embeddings=tie_word_embeddings, **kwargs)63 64