botp
/

Solomon / mlx /bf16 /README.md
orz99's picture ArcherHume's picture
Duplicate from DoccyHealth/Solomon
1d2de8a
|
Raw History Blame Contribute Delete
3.06 kB
# Solomon BF16 conversion provenance
This directory retains metadata for the unquantized BF16 conversion. **Backbone
weights are downloaded separately from Qwen; adapter and head weights live at
`adapter/adapter.safetensors` and `adapter/heads.npz` in the repository root.**
This directory is no longer a self-contained loadable model.
Install the source package in [`../`](../) and follow its README. From that
package directory:
```sh
uv sync --frozen --extra dev
SOLOMON_COMMIT=$(uv run python -c 'from huggingface_hub import HfApi; print(HfApi().model_info("DoccyHealth/Solomon").sha)')
uv run solomon-mlx-hub prepare --revision "$SOLOMON_COMMIT" --output models/quality
```
The loader fetches `adapter/**` plus MLX licensing metadata at the pinned Solomon
commit. It obtains the original base from `Qwen/Qwen3.8-27B` at
`1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0`, verifies every base file, and invokes
the included exact converter. Existing original weights can be supplied with
`--base`. Existing valid converted outputs are verified and reused.
The original converter source is `../src/solomon_mlx/prepare.py`. The runtime
source hash recorded in `conversion.json` for this historical conversion is
`648e440cface0838f2dcc8d89b3ab172d97f4ffc1f88fe0b7cbbe3ca73b8a575`. The
current runtime source hash is
`bbcae17fc1c35db80a79d5865133a42ef9a1b0cf342fff71949972e69cce43ec`;
the two differ only by the release documentation edits described in `../README.md`,
which changed no converter behaviour. The new Hub loader is packaged separately so the original
converter remains reproducible. Dependency versions are locked in `../uv.lock`.
Large matrices stay BF16; normalization parameters, `A_log`, and `dt_bias` stay
FP32, with normalization offsets applied after promotion. LoRA is never merged.
`conversion.json` and `binding.json` retain the historical output checksums and
paths, including removed backbone and duplicate adapter paths. The root adapter
and heads are byte-identical to those historical records. The old binding SHA-256
is `6d45715aa040fad98b061ff2cbafb35b047143ef2475646cee3df7a334f4d530`.
New local conversions receive a fresh binding with actual output checksums;
safetensors serialization may differ across CPU and Metal. The historical source
revision `2ec506902269e4636285c8811f6c0f52c9300c0c` is provenance, not a required
future download URL. After a history rewrite, pin the new repository commit.
**Experimental: complete CUDA parity remains pending.** Focused text/image
fixtures and a partial text panel match CUDA decisions. See the dated results in
`../docs/VALIDATION-20260921.md`. No new calibration or temperature fitting is
required or performed. Existing CUDA temperatures are applied identically to both
backends for comparison; CUDA qualification is not inherited.
The historical conversion produced 55,610,774,146 bytes. Focused inference used
about 59.9 GB peak Metal allocation on an M5 Max / 128 GB Mac; larger inputs need
more memory. This is full BF16, without quantization, and does not fit 24–32 GB Macs.