config: (): colpali_engine.trainer.colmodel_training.ColModelTrainingConfig output_dir: !path ../../../models/colpali-pt-448-256 processor: (): colpali_engine.utils.transformers_wrappers.AllPurposeWrapper class_to_instanciate: !ext colpali_engine.models.ColPaliProcessor pretrained_model_name_or_path: "./models/colpaligemma-3b-pt-448-base" model: (): colpali_engine.utils.transformers_wrappers.AllPurposeWrapper class_to_instanciate: !ext colpali_engine.models.ColPali pretrained_model_name_or_path: "./models/colpaligemma-3b-pt-448-base" torch_dtype: !ext torch.bfloat16 attn_implementation: "flash_attention_2" # device_map: "auto" # quantization_config: # (): transformers.BitsAndBytesConfig # load_in_4bit: true # bnb_4bit_quant_type: "nf4" # bnb_4bit_compute_dtype: "bfloat16" # bnb_4bit_use_double_quant: true dataset_loading_func: !ext colpali_engine.utils.dataset_transformation.load_train_set eval_dataset_loader: !import ../data/test_data.yaml max_length: 50 run_eval: true loss_func: (): colpali_engine.loss.late_interaction_losses.ColbertPairwiseCELoss tr_args: (): transformers.training_args.TrainingArguments output_dir: null overwrite_output_dir: true num_train_epochs: 3 per_device_train_batch_size: 64 gradient_checkpointing: true gradient_checkpointing_kwargs: { "use_reentrant": false } # 6 x 8 gpus = 48 batch size # gradient_accumulation_steps: 4 per_device_eval_batch_size: 64 eval_strategy: "steps" dataloader_num_workers: 8 # bf16: true save_steps: 500 logging_steps: 10 eval_steps: 100 warmup_steps: 100 learning_rate: 5e-4 save_total_limit: 1 resume_from_checkpoint: false report_to: "wandb" peft_config: (): peft.LoraConfig r: 32 lora_alpha: 32 lora_dropout: 0.1 init_lora_weights: "gaussian" bias: "none" task_type: "FEATURE_EXTRACTION" target_modules: '(.*(language_model).*(down_proj|gate_proj|up_proj|k_proj|q_proj|v_proj|o_proj).*$|.*(custom_text_proj).*$)' # target_modules: '(.*(language_model).*(down_proj|gate_proj|up_proj|k_proj|q_proj|v_proj|o_proj).*$|.*(custom_text_proj).*$)'