SYSTEM = '' accumulative_counts = 8 batch_size = 4 betas = ( 0.9, 0.999, ) custom_hooks = [ dict( tokenizer=dict( padding_side='right', pretrained_model_name_or_path='internlm/internlm2-chat-1_8b', trust_remote_code=True, type='transformers.AutoTokenizer.from_pretrained'), type='xtuner.engine.hooks.DatasetInfoHook'), dict( evaluation_images='https://llava-vl.github.io/static/images/view.jpg', evaluation_inputs=[ '请描述一下这张照片', 'Please describe this picture', ], every_n_iters=500, image_processor=dict( pretrained_model_name_or_path='google/siglip-so400m-patch14-384', trust_remote_code=True, type='transformers.SiglipImageProcessor.from_pretrained'), prompt_template='xtuner.utils.PROMPT_TEMPLATE.internlm2_chat', system='', tokenizer=dict( padding_side='right', pretrained_model_name_or_path='internlm/internlm2-chat-1_8b', trust_remote_code=True, type='transformers.AutoTokenizer.from_pretrained'), type='xtuner.engine.hooks.EvaluateChatHook'), ] data_path = './LLaVA-Instruct-150K/llava_v1_5_mix665k.json' data_root = './' dataloader_num_workers = 4 default_hooks = dict( checkpoint=dict( by_epoch=False, interval=500, max_keep_ckpts=2, type='mmengine.hooks.CheckpointHook'), logger=dict( interval=10, log_metric_by_epoch=False, type='mmengine.hooks.LoggerHook'), param_scheduler=dict(type='mmengine.hooks.ParamSchedulerHook'), sampler_seed=dict(type='mmengine.hooks.DistSamplerSeedHook'), timer=dict(type='mmengine.hooks.IterTimerHook')) env_cfg = dict( cudnn_benchmark=False, dist_cfg=dict(backend='nccl'), mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0)) evaluation_freq = 500 evaluation_images = 'https://llava-vl.github.io/static/images/view.jpg' evaluation_inputs = [ '请描述一下这张照片', 'Please describe this picture', ] image_folder = './llava_images' image_processor = dict( pretrained_model_name_or_path='google/siglip-so400m-patch14-384', trust_remote_code=True, type='transformers.SiglipImageProcessor.from_pretrained') launcher = 'pytorch' llava_dataset = dict( data_path='./LLaVA-Instruct-150K/llava_v1_5_mix665k.json', dataset_map_fn='xtuner.dataset.map_fns.llava_map_fn', image_folder='./llava_images', image_processor=dict( pretrained_model_name_or_path='google/siglip-so400m-patch14-384', trust_remote_code=True, type='transformers.SiglipImageProcessor.from_pretrained'), max_length=1472, pad_image_to_square=True, template_map_fn=dict( template='xtuner.utils.PROMPT_TEMPLATE.internlm2_chat', type='xtuner.dataset.map_fns.template_map_fn_factory'), tokenizer=dict( padding_side='right', pretrained_model_name_or_path='internlm/internlm2-chat-1_8b', trust_remote_code=True, type='transformers.AutoTokenizer.from_pretrained'), type='xtuner.dataset.LLaVADataset') llm_name_or_path = 'internlm/internlm2-chat-1_8b' load_from = None log_level = 'INFO' log_processor = dict(by_epoch=False) lr = 0.0002 max_epochs = 1 max_length = 1472 max_norm = 1 model = dict( freeze_llm=True, freeze_visual_encoder=True, llm=dict( pretrained_model_name_or_path='internlm/internlm2-chat-1_8b', quantization_config=dict( bnb_4bit_compute_dtype='torch.float16', bnb_4bit_quant_type='nf4', bnb_4bit_use_double_quant=True, llm_int8_has_fp16_weight=False, llm_int8_threshold=6.0, load_in_4bit=True, load_in_8bit=False, type='transformers.BitsAndBytesConfig'), torch_dtype='torch.float16', trust_remote_code=True, type='transformers.AutoModelForCausalLM.from_pretrained'), llm_lora=dict( bias='none', lora_alpha=256, lora_dropout=0.05, r=512, task_type='CAUSAL_LM', type='peft.LoraConfig'), pretrained_pth='./work_dirs/pretrain/iter_8721.pth', type='xtuner.model.LLaVAModel', visual_encoder=dict( pretrained_model_name_or_path='google/siglip-so400m-patch14-384', type='transformers.SiglipVisionModel.from_pretrained'), visual_encoder_lora=dict( bias='none', lora_alpha=16, lora_dropout=0.05, r=64, type='peft.LoraConfig')) optim_type = 'torch.optim.AdamW' optim_wrapper = dict( optimizer=dict( betas=( 0.9, 0.999, ), lr=0.0002, type='torch.optim.AdamW', weight_decay=0), type='DeepSpeedOptimWrapper') param_scheduler = [ dict( begin=0, by_epoch=True, convert_to_iter_based=True, end=0.03, start_factor=1e-05, type='mmengine.optim.LinearLR'), dict( begin=0.03, by_epoch=True, convert_to_iter_based=True, end=1, eta_min=0.0, type='mmengine.optim.CosineAnnealingLR'), ] prefetch = 5 pretrained_pth = './work_dirs/pretrain/iter_8721.pth' prompt_template = 'xtuner.utils.PROMPT_TEMPLATE.internlm2_chat' randomness = dict(deterministic=False, seed=None) resume = False runner_type = 'FlexibleRunner' save_steps = 500 save_total_limit = 2 strategy = dict( config=dict( bf16=dict(enabled=True), fp16=dict(enabled=False, initial_scale_power=16), gradient_accumulation_steps='auto', gradient_clipping='auto', train_micro_batch_size_per_gpu='auto', zero_allow_untested_optimizer=True, zero_force_ds_cpu_optimizer=False, zero_optimization=dict(overlap_comm=True, stage=2)), exclude_frozen_parameters=True, gradient_accumulation_steps=8, gradient_clipping=1, train_micro_batch_size_per_gpu=4, type='xtuner.engine.DeepSpeedStrategy') tokenizer = dict( padding_side='right', pretrained_model_name_or_path='internlm/internlm2-chat-1_8b', trust_remote_code=True, type='transformers.AutoTokenizer.from_pretrained') train_cfg = dict(max_epochs=1, type='xtuner.engine.runner.TrainLoop') train_dataloader = dict( batch_size=4, collate_fn=dict(type='xtuner.dataset.collate_fns.default_collate_fn'), dataset=dict( data_path='./LLaVA-Instruct-150K/llava_v1_5_mix665k.json', dataset_map_fn='xtuner.dataset.map_fns.llava_map_fn', image_folder='./llava_images', image_processor=dict( pretrained_model_name_or_path='google/siglip-so400m-patch14-384', trust_remote_code=True, type='transformers.SiglipImageProcessor.from_pretrained'), max_length=1472, pad_image_to_square=True, template_map_fn=dict( template='xtuner.utils.PROMPT_TEMPLATE.internlm2_chat', type='xtuner.dataset.map_fns.template_map_fn_factory'), tokenizer=dict( padding_side='right', pretrained_model_name_or_path='internlm/internlm2-chat-1_8b', trust_remote_code=True, type='transformers.AutoTokenizer.from_pretrained'), type='xtuner.dataset.LLaVADataset'), num_workers=4, prefetch_factor=5, sampler=dict( length_property='modality_length', per_device_batch_size=32, type='xtuner.dataset.samplers.LengthGroupedSampler')) visual_encoder_name_or_path = 'google/siglip-so400m-patch14-384' visualizer = dict( type='mmengine.visualization.Visualizer', vis_backends=[ dict(type='mmengine.visualization.TensorboardVisBackend'), ]) warmup_ratio = 0.03 weight_decay = 0 work_dir = './work_dirs/finetune'