
    g                     f   d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZh d dlimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~ d dlmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZ  eI            rd d	lmZmZmZmZmZmZmZ d d
lmZmZ d dlmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZmZ  eO            r*d dlmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZmZmZmZ dS )   )(MITA_PROFILING_AVAILABLE_PYTORCH_VERSION
MODEL_NAMEOPTIMIZER_NAMEPROFILE_PATTERN_NAMERNG_STATE_NAMESAFE_MODEL_NAMESAFE_WEIGHTS_INDEX_NAMESAFE_WEIGHTS_NAMESAFE_WEIGHTS_PATTERN_NAMESAMPLER_NAMESCALER_NAMESCHEDULER_NAME!TORCH_DISTRIBUTED_OPERATION_TYPESTORCH_LAUNCH_PARAMSWEIGHTS_INDEX_NAMEWEIGHTS_NAMEWEIGHTS_PATTERN_NAME'XPU_PROFILING_AVAILABLE_PYTORCH_VERSION)AutocastKwargsBnbQuantizationConfigComputeEnvironmentCustomDtypeDataLoaderConfigurationDDPCommunicationHookTypeDeepSpeedPluginDistributedDataParallelKwargsDistributedTypeDynamoBackendFP8RecipeKwargsFullyShardedDataParallelPluginGradientAccumulationPluginGradScalerKwargsInitProcessGroupKwargsKwargsHandler
LoggerTypeMegatronLMPluginPrecisionTypeProfileKwargsProjectConfigurationRNGTypeSageMakerDistributedTypeTensorInformationTorchDynamoPlugin#add_model_config_to_megatron_parser)are_libraries_initializedcheck_cuda_p2p_ib_supportcheck_fp8_capabilityconvert_dict_to_env_variablesget_cpu_distributed_informationget_gpu_infoget_int_from_envparse_choice_from_envparse_flag_from_envset_numa_affinitystr_to_bool).deepspeed_requiredget_ccl_versionis_4bit_bnb_availableis_8bit_bnb_availableis_aim_availableis_bf16_available'is_bitsandbytes_multi_backend_availableis_bnb_availableis_boto3_availableis_ccl_availableis_clearml_availableis_comet_ml_availableis_cuda_availableis_datasets_availableis_deepspeed_availableis_dvclive_availableis_fp8_availableis_import_timer_availableis_ipex_availableis_lomo_availableis_megatron_lm_availableis_mlflow_availableis_mlu_availableis_mps_availableis_msamp_availableis_musa_availableis_npu_availableis_pandas_availableis_peft_availableis_pippy_availableis_pynvml_availableis_pytest_availableis_rich_availableis_sagemaker_availableis_schedulefree_availableis_tensorboard_availableis_timm_availableis_torch_xla_availableis_torchdata_available*is_torchdata_stateful_dataloader_availableis_torchvision_availableis_transformer_engine_availableis_transformers_availableis_triton_availableis_wandb_availableis_xpu_available)calculate_maximum_sizescheck_device_mapcheck_tied_parameters_in_config$check_tied_parameters_on_same_devicecompute_module_sizesconvert_file_size_to_intdtype_byte_sizefind_tied_parametersget_balanced_memoryget_max_layer_sizeget_max_memory#get_mixed_precision_context_managerid_tensor_storageinfer_auto_device_mapis_peft_modelload_checkpoint_in_modelload_offloaded_weightsload_state_dictnamed_module_tensorsretie_parametersset_module_tensor_to_device)OffloadedWeightsLoaderPrefixedDatasetextract_submodules_state_dictload_offloaded_weightoffload_state_dictoffload_weightsave_offload_index)CannotPadNestedTensorWarningGatheredParameters	broadcastbroadcast_object_listconcatenateconvert_outputs_to_fp32convert_to_fp32copy_tensor_to_devicesfind_batch_sizefind_devicegathergather_objectget_data_structure
honor_typeignorant_find_batch_sizeinitialize_tensorsis_namedtupleis_tensor_informationis_torch_tensorlistifypad_across_processespad_input_tensorsrecursively_applyreducesend_to_deviceslice_tensors)compare_versionsis_torch_version)DeepSpeedEngineWrapperDeepSpeedOptimizerWrapperDeepSpeedSchedulerWrapper
DummyOptimDummySchedulerHfDeepSpeedConfigget_active_deepspeed_plugin)has_4bit_bnb_layersload_and_quantize_model)"disable_fsdp_ram_efficient_loading!enable_fsdp_ram_efficient_loadingload_fsdp_modelload_fsdp_optimizermerge_fsdp_weightssave_fsdp_modelsave_fsdp_optimizer)PrepareForLaunch_filter_argsprepare_deepspeed_cmd_envprepare_multi_gpu_envprepare_sagemager_args_inputsprepare_simple_launcher_cmd_envprepare_tpu)AbstractTrainStepBertTrainStepGPTTrainStepMegatronLMDummyDataLoaderMegatronLMDummySchedulerT5TrainStep%avg_losses_across_data_parallel_group)MegatronEngineMegatronLMOptimizerWrapperMegatronLMSchedulerWrapper"gather_across_data_parallel_groups)
initialize)prepare_data_loader)!prepare_model_optimizer_scheduler)prepare_optimizer)prepare_scheduler)find_executable_batch_sizerelease_memory)check_os_kernel clean_state_dict_for_safetensorsclear_environmentconvert_bytesextract_model_from_parallelget_pretty_nameis_port_in_usemerge_dictspatch_environmentrecursive_getattrsavewait_for_everyonewrite_basic_config)set_seedsynchronize_rng_statesynchronize_rng_states)install_xla)tqdm)apply_fp8_autowrapcontextual_fp8_autocastconvert_modelhas_transformer_engine_layersN)	constantsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   dataclassesr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   environmentr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   importsr:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   modelingrh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   offloadr}   r~   r   r   r   r   r   
operationsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   versionsr   r   	deepspeedr   r   r   r   r   r   r   bnbr   r   
fsdp_utilsr   r   r   r   r   r   r   launchr   r   r   r   r   r   r   megatron_lmr   r   r   r   r   r   r   r   r   r   r   r   megatron_lm_initializer   megatron_lm_prepare_data_loaderr   -megatron_lm_prepare_model_optimizer_schedulerr   megatron_lm_prepare_optimizerr   megatron_lm_prepare_schedulermemoryr   r   otherr   r   r   r   r   r   r   r   r   r   r   r   r   randomr   r   r   	torch_xlar   r   transformer_enginer   r   r   r        U/var/www/html/ai-engine/env/lib/python3.11/site-packages/accelerate/utils/__init__.py<module>r      s5
                                         (                                                       8                         / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /`                                             .                                                                        8 9 8 8 8 8 8 8 8  	                  > = = = = = = =                                                     P            BAAAAASSSSSSooooooOOOOOOOOOOOO > > > > > > > >                              L K K K K K K K K K " " " " " "                   r   