attn_mlp_und, 2-node Plan B, 2026-11)Six newly published snapshots from the two completed 2-node (16-GPU) Step-4c (lora_targets="attn_mlp_und", grad_accum_steps=48, total_steps=312) rank16/rank32 experiments:
| Setting | Step 200 (~65%) | Step 250 (~80%) | Final 312 (100%) |
|---|---|---|---|
LoRA rank 16 (attn_mlp_und) |
model | model | model |
LoRA rank 32 (attn_mlp_und) |
model | model | model |
See step4c_4deac22/README.md for the Step-4c recipe (lora_targets="attn_mlp_und", 392 LoRA + 9 reconstruction = 401 tensors), step numbering (step_000200 / step_000250 after 201 / 251 updates; step_000312_final after 312 updates), loading instructions and complete validation evidence, and the Step-4c six-model manifest for hashes and snapshot identities. All previously published step4_bfab210/ and legacy root snapshots are preserved unchanged below.
Six newly published snapshots from the two completed rank16/rank32 experiments:
See step4_bfab210/README.md for the new recipe, step numbering, loading instructions and complete validation evidence, and the new six-model manifest for hashes and snapshot identities. The new snapshots use NF4, alpha_rec=0, beta_kl=0.02 and num_checkpointed=2; the legacy settings below must not be applied to them. All6 exports contain finite values and changed LoRA A/B weights, with bitwise safetensors conversion checks. Base weights are not included, and no downstream quality improvement is claimed.
The three previously published deltas described below are unchanged. The remainder of this page, including the root manifest and loading_example.py, describes only that legacy rank16/rank32/rank64 snapshot and its original training recipe.
The legacy snapshot contains three trainable-parameter deltas produced by a LoRA-rank sweep on ByteDance-Seed/BAGEL-7B-MoT. The variants use LoRA ranks 16, 32, and 64 and were trained for one 20,000-image epoch with the same settings apart from rank and its corresponding alpha.
These files are not standalone BAGEL models and are not standard PEFT-only adapters. In addition to the Qwen2 attention LoRA tensors, every delta contains the fully trained parameters of BAGEL's closed-loop reconstruction path:
llm2vaevae2llmlatent_pos_embedtime_embedderEach file therefore requires:
ByteDance-Seed/BAGEL-7B-MoT;train_closed_loop.launch; andPeftModel.from_pretrained() alone is not sufficient for these files.
| Variant | Effective LoRA alpha | Tensors | Trainable parameters | Safetensors size | Safetensors SHA256 | Audited state SHA256 |
|---|---|---|---|---|---|---|
rank16 |
32 | 233 | 39,004,736 | 98,227,024 bytes | 6aad4b683ddf1c0f7675976ff7b5110bdcd5c310dcfaf5886dd59ee6d526a330 |
d3f1f997eebef2f9df7d06891736ffee8053171f8344884ba997c15ddddc7d4a |
rank32 |
64 | 233 | 49,097,280 | 138,597,272 bytes | 0a0b0d959a4465fc87495d374339a406a603a861a58de4df25ccc76157fa3f31 |
ea5fa49414c2f71687df295099d135932a2d68b37c083103abe2f66a842e7ce9 |
rank64 |
128 | 233 | 69,282,368 | 219,337,832 bytes | 1b697fa3a8230a9bfff2de5f5ee42507f2c82311c9c1dabf714291f80edf4457 |
f4a90347909b7a34fcab1104324f8c4f911a4dd40b7c9009176232deaadd5efe |
Every variant directory contains:
model.safetensors: the converted trainable delta;hyperparams.json: the effective training arguments recorded by the run;audit_summary.json: the final training-integrity audit; andmanifest.json: source and converted file hashes plus conversion checks.The top-level manifest.json summarizes all variants. The original pickle-based .pt checkpoints are intentionally not published.
The example below uses the exact model construction and parameter naming expected by these deltas.
git clone https://github.com/arj-shriv/BAGEL-VLM.git
cd BAGEL-VLM
git checkout dea110342a1d8bb78983efdf04edff214c3bd8fe
pip install -r requirements.txt
hf download ByteDance-Seed/BAGEL-7B-MoT \
--local-dir pretrained_models/BAGEL-7B-MoT
python /path/to/loading_example.py \
--base-model-path pretrained_models/BAGEL-7B-MoT \
--rank 16 \
--device 0
See loading_example.py for a complete loader. It builds BAGEL, injects LoRA with the matching rank and alpha = 2 * rank, verifies that the trainable key set exactly matches the downloaded delta, then copies all tensors with shape checks.
The example uses bf16 base weights (quantize_nf4=False), matching training. Loading BAGEL this way requires a GPU with enough memory for the base model.
The implementation and configurations come from:
dea110342a1d8bb78983efdf04edff214c3bd8feShared settings:
| Setting | Value |
|---|---|
| Optimizer steps | 500 |
| Images per optimizer step | 40 |
| Caption rollout group size | 8 |
| Learning rate | 2e-5 |
| Seed | 42 |
| Maximum caption length | 256 |
| VAE maximum size | 768 |
| Reconstruction-loss coefficient | 1.0 |
| VAE cosine-similarity reward coefficient | 1.0 |
| Length penalty | 0.0 |
| DINO/SigLIP reward coefficients | 0.0 |
| Base precision | bf16 (quantize_nf4=false) |
| Gradient checkpointing | disabled (num_checkpointed=0) |
| Hardware per run | one node with 8 NVIDIA A800-SXM4-80GB GPUs |
The effective alpha values are 32, 64, and 128 for ranks 16, 32, and 64 respectively, preserving alpha / rank = 2.
The absolute paths in hyperparams.json are original run-time paths and are not portable. Replace them with local paths when reproducing the run.
All three runs completed with a zero entrypoint return code and zero Pod exit code. Their audits verified, per variant:
For publication, each original checkpoint was loaded using torch.load(..., weights_only=True). Its tensor state was written to safetensors, reloaded, and compared tensor by tensor. Key sets, dtypes, shapes, and values were identical, and the recomputed state hash matched the training audit. Exact evidence is recorded in each manifest.json.
The checks above establish training and artifact integrity only. These variants have not yet undergone downstream quality, capability, robustness, or safety evaluation, so this repository does not claim that any rank improves on the base model or on another rank.
The deltas inherit the base model's limitations and may also reflect biases in the training data and objective. They should be evaluated for the intended use case before deployment. The repository does not include the base model, optimizer state, training images, or a generic Transformers/PEFT inference wrapper.
The weights and accompanying files are released under the Apache License 2.0. The base model is also published under Apache 2.0; users must separately comply with the base model's terms and any applicable data or downstream-use requirements.
step4c_4deac22/rank32/step_000200/model.safetensors 219 MBstep4c_4deac22/rank32/step_000250/model.safetensors 219 MBstep4c_4deac22/rank32/step_000312_final/model.safetensors 219 MBrank64/model.safetensors 219 MBstep4c_4deac22/rank16/step_000200/model.safetensors 139 MBstep4c_4deac22/rank16/step_000250/model.safetensors 139 MBstep4c_4deac22/rank16/step_000312_final/model.safetensors 139 MBrank32/model.safetensors 139 MBstep4_bfab210/rank32/step_000250/model.safetensors 98 MBstep4_bfab210/rank32/step_000300/model.safetensors 98 MBstep4_bfab210/rank32/step_000374_final/model.safetensors 98 MBrank16/model.safetensors 98 MBstep4_bfab210/rank16/step_000250/model.safetensors 78 MBstep4_bfab210/rank16/step_000300/model.safetensors 78 MBstep4_bfab210/rank16/step_000374_final/model.safetensors 78 MBByteDance-Seed/BAGEL-7B-MoT