o
    Ti!                     @   sX   d dl mZ ddlmZ ddlmZmZ ddlmZm	Z	 ddl
mZ G d	d
 d
eZdS )    )Any   )RaggedInferenceEngineConfig   )ContainerMapInferenceV2Policy   )MixtralTransformerContainerMixtralNonTransformerContainer)MixtralInferenceModelc                   @   s0   e Zd ZdededefddZdefddZdS )	MixtralPolicyengine_configmp_groupreturnc                 C   s   t | j||dS )N)configr   base_mp_group)r   _model_config)selfr   r    r   o/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/inference/v2/model_implementations/mixtral/policy.pyinstantiate_model   s   zMixtralPolicy.instantiate_modelc                    sL   t  } fddt jjD }|dg| |t j |g  |S )Nc                    s   g | ]}t  jqS r   )r	   model).0_r   r   r   
<listcomp>   s    z5MixtralPolicy.build_container_map.<locals>.<listcomp>zmodel.layers)r   ranger   
num_layersset_transformer_paramsset_non_transformer_paramsr
   set_unmapped_params)r   maptransformer_containersr   r   r   build_container_map   s   
z!MixtralPolicy.build_container_mapN)	__name__
__module____qualname__r   r   r   r   r   r#   r   r   r   r   r      s    r   N)typingr   	config_v2r   inference_policy_baser   r   	containerr	   r
   r   r   r   r   r   r   r   <module>   s   