Minimal card for now
Browse files
README.md
CHANGED
|
@@ -3,84 +3,8 @@ license: apache-2.0
|
|
| 3 |
base_model: ByteDance-Seed/BAGEL-7B-MoT
|
| 4 |
pipeline_tag: any-to-any
|
| 5 |
library_name: bagel
|
| 6 |
-
tags:
|
| 7 |
-
- bagel
|
| 8 |
-
- bagel-mot
|
| 9 |
-
- thinkmorph-ssl
|
| 10 |
-
- primer
|
| 11 |
-
- multimodal
|
| 12 |
-
- pretext
|
| 13 |
-
datasets:
|
| 14 |
-
- ThinkMorph/Pretext-270K
|
| 15 |
---
|
| 16 |
|
| 17 |
# ThinkMorph-SSL-Base
|
| 18 |
|
| 19 |
-
|
| 20 |
-
step 5,500 of the pretext stage, trained from BAGEL-7B-MoT on
|
| 21 |
-
[Pretext-270K](https://huggingface.co/datasets/ThinkMorph/Pretext-270K). The final model,
|
| 22 |
-
[ThinkMorph-SSL-Instruct](https://huggingface.co/ThinkMorph/ThinkMorph-SSL-Instruct), starts its Stage 2 training from these weights.
|
| 23 |
-
|
| 24 |
-
> **This model has only had pretext training, with no question-answer supervision.** Its
|
| 25 |
-
> exercises take a corrupted input image and output a description, a restored image and a
|
| 26 |
-
> second description. It is not meant to answer questions directly. The paper's appendix
|
| 27 |
-
> reports roughly 40% on V\* and MMMU for this checkpoint. For question answering, use
|
| 28 |
-
> ThinkMorph-SSL-Instruct.
|
| 29 |
-
|
| 30 |
-
## Files
|
| 31 |
-
|
| 32 |
-
| File | Bytes | SHA256 |
|
| 33 |
-
| --- | ---: | --- |
|
| 34 |
-
| `ema.safetensors` | 29,351,872,574 | `f1dd6a3fb88c9145ac8c3d69fd60877cb359ec3996f3a8218580f621e47943ae` |
|
| 35 |
-
| `ae.safetensors` | 167,664,678 | `e49d48aa3474df744ad718d11736d87f38d52bf7ca57dee6b8417978bfbfc9ad` |
|
| 36 |
-
| `config.json` | 5,175 | `4bc85a4daaef591f0b539216d09a1ee2294a1f3a3bda9f95885c13ed191ae701` |
|
| 37 |
-
| `llm_config.json` | 2,136 | `cb884fc65d117b8e5ec3856090224cd739c511e01c5c1de488cede5a54c8e994` |
|
| 38 |
-
| `vit_config.json` | 1,830 | `78664013bf6778ad4ecaebe78c153ef7fd46f7638fa78c0df1cb17d5bd7df0ab` |
|
| 39 |
-
| `generation_config.json` | 243 | `3a8f9087e486054c8a4a08dae2e5a3ba62e23da212b5b8c08bc42cb983c3459f` |
|
| 40 |
-
| `vocab.json` | 3,383,407 | `87a257b04b17642a0688c98cd1df89c398bda4fee532d6f88b38a659ecb4ac8d` |
|
| 41 |
-
| `merges.txt` | 1,671,853 | `8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5` |
|
| 42 |
-
| `added_tokens.json` | 630 | `a0582f48ed8e795fda5b7b8eb2d98b492842dc229e78b66793bf545ce7ec52c8` |
|
| 43 |
-
| `special_tokens_map.json` | 613 | `76862e765266b85aa9459767e33cbaf13970f327a0e88d1c65846c2ddd3a1ecd` |
|
| 44 |
-
| `tokenizer_config.json` | 4,864 | `b7af0d4c9b917db05150006b466cfa2e8424b3915ff5fe2023a6f512a5e16dd5` |
|
| 45 |
-
|
| 46 |
-
All files except `ema.safetensors` are byte-identical to the ThinkMorph-SSL-Instruct release. The
|
| 47 |
-
checkpoint's own config and tokenizer files were compared with those of ThinkMorph-SSL-Instruct and
|
| 48 |
-
are the same. `ema.safetensors` uses the same format as ThinkMorph-SSL-Instruct: 1,451 bfloat16 tensors
|
| 49 |
-
with the same names and shapes. The unused 26th SigLIP layer is left out.
|
| 50 |
-
|
| 51 |
-
## How the file was made
|
| 52 |
-
|
| 53 |
-
1. The source is the FSDP2 checkpoint of run `0503_stage0_270k_32gpu` at step 5,500
|
| 54 |
-
(32 `.distcp` shards, 117,699,388,909 bytes). It holds both the regular weights and the
|
| 55 |
-
EMA weights, all 1,467 tensors of each, in fp32.
|
| 56 |
-
2. `scripts/merge_checkpoint.py --checkpoint-type ema` from the PRIMER code release merged
|
| 57 |
-
the EMA state into a single fp32 `model.safetensors`. All 1,467 weights came from the EMA
|
| 58 |
-
state; none were filled in from a base model.
|
| 59 |
-
3. The 1,451 tensors that ThinkMorph-SSL-Instruct ships were cast once to bfloat16, with no other
|
| 60 |
-
change, and saved as `ema.safetensors`. A spot check confirmed that the cast values match
|
| 61 |
-
exactly. The VAE weights are identical to ThinkMorph-SSL-Instruct's, as expected, because the VAE
|
| 62 |
-
is frozen in both stages.
|
| 63 |
-
|
| 64 |
-
## Training
|
| 65 |
-
|
| 66 |
-
| Item | Value |
|
| 67 |
-
| --- | --- |
|
| 68 |
-
| Run | `0503_stage0_270k_32gpu` |
|
| 69 |
-
| Initialization | BAGEL-7B-MoT (`lmms-lab/BAGEL-7B-MoT-ver.LE` layout and VAE) |
|
| 70 |
-
| Data | Pretext-270K, 270,896 train rows; the val files are not used |
|
| 71 |
-
| GPUs | 32 (4 nodes × 8) |
|
| 72 |
-
| Learning rate | 2.83e-5, warmup 1,000 |
|
| 73 |
-
| Configured horizon | 10,000 steps; this release is the step-5,500 EMA save |
|
| 74 |
-
| EMA | decay 0.9998 from step 1,000, fp32 shadow |
|
| 75 |
-
| Losses | text cross-entropy and image flow matching, weights 1 and 1; VAE frozen |
|
| 76 |
-
|
| 77 |
-
## Loading
|
| 78 |
-
|
| 79 |
-
Loading works the same way as for ThinkMorph-SSL-Instruct. With the official BAGEL inference code or
|
| 80 |
-
the PRIMER code release, point `model_path` at a local copy. The loader reads
|
| 81 |
-
`ema.safetensors`.
|
| 82 |
-
|
| 83 |
-
## License
|
| 84 |
-
|
| 85 |
-
The weights are released under Apache-2.0, following BAGEL-7B-MoT. Pretext-270K has its own
|
| 86 |
-
per-source terms; see its card.
|
|
|
|
| 3 |
base_model: ByteDance-Seed/BAGEL-7B-MoT
|
| 4 |
pipeline_tag: any-to-any
|
| 5 |
library_name: bagel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
---
|
| 7 |
|
| 8 |
# ThinkMorph-SSL-Base
|
| 9 |
|
| 10 |
+
Model weights. More details will be added later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|