Fine tuning with LORA

#33
by ksooklall - opened

I am trying to fine tune blip2 with image as input as text as output with the following code

    quantization_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.bfloat16)
    processor = AutoProcessor.from_pretrained("Salesforce/blip2-opt-2.7b")
    model = Blip2ForConditionalGeneration.from_pretrained("Salesforce/blip2-opt-2.7b", quantization_config=quantization_config, device_map={'':0})
    return model, processor

    config = LoraConfig(r=16, lora_alpha=32, lora_dropout=0.10, bias="none", target_modules=["q_proj", "k_proj"])

    model, processor = get_model_processor(model)
    model = get_peft_model(model, config)
    model.print_trainable_parameters()

I have been playing around with r and lora_alpha values and got "ok" results. Does anyone have experience setting these values? . Also what would the task_type be for the LoraConfig.

hi, Could you please make all the codes public? I'm currently working on fine-tune blip2 on the vqa task, thank you.

Refer to the demo notebooks here: https://github.com/NielsRogge/Transformers-Tutorials/tree/master/BLIP-2

hi, I looked at it, but I found that it was for the caption task, and I tried to change it to the vqa task, but it failed.

How should we fine-tune this model for VQA. The above link is helpful for inference.
I found this resource but it is for BLIP : https://github.com/dino-chiio/blip-vqa-finetune/blob/main/finetuning.py
I need to know while fine-tuning do we pass Question : Answer : both to the "text" param in the processor or just the questions and encode the answers as labels?

Sign up or log in to comment