DAMO-NLP-SG / DAMO-NLP-SG/VideoLLaMA2

Unable to load *ANY BASE MODEL* in 4bit

Open
#78 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.3k
Forks
90
PR merge metrics
No merged PRs in 30d

Description

Hi VideoLLaMA Team,

I am facing issues while loading all the base models in 4-bit precision. The following lines try to load the ```mm_projector_weights``` which are stored in 16-bit precision into a model that requires the weights in 4bit leading to errors:

*Code used for loading the models for inference*

```python
model_path = 'DAMO-NLP-SG/VideoLLaMA2-8x7B-Base'
model, processor, tokenizer = model_init(model_path, load_4bit=True)
```

*Problematic part of the Code:*
Lines: https://github.com/DAMO-NLP-SG/VideoLLaMA2/blob/main/videollama2/model/__init__.py#L171-L172
```python
mm_projector_weights = load_mm_projector(model_path, token=token)
model.load_state_dict(mm_projector_weights, strict=False)
```

*Error:*
```
RuntimeError: Error(s) in loading state_dict for Videollama2MistralForCausalLM:
size mismatch for model.mm_projector.readout.0.weight: copying a param with shape torch.Size([4096, 4096]) from checkpoint, the shape in current model is torch.Size([8388608, 1]).
size mismatch for model.mm_projector.readout.2.weight: copying a param with shape torch.Size([4096, 4096]) from checkpoint, the shape in current model is torch.Size([8388608, 1]).
```

**How can we use the 16-bit stored weights of the ```mm_projector_weights``` in 4-bit models?**

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.