o
    TÃi 	  ã                   @   s:   d dl T d dlmZ 	 G dd„ deƒZG dd„ deƒZdS )é   )Ú*)ÚLayerContainerc                   @   sT   e Zd ZU dZeed< eed< eed< eed< e	ed< e	ed< dd	d
ddddœZ
dS )ÚPhi3TransformerContainerz<
        Transformer layer container for the Phi model.
    Úqkv_wÚ
attn_out_wÚmlp_1_wÚmlp_2_wÚattn_norm_gammaÚmlp_norm_gammazqkv_w.paramszattn_out_w.paramszmlp_1_w.paramszmlp_2_w.paramszattn_norm_gamma.paramszmlp_norm_gamma.params)zself_attn.qkv_proj.weightzself_attn.o_proj.weightzmlp.gate_up_proj.weightzmlp.down_proj.weightzinput_layernorm.weightzpost_attention_layernorm.weightN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚFusedQKVParameterÚ__annotations__ÚAttentionOutputParameterÚFusedGatedMLPParameterÚMLP2ParameterÚNormParameterÚPARAM_MAPPING© r   r   úp/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/inference/v2/model_implementations/phi3/containers.pyr   *   s   
 
úr   c                   @   s6   e Zd ZU dZeed< eed< eed< ddddœZd	S )
ÚPhi3NonTransformerContainerz@
        Non-Transformer layer container for the Phi model.
    Úword_embÚword_unembed_wÚfinal_norm_gammazword_emb.paramszfinal_norm_gamma.paramszword_unembed_w.params)zmodel.embed_tokens.weightzmodel.norm.weightzlm_head.weightN)	r   r   r   r   ÚEmbeddingParameterr   ÚUnembedParameterr   r   r   r   r   r   r   ?   s   
 
ýr   N)Úcommon_parametersÚlayer_container_baser   r   r   r   r   r   r   Ú<module>   s
    