Teen-Different's picture
Add GitHub link to model card
d9dfc1d verified
|
Raw History Blame Contribute Delete
2.3 kB
---
license: mit
library_name: pytorch
tags:
- vision-language
- clip
- qwen2.5
- predictive-coding
- clevr
---
# PCN Bridge Lab Connector Weights
Connector-only weights for CLIP ViT-B/32 to Qwen2.5-0.5B-Instruct CLEVR experiments.
Code, training scripts, results, and plots: https://github.com/REDDITARUN/pcn-bridge-lab
This is an AI-assisted research/engineering experiment with a small human-in-the-loop workflow for direction, review, and decisions.
Base models are not included:
- Vision encoder: `openai/clip-vit-base-patch32`
- Language model: `Qwen/Qwen2.5-0.5B-Instruct`
Each `.pt` file contains only:
- connector state dict
- run config
- best validation loss
- candidate-choice test metrics
Optimizer state and full frozen model weights are intentionally omitted.
## Results
| Rank | Run | Choice Accuracy | File |
|---:|---|---:|---|
| 1 | `pcn-depth3-s1-eqprop-momentum` | `47.2%` | `connectors/pcn-depth3-s1-eqprop-momentum.pt` |
| 2 | `pcn-depth3-s1-adamw` | `46.3%` | `connectors/pcn-depth3-s1-adamw.pt` |
| 3 | `pcn-depth3-s6-adamw` | `45.9%` | `connectors/pcn-depth3-s6-adamw.pt` |
| 4 | `pcn-depth3-s12-eqprop-momentum` | `45.5%` | `connectors/pcn-depth3-s12-eqprop-momentum.pt` |
| 5 | `pcn-depth3-s6-sgd` | `45.5%` | `connectors/pcn-depth3-s6-sgd.pt` |
| 6 | `pcn-depth3-s1-sgd` | `45.2%` | `connectors/pcn-depth3-s1-sgd.pt` |
| 7 | `linear-adamw` | `45.0%` | `connectors/linear-adamw.pt` |
| 8 | `pcn-depth3-s12-sgd` | `45.0%` | `connectors/pcn-depth3-s12-sgd.pt` |
| 9 | `mlp-depth3-adamw` | `43.8%` | `connectors/mlp-depth3-adamw.pt` |
| 10 | `pcn-depth3-s6-eqprop-momentum` | `43.2%` | `connectors/pcn-depth3-s6-eqprop-momentum.pt` |
| 11 | `pcn-depth3-s12-adamw` | `43.0%` | `connectors/pcn-depth3-s12-adamw.pt` |
## Loading
Use the code in the GitHub repository to instantiate `ConnectorVLM`, then load the `connector` state dict from a file in `connectors/`.
```python
import torch
from src.model import ConnectorVLM
ckpt = torch.load('connectors/pcn-depth3-s1-eqprop-momentum.pt', map_location='cpu')
model = ConnectorVLM(ckpt['config'])
model.connector.load_state_dict(ckpt['connector'])
```
## Caveat
The primary metric is candidate-choice accuracy over valid CLEVR answers. Free-form generations remain noisy and should be treated as diagnostic only.