nx_nofloat_qwen_bias_probe.nx source
↩ module page · 46 lines · 2776 B
1// nx_nofloat_qwen_bias_probe.nx -- recon: does Qwen2.5 carry Q/K/V projection biases (a known Qwen2 detail
2// my attention omitted)? Reports presence/type/dims of blk.0.attn_{q,k,v}.bias. No hw writes (Rule 26).
3// expect_exit: 0 license_tier: ORIGINAL
4import "nx_syscalls.nx"
5import "nx_tier.nx"
6import "nx_le.nx"
7import "nx_tensor.nx"
8import "nx_gguf.nx"
9import "nx_gguf_load.nx"
10
11func pb_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
12func pb_num(v: i64) -> i64 { let b: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,"-" as *u8,1)} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{b[i]=t[k-1-i];i=i+1} sys_write(1,b,k); return 0 }
13func pb_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n }
14func report(buf: *u8, hdr: *NxGgufHeader, name: *u8) -> i64 {
15 let idx: nx_int = nx_gguf_find_tensor(hdr, name, pb_slen(name))
16 pb_puts(" "); pb_puts(name); pb_puts(" -> ")
17 if idx<0 { pb_puts("NOT FOUND\n"); return 0 }
18 let ti: *NxGgufTensorInfo = nx_gguf_tensor_at(hdr, idx)
19 pb_puts("found type="); pb_num(ti.ggml_type); pb_puts(" dim0="); pb_num(ti.dim_0); pb_puts(" dim1="); pb_num(ti.dim_1); pb_puts("\n")
20 return 1
21}
22
23func main() -> i64 {
24 pb_puts("Probe: Qwen2 Q/K/V projection biases (blk.0.attn_*.bias)?\n\n" as *u8)
25 let path: *u8 = "/home/elderwesto/nx_stage/nx_real_model.gguf\x00" as *u8
26 let len_out: *i64 = sys_mmap(8) as *i64
27 len_out[0]=0
28 let buf: *u8 = sys_read_file(path, len_out)
29 var nq: i64=0; var nk: i64=0; var nv: i64=0
30 if buf != (0 as *u8) { if len_out[0] > 1000 {
31 let hdr: *NxGgufHeader = sys_mmap(NX_GGUF_HDR_BYTES) as *NxGgufHeader
32 if nx_gguf_parse(buf, len_out[0], hdr) == NX_GGUF_OK {
33 nq=report(buf, hdr, "blk.0.attn_q.bias\x00" as *u8)
34 nk=report(buf, hdr, "blk.0.attn_k.bias\x00" as *u8)
35 nv=report(buf, hdr, "blk.0.attn_v.bias\x00" as *u8)
36 }
37 } }
38 pb_puts("\n")
39 var pass: i64=0; var ttl: i64=0
40 ttl=ttl+1; pb_puts(" T1 attn_q.bias present (Qwen2 QKV-bias detail confirmed): "); if nq==1 { pass=pass+1; pb_puts("PASS\n") } else { pb_puts("FAIL (no q bias)\n") }
41 ttl=ttl+1; pb_puts(" T2 attn_k.bias present: "); if nk==1 { pass=pass+1; pb_puts("PASS\n") } else { pb_puts("FAIL\n") }
42 ttl=ttl+1; pb_puts(" T3 attn_v.bias present: "); if nv==1 { pass=pass+1; pb_puts("PASS\n") } else { pb_puts("FAIL\n") }
43 ttl=ttl+1; pb_puts(" T4 the probe ran: "); if buf != (0 as *u8) { pass=pass+1; pb_puts("PASS\n") } else { pb_puts("FAIL\n") }
44 pb_puts("NX-PROBE passed "); pb_num(pass); pb_puts("/"); pb_num(ttl); pb_puts("\n")
45 sys_exit(0); return 0
46}