mlx-bun 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +362 -0
- package/THIRD_PARTY_LICENSES.md +41 -0
- package/bin/mlx-bun.mjs +32 -0
- package/docs/curve-designer.html +303 -0
- package/docs/design/adapters-end-to-end.md +201 -0
- package/docs/design/compat-cli-surface-design.md +227 -0
- package/docs/design/docs-reorg-plan.md +152 -0
- package/docs/design/hlg-sampling.md +340 -0
- package/docs/design/memory-system.md +339 -0
- package/docs/design/optimization_plan.md +344 -0
- package/docs/design/parallel-slots.md +515 -0
- package/docs/design/runtime-isolation.md +247 -0
- package/docs/design/segmented-backward-training.md +508 -0
- package/docs/investigations/chunk-finetune-experiment.md +84 -0
- package/docs/investigations/curve-bisector-routing.md +123 -0
- package/docs/investigations/curve-runs/bisector-route.json +98 -0
- package/docs/investigations/curve-runs/bisector-trace.json +1393 -0
- package/docs/investigations/curve-runs/curve-terrain.json +1179 -0
- package/docs/investigations/curve-runs/curve-terrain.svg +42 -0
- package/docs/investigations/curve-terrain.html +105 -0
- package/docs/investigations/expert-offload-single-user-moe.md +292 -0
- package/docs/investigations/hlg-ab.html +34 -0
- package/docs/investigations/hlg-explorer.html +238 -0
- package/docs/investigations/hlg-figs/cliff.svg +1 -0
- package/docs/investigations/hlg-figs/cross.svg +1 -0
- package/docs/investigations/hlg-figs/edges.svg +1 -0
- package/docs/investigations/hlg-figs/k20-grids.svg +1 -0
- package/docs/investigations/hlg-figs/k20-peaks.svg +1 -0
- package/docs/investigations/hlg-figs/lw-curve.svg +1 -0
- package/docs/investigations/hlg-figs/terrain.svg +1 -0
- package/docs/investigations/hlg-report.html +262 -0
- package/docs/investigations/hlg-runs/hlg-ab.json +149 -0
- package/docs/investigations/hlg-runs/hlg-blind-prompts.md +87 -0
- package/docs/investigations/hlg-runs/hlg-blind.json +107 -0
- package/docs/investigations/hlg-runs/hlg-cliff.json +197 -0
- package/docs/investigations/hlg-runs/hlg-cross.json +505 -0
- package/docs/investigations/hlg-runs/hlg-edge.json +388 -0
- package/docs/investigations/hlg-runs/hlg-eval1.json +25 -0
- package/docs/investigations/hlg-runs/hlg-frontier.json +86 -0
- package/docs/investigations/hlg-runs/hlg-grid.json +242 -0
- package/docs/investigations/hlg-runs/hlg-grid2.json +343 -0
- package/docs/investigations/hlg-runs/hlg-lw-coarse.json +110 -0
- package/docs/investigations/hlg-runs/hlg-map.json +383 -0
- package/docs/investigations/hlg-runs/run0-original.log +159 -0
- package/docs/investigations/hlg-runs/runA-recommended.log +131 -0
- package/docs/investigations/hlg-runs/runAA-cliff-cpm5.log +26 -0
- package/docs/investigations/hlg-runs/runAB-grid2-e4b.log +18 -0
- package/docs/investigations/hlg-runs/runAC-peak-e4b-partial.log +25 -0
- package/docs/investigations/hlg-runs/runAD-ab-samples.log +8 -0
- package/docs/investigations/hlg-runs/runAE-edge-e4b.log +51 -0
- package/docs/investigations/hlg-runs/runAF-logit-calibration.log +10 -0
- package/docs/investigations/hlg-runs/runAG-eval-config2.log +16 -0
- package/docs/investigations/hlg-runs/runB-gain-variants.log +192 -0
- package/docs/investigations/hlg-runs/runC-pivots.log +162 -0
- package/docs/investigations/hlg-runs/runD-oetf.log +132 -0
- package/docs/investigations/hlg-runs/runE-eotf.log +162 -0
- package/docs/investigations/hlg-runs/runF-shaper-working.log +86 -0
- package/docs/investigations/hlg-runs/runG-shaper-sweep.log +101 -0
- package/docs/investigations/hlg-runs/runH-wsweep.log +176 -0
- package/docs/investigations/hlg-runs/runI-asweep.log +176 -0
- package/docs/investigations/hlg-runs/runJ-knobmap.log +49 -0
- package/docs/investigations/hlg-runs/runK-frontier.log +19 -0
- package/docs/investigations/hlg-runs/runL-widemap.log +65 -0
- package/docs/investigations/hlg-runs/runM-frontier-emb.log +15 -0
- package/docs/investigations/hlg-runs/runN-verify.log +116 -0
- package/docs/investigations/hlg-runs/runO-frontier-seed5000.log +15 -0
- package/docs/investigations/hlg-runs/runP-grid-AxSm.log +15 -0
- package/docs/investigations/hlg-runs/runQ-grid-tgW.log +15 -0
- package/docs/investigations/hlg-runs/runR-blind-transcript.log +79 -0
- package/docs/investigations/hlg-runs/runS-cross-coherence.log +33 -0
- package/docs/investigations/hlg-runs/runT-cross-cpm5.log +33 -0
- package/docs/investigations/hlg-runs/runU-cross-12b.log +33 -0
- package/docs/investigations/hlg-runs/runV-lw-e4b.log +22 -0
- package/docs/investigations/hlg-runs/runW-lw-12b.log +22 -0
- package/docs/investigations/hlg-runs/runX-lw-cpm5.log +22 -0
- package/docs/investigations/hlg-runs/runY-cliff-e4b.log +26 -0
- package/docs/investigations/hlg-runs/runZ-cliff-12b.log +26 -0
- package/docs/investigations/hlg-sampling-investigation.md +970 -0
- package/docs/investigations/lab-build-journal.md +157 -0
- package/docs/investigations/pi-builtin-investigation.md +308 -0
- package/docs/investigations/starter-model-port-handoff.md +323 -0
- package/docs/planning/IDEAS.md +26 -0
- package/docs/planning/PRODUCT_ROADMAP.md +426 -0
- package/docs/planning/ResearchTopics.md +119 -0
- package/docs/planning/chunk-task-roadmap.md +77 -0
- package/docs/planning/journal.md +155 -0
- package/docs/reference/distribution.md +121 -0
- package/docs/reference/embedding.md +168 -0
- package/docs/reference/library-api.md +153 -0
- package/docs/reference/server-api.md +224 -0
- package/docs/reference/server-config.md +243 -0
- package/docs/segmented-backward-handoff.md +148 -0
- package/package.json +68 -0
- package/src/anthropic.ts +491 -0
- package/src/chat-template.ts +186 -0
- package/src/cli.ts +1075 -0
- package/src/config.ts +229 -0
- package/src/curve-sampler.ts +122 -0
- package/src/dataset/generators.ts +1087 -0
- package/src/dataset/index.ts +12 -0
- package/src/dataset/job.ts +81 -0
- package/src/dataset/llm.ts +71 -0
- package/src/dataset/registry.ts +528 -0
- package/src/download.ts +283 -0
- package/src/eval/README.md +86 -0
- package/src/eval/kl-prompts.ts +29 -0
- package/src/eval/kl.ts +294 -0
- package/src/eval/quality-db.ts +92 -0
- package/src/eval/runner.ts +102 -0
- package/src/eval/score.ts +49 -0
- package/src/eval/tasks/bfcl.ts +500 -0
- package/src/eval/tasks/gsm8k.ts +85 -0
- package/src/eval/tasks/hashhop.ts +109 -0
- package/src/eval/tasks/humaneval.ts +252 -0
- package/src/eval/tasks/ifeval.ts +354 -0
- package/src/eval/tasks/mmlu.ts +145 -0
- package/src/evaldb.ts +199 -0
- package/src/expert-offload-build.ts +77 -0
- package/src/expert-offload.ts +61 -0
- package/src/expert-trace.ts +67 -0
- package/src/fit.ts +254 -0
- package/src/generate.ts +451 -0
- package/src/harness-pi.ts +177 -0
- package/src/hf-push.ts +628 -0
- package/src/index.ts +22 -0
- package/src/jobs/db.ts +139 -0
- package/src/jobs/index.ts +29 -0
- package/src/jobs/job-entry.ts +106 -0
- package/src/jobs/runner.ts +304 -0
- package/src/jobs/sse.ts +114 -0
- package/src/jobs/types.ts +58 -0
- package/src/kv-store.ts +185 -0
- package/src/lora.ts +314 -0
- package/src/md-modules.d.ts +7 -0
- package/src/mlx/array.ts +237 -0
- package/src/mlx/autograd.ts +267 -0
- package/src/mlx/checkpoint.ts +116 -0
- package/src/mlx/compile.ts +158 -0
- package/src/mlx/custom-vjp.ts +140 -0
- package/src/mlx/ffi.ts +433 -0
- package/src/mlx/metal-kernel.ts +130 -0
- package/src/mlx/ops.ts +707 -0
- package/src/mmap.ts +90 -0
- package/src/model/batched-mask.ts +204 -0
- package/src/model/batched-rotating.ts +300 -0
- package/src/model/compiled-decode.ts +681 -0
- package/src/model/factory.ts +27 -0
- package/src/model/fingerprint.ts +33 -0
- package/src/model/flash-attention.ts +674 -0
- package/src/model/fused-decode-kernel.ts +305 -0
- package/src/model/fused-geglu-kernel.ts +87 -0
- package/src/model/gemma4-base.ts +1616 -0
- package/src/model/gemma4.ts +1012 -0
- package/src/model/generated/gemma4-12b.ts +526 -0
- package/src/model/generated/gemma4-26b.ts +500 -0
- package/src/model/generated/gemma4-e4b.ts +757 -0
- package/src/model/generated/index.ts +18 -0
- package/src/model/minicpm5.ts +278 -0
- package/src/model/qwen3-delta.ts +224 -0
- package/src/model/qwen3_5.ts +429 -0
- package/src/model/support.ts +46 -0
- package/src/native-pack.ts +152 -0
- package/src/pi-provider.ts +95 -0
- package/src/pi-terminal.ts +264 -0
- package/src/pi-web.ts +924 -0
- package/src/preflight.ts +123 -0
- package/src/prompt-cache.ts +113 -0
- package/src/quantize/allocator.ts +627 -0
- package/src/quantize/calibration.ts +180 -0
- package/src/quantize/config-writer.ts +132 -0
- package/src/quantize/index.ts +57 -0
- package/src/quantize/job.ts +136 -0
- package/src/quantize/quantizer.ts +462 -0
- package/src/quantize/safetensors-writer.ts +171 -0
- package/src/quantize/sensitivity.ts +234 -0
- package/src/registry.ts +336 -0
- package/src/responses.ts +774 -0
- package/src/safetensors.ts +158 -0
- package/src/sampler.ts +517 -0
- package/src/serve/batch-scheduler.ts +362 -0
- package/src/serve/generation-gateway.ts +160 -0
- package/src/server.ts +1891 -0
- package/src/spec/drafter.ts +261 -0
- package/src/spec/generate.ts +221 -0
- package/src/status-page.html +497 -0
- package/src/tokenizer.ts +38 -0
- package/src/tool-call.ts +242 -0
- package/src/train/dataset.ts +461 -0
- package/src/train/export.ts +32 -0
- package/src/train/forward.ts +229 -0
- package/src/train/index.ts +43 -0
- package/src/train/job.ts +148 -0
- package/src/train/lora-params.ts +194 -0
- package/src/train/loss.ts +342 -0
- package/src/train/merge.ts +195 -0
- package/src/train/optimizer.ts +176 -0
- package/src/train/rank.ts +101 -0
- package/src/train/segmented.ts +520 -0
- package/src/train/trainer.ts +600 -0
- package/src/tui.ts +161 -0
- package/src/vision/embedder.ts +168 -0
- package/src/vision/preprocess.ts +247 -0
- package/src/vision/prompt.ts +158 -0
- package/src/vision/siglip.ts +599 -0
- package/src/web/app.html +2471 -0
- package/src/web/skills/web-research/SKILL.md +44 -0
- package/src/web/skills.ts +59 -0
- package/src/web-tools.ts +426 -0
- package/src/weights.ts +91 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Curve sampler: bisectors, routing, and the falsification
|
|
2
|
+
|
|
3
|
+
**Question.** The v2 log-prob transfer-curve sampler (`src/curve-sampler.ts`, the
|
|
4
|
+
`/curves` designer) replaces temperature+softmax with a drawn monotone curve. It
|
|
5
|
+
*feels* like it reaches outputs temperature can't. Three experiments ask: is that
|
|
6
|
+
real, where does it come from, and is the mechanism "routing through forks"?
|
|
7
|
+
|
|
8
|
+
All runs: `mlx-community/gemma-4-e4b-it-OptiQ-4bit` (e4b), greedy reference paths,
|
|
9
|
+
the local server / direct model load. Scripts are reusable (swap the `PROMPTS`).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Can pure temperature reproduce a curve's output? — No.
|
|
14
|
+
|
|
15
|
+
`scripts/curve-temp-match.ts`, `curve-temp-seedsearch.ts`, `curve-temp-grid.ts`,
|
|
16
|
+
`curve-temp-weights.ts`. Take a curve-generated sample; sweep **pure** temperature
|
|
17
|
+
(top-p/top-k off) across T and across seeds (the seed is a free variable), looking
|
|
18
|
+
for an exact match.
|
|
19
|
+
|
|
20
|
+
- **Lighthouse (creative):** 924 pure-temperature samples across T = 0.4–2.0 and
|
|
21
|
+
~340 seeds → **0 exact matches, 0 crossings of the curve's fork.** The only seed
|
|
22
|
+
that reproduced the curve's *opening* was the curve's own seed (102), which then
|
|
23
|
+
forked away. Temperature shares ≤14 words then diverges into different content.
|
|
24
|
+
- **Weights-advice (constrained):** also 0 exact, but the miss is **cosmetic** —
|
|
25
|
+
temperature forks at word 6 (`when`→`with`) yet converges on the same advice.
|
|
26
|
+
Same meaning, different surface form.
|
|
27
|
+
|
|
28
|
+
So "couldn't temp do that anyway?" → no, but the curve's distinctiveness is
|
|
29
|
+
**prompt-dependent**: real divergence on open prompts, phrasing-only on constrained
|
|
30
|
+
ones. Different *shape* → different reachable samples. (Mechanism TBD — see §3.)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 2. The bisector map — where do prompts route into separate timelines?
|
|
35
|
+
|
|
36
|
+
`scripts/bisector-trace.ts`. Rank-2 probe: walk the greedy reference; at each
|
|
37
|
+
position force the rank-2 token and greedy-continue; classify the branch as
|
|
38
|
+
**reconverged** (re-merges with the reference content, alignment-free longest common
|
|
39
|
+
token-substring) or **diverged**. A diverging branch whose rank-2 had real
|
|
40
|
+
probability (≥0.05) is a **genuine fork / bisector**; rank-2 with ~0 probability is
|
|
41
|
+
**forced** noise. Output: `docs/investigations/curve-runs/bisector-trace.json`.
|
|
42
|
+
|
|
43
|
+
Among **genuine alternatives** (rank-2 prob ≥ 5%):
|
|
44
|
+
|
|
45
|
+
| prompt | genuine alts | fork % | genuine-fork depths | deepest | path |
|
|
46
|
+
|-----------|--------------|--------|--------------------------------|---------|------|
|
|
47
|
+
| creative | 21 | **48%**| 1,3,10,12,18,19,20,22,**27,28**| 28 | 41 |
|
|
48
|
+
| advice | 26 | **27%**| 1,13,14,16,17,**39,40** | 40 | 80 |
|
|
49
|
+
| factual | 18 | **17%**| 14,15,18 | 18 | 62 |
|
|
50
|
+
|
|
51
|
+
- **Creative:** forks spread continuously, deep, no flat region.
|
|
52
|
+
- **Factual:** hard **funnel** (0–13 locked on "…is Paris"), thin choice band
|
|
53
|
+
(14–18, population phrasing), then **flat** (19–61). 83% of genuine alternatives
|
|
54
|
+
re-merge — the "constrained → rank-2 reconverges" prediction.
|
|
55
|
+
- **Advice:** two-basin — opening stance, long re-merge body, second fork cluster
|
|
56
|
+
at 39–40 (new list item).
|
|
57
|
+
|
|
58
|
+
The bisector field is real, and its shape explains the §1 asymmetry.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 3. Does the curve ACTUALLY route at the bisectors? — Falsified.
|
|
63
|
+
|
|
64
|
+
`scripts/bisector-route.ts`. Ground truth = §2 labels. Under **matched seeds**,
|
|
65
|
+
generate samples with each policy, align to the greedy reference, find the **first
|
|
66
|
+
departure**, and compute the departure **hazard** at FORK vs RE-MERGE nodes (both
|
|
67
|
+
high-entropy, so the ratio isolates fork-*selectivity* from raw entropy). Policies:
|
|
68
|
+
`default` (T=1+top-p+top-k), `temp0.8` (pure), `curve-id` (identity curve — control,
|
|
69
|
+
same machinery, no shaping), `curve-router` (gate tail, open head — the shape that
|
|
70
|
+
*should* route). Step-5 coherence: fork-departures must stay within ~1 nat/token of
|
|
71
|
+
the reference (not garbage). Output: `curve-runs/bisector-route.json`.
|
|
72
|
+
|
|
73
|
+
**Creative**
|
|
74
|
+
|
|
75
|
+
| policy | FORK | REMERGE | **FORK/REMERGE** | coherent |
|
|
76
|
+
|--------------|------|---------|------------------|----------|
|
|
77
|
+
| default | 26% | 34% | 0.75 | 9/9 |
|
|
78
|
+
| temp 0.8 | 7% | 23% | 0.30 | 3/3 |
|
|
79
|
+
| curve-id | 26% | 34% | **0.77** | 9/9 |
|
|
80
|
+
| curve-router | 43% | 55% | **0.79** | 13/13 |
|
|
81
|
+
|
|
82
|
+
`curve-router`'s fork-selectivity (0.79) **equals the no-op identity curve (0.77)**
|
|
83
|
+
and default (0.75). The router shape raised departure *volume* (43%/55% vs 26%/34%)
|
|
84
|
+
**proportionally** — targeting unchanged. Every ratio is below 1: all policies depart
|
|
85
|
+
*more* at re-merge than at forks.
|
|
86
|
+
|
|
87
|
+
**Factual:** `curve-router` 12.98 vs default 19.89 / temp 15.0 — *below* temperature.
|
|
88
|
+
(High ratios just reflect the 3 forks being the only high-entropy nodes amid 38
|
|
89
|
+
locked-elaboration positions.)
|
|
90
|
+
|
|
91
|
+
### Conclusion
|
|
92
|
+
|
|
93
|
+
**The "routes through forks" claim is false** for this curve — its fork-selectivity
|
|
94
|
+
matches a no-op control. The curve changes the **volume** of diversification, not its
|
|
95
|
+
**targeting**. The trap: `curve-router` has the highest *absolute* fork-rate (43%),
|
|
96
|
+
which naively reads as "forks most"; that's only more diversification overall.
|
|
97
|
+
|
|
98
|
+
This reconciles §1 honestly: the curve still reaches outputs temperature can't
|
|
99
|
+
(different *shape* → different reachable samples), but **not by targeting forks** —
|
|
100
|
+
it's a different reshuffle, not a smarter one. All fork-departures stayed coherent,
|
|
101
|
+
so this is a *coherent* reshuffle, not a garbage artifact.
|
|
102
|
+
|
|
103
|
+
**Likely structural reason:** fork-ness (does the rank-2 branch reconverge?) is a
|
|
104
|
+
property of the downstream trajectory — invisible in the local next-token
|
|
105
|
+
distribution. A local transfer curve can only see current logits, so it can't
|
|
106
|
+
preferentially depart at forks vs locally-identical re-merges. A local sampler
|
|
107
|
+
probably *can't* be a fork-router by construction; only an entropy reshuffle.
|
|
108
|
+
|
|
109
|
+
### Caveats / next steps
|
|
110
|
+
|
|
111
|
+
- `curve-router` is the natural router shape, **not a user-drawn curve** — drop a
|
|
112
|
+
real curve JSON in as a 5th policy to confirm.
|
|
113
|
+
- 20 seeds × 1 prompt/pole — scale to ~5 prompts/pole × more seeds for error bars.
|
|
114
|
+
- Loophole: test whether fork nodes carry a distinct *local* logit shape (e.g.
|
|
115
|
+
bimodality) that a cleverer curve could exploit.
|
|
116
|
+
|
|
117
|
+
## Reproduce
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
bun run scripts/bisector-trace.ts # the map → curve-runs/bisector-trace.json
|
|
121
|
+
bun run scripts/bisector-route.ts # the test → curve-runs/bisector-route.json
|
|
122
|
+
bun run scripts/curve-temp-grid.ts # temp-can't-reproduce (server on :8090)
|
|
123
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"tag": "creative",
|
|
4
|
+
"pol": "default",
|
|
5
|
+
"departedPct": 1,
|
|
6
|
+
"fr": 0.2571428571428571,
|
|
7
|
+
"rr": 0.34375,
|
|
8
|
+
"lr": 0,
|
|
9
|
+
"ratio": 0.748051948051948,
|
|
10
|
+
"cohMean": -1.0010227537330092,
|
|
11
|
+
"cohN": 9,
|
|
12
|
+
"cohOk": 9
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"tag": "creative",
|
|
16
|
+
"pol": "temp0.8",
|
|
17
|
+
"departedPct": 1,
|
|
18
|
+
"fr": 0.06976744186046512,
|
|
19
|
+
"rr": 0.2318840579710145,
|
|
20
|
+
"lr": 0.022727272727272728,
|
|
21
|
+
"ratio": 0.3008720930232558,
|
|
22
|
+
"cohMean": -0.8618866522327556,
|
|
23
|
+
"cohN": 3,
|
|
24
|
+
"cohOk": 3
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"tag": "creative",
|
|
28
|
+
"pol": "curve-id",
|
|
29
|
+
"departedPct": 1,
|
|
30
|
+
"fr": 0.2647058823529412,
|
|
31
|
+
"rr": 0.34375,
|
|
32
|
+
"lr": 0,
|
|
33
|
+
"ratio": 0.7700534759358288,
|
|
34
|
+
"cohMean": -1.079108765834491,
|
|
35
|
+
"cohN": 9,
|
|
36
|
+
"cohOk": 9
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"tag": "creative",
|
|
40
|
+
"pol": "curve-router",
|
|
41
|
+
"departedPct": 1,
|
|
42
|
+
"fr": 0.43333333333333335,
|
|
43
|
+
"rr": 0.5454545454545454,
|
|
44
|
+
"lr": 0.03225806451612903,
|
|
45
|
+
"ratio": 0.7944444444444445,
|
|
46
|
+
"cohMean": -1.3585284007349332,
|
|
47
|
+
"cohN": 13,
|
|
48
|
+
"cohOk": 13
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"tag": "factual",
|
|
52
|
+
"pol": "default",
|
|
53
|
+
"departedPct": 1,
|
|
54
|
+
"fr": 0.42105263157894735,
|
|
55
|
+
"rr": 0.021164021164021163,
|
|
56
|
+
"lr": 0,
|
|
57
|
+
"ratio": 19.894736842105264,
|
|
58
|
+
"cohMean": -0.5009498243893914,
|
|
59
|
+
"cohN": 16,
|
|
60
|
+
"cohOk": 16
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"tag": "factual",
|
|
64
|
+
"pol": "temp0.8",
|
|
65
|
+
"departedPct": 1,
|
|
66
|
+
"fr": 0.38461538461538464,
|
|
67
|
+
"rr": 0.02564102564102564,
|
|
68
|
+
"lr": 0,
|
|
69
|
+
"ratio": 15.000000000000002,
|
|
70
|
+
"cohMean": -0.42202286759264085,
|
|
71
|
+
"cohN": 15,
|
|
72
|
+
"cohOk": 15
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"tag": "factual",
|
|
76
|
+
"pol": "curve-id",
|
|
77
|
+
"departedPct": 1,
|
|
78
|
+
"fr": 0.40540540540540543,
|
|
79
|
+
"rr": 0.026881720430107527,
|
|
80
|
+
"lr": 0,
|
|
81
|
+
"ratio": 15.081081081081082,
|
|
82
|
+
"cohMean": -0.5881801143434967,
|
|
83
|
+
"cohN": 15,
|
|
84
|
+
"cohOk": 15
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"tag": "factual",
|
|
88
|
+
"pol": "curve-router",
|
|
89
|
+
"departedPct": 1,
|
|
90
|
+
"fr": 0.5714285714285714,
|
|
91
|
+
"rr": 0.0440251572327044,
|
|
92
|
+
"lr": 0.04950495049504951,
|
|
93
|
+
"ratio": 12.979591836734693,
|
|
94
|
+
"cohMean": -0.770856366133446,
|
|
95
|
+
"cohN": 8,
|
|
96
|
+
"cohOk": 8
|
|
97
|
+
}
|
|
98
|
+
]
|