tensorgrad 0.0.11 → 0.0.13
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 +119 -119
- package/dist/buffers.js +1 -6
- package/dist/buffers.js.map +1 -1
- package/dist/codegen.js +30 -28
- package/dist/codegen.js.map +1 -1
- package/dist/compile.js +39 -68
- package/dist/compile.js.map +1 -1
- package/dist/grad.js +1 -14
- package/dist/grad.js.map +1 -1
- package/dist/index.d.ts +740 -14
- package/dist/runtime.js +9 -11
- package/dist/runtime.js.map +1 -1
- package/dist/trace.js +8 -13
- package/dist/trace.js.map +1 -1
- package/package.json +67 -61
- package/src/buffers.ts +1 -6
- package/src/codegen.ts +31 -28
- package/src/compile.ts +45 -91
- package/src/grad.ts +1 -11
- package/src/index.ts +47 -47
- package/src/runtime.ts +520 -515
- package/src/trace.ts +12 -9
- package/dist/adam.d.ts +0 -65
- package/dist/adam.d.ts.map +0 -1
- package/dist/buffers.d.ts +0 -57
- package/dist/buffers.d.ts.map +0 -1
- package/dist/capture.d.ts +0 -3
- package/dist/capture.d.ts.map +0 -1
- package/dist/codegen.d.ts +0 -23
- package/dist/codegen.d.ts.map +0 -1
- package/dist/compile.d.ts +0 -130
- package/dist/compile.d.ts.map +0 -1
- package/dist/grad.d.ts +0 -8
- package/dist/grad.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/ir.d.ts +0 -207
- package/dist/ir.d.ts.map +0 -1
- package/dist/module.d.ts +0 -55
- package/dist/module.d.ts.map +0 -1
- package/dist/nn.d.ts +0 -42
- package/dist/nn.d.ts.map +0 -1
- package/dist/ops.d.ts +0 -48
- package/dist/ops.d.ts.map +0 -1
- package/dist/runtime.d.ts +0 -108
- package/dist/runtime.d.ts.map +0 -1
- package/dist/shape.d.ts +0 -24
- package/dist/shape.d.ts.map +0 -1
- package/dist/trace.d.ts +0 -9
- package/dist/trace.d.ts.map +0 -1
package/dist/compile.js
CHANGED
|
@@ -55,35 +55,30 @@ export async function compile(traceFn, opts = {}) {
|
|
|
55
55
|
* users don't need to provide it themselves.
|
|
56
56
|
*/
|
|
57
57
|
export async function compileModule(modelFactory, forward, opts = {}) {
|
|
58
|
-
const {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
const { graph, materialized } = traceModule(modelFactory, forward, opts.inputs ?? {});
|
|
59
|
+
const { paramGrads, loss } = appendGrad(graph);
|
|
60
|
+
const adamResult = opts.adam
|
|
61
|
+
? appendAdam(graph, paramGrads, materialized.tensors, opts.adam, materialized.decayFlags)
|
|
62
|
+
: undefined;
|
|
63
|
+
const plan = planBuffers(graph, paramGrads, adamResult?.writebacks ?? []);
|
|
64
|
+
const kernels = emitKernels(graph, plan);
|
|
65
|
+
const lossBufferId = plan.tensorToBuffer.get(loss.id);
|
|
66
|
+
const runtime = await createRuntime(plan, kernels, lossBufferId, opts);
|
|
67
|
+
if (adamResult)
|
|
68
|
+
wrapStepForAdam(runtime, adamResult);
|
|
68
69
|
uploadInitialParams(plan, materialized.initFns, runtime, /* sharedParams */ undefined);
|
|
69
|
-
const
|
|
70
|
+
const ir = { graph, paramGrads, loss, plan, kernels };
|
|
71
|
+
const kernelCount = countKernels(kernels);
|
|
70
72
|
const reset = () => {
|
|
71
73
|
uploadInitialParams(plan, materialized.initFns, runtime, undefined);
|
|
72
74
|
runtime.resetOptimizerState();
|
|
73
75
|
};
|
|
74
|
-
const compileForwardMethod =
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
sharedParams: runtime.params,
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
return Object.assign(runtime, {
|
|
82
|
-
ir,
|
|
83
|
-
kernelCount,
|
|
84
|
-
reset,
|
|
85
|
-
compileForward: compileForwardMethod,
|
|
76
|
+
const compileForwardMethod = (forwardFn, fOpts = {}) => compileForward(modelFactory, forwardFn, {
|
|
77
|
+
...fOpts,
|
|
78
|
+
device: runtime.device,
|
|
79
|
+
sharedParams: runtime.params,
|
|
86
80
|
});
|
|
81
|
+
return Object.assign(runtime, { ir, kernelCount, reset, compileForward: compileForwardMethod });
|
|
87
82
|
}
|
|
88
83
|
// ============================================================================
|
|
89
84
|
// Forward-only compile
|
|
@@ -108,20 +103,20 @@ export async function compileModule(modelFactory, forward, opts = {}) {
|
|
|
108
103
|
* by `sharedParams` (those are owned by the sibling compile).
|
|
109
104
|
*/
|
|
110
105
|
export async function compileForward(modelFactory, forward, opts = {}) {
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
106
|
+
const { graph, materialized } = traceModule(modelFactory, forward, opts.inputs ?? {});
|
|
107
|
+
const outputTensor = graph.tensors[graph.outputs[0]];
|
|
108
|
+
const plan = planBuffers(graph, /* paramGrads */ {});
|
|
109
|
+
const kernels = emitKernels(graph, plan);
|
|
110
|
+
const outputBufferId = plan.tensorToBuffer.get(outputTensor.id);
|
|
111
|
+
const runtime = await createForwardRuntime(plan, kernels, outputBufferId, opts);
|
|
112
|
+
uploadInitialParams(plan, materialized.initFns, runtime, opts.sharedParams);
|
|
113
|
+
const ir = { graph, paramGrads: {}, loss: outputTensor, plan, kernels };
|
|
114
|
+
return Object.assign(runtime, { ir, kernelCount: countKernels(kernels) });
|
|
118
115
|
}
|
|
119
|
-
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
|
|
123
|
-
async function buildModuleRuntime(modelFactory, forward, opts, sharedParams, withGrad) {
|
|
124
|
-
const inputDecls = opts.inputs ?? {};
|
|
116
|
+
/** Trace the forward function with a fresh model + tensor inputs and capture
|
|
117
|
+
* the materialized params. Shared by both compile entry points; everything
|
|
118
|
+
* past this point (grad/adam/buffer plan/runtime) diverges. */
|
|
119
|
+
function traceModule(modelFactory, forward, inputDecls) {
|
|
125
120
|
const model = modelFactory();
|
|
126
121
|
let materialized = { tensors: {}, initFns: {}, decayFlags: {} };
|
|
127
122
|
const graph = trace(() => {
|
|
@@ -132,38 +127,15 @@ async function buildModuleRuntime(modelFactory, forward, opts, sharedParams, wit
|
|
|
132
127
|
}
|
|
133
128
|
return forward(model, inputTensors);
|
|
134
129
|
});
|
|
135
|
-
|
|
136
|
-
let outputTensor;
|
|
137
|
-
let adamWritebacks = [];
|
|
138
|
-
if (withGrad) {
|
|
139
|
-
const gradResult = appendGrad(graph);
|
|
140
|
-
paramGrads = gradResult.paramGrads;
|
|
141
|
-
outputTensor = gradResult.loss;
|
|
142
|
-
const adamCfg = opts.adam;
|
|
143
|
-
if (adamCfg) {
|
|
144
|
-
const adamResult = appendAdam(graph, paramGrads, materialized.tensors, adamCfg, materialized.decayFlags);
|
|
145
|
-
adamWritebacks = adamResult.writebacks;
|
|
146
|
-
graph.__adam = adamResult;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
outputTensor = graph.tensors[graph.outputs[0]];
|
|
151
|
-
}
|
|
152
|
-
const plan = planBuffers(graph, paramGrads, adamWritebacks);
|
|
153
|
-
const kernels = emitKernels(graph, plan);
|
|
154
|
-
const outputBufferId = plan.tensorToBuffer.get(outputTensor.id);
|
|
155
|
-
// exactOptionalPropertyTypes: only include sharedParams when defined.
|
|
156
|
-
const runtimeOpts = sharedParams
|
|
157
|
-
? { ...opts, sharedParams }
|
|
158
|
-
: { ...opts };
|
|
159
|
-
const runtime = withGrad
|
|
160
|
-
? await createRuntime(plan, kernels, outputBufferId, runtimeOpts)
|
|
161
|
-
: await createForwardRuntime(plan, kernels, outputBufferId, runtimeOpts);
|
|
162
|
-
const ir = { graph, paramGrads, loss: outputTensor, plan, kernels };
|
|
163
|
-
return { runtime: runtime, materialized, plan, kernels, ir };
|
|
130
|
+
return { graph, materialized };
|
|
164
131
|
}
|
|
165
|
-
|
|
166
|
-
|
|
132
|
+
const countKernels = (kernels) => kernels.filter(k => k.wgsl).length;
|
|
133
|
+
/** Wrap the runtime's step() to inject Adam's per-step `lrt` (bias-corrected
|
|
134
|
+
* effective LR) and, when the user supplied a per-step lr schedule, the
|
|
135
|
+
* decayShrink scalar. Also wraps resetOptimizerState() so a reset zeros
|
|
136
|
+
* Adam's m/v *and* the bias-correction step counter — otherwise the next
|
|
137
|
+
* step would skip Adam's warmup phase. */
|
|
138
|
+
function wrapStepForAdam(runtime, adamResult) {
|
|
167
139
|
const { lrtInputName, decayShrinkInputName, config } = adamResult;
|
|
168
140
|
let t = 0;
|
|
169
141
|
const lrtBuf = new Float32Array(1);
|
|
@@ -186,7 +158,6 @@ function wrapStepForAdam(runtime, adamCfg, ir) {
|
|
|
186
158
|
t = 0;
|
|
187
159
|
innerReset();
|
|
188
160
|
};
|
|
189
|
-
void adamCfg;
|
|
190
161
|
}
|
|
191
162
|
/** Build a Record<paramName, Float32Array> by running each param's init
|
|
192
163
|
* function against its shape and uploading them to the runtime. Skips any
|
package/dist/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,oBAAoB;AACpB,sEAAsE;AACtE,iEAAiE;AACjE,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,mEAAmE;AAGnE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
|
package/dist/grad.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
// because we run inside an active trace context.
|
|
17
17
|
import { add, sub, mul, div, mulScalar, matmul, matmulBatched, transpose, swapAxes, reshape, exp, broadcastTo, sumToShape, constScalar, reluGrad, sumLast, where, } from './ops.js';
|
|
18
18
|
import { traceInto } from './trace.js';
|
|
19
|
+
import { shapesEqual } from './shape.js';
|
|
19
20
|
// `appendGrad(graph)` augments `graph` (which must have already been built by
|
|
20
21
|
// `trace(...)` and must have a single scalar output = the loss) with backward
|
|
21
22
|
// ops. Returns gradients for every param_input.
|
|
@@ -91,14 +92,6 @@ function unbroadcast(cotan, toShape) {
|
|
|
91
92
|
return cotan;
|
|
92
93
|
return sumToShape(cotan, toShape);
|
|
93
94
|
}
|
|
94
|
-
function shapesEqual(a, b) {
|
|
95
|
-
if (a.length !== b.length)
|
|
96
|
-
return false;
|
|
97
|
-
for (let i = 0; i < a.length; i++)
|
|
98
|
-
if (a[i] !== b[i])
|
|
99
|
-
return false;
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
95
|
// ============================================================================
|
|
103
96
|
// Transpose rules
|
|
104
97
|
// ============================================================================
|
|
@@ -378,12 +371,6 @@ function runTransposeRule(op, outCotan, graph, cotangents) {
|
|
|
378
371
|
// ============================================================================
|
|
379
372
|
// Helpers
|
|
380
373
|
// ============================================================================
|
|
381
|
-
function identityPerm(rank) {
|
|
382
|
-
const p = new Array(rank);
|
|
383
|
-
for (let i = 0; i < rank; i++)
|
|
384
|
-
p[i] = i;
|
|
385
|
-
return p;
|
|
386
|
-
}
|
|
387
374
|
function invertPerm(perm) {
|
|
388
375
|
const inv = new Array(perm.length);
|
|
389
376
|
for (let i = 0; i < perm.length; i++)
|
package/dist/grad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grad.js","sourceRoot":"","sources":["../src/grad.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grad.js","sourceRoot":"","sources":["../src/grad.ts"],"names":[],"mappings":"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"}
|