@seanhogg/builderforce-memory-engine 2026.6.27 → 2026.6.28

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.
Files changed (47) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lm/evermind_lm.d.ts +148 -0
  6. package/dist/lm/evermind_lm.d.ts.map +1 -0
  7. package/dist/lm/evermind_lm.js +479 -0
  8. package/dist/lm/evermind_lm.js.map +1 -0
  9. package/dist/lm/index.d.ts +6 -0
  10. package/dist/lm/index.d.ts.map +1 -0
  11. package/dist/lm/index.js +5 -0
  12. package/dist/lm/index.js.map +1 -0
  13. package/dist/model/attention_block.js +1 -1
  14. package/dist/model/attention_block.js.map +1 -1
  15. package/dist/model/mamba_model.js +1 -1
  16. package/dist/model/mamba_model.js.map +1 -1
  17. package/dist/moe/index.d.ts +10 -0
  18. package/dist/moe/index.d.ts.map +1 -0
  19. package/dist/moe/index.js +7 -0
  20. package/dist/moe/index.js.map +1 -0
  21. package/dist/moe/moe_model.d.ts +134 -0
  22. package/dist/moe/moe_model.d.ts.map +1 -0
  23. package/dist/moe/moe_model.js +415 -0
  24. package/dist/moe/moe_model.js.map +1 -0
  25. package/dist/moe/moe_package.d.ts +81 -0
  26. package/dist/moe/moe_package.d.ts.map +1 -0
  27. package/dist/moe/moe_package.js +157 -0
  28. package/dist/moe/moe_package.js.map +1 -0
  29. package/dist/moe/moe_trainer.d.ts +53 -0
  30. package/dist/moe/moe_trainer.d.ts.map +1 -0
  31. package/dist/moe/moe_trainer.js +93 -0
  32. package/dist/moe/moe_trainer.js.map +1 -0
  33. package/dist/optim/adamw.d.ts +32 -0
  34. package/dist/optim/adamw.d.ts.map +1 -0
  35. package/dist/optim/adamw.js +52 -0
  36. package/dist/optim/adamw.js.map +1 -0
  37. package/package.json +1 -1
  38. package/src/index.ts +28 -0
  39. package/src/lm/evermind_lm.ts +558 -0
  40. package/src/lm/index.ts +6 -0
  41. package/src/model/attention_block.ts +1 -1
  42. package/src/model/mamba_model.ts +1 -1
  43. package/src/moe/index.ts +23 -0
  44. package/src/moe/moe_model.ts +475 -0
  45. package/src/moe/moe_package.ts +205 -0
  46. package/src/moe/moe_trainer.ts +134 -0
  47. package/src/optim/adamw.ts +72 -0
