@ruvector/ruvllm 3.0.0 → 4.0.1
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/GPU-LOOP.md +229 -0
- package/LICENSE +201 -0
- package/NOTICE +9 -0
- package/README.md +159 -360
- package/examples/gpu-loop.example.json +26 -0
- package/package.json +50 -121
- package/src/adapters-cli.mjs +23 -0
- package/src/adapters.mjs +91 -0
- package/src/cli.mjs +30 -0
- package/src/engine.mjs +238 -0
- package/src/fixture.mjs +38 -0
- package/src/gpu-host.mjs +47 -0
- package/src/gpu-loop-cli.mjs +67 -0
- package/src/gpu-loop.mjs +184 -0
- package/src/gpu-spool-adapter.mjs +80 -0
- package/src/vast-host-adapter.mjs +274 -0
- package/bin/cli.js +0 -1040
- package/dist/cjs/benchmarks/embedding-benchmark.d.ts +0 -102
- package/dist/cjs/benchmarks/embedding-benchmark.d.ts.map +0 -1
- package/dist/cjs/benchmarks/embedding-benchmark.js +0 -436
- package/dist/cjs/benchmarks/index.d.ts +0 -34
- package/dist/cjs/benchmarks/index.d.ts.map +0 -1
- package/dist/cjs/benchmarks/index.js +0 -132
- package/dist/cjs/benchmarks/model-comparison.d.ts +0 -71
- package/dist/cjs/benchmarks/model-comparison.d.ts.map +0 -1
- package/dist/cjs/benchmarks/model-comparison.js +0 -476
- package/dist/cjs/benchmarks/routing-benchmark.d.ts +0 -70
- package/dist/cjs/benchmarks/routing-benchmark.d.ts.map +0 -1
- package/dist/cjs/benchmarks/routing-benchmark.js +0 -289
- package/dist/cjs/contrastive.d.ts +0 -229
- package/dist/cjs/contrastive.d.ts.map +0 -1
- package/dist/cjs/contrastive.js +0 -589
- package/dist/cjs/engine.d.ts +0 -160
- package/dist/cjs/engine.d.ts.map +0 -1
- package/dist/cjs/engine.js +0 -552
- package/dist/cjs/export.d.ts +0 -182
- package/dist/cjs/export.d.ts.map +0 -1
- package/dist/cjs/export.js +0 -422
- package/dist/cjs/federated.d.ts +0 -233
- package/dist/cjs/federated.d.ts.map +0 -1
- package/dist/cjs/federated.js +0 -525
- package/dist/cjs/index.d.ts +0 -68
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -104
- package/dist/cjs/intelligence.d.ts +0 -136
- package/dist/cjs/intelligence.d.ts.map +0 -1
- package/dist/cjs/intelligence.js +0 -226
- package/dist/cjs/lora.d.ts +0 -251
- package/dist/cjs/lora.d.ts.map +0 -1
- package/dist/cjs/lora.js +0 -509
- package/dist/cjs/models.d.ts +0 -129
- package/dist/cjs/models.d.ts.map +0 -1
- package/dist/cjs/models.js +0 -323
- package/dist/cjs/native.d.ts +0 -140
- package/dist/cjs/native.d.ts.map +0 -1
- package/dist/cjs/native.js +0 -98
- package/dist/cjs/session.d.ts +0 -80
- package/dist/cjs/session.d.ts.map +0 -1
- package/dist/cjs/session.js +0 -203
- package/dist/cjs/simd.d.ts +0 -90
- package/dist/cjs/simd.d.ts.map +0 -1
- package/dist/cjs/simd.js +0 -209
- package/dist/cjs/sona.d.ts +0 -223
- package/dist/cjs/sona.d.ts.map +0 -1
- package/dist/cjs/sona.js +0 -562
- package/dist/cjs/streaming.d.ts +0 -55
- package/dist/cjs/streaming.d.ts.map +0 -1
- package/dist/cjs/streaming.js +0 -131
- package/dist/cjs/training.d.ts +0 -312
- package/dist/cjs/training.d.ts.map +0 -1
- package/dist/cjs/training.js +0 -610
- package/dist/cjs/types.d.ts +0 -696
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -6
- package/dist/esm/benchmarks/embedding-benchmark.d.ts +0 -102
- package/dist/esm/benchmarks/embedding-benchmark.d.ts.map +0 -1
- package/dist/esm/benchmarks/embedding-benchmark.js +0 -427
- package/dist/esm/benchmarks/index.d.ts +0 -34
- package/dist/esm/benchmarks/index.d.ts.map +0 -1
- package/dist/esm/benchmarks/index.js +0 -110
- package/dist/esm/benchmarks/model-comparison.d.ts +0 -71
- package/dist/esm/benchmarks/model-comparison.d.ts.map +0 -1
- package/dist/esm/benchmarks/model-comparison.js +0 -434
- package/dist/esm/benchmarks/routing-benchmark.d.ts +0 -70
- package/dist/esm/benchmarks/routing-benchmark.d.ts.map +0 -1
- package/dist/esm/benchmarks/routing-benchmark.js +0 -283
- package/dist/esm/contrastive.d.ts +0 -229
- package/dist/esm/contrastive.d.ts.map +0 -1
- package/dist/esm/contrastive.js +0 -578
- package/dist/esm/engine.d.ts +0 -160
- package/dist/esm/engine.d.ts.map +0 -1
- package/dist/esm/engine.js +0 -548
- package/dist/esm/export.d.ts +0 -182
- package/dist/esm/export.d.ts.map +0 -1
- package/dist/esm/export.js +0 -414
- package/dist/esm/federated.d.ts +0 -233
- package/dist/esm/federated.d.ts.map +0 -1
- package/dist/esm/federated.js +0 -520
- package/dist/esm/index.d.ts +0 -68
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -84
- package/dist/esm/intelligence.d.ts +0 -136
- package/dist/esm/intelligence.d.ts.map +0 -1
- package/dist/esm/intelligence.js +0 -188
- package/dist/esm/lora.d.ts +0 -251
- package/dist/esm/lora.d.ts.map +0 -1
- package/dist/esm/lora.js +0 -504
- package/dist/esm/models.d.ts +0 -129
- package/dist/esm/models.d.ts.map +0 -1
- package/dist/esm/models.js +0 -282
- package/dist/esm/native.d.ts +0 -140
- package/dist/esm/native.d.ts.map +0 -1
- package/dist/esm/native.js +0 -93
- package/dist/esm/session.d.ts +0 -80
- package/dist/esm/session.d.ts.map +0 -1
- package/dist/esm/session.js +0 -199
- package/dist/esm/simd.d.ts +0 -90
- package/dist/esm/simd.d.ts.map +0 -1
- package/dist/esm/simd.js +0 -205
- package/dist/esm/sona.d.ts +0 -223
- package/dist/esm/sona.d.ts.map +0 -1
- package/dist/esm/sona.js +0 -556
- package/dist/esm/streaming.d.ts +0 -55
- package/dist/esm/streaming.d.ts.map +0 -1
- package/dist/esm/streaming.js +0 -126
- package/dist/esm/training.d.ts +0 -312
- package/dist/esm/training.d.ts.map +0 -1
- package/dist/esm/training.js +0 -603
- package/dist/esm/types.d.ts +0 -696
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js +0 -5
- package/scripts/ensemble-model-compare.js +0 -287
- package/scripts/fix-esm-extensions.mjs +0 -181
- package/scripts/huggingface/README.md +0 -537
- package/scripts/huggingface/publish.sh +0 -112
- package/scripts/hybrid-model-compare.js +0 -373
- package/scripts/improved-model-compare.js +0 -288
- package/scripts/optimized-model-compare.js +0 -364
- package/scripts/real-model-compare.js +0 -280
- package/scripts/smoke-esm.mjs +0 -82
- package/scripts/training/agentic-flow-capabilities.json +0 -329
- package/scripts/training/claude-code-synth.js +0 -505
- package/scripts/training/claude-flow-capabilities.json +0 -1322
- package/scripts/training/claude-hard-negatives.js +0 -222
- package/scripts/training/contrastive-finetune.js +0 -517
- package/scripts/training/ecosystem-triplets.jsonl +0 -1467
- package/scripts/training/generate-ecosystem-triplets.js +0 -1324
- package/scripts/training/routing-dataset.js +0 -634
- package/scripts/training/ruvector-capabilities.json +0 -798
- package/scripts/training/validate-ecosystem.js +0 -381
- package/scripts/training/validation-results.json +0 -23
package/dist/esm/lora.d.ts
DELETED
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LoRA (Low-Rank Adaptation) Runtime
|
|
3
|
-
*
|
|
4
|
-
* Efficient parameter-efficient fine-tuning adapters for LLMs.
|
|
5
|
-
* Supports micro-LoRA (fast, small updates) and base-LoRA (deeper adaptation).
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { LoraAdapter, LoraManager } from '@ruvector/ruvllm';
|
|
10
|
-
*
|
|
11
|
-
* // Create adapter
|
|
12
|
-
* const adapter = new LoraAdapter({
|
|
13
|
-
* rank: 8,
|
|
14
|
-
* alpha: 16,
|
|
15
|
-
* dropout: 0.1,
|
|
16
|
-
* targetModules: ['query', 'value'],
|
|
17
|
-
* });
|
|
18
|
-
*
|
|
19
|
-
* // Apply to hidden states
|
|
20
|
-
* const output = adapter.forward(hiddenStates);
|
|
21
|
-
*
|
|
22
|
-
* // Manage multiple adapters
|
|
23
|
-
* const manager = new LoraManager();
|
|
24
|
-
* manager.register('task-1', adapter);
|
|
25
|
-
* manager.activate('task-1');
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
import { LoRAConfig } from './types.js';
|
|
29
|
-
/**
|
|
30
|
-
* LoRA adapter weights
|
|
31
|
-
*/
|
|
32
|
-
export interface LoraWeights {
|
|
33
|
-
/** Down projection matrix (d x r) */
|
|
34
|
-
loraA: number[][];
|
|
35
|
-
/** Up projection matrix (r x d) */
|
|
36
|
-
loraB: number[][];
|
|
37
|
-
/** Scaling factor */
|
|
38
|
-
scaling: number;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* LoRA training state
|
|
42
|
-
*/
|
|
43
|
-
export interface LoraTrainingState {
|
|
44
|
-
/** Current step */
|
|
45
|
-
step: number;
|
|
46
|
-
/** Learning rate */
|
|
47
|
-
learningRate: number;
|
|
48
|
-
/** Accumulated gradients for A */
|
|
49
|
-
gradA: number[][];
|
|
50
|
-
/** Accumulated gradients for B */
|
|
51
|
-
gradB: number[][];
|
|
52
|
-
/** Loss history */
|
|
53
|
-
lossHistory: number[];
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* LoRA Adapter
|
|
57
|
-
*
|
|
58
|
-
* Implements low-rank decomposition for parameter-efficient fine-tuning.
|
|
59
|
-
* W' = W + BA where A is (d x r) and B is (r x d), r << d
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```typescript
|
|
63
|
-
* const adapter = new LoraAdapter({
|
|
64
|
-
* rank: 8,
|
|
65
|
-
* alpha: 16,
|
|
66
|
-
* inputDim: 768,
|
|
67
|
-
* outputDim: 768,
|
|
68
|
-
* });
|
|
69
|
-
*
|
|
70
|
-
* // Forward pass
|
|
71
|
-
* const output = adapter.forward(input);
|
|
72
|
-
*
|
|
73
|
-
* // Training step
|
|
74
|
-
* adapter.backward(input, gradOutput, 0.001);
|
|
75
|
-
* ```
|
|
76
|
-
*/
|
|
77
|
-
export declare class LoraAdapter {
|
|
78
|
-
private config;
|
|
79
|
-
private inputDim;
|
|
80
|
-
private outputDim;
|
|
81
|
-
private weights;
|
|
82
|
-
private trainingState;
|
|
83
|
-
private frozen;
|
|
84
|
-
constructor(config?: Partial<LoRAConfig>, inputDim?: number, outputDim?: number);
|
|
85
|
-
/**
|
|
86
|
-
* Forward pass through LoRA adapter
|
|
87
|
-
* OPTIMIZED: Uses Float64Array and loop unrolling
|
|
88
|
-
*
|
|
89
|
-
* output = input + scaling * (input @ A @ B)
|
|
90
|
-
*/
|
|
91
|
-
forward(input: number[]): number[];
|
|
92
|
-
/**
|
|
93
|
-
* Forward with batch processing
|
|
94
|
-
*/
|
|
95
|
-
forwardBatch(inputs: number[][]): number[][];
|
|
96
|
-
/**
|
|
97
|
-
* Backward pass and weight update
|
|
98
|
-
*/
|
|
99
|
-
backward(input: number[], gradOutput: number[], learningRate: number): number;
|
|
100
|
-
/**
|
|
101
|
-
* Start training mode
|
|
102
|
-
*/
|
|
103
|
-
startTraining(learningRate?: number): void;
|
|
104
|
-
/**
|
|
105
|
-
* End training mode
|
|
106
|
-
*/
|
|
107
|
-
endTraining(): LoraTrainingState | null;
|
|
108
|
-
/**
|
|
109
|
-
* Freeze adapter (no more updates)
|
|
110
|
-
*/
|
|
111
|
-
freeze(): void;
|
|
112
|
-
/**
|
|
113
|
-
* Unfreeze adapter
|
|
114
|
-
*/
|
|
115
|
-
unfreeze(): void;
|
|
116
|
-
/**
|
|
117
|
-
* Check if frozen
|
|
118
|
-
*/
|
|
119
|
-
isFrozen(): boolean;
|
|
120
|
-
/**
|
|
121
|
-
* Get adapter config
|
|
122
|
-
*/
|
|
123
|
-
getConfig(): Required<LoRAConfig>;
|
|
124
|
-
/**
|
|
125
|
-
* Get input dimension (rows of loraA).
|
|
126
|
-
*
|
|
127
|
-
* The adapter's geometry (inputDim/outputDim) is not part of LoRAConfig,
|
|
128
|
-
* so these getters expose it for checkpoint metadata and shape validation.
|
|
129
|
-
*/
|
|
130
|
-
getInputDim(): number;
|
|
131
|
-
/**
|
|
132
|
-
* Get output dimension (cols of loraB).
|
|
133
|
-
*/
|
|
134
|
-
getOutputDim(): number;
|
|
135
|
-
/**
|
|
136
|
-
* Get adapter weights
|
|
137
|
-
*/
|
|
138
|
-
getWeights(): LoraWeights;
|
|
139
|
-
/**
|
|
140
|
-
* Set adapter weights
|
|
141
|
-
*/
|
|
142
|
-
setWeights(weights: LoraWeights): void;
|
|
143
|
-
/**
|
|
144
|
-
* Merge adapter into base weights
|
|
145
|
-
*
|
|
146
|
-
* Returns delta to add to base model weights
|
|
147
|
-
*/
|
|
148
|
-
merge(): number[][];
|
|
149
|
-
/**
|
|
150
|
-
* Get number of trainable parameters
|
|
151
|
-
*/
|
|
152
|
-
numParameters(): number;
|
|
153
|
-
/**
|
|
154
|
-
* Reset to initial weights
|
|
155
|
-
*/
|
|
156
|
-
reset(): void;
|
|
157
|
-
/**
|
|
158
|
-
* Clone adapter
|
|
159
|
-
*/
|
|
160
|
-
clone(): LoraAdapter;
|
|
161
|
-
/**
|
|
162
|
-
* Serialize to JSON
|
|
163
|
-
*/
|
|
164
|
-
toJSON(): string;
|
|
165
|
-
/**
|
|
166
|
-
* Deserialize from JSON
|
|
167
|
-
*/
|
|
168
|
-
static fromJSON(json: string): LoraAdapter;
|
|
169
|
-
private initializeWeights;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* LoRA Manager for multiple adapters
|
|
173
|
-
*
|
|
174
|
-
* Manages a collection of LoRA adapters for different tasks/domains.
|
|
175
|
-
*/
|
|
176
|
-
export declare class LoraManager {
|
|
177
|
-
private adapters;
|
|
178
|
-
private activeAdapterId;
|
|
179
|
-
private defaultConfig;
|
|
180
|
-
constructor(defaultConfig?: Partial<LoRAConfig>);
|
|
181
|
-
/**
|
|
182
|
-
* Register a new adapter
|
|
183
|
-
*/
|
|
184
|
-
register(id: string, adapter: LoraAdapter): void;
|
|
185
|
-
/**
|
|
186
|
-
* Create and register a new adapter
|
|
187
|
-
*/
|
|
188
|
-
create(id: string, config?: Partial<LoRAConfig>, inputDim?: number, outputDim?: number): LoraAdapter;
|
|
189
|
-
/**
|
|
190
|
-
* Get adapter by ID
|
|
191
|
-
*/
|
|
192
|
-
get(id: string): LoraAdapter | undefined;
|
|
193
|
-
/**
|
|
194
|
-
* Remove adapter
|
|
195
|
-
*/
|
|
196
|
-
remove(id: string): boolean;
|
|
197
|
-
/**
|
|
198
|
-
* Activate an adapter
|
|
199
|
-
*/
|
|
200
|
-
activate(id: string): boolean;
|
|
201
|
-
/**
|
|
202
|
-
* Deactivate current adapter
|
|
203
|
-
*/
|
|
204
|
-
deactivate(): void;
|
|
205
|
-
/**
|
|
206
|
-
* Get active adapter
|
|
207
|
-
*/
|
|
208
|
-
getActive(): LoraAdapter | null;
|
|
209
|
-
/**
|
|
210
|
-
* Get active adapter ID
|
|
211
|
-
*/
|
|
212
|
-
getActiveId(): string | null;
|
|
213
|
-
/**
|
|
214
|
-
* Apply active adapter
|
|
215
|
-
*/
|
|
216
|
-
forward(input: number[]): number[];
|
|
217
|
-
/**
|
|
218
|
-
* List all adapter IDs
|
|
219
|
-
*/
|
|
220
|
-
list(): string[];
|
|
221
|
-
/**
|
|
222
|
-
* Get adapter count
|
|
223
|
-
*/
|
|
224
|
-
count(): number;
|
|
225
|
-
/**
|
|
226
|
-
* Freeze all adapters
|
|
227
|
-
*/
|
|
228
|
-
freezeAll(): void;
|
|
229
|
-
/**
|
|
230
|
-
* Unfreeze all adapters
|
|
231
|
-
*/
|
|
232
|
-
unfreezeAll(): void;
|
|
233
|
-
/**
|
|
234
|
-
* Merge multiple adapters into one
|
|
235
|
-
*/
|
|
236
|
-
mergeAdapters(ids: string[], outputId: string): LoraAdapter | null;
|
|
237
|
-
/**
|
|
238
|
-
* Get statistics
|
|
239
|
-
*/
|
|
240
|
-
stats(): {
|
|
241
|
-
totalAdapters: number;
|
|
242
|
-
activeAdapter: string | null;
|
|
243
|
-
totalParameters: number;
|
|
244
|
-
frozenCount: number;
|
|
245
|
-
};
|
|
246
|
-
/**
|
|
247
|
-
* Clear all adapters
|
|
248
|
-
*/
|
|
249
|
-
clear(): void;
|
|
250
|
-
}
|
|
251
|
-
//# sourceMappingURL=lora.d.ts.map
|
package/dist/esm/lora.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lora.d.ts","sourceRoot":"","sources":["../../src/lora.ts"],"names":[],"mappings":"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"}
|