remove conversion internals: report.md
Browse files
report.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
| 1 |
-
# GLiNER-Relex Core ML conversion report
|
| 2 |
-
|
| 3 |
-
- Source: `/Users/jacobwarren/.rig/models/gliner-releax-base`
|
| 4 |
-
- Machine: macOS-26.4-arm64-arm-64bit (arm64)
|
| 5 |
-
- torch 2.10.0, coremltools 8.3.0
|
| 6 |
-
- Precision: FP16 mlprogram, macOS15+, computeUnits=ALL
|
| 7 |
-
- Static wrapper vs PyTorch core forward max |Δlogit|: 0.00000763
|
| 8 |
-
|
| 9 |
-
## Parity (12 sentences, entities@0.4 / relations@0.7, flat_ner=false)
|
| 10 |
-
|
| 11 |
-
| # | sentence | match | ents | rels | max Δ token logit | max Δ rel logit | max Δ score |
|
| 12 |
-
|---|----------|-------|------|------|-------------------|-----------------|-------------|
|
| 13 |
-
| 1 | We migrated the Phoenix app to Oban for background j | yes | 4 | 0 | 0.0380 | 0.0365 | 0.0015 |
|
| 14 |
-
| 2 | Crowdin and Lokalise sync the translations | yes | 3 | 2 | 0.0418 | 0.0517 | 0.0016 |
|
| 15 |
-
| 3 | The JWT is validated by the API gateway | yes | 4 | 0 | 0.0727 | 0.0000 | 0.0060 |
|
| 16 |
-
| 4 | Sarah reviewed the pull request from Marcus | yes | 3 | 3 | 0.0243 | 0.0843 | 0.0040 |
|
| 17 |
-
| 5 | The Eiffel Tower, located in Paris, France, was desi | yes | 4 | 2 | 0.0795 | 0.0723 | 0.0012 |
|
| 18 |
-
| 6 | Maria Kowalski joined Acme Corporation as a staff en | yes | 3 | 1 | 0.0558 | 0.0470 | 0.0000 |
|
| 19 |
-
| 7 | The quarterly review meeting with Dataworks is sched | yes | 4 | 2 | 0.0570 | 0.0299 | 0.0022 |
|
| 20 |
-
| 8 | John from finance approved the budget for the Madrid | yes | 6 | 9 | 0.0794 | 0.0458 | 0.0045 |
|
| 21 |
-
| 9 | Our checkout service depends on the Stripe SDK and R | yes | 5 | 8 | 0.0782 | 0.0531 | 0.0070 |
|
| 22 |
-
| 10 | Elena merged the fix into main.py after Priya review | yes | 3 | 2 | 0.0703 | 0.0482 | 0.0038 |
|
| 23 |
-
| 11 | The staging cluster runs PostgreSQL behind PgBouncer | yes | 5 | 11 | 0.0452 | 0.0378 | 0.0049 |
|
| 24 |
-
| 12 | Tom presented the Atlas roadmap at the Austin headqu | yes | 7 | 4 | 0.0623 | 0.0649 | 0.0041 |
|
| 25 |
-
|
| 26 |
-
Aggregate: max token-logit delta 0.0795, max relation-logit delta 0.0843 (gate < 0.1).
|
| 27 |
-
|
| 28 |
-
## Latency (single Core ML forward, batch 1, 512 tokens)
|
| 29 |
-
|
| 30 |
-
- median 69.7 ms, p90 109.9 ms, min 62.5 ms over 30 runs (after 5 warmup)
|
| 31 |
-
- Full extraction = 2 forwards (entity pass + relation pass) plus NumPy-style decoding.
|
| 32 |
-
|
| 33 |
-
## Deviations from spec
|
| 34 |
-
|
| 35 |
-
- The spec suggested a 320x12 span grid (3840 spans) as model input. This checkpoint is the
|
| 36 |
-
token_level Relex variant: entity logits are per-word BIO logits (start/end/inside), not a
|
| 37 |
-
span grid, and the PyTorch forward extracts candidate spans from those logits *inside* the
|
| 38 |
-
model before scoring relations for pairs of extracted spans. Scoring relations for all
|
| 39 |
-
3840^2 grid pairs is computationally impossible (~14.7M pairs), so the export keeps the
|
| 40 |
-
checkpoint's own contract with a fixed 16-slot span input and a two-pass
|
| 41 |
-
runtime protocol (pass 1 entities -> threshold outside the graph -> pass 2 relations).
|
| 42 |
-
Shapes remain fully static; no thresholding happens inside the graph.
|
| 43 |
-
- Entity-class capacity is 12 and relation capacity 8 (the eval
|
| 44 |
-
set uses 8/4). Unused class columns contain garbage and must be ignored by the runtime.
|
| 45 |
-
- `text_lengths` is (1, 1) to match the collator's column-vector layout.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|