@@ -0,0 +1,479 @@
1
+ /**
2
+ * evermind_lm.ts — EvermindLM: a small but complete generative language model.
3
+ *
4
+ * This is what turns a trained checkpoint into an *AI that generates text* (the
5
+ * thing a marketplace buyer actually runs). Architecture (Mamba-flavoured, the
6
+ * minimal exact-gradient CPU reference):
7
+ *
8
+ * x_t = Embed[token_t]
9
+ * per layer:
10
+ * x_t += DepthwiseCausalConv(x)_t // temporal mixing (short conv)
11
+ * x_t += SharedExpertMoE(x_t) // per-position channel mixing (sparse)
12
+ * logits_t = x_t · Embedᵀ // tied output head
13
+ *
14
+ * The token mixer is a depthwise causal convolution (each channel sees a short
15
+ * window of its own past — Mamba's pre-conv) and the channel mixer is the
16
+ * shared-expert MoE, so the model is genuinely sparse. Embeddings are tied
17
+ * (input lookup == output head), which the gradient code accounts for.
18
+ *
19
+ * Pure CPU, exact forward + backward (finite-difference checked), reusing the
20
+ * engine's MoE, cross-entropy, and AdamW. The WGSL/WebGPU path is a future
21
+ * acceleration with the same shapes.
22
+ */
23
+ import { SharedExpertMoE } from "../moe/moe_model.js";
24
+ import { crossEntropyLoss, crossEntropyGrad } from "../training/autograd.js";
25
+ import { AdamW } from "../optim/adamw.js";
26
+ import { SeededRng } from "../utils/rng.js";
27
+ import { quantizeFp16, dequantizeFp16 } from "../utils/quantization.js";
28
+ export const DEFAULT_LM_CONFIG = {
29
+ dModel: 64,
30
+ numLayers: 2,
31
+ convKernel: 3,
32
+ hiddenDim: 128,
33
+ numExperts: 4,
34
+ topK: 2,
35
+ };
36
+ export const DEFAULT_LM_SEED = 0x45564c4d; // "EVLM"
37
+ const MAGIC = 0x45564c30; // "EVL0"
38
+ export class EvermindLM {
39
+ config;
40
+ /** Tied token embedding / output head: vocabSize × dModel (row-major). */
41
+ emb;
42
+ gEmb;
43
+ /** Per-layer depthwise causal conv kernels: dModel × convKernel. */
44
+ conv;
45
+ gConv;
46
+ /** Per-layer pre-conv / pre-MoE RMSNorm gains (dModel each). */
47
+ nConv;
48
+ gNConv;
49
+ nMoe;
50
+ gNMoe;
51
+ /** Per-layer channel mixer. */
52
+ moe;
53
+ constructor(config) {
54
+ const dModel = config.dModel ?? DEFAULT_LM_CONFIG.dModel;
55
+ const cfg = {
56
+ vocabSize: config.vocabSize,
57
+ dModel,
58
+ numLayers: config.numLayers ?? DEFAULT_LM_CONFIG.numLayers,
59
+ convKernel: config.convKernel ?? DEFAULT_LM_CONFIG.convKernel,
60
+ hiddenDim: config.hiddenDim ?? dModel * 2,
61
+ numExperts: config.numExperts ?? DEFAULT_LM_CONFIG.numExperts,
62
+ topK: config.topK ?? DEFAULT_LM_CONFIG.topK,
63
+ };
64
+ if (cfg.vocabSize <= 0)
65
+ throw new Error("EvermindLM: vocabSize must be > 0");
66
+ if (cfg.topK > cfg.numExperts)
67
+ throw new Error("EvermindLM: topK must be ≤ numExperts");
68
+ this.config = cfg;
69
+ const seed = (config.seed ?? DEFAULT_LM_SEED) >>> 0 || 1;
70
+ const rng = new SeededRng(seed);
71
+ const gauss = (n, std) => {
72
+ const a = new Float32Array(n);
73
+ for (let i = 0; i < n; i++) {
74
+ const u1 = Math.max(rng.next(), 1e-12);
75
+ const u2 = rng.next();
76
+ a[i] = std * Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
77
+ }
78
+ return a;
79
+ };
80
+ this.emb = gauss(cfg.vocabSize * cfg.dModel, 0.02);
81
+ this.gEmb = new Float32Array(this.emb.length);
82
+ this.conv = [];
83
+ this.gConv = [];
84
+ this.nConv = [];
85
+ this.gNConv = [];
86
+ this.nMoe = [];
87
+ this.gNMoe = [];
88
+ this.moe = [];
89
+ for (let l = 0; l < cfg.numLayers; l++) {
90
+ // Conv init near an identity passthrough (current tap ≈ 1, history ≈ 0) so
91
+ // an untrained block is close to a residual no-op.
92
+ const k = new Float32Array(cfg.dModel * cfg.convKernel);
93
+ for (let c = 0; c < cfg.dModel; c++)
94
+ k[c * cfg.convKernel] = 1;
95
+ this.conv.push(k);
96
+ this.gConv.push(new Float32Array(k.length));
97
+ // RMSNorm gains start at 1 (identity scale).
98
+ this.nConv.push(new Float32Array(cfg.dModel).fill(1));
99
+ this.gNConv.push(new Float32Array(cfg.dModel));
100
+ this.nMoe.push(new Float32Array(cfg.dModel).fill(1));
101
+ this.gNMoe.push(new Float32Array(cfg.dModel));
102
+ // Each MoE layer gets a distinct seed for varied expert init.
103
+ this.moe.push(new SharedExpertMoE({
104
+ modelDim: cfg.dModel,
105
+ hiddenDim: cfg.hiddenDim,
106
+ numExperts: cfg.numExperts,
107
+ topK: cfg.topK,
108
+ seed: seed + 1 + l,
109
+ }));
110
+ }
111
+ }
112
+ // ── Forward ────────────────────────────────────────────────────────────────
113
+ /** Run the model over a token sequence; returns per-position logits + a cache. */
114
+ forward(tokens) {
115
+ const { dModel, convKernel, numLayers, vocabSize } = this.config;
116
+ const T = tokens.length;
117
+ // Embed.
118
+ let x = tokens.map((tok) => {
119
+ const row = new Float32Array(dModel);
120
+ const off = tok * dModel;
121
+ for (let c = 0; c < dModel; c++)
122
+ row[c] = this.emb[off + c];
123
+ return row;
124
+ });
125
+ const layers = [];
126
+ for (let l = 0; l < numLayers; l++) {
127
+ const layerIn = x;
128
+ const ker = this.conv[l];
129
+ const nConv = this.nConv[l];
130
+ const nMoe = this.nMoe[l];
131
+ // Pre-norm → depthwise causal conv → residual.
132
+ const normedConv = [];
133
+ const rmsConv = [];
134
+ for (let t = 0; t < T; t++) {
135
+ const { y, r } = rmsNorm(layerIn[t], nConv);
136
+ normedConv.push(y);
137
+ rmsConv.push(r);
138
+ }
139
+ const afterConv = [];
140
+ for (let t = 0; t < T; t++) {
141
+ const out = Float32Array.from(layerIn[t]); // residual base
142
+ for (let c = 0; c < dModel; c++) {
143
+ let acc = 0;
144
+ for (let j = 0; j < convKernel; j++) {
145
+ const ti = t - j;
146
+ if (ti >= 0)
147
+ acc += ker[c * convKernel + j] * normedConv[ti][c];
148
+ }
149
+ out[c] = out[c] + acc;
150
+ }
151
+ afterConv.push(out);
152
+ }
153
+ // Pre-norm → MoE channel mixer → residual.
154
+ const rmsMoe = [];
155
+ const moeCache = [];
156
+ const afterMoe = [];
157
+ for (let t = 0; t < T; t++) {
158
+ const { y, r } = rmsNorm(afterConv[t], nMoe);
159
+ rmsMoe.push(r);
160
+ const out = Float32Array.from(afterConv[t]); // residual base
161
+ const mr = this.moe[l].forward(y);
162
+ for (let c = 0; c < dModel; c++)
163
+ out[c] = out[c] + mr.output[c];
164
+ afterMoe.push(out);
165
+ moeCache.push(mr.cache);
166
+ }
167
+ layers.push({ layerIn, normedConv, rmsConv, afterConv, rmsMoe, moeCache });
168
+ x = afterMoe;
169
+ }
170
+ // Tied head: logits_t[v] = x_t · emb[v].
171
+ const logits = x.map((xt) => {
172
+ const lg = new Float32Array(vocabSize);
173
+ for (let v = 0; v < vocabSize; v++) {
174
+ let acc = 0;
175
+ const off = v * dModel;
176
+ for (let c = 0; c < dModel; c++)
177
+ acc += xt[c] * this.emb[off + c];
178
+ lg[v] = acc;
179
+ }
180
+ return lg;
181
+ });
182
+ return { logits, cache: { tokens, layers, finalX: x } };
183
+ }
184
+ // ── Loss + backward ──────────────────────────────────────────────────────────
185
+ /**
186
+ * Next-token cross-entropy over the sequence (predict tokens[t+1] from
187
+ * position t), accumulating exact gradients. Returns the mean loss. Call
188
+ * {@link zeroGrad} before and an optimiser step after.
189
+ */
190
+ lossAndBackward(tokens) {
191
+ const { dModel, convKernel, numLayers, vocabSize } = this.config;
192
+ const T = tokens.length;
193
+ if (T < 2)
194
+ return 0;
195
+ const { logits, cache } = this.forward(tokens);
196
+ const predPositions = T - 1; // positions 0..T-2 predict the next token
197
+ const inv = 1 / predPositions;
198
+ // dL/d(finalX_t) and head gradient into the tied embedding.
199
+ const dX = Array.from({ length: T }, () => new Float32Array(dModel));
200
+ let loss = 0;
201
+ for (let t = 0; t < predPositions; t++) {
202
+ const target = tokens[t + 1];
203
+ loss += crossEntropyLoss(logits[t], target) * inv;
204
+ const dLogit = crossEntropyGrad(logits[t], target); // probs - onehot
205
+ const xt = cache.finalX[t];
206
+ for (let v = 0; v < vocabSize; v++) {
207
+ const g = dLogit[v] * inv;
208
+ if (g === 0)
209
+ continue;
210
+ const off = v * dModel;
211
+ for (let c = 0; c < dModel; c++) {
212
+ this.gEmb[off + c] = this.gEmb[off + c] + g * xt[c]; // head → emb
213
+ dX[t][c] = dX[t][c] + g * this.emb[off + c]; // head → x_t
214
+ }
215
+ }
216
+ }
217
+ // Backprop through layers in reverse.
218
+ for (let l = numLayers - 1; l >= 0; l--) {
219
+ const lc = cache.layers[l];
220
+ const ker = this.conv[l];
221
+ const gker = this.gConv[l];
222
+ const nConv = this.nConv[l];
223
+ const gNConv = this.gNConv[l];
224
+ const nMoe = this.nMoe[l];
225
+ const gNMoe = this.gNMoe[l];
226
+ // MoE sub-block: afterMoe = afterConv + MoE(RMSNorm(afterConv, nMoe)).
227
+ const dAfterConv = [];
228
+ for (let t = 0; t < T; t++) {
229
+ const dMoeNormed = this.moe[l].backward(dX[t], lc.moeCache[t]);
230
+ const { dx, dgain } = rmsNormBackward(dMoeNormed, lc.afterConv[t], lc.rmsMoe[t], nMoe);
231
+ for (let c = 0; c < dModel; c++)
232
+ gNMoe[c] = gNMoe[c] + dgain[c];
233
+ const d = Float32Array.from(dX[t]); // residual passthrough
234
+ for (let c = 0; c < dModel; c++)
235
+ d[c] = d[c] + dx[c];
236
+ dAfterConv.push(d);
237
+ }
238
+ // Conv sub-block: afterConv = layerIn + conv(RMSNorm(layerIn, nConv)).
239
+ const dNormedConv = Array.from({ length: T }, () => new Float32Array(dModel));
240
+ const dLayerIn = dAfterConv.map((v) => Float32Array.from(v)); // residual passthrough
241
+ for (let t = 0; t < T; t++) {
242
+ for (let c = 0; c < dModel; c++) {
243
+ const dmix = dAfterConv[t][c];
244
+ if (dmix === 0)
245
+ continue;
246
+ for (let j = 0; j < convKernel; j++) {
247
+ const ti = t - j;
248
+ if (ti < 0)
249
+ continue;
250
+ gker[c * convKernel + j] = gker[c * convKernel + j] + dmix * lc.normedConv[ti][c];
251
+ dNormedConv[ti][c] = dNormedConv[ti][c] + dmix * ker[c * convKernel + j];
252
+ }
253
+ }
254
+ }
255
+ for (let t = 0; t < T; t++) {
256
+ const { dx, dgain } = rmsNormBackward(dNormedConv[t], lc.layerIn[t], lc.rmsConv[t], nConv);
257
+ for (let c = 0; c < dModel; c++) {
258
+ gNConv[c] = gNConv[c] + dgain[c];
259
+ dLayerIn[t][c] = dLayerIn[t][c] + dx[c];
260
+ }
261
+ }
262
+ for (let t = 0; t < T; t++)
263
+ dX[t] = dLayerIn[t];
264
+ }
265
+ // Embedding lookup: dX at layer-0 input flows into the row for token_t.
266
+ for (let t = 0; t < T; t++) {
267
+ const off = tokens[t] * dModel;
268
+ for (let c = 0; c < dModel; c++)
269
+ this.gEmb[off + c] = this.gEmb[off + c] + dX[t][c];
270
+ }
271
+ return loss;
272
+ }
273
+ // ── Generation ───────────────────────────────────────────────────────────────
274
+ /**
275
+ * Text-level generation: encode the prompt, generate, decode. `codec` is any
276
+ * tokenizer exposing encode/decode (the engine's `BPETokenizer` satisfies it),
277
+ * so the LM consumes and emits real text rather than raw token ids. The model's
278
+ * `vocabSize` must match the codec's vocabulary.
279
+ */
280
+ generateText(prompt, codec, opts) {
281
+ return codec.decode(this.generate(codec.encode(prompt), opts));
282
+ }
283
+ /** Greedy / temperature-sampled autoregressive generation. Returns NEW token ids. */
284
+ generate(prompt, opts) {
285
+ const temperature = opts.temperature ?? 0;
286
+ const rng = temperature > 0 ? new SeededRng((opts.seed ?? 1) >>> 0 || 1) : null;
287
+ const tokens = [...prompt];
288
+ const produced = [];
289
+ for (let n = 0; n < opts.maxNewTokens; n++) {
290
+ const { logits } = this.forward(tokens.length > 0 ? tokens : [0]);
291
+ const last = logits[logits.length - 1];
292
+ const next = rng ? sampleTemperature(last, temperature, rng) : argmax(last);
293
+ produced.push(next);
294
+ tokens.push(next);
295
+ if (opts.stopToken !== undefined && next === opts.stopToken)
296
+ break;
297
+ }
298
+ return produced;
299
+ }
300
+ // ── Parameters / checkpoint ──────────────────────────────────────────────────
301
+ /** All trainable parameters as {data} (AdamW-compatible), canonical order. */
302
+ parameters() {
303
+ const out = [{ data: this.emb }];
304
+ for (let l = 0; l < this.config.numLayers; l++) {
305
+ out.push({ data: this.conv[l] }, { data: this.nConv[l] }, { data: this.nMoe[l] });
306
+ for (const p of this.moe[l].parameters())
307
+ out.push({ data: p.data });
308
+ }
309
+ return out;
310
+ }
311
+ /** Gradient buffers, index-aligned with {@link parameters}. */
312
+ gradients() {
313
+ const out = [{ data: this.gEmb }];
314
+ for (let l = 0; l < this.config.numLayers; l++) {
315
+ out.push({ data: this.gConv[l] }, { data: this.gNConv[l] }, { data: this.gNMoe[l] });
316
+ for (const g of this.moe[l].gradients())
317
+ out.push({ data: g.data });
318
+ }
319
+ return out;
320
+ }
321
+ zeroGrad() {
322
+ this.gEmb.fill(0);
323
+ for (let l = 0; l < this.config.numLayers; l++) {
324
+ this.gConv[l].fill(0);
325
+ this.gNConv[l].fill(0);
326
+ this.gNMoe[l].fill(0);
327
+ this.moe[l].zeroGrad();
328
+ }
329
+ }
330
+ /** Serialise to an "EVL0" binary (fp16 or f32), params in {@link parameters} order. */
331
+ exportWeights(opts = {}) {
332
+ const fp16 = opts.fp16 ?? false;
333
+ const params = this.parameters();
334
+ const total = params.reduce((n, p) => n + p.data.length, 0);
335
+ // magic, version, vocab, dModel, numLayers, convKernel, hiddenDim, numExperts, topK.
336
+ // numExperts and topK get distinct slots (an earlier *16 packing collided once
337
+ // numExperts ≥ 16 — e.g. (20,20) and (21,4) both packed to 340).
338
+ const headerEls = 9;
339
+ const headerBytes = headerEls * 4;
340
+ const buf = new ArrayBuffer(headerBytes + (fp16 ? total * 2 : total * 4));
341
+ const head = new Uint32Array(buf, 0, headerEls);
342
+ head[0] = MAGIC;
343
+ head[1] = fp16 ? 2 : 1;
344
+ head[2] = this.config.vocabSize;
345
+ head[3] = this.config.dModel;
346
+ head[4] = this.config.numLayers;
347
+ head[5] = this.config.convKernel;
348
+ head[6] = this.config.hiddenDim;
349
+ head[7] = this.config.numExperts;
350
+ head[8] = this.config.topK;
351
+ const flat = new Float32Array(total);
352
+ let o = 0;
353
+ for (const p of params) {
354
+ flat.set(p.data, o);
355
+ o += p.data.length;
356
+ }
357
+ if (fp16)
358
+ new Uint16Array(buf, headerBytes, total).set(quantizeFp16(flat));
359
+ else
360
+ new Float32Array(buf, headerBytes, total).set(flat);
361
+ return buf;
362
+ }
363
+ /** Load weights from an "EVL0" binary. Validates magic + dims. */
364
+ loadWeights(buffer) {
365
+ const head = new Uint32Array(buffer, 0, 9);
366
+ if (head[0] !== MAGIC)
367
+ throw new Error("EvermindLM.loadWeights: bad magic (not an EVL0 checkpoint)");
368
+ const version = head[1];
369
+ if (head[2] !== this.config.vocabSize ||
370
+ head[3] !== this.config.dModel ||
371
+ head[4] !== this.config.numLayers ||
372
+ head[5] !== this.config.convKernel ||
373
+ head[6] !== this.config.hiddenDim ||
374
+ head[7] !== this.config.numExperts ||
375
+ head[8] !== this.config.topK) {
376
+ throw new Error("EvermindLM.loadWeights: config mismatch with checkpoint");
377
+ }
378
+ const params = this.parameters();
379
+ const total = params.reduce((n, p) => n + p.data.length, 0);
380
+ const headerBytes = 36;
381
+ const flat = version === 2
382
+ ? dequantizeFp16(new Uint16Array(buffer, headerBytes, total))
383
+ : new Float32Array(buffer.slice(headerBytes, headerBytes + total * 4));
384
+ let o = 0;
385
+ for (const p of params) {
386
+ p.data.set(flat.subarray(o, o + p.data.length));
387
+ o += p.data.length;
388
+ }
389
+ }
390
+ }
391
+ /** Minimal sequence trainer: AdamW over next-token cross-entropy. */
392
+ export class EvermindLMTrainer {
393
+ model;
394
+ opts;
395
+ adam;
396
+ constructor(model, opts = {}) {
397
+ this.model = model;
398
+ this.opts = opts;
399
+ this.adam = new AdamW(model, opts);
400
+ }
401
+ /** Train on a set of token sequences; returns per-epoch mean loss. */
402
+ fit(sequences) {
403
+ const epochs = this.opts.epochs ?? 1;
404
+ const history = [];
405
+ for (let e = 0; e < epochs; e++) {
406
+ let total = 0;
407
+ let n = 0;
408
+ for (const seq of sequences) {
409
+ if (seq.length < 2)
410
+ continue;
411
+ this.model.zeroGrad();
412
+ total += this.model.lossAndBackward(seq);
413
+ this.adam.step();
414
+ n++;
415
+ }
416
+ history.push(n > 0 ? total / n : 0);
417
+ }
418
+ return history;
419
+ }
420
+ }
421
+ const RMS_EPS = 1e-5;
422
+ /** RMSNorm: y[c] = gain[c]·x[c]/rms, rms = sqrt(mean(x²)+eps). Returns y and the denom. */
423
+ function rmsNorm(x, gain) {
424
+ const D = x.length;
425
+ let ss = 0;
426
+ for (let c = 0; c < D; c++)
427
+ ss += x[c] * x[c];
428
+ const r = Math.sqrt(ss / D + RMS_EPS);
429
+ const y = new Float32Array(D);
430
+ for (let c = 0; c < D; c++)
431
+ y[c] = (gain[c] * x[c]) / r;
432
+ return { y, r };
433
+ }
434
+ /**
435
+ * RMSNorm backward. Given dL/dy and the cached input/denom/gain, returns dL/dx and
436
+ * dL/dgain. dx_j = gain_j·dy_j/r − x_j·A/(D·r³) with A = Σ_c dy_c·gain_c·x_c;
437
+ * dgain_c = dy_c·x_c/r.
438
+ */
439
+ function rmsNormBackward(dy, x, r, gain) {
440
+ const D = x.length;
441
+ let A = 0;
442
+ for (let c = 0; c < D; c++)
443
+ A += dy[c] * gain[c] * x[c];
444
+ const dx = new Float32Array(D);
445
+ const dgain = new Float32Array(D);
446
+ const r3 = r * r * r;
447
+ for (let c = 0; c < D; c++) {
448
+ dx[c] = (gain[c] * dy[c]) / r - (x[c] * A) / (D * r3);
449
+ dgain[c] = (dy[c] * x[c]) / r;
450
+ }
451
+ return { dx, dgain };
452
+ }
453
+ function argmax(v) {
454
+ let best = 0;
455
+ for (let i = 1; i < v.length; i++)
456
+ if (v[i] > v[best])
457
+ best = i;
458
+ return best;
459
+ }
460
+ function sampleTemperature(logits, temperature, rng) {
461
+ let max = -Infinity;
462
+ for (let i = 0; i < logits.length; i++)
463
+ if (logits[i] / temperature > max)
464
+ max = logits[i] / temperature;
465
+ let sum = 0;
466
+ const probs = new Float32Array(logits.length);
467
+ for (let i = 0; i < logits.length; i++) {
468
+ probs[i] = Math.exp(logits[i] / temperature - max);
469
+ sum += probs[i];
470
+ }
471
+ let r = rng.next() * sum;
472
+ for (let i = 0; i < probs.length; i++) {
473
+ r -= probs[i];
474
+ if (r <= 0)
475
+ return i;
476
+ }
477
+ return probs.length - 1;
478
+ }
479
+ //# sourceMappingURL=evermind_lm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evermind_lm.js","sourceRoot":"","sources":["../../src/lm/evermind_lm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * EvermindLM — the generative language model (the runnable "AI").
3
+ */
4
+ export { EvermindLM, EvermindLMTrainer, DEFAULT_LM_CONFIG, DEFAULT_LM_SEED } from "./evermind_lm.js";
5
+ export type { EvermindLMConfig, LMGenerateOptions, TextCodec } from "./evermind_lm.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrG,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * EvermindLM — the generative language model (the runnable "AI").
3
+ */
4
+ export { EvermindLM, EvermindLMTrainer, DEFAULT_LM_CONFIG, DEFAULT_LM_SEED } from "./evermind_lm.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
@@ -73,7 +73,7 @@ export class AttentionBlock {
73
73
  this._buildPipelines();
74
74
  }
75
75
  _initWeights() {
76
- const { dModel, nHeads, hasFfn, ffnMult } = this.config;
76
+ const { dModel, hasFfn, ffnMult } = this.config;
77
77
  const randn = (n, std = 0.02) => gaussianArray(n, std);
78
78
  const zeros = (n) => new Float32Array(n);
79
79
  const ones = (n) => new Float32Array(n).fill(1.0);
@@ -1 +1 @@
1
- {"version":3,"file":"attention_block.js","sourceRoot":"","sources":["../../src/model/attention_block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attention_block.js","sourceRoot":"","sources":["../../src/model/attention_block.ts"],"names":[],"mappings":"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"}
@@ -251,7 +251,7 @@ export class HybridMambaModel {
251
251
  async generate(promptIds, maxNewTokens = 200, samplingOpts = {}) {
252
252
  const { temperature = 1.0, topK = 50, topP = 0.9 } = samplingOpts;
253
253
  const { vocabSize } = this.config;
254
- let ids = [...promptIds];
254
+ const ids = [...promptIds];
255
255
  for (let step = 0; step < maxNewTokens; step++) {
256
256
  const { logits } = await this.forward(new Uint32Array(ids), 1, ids.length);
257
257
  const lastLogits = logits.slice((ids.length - 1) * vocabSize, ids.length * vocabSize);