@mlbottleneck/engine 0.4.0 → 0.5.0
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/README.md +8 -2
- package/localmaxxing-snapshot.json +1 -1
- package/mlbottleneck-engine.d.ts +29 -0
- package/mlbottleneck-engine.mjs +254 -5
- package/mlbottleneck-engine.umd.js +254 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -78,6 +78,10 @@ const { ceiling } = engine.predict({ model: 'qwen3.6_35b_a3b', hardware: 'AMD St
|
|
|
78
78
|
expectedTokensPerSecond, // engine rate x peer correction (stock software)
|
|
79
79
|
engineTokensPerSecond, correctionFactor, confidence, peers, verifiedPeers },
|
|
80
80
|
memory: { modelSizeGB, residentWeightsGB, kvCacheGB, availableGB },
|
|
81
|
+
measured: { nearest, // closest stock measurement on this model + hardware template (community gold run or lab stock row), or null
|
|
82
|
+
labTuned }, // closest tuned neural.download lab run on the same machine (same template and device count), or null
|
|
83
|
+
// each: { tokensPerSecond, origin: 'community'|'lab', stack, model, hardware, deviceCount, runtime, quantization,
|
|
84
|
+
// depthTokens, speculation, sameSetup, url, note }
|
|
81
85
|
bottleneck: 'memory' | 'compute' | 'runtime' | 'coordination' | ..., // devices[].coreBinding adds 'attention' for deep contexts
|
|
82
86
|
power: { watts, tdpWatts, costPerDay, costPer1KTokens },
|
|
83
87
|
devices: [{ name, template, residentWeightGB, kvCacheGB, hasOverflow, overflowMode,
|
|
@@ -88,7 +92,9 @@ const { ceiling } = engine.predict({ model: 'qwen3.6_35b_a3b', hardware: 'AMD St
|
|
|
88
92
|
}
|
|
89
93
|
```
|
|
90
94
|
|
|
91
|
-
Numbers are *planning estimates*: the engine is calibrated so that the median community run lands on its prediction and ~85% land within 1.5×. Show users the ceiling ladder (`physical` → `optimized` → `expected`) rather than a single number when you can.
|
|
95
|
+
Numbers are *planning estimates*: the engine is calibrated so that the median community run lands on its prediction and ~85% land within 1.5×. Show users the ceiling ladder (`physical` → `optimized` → `expected`) rather than a single number when you can, and `measured.nearest` / `measured.labTuned` beside it when they exist — they are real runs, with links.
|
|
96
|
+
|
|
97
|
+
The evidence snapshot carries two collections: `goldCases` (community runs, the calibration corpus) and `labCases` (the author's [neural.download](https://neural.download/) Intel Arc Pro lab: `stock`, `lab-baseline`, and `tuned` rows). Lab rows never calibrate the engine; they only surface as measured references.
|
|
92
98
|
|
|
93
99
|
## Other methods
|
|
94
100
|
|
|
@@ -112,7 +118,7 @@ https://mlbottleneck.com/?model=qwen3.8_27b&hardware=Intel%20Arc%20Pro%20B70&cou
|
|
|
112
118
|
|
|
113
119
|
- `package.json` `version` is the SDK version; `engine.version` reports it.
|
|
114
120
|
- `npm test` rebuilds `dist/` from `engine.js` + `sdk/api.js` (and stamps the page's `engine.js?v=<hash>` cache key), so the committed bundle is always the one that passed the suite.
|
|
115
|
-
- Bump the version when the engine, catalogs, or API change; `.github/workflows/release-sdk.yml` then publishes a `sdk-v<version>` GitHub release with the bundles, types, evidence snapshot, and checksums, and `.github/workflows/publish-npm.yml` publishes `dist/` to npm as `@mlbottleneck/engine` (name set by `sdkName` in `package.json
|
|
121
|
+
- Bump the version when the engine, catalogs, or API change; `.github/workflows/release-sdk.yml` then publishes a `sdk-v<version>` GitHub release with the bundles, types, evidence snapshot, and checksums, and `.github/workflows/publish-npm.yml` publishes `dist/` to npm as `@mlbottleneck/engine` (name set by `sdkName` in `package.json`). It authenticates with npm trusted publishing (OIDC: the package's Trusted Publisher on npmjs.com points at `steveseguin/ml-bottleneck`, workflow `publish-npm.yml`), falling back to an `NPM_TOKEN` secret; a 2FA-gated token fails with `EOTP`, in which case publish by hand from `dist/` with `npm publish --access public --otp=<code>`. The weekly evidence refresh updates `dist/localmaxxing-snapshot.json` in place without a release.
|
|
116
122
|
|
|
117
123
|
## Limits
|
|
118
124
|
|