o
    TÃi  ã                   @   sL   d dl T d dlmZ 	 G dd„ deƒ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 )ÚFalconTransformerContainerú?
        Transformer layer container for the Falcon model.
    Úqkv_wÚ
attn_out_wÚmlp_1_wÚmlp_2_wÚln_attn_gammaÚln_attn_betaúqkv_w.paramsúattn_out_w.paramsúmlp_1_w.paramsúmlp_2_w.paramsúln_attn_gamma.paramsúln_attn_beta.params)ú%self_attention.query_key_value.weightúself_attention.dense.weightúmlp.dense_h_to_4h.weightúmlp.dense_4h_to_h.weightzinput_layernorm.weightzinput_layernorm.biasN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚFusedQKVParameterÚ__annotations__ÚAttentionOutputParameterÚMLP1ParameterÚMLP2ParameterÚNormParameterÚPARAM_MAPPING© r!   r!   úq/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/inference/v2/model_implementations/falcon/container.pyr   '   s   
 
úr   c                   @   s@   e Zd ZU dZeed< eed< eed< eed< dddd	d
œZdS )ÚFalconNonTransformerContainerzC
        Non-Transformer layer container for the Falcon model.
    Úword_embÚword_unembedÚfinal_norm_gammaÚfinal_norm_betazword_emb.paramszfinal_norm_gamma.paramszfinal_norm_beta.paramszword_unembed.params)z"transformer.word_embeddings.weightztransformer.ln_f.weightztransformer.ln_f.biaszlm_head.weightN)	r   r   r   r   ÚEmbeddingParameterr   ÚUnembedParameterr   r    r!   r!   r!   r"   r#   <   s   
 
ür#   c                	   @   sh   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< e	ed< e	ed	< d
ddddddddœZ
dS )Ú!FalconNewArchTransformerContainerr   r   r   r   r	   r
   r   Úln_mlp_gammaÚln_mlp_betar   r   r   r   r   r   zln_mlp_gamma.paramszln_mlp_beta.params)r   r   r   r   zln_attn.weightzln_attn.biaszln_mlp.weightzln_mlp.biasN)r   r   r   r   ÚGQAMegatronQKVParameterr   r   r   r   r   r    r!   r!   r!   r"   r*   k   s&   
 
ør*   N)Úcommon_parametersÚlayer_container_baser   r   r#   r*   r!   r!   r!   r"   Ú<module>   s   