Add qwen3vl_strip/f2
Browse files
qwen3vl_strip/f2/README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Qwen3-VL 8B line reader: strip, fold 2
|
| 2 |
+
|
| 3 |
+
Adapter package for [`unsloth/Qwen3-VL-8B-Instruct-unsloth-bnb-4bit`](https://huggingface.co/unsloth/Qwen3-VL-8B-Instruct-unsloth-bnb-4bit) at revision `b5b904c3fcdc7541adf2a2bb219b0ed95288c794`.
|
| 4 |
+
Role `qwen3vl_strip`, fold 2 of 5. Input: one image of the whole line (height 160, width up to 5120).
|
| 5 |
+
|
| 6 |
+
| Item | Value |
|
| 7 |
+
|---|---|
|
| 8 |
+
| Format | PEFT LoRA adapter, safetensors: `adapter_model.safetensors` (744 tensors) and `adapter_config.json` |
|
| 9 |
+
| LoRA | rank 32, alpha 32, no dropout, no bias, on the attention and MLP projections of the vision tower and of the language model (720 float32 tensors) |
|
| 10 |
+
| Complete modules | the visual merger and the three deepstack mergers (24 bfloat16 tensors) |
|
| 11 |
+
| Base | `unsloth/Qwen3-VL-8B-Instruct-unsloth-bnb-4bit` @ `b5b904c3fcdc7541adf2a2bb219b0ed95288c794`: Qwen3-VL-8B-Instruct with most language-model linear layers in 4-bit NF4 (bitsandbytes, double quantisation, bfloat16 compute); vision tower, mergers, embeddings and output head in bfloat16. Licence Apache-2.0 |
|
| 12 |
+
| Processor | the base's processor, tokenizer and chat template, unchanged |
|
| 13 |
+
|
| 14 |
+
## Loading
|
| 15 |
+
|
| 16 |
+
No merge and no conversion. `models/qwen3vl/model.py` loads the base with Unsloth's
|
| 17 |
+
`FastVisionModel.from_pretrained(..., load_in_4bit=True)`, builds the same LoRA layout with
|
| 18 |
+
`FastVisionModel.get_peft_model` and loads every tensor of `adapter_model.safetensors` into it,
|
| 19 |
+
checking each one bit for bit. The base is downloaded from its own repository at the revision
|
| 20 |
+
above; it is not part of this package.
|
| 21 |
+
|
| 22 |
+
## Decoding
|
| 23 |
+
|
| 24 |
+
As set in `configs/recipes/qwen3vl_strip.yaml`: each decode process first runs one forward pass without
|
| 25 |
+
gradient on four generated noise lines (recipe key `warmup`; it fixes torch.compile's state and
|
| 26 |
+
changes no weight), then beam search with 4 beams over batches of 4 rows, at most 192 new tokens,
|
| 27 |
+
length penalty 1, no sampling. A row that uses all 192 new tokens has a repeated
|
| 28 |
+
tail cut by the cycle guard; when the guard cannot shorten it, the row is decoded again greedily
|
| 29 |
+
in a fresh process, and if that also uses all 192 tokens the reader gives no answer for the row.
|
| 30 |
+
|
| 31 |
+
## Files
|
| 32 |
+
|
| 33 |
+
| File | Bytes | SHA-256 |
|
| 34 |
+
|---|---:|---|
|
| 35 |
+
| `adapter_model.safetensors` | 731,878,144 | `b4c17217cce4339f47b5db11e6014214583331afc04c3118a009ef545b9b2b2c` |
|
| 36 |
+
| `adapter_config.json` | 1,838 | `069aae4c4abd2f5a1d391cd883287ca25ec0514993f7dd3268b3dffb5bd92005` |
|
qwen3vl_strip/f2/adapter_config.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": {
|
| 6 |
+
"base_model_class": "Qwen3VLForConditionalGeneration",
|
| 7 |
+
"parent_library": "transformers.models.qwen3_vl.modeling_qwen3_vl",
|
| 8 |
+
"unsloth_fixed": true
|
| 9 |
+
},
|
| 10 |
+
"base_model_name_or_path": "unsloth/Qwen3-VL-8B-Instruct-unsloth-bnb-4bit",
|
| 11 |
+
"bias": "none",
|
| 12 |
+
"corda_config": null,
|
| 13 |
+
"ensure_weight_tying": false,
|
| 14 |
+
"eva_config": null,
|
| 15 |
+
"exclude_modules": null,
|
| 16 |
+
"fan_in_fan_out": false,
|
| 17 |
+
"inference_mode": true,
|
| 18 |
+
"init_lora_weights": true,
|
| 19 |
+
"layer_replication": null,
|
| 20 |
+
"layers_pattern": null,
|
| 21 |
+
"layers_to_transform": null,
|
| 22 |
+
"loftq_config": {},
|
| 23 |
+
"lora_alpha": 32,
|
| 24 |
+
"lora_bias": false,
|
| 25 |
+
"lora_dropout": 0,
|
| 26 |
+
"lora_ga_config": null,
|
| 27 |
+
"megatron_config": null,
|
| 28 |
+
"megatron_core": "megatron.core",
|
| 29 |
+
"modules_to_save": [
|
| 30 |
+
"model.visual.merger",
|
| 31 |
+
"model.visual.deepstack_merger_list.0",
|
| 32 |
+
"model.visual.deepstack_merger_list.1",
|
| 33 |
+
"model.visual.deepstack_merger_list.2"
|
| 34 |
+
],
|
| 35 |
+
"monteclora_config": null,
|
| 36 |
+
"peft_type": "LORA",
|
| 37 |
+
"peft_version": "0.20.0",
|
| 38 |
+
"qalora_group_size": 16,
|
| 39 |
+
"r": 32,
|
| 40 |
+
"rank_pattern": {},
|
| 41 |
+
"revision": "b5b904c3fcdc7541adf2a2bb219b0ed95288c794",
|
| 42 |
+
"target_modules": "(?:.*?(?:vision|image|visual|patch|language|text).*?(?:self_attn|attention|attn|mixer|mlp|feed_forward|ffn|dense|mixer).*?(?:qkv|proj|linear_fc1|linear_fc2|q_proj|k_proj|v_proj|o_proj|gate_proj|up_proj|down_proj))|(?:\\bmodel\\.layers\\.[\\d]{1,}\\.(?:self_attn|attention|attn|mixer|mlp|feed_forward|ffn|dense|mixer)\\.(?:(?:qkv|proj|linear_fc1|linear_fc2|q_proj|k_proj|v_proj|o_proj|gate_proj|up_proj|down_proj)))",
|
| 43 |
+
"target_parameters": null,
|
| 44 |
+
"task_type": "CAUSAL_LM",
|
| 45 |
+
"trainable_token_indices": null,
|
| 46 |
+
"use_bdlora": null,
|
| 47 |
+
"use_dora": false,
|
| 48 |
+
"use_qalora": false,
|
| 49 |
+
"use_rslora": false,
|
| 50 |
+
"velora_config": null
|
| 51 |
+
}
|
qwen3vl_strip/f2/adapter_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b4c17217cce4339f47b5db11e6014214583331afc04c3118a009ef545b9b2b2c
|
| 3 |
+
size 731878144
|