o
    TÃiW  ã                   @   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                   @   sÖ   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	< e	ed
< e	ed< e	ed< e	ed< i dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“d$d%“d&d'“d(d)“d*d+“d,d-“Z
d.S )/ÚOPTTransformerContainerz<
        Transformer layer container for the OPT model.
    Úqkv_wÚqkv_bÚ
attn_out_wÚ
attn_out_bÚmlp_1_wÚmlp_1_bÚmlp_2_wÚmlp_2_bÚattn_norm_betaÚattn_norm_gammaÚmlp_norm_betaÚmlp_norm_gammazself_attn.q_proj.weightzqkv_w.q_paramszself_attn.q_proj.biaszqkv_b.q_paramszself_attn.k_proj.weightzqkv_w.k_paramszself_attn.k_proj.biaszqkv_b.k_paramszself_attn.v_proj.weightzqkv_w.v_paramszself_attn.v_proj.biaszqkv_b.v_paramszself_attn.out_proj.weightzattn_out_w.paramszself_attn.out_proj.biaszattn_out_b.paramsz
fc1.weightzmlp_1_w.paramszfc1.biaszmlp_1_b.paramsz
fc2.weightzmlp_2_w.paramszfc2.biaszmlp_2_b.paramszself_attn_layer_norm.weightzattn_norm_gamma.paramszself_attn_layer_norm.biaszattn_norm_beta.paramszfinal_layer_norm.weightzmlp_norm_gamma.paramszfinal_layer_norm.biaszmlp_norm_beta.paramsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚUnfusedQKVParameterÚ__annotations__ÚAttentionOutputParameterÚMLP1ParameterÚMLP2ParameterÚNormParameterÚPARAM_MAPPING© r   r   ún/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/inference/v2/model_implementations/opt/container.pyr   *   s^   
 ÿþýüûúùø	÷
öõôóòñðr   c                   @   sL   e Zd ZU dZeed< eed< eed< eed< eed< ddgd	d
ddœZdS )ÚOPTNonTransformerContainerz@
        Non-Transformer layer container for the OPT model.
    Úword_embÚword_emb_posÚword_unembedÚfinal_norm_wÚfinal_norm_bzword_emb.paramszword_unembed.paramszword_emb_pos.paramszfinal_norm_w.paramszfinal_norm_b.params)z*decoder.embed_tokens.weightz*decoder.embed_positions.weightz *decoder.final_layer_norm.weightz*decoder.final_layer_norm.biasN)	r   r   r   r   ÚEmbeddingParameterr   ÚUnembedParameterr   r   r   r   r   r   r   O   s   
 
ür   N)Úcommon_parametersÚlayer_container_baser   r   r   r   r   r   r   Ú<module>   s
    %