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                
   @   sZ   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dddœ	Z
dS )ÚMistralTransformerContainerz@
        Transformer layer container for the Mistral model.
    Úqkv_wÚ
attn_out_wÚmlp_1_wÚmlp_2_wÚattn_norm_gammaÚmlp_norm_gammazqkv_w.q_paramszqkv_w.k_paramszqkv_w.v_paramszattn_out_w.paramszmlp_1_w.gate_paramszmlp_1_w.up_paramszmlp_2_w.paramszattn_norm_gamma.paramszmlp_norm_gamma.params)	zself_attn.q_proj.weightzself_attn.k_proj.weightzself_attn.v_proj.weightzself_attn.o_proj.weightzmlp.gate_proj.weightzmlp.up_proj.weightzmlp.down_proj.weightzinput_layernorm.weightzpost_attention_layernorm.weightN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚUnfusedQKVParameterÚ__annotations__ÚAttentionOutputParameterÚGatedMLPParameterÚMLP2ParameterÚNormParameterÚPARAM_MAPPING© r   r   úr/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/inference/v2/model_implementations/mistral/container.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 )
ÚMistralNonTransformerContainerzD
        Non-Transformer layer container for the Mistral model.
    Úword_embÚword_unembedÚ
final_normzword_emb.paramszfinal_norm.paramszword_unembed.params)zmodel.embed_tokens.weightzmodel.norm.weightzlm_head.weightN)	r   r   r   r   ÚEmbeddingParameterr   ÚUnembedParameterr   r   r   r   r   r   r   A   s   
 
ýr   N)Ú>deepspeed.inference.v2.model_implementations.common_parametersÚAdeepspeed.inference.v2.model_implementations.layer_container_baser   r   r   r   r   r   r   Ú<module>   s
   