File size: 1,794 Bytes
6c8db72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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"