aditi-ps18-state / code /ship2.sh
Sandy-sys's picture
Push 18-19 Aug drift: v10-v13_b adapters, corpora, all 22 gate reports, corrected qat_train.py, STATE_2026-08-21
6c8db72 verified
Raw History Blame Contribute Delete
1.79 kB
#!/bin/bash
set -u
. /workspace/aditi/.env; cd /workspace/aditi
L=logs/ship2.log; say(){ echo "$(date -Is) $*" >> $L; }
say "SHIP v13_b: merge + graft modality"
/venv/main/bin/python build_hybrid.py --text-adapter runs/v13_b/last \
--modality runs/mm_big/last/modality_weights.pt \
--out /workspace/models/aditi-V2-bf16 >> $L 2>&1
say "quantise W4A16 int4/g32"
/workspace/aditi/venv_quant/bin/python quantize_w4a16.py \
--src /workspace/models/aditi-V2-bf16 --out /workspace/models/aditi-V2-w4a16 >> $L 2>&1
/venv/main/bin/python - >> $L 2>&1 <<'PY'
import json
g=json.load(open("/workspace/models/gemma4-qat-w4a16-ct/config.json"))["quantization_config"]["ignore"]
p="/workspace/models/aditi-V2-w4a16/config.json"; c=json.load(open(p))
c["quantization_config"]["ignore"]=g
c.setdefault("vision_config",{}).setdefault("model_patch_size",48)
c["vision_config"].setdefault("num_soft_tokens",280)
c.setdefault("audio_config",{}).setdefault("output_proj_dims",640)
json.dump(c,open(p,"w"),indent=2); print("ignore list + 3 config keys applied")
PY
say "verify load"
CUDA_VISIBLE_DEVICES=0 /venv/main/bin/python - >> $L 2>&1 <<'PY'
import torch,io,contextlib
from transformers import AutoModelForCausalLM
buf=io.StringIO()
with contextlib.redirect_stderr(buf):
m=AutoModelForCausalLM.from_pretrained("/workspace/models/aditi-V2-w4a16",dtype=torch.bfloat16,device_map={"":0})
bad=[l for l in buf.getvalue().splitlines() if "UNEXPECTED" in l or "MISSING" in l]
with torch.no_grad(): m(input_ids=torch.tensor([[2,100,200]],device=0))
print(f"VERIFY mismatches={len(bad)} FORWARD_OK")
PY
say "gate the quantised V2"
CUDA_VISIBLE_DEVICES=0 /venv/main/bin/python harness/score.py \
--model /workspace/models/aditi-V2-w4a16 --name V2_W4A16 --max-items 200 >> $L 2>&1
say "V2 SHIP COMPLETE"