@genai-fi/nanogpt 0.19.1 → 0.20.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/package.json +9 -10
- package/dist/Generator.d.ts +0 -82
- package/dist/Generator.js +0 -11941
- package/dist/RealDiv-CGwv0liw.js +0 -365
- package/dist/Reshape-BW__R4mZ.js +0 -79
- package/dist/Reshape-CPBkTIH2.js +0 -14
- package/dist/TeachableLLM.d.ts +0 -70
- package/dist/TeachableLLM.js +0 -273
- package/dist/Trainer.d.ts +0 -43
- package/dist/Trainer.js +0 -244
- package/dist/_commonjsHelpers-ByX85dGu.js +0 -33
- package/dist/axis_util-GTVlo58H.js +0 -55
- package/dist/backend.d.ts +0 -2
- package/dist/backend.js +0 -13
- package/dist/backend_util-GaFarB78.js +0 -425
- package/dist/backend_webgpu-BqASlsbV.js +0 -545
- package/dist/binary_op_util-pKXltfxI.js +0 -192
- package/dist/broadcast_to-eS93CCN_.js +0 -28
- package/dist/checks/appendCache.d.ts +0 -1
- package/dist/checks/appendCache.js +0 -22
- package/dist/checks/attentionMask.d.ts +0 -1
- package/dist/checks/attentionMask.js +0 -37
- package/dist/checks/check.d.ts +0 -9
- package/dist/checks/check.js +0 -20
- package/dist/checks/gelu.d.ts +0 -1
- package/dist/checks/gelu.js +0 -18
- package/dist/checks/index.d.ts +0 -26
- package/dist/checks/index.js +0 -28
- package/dist/checks/matMulGelu.d.ts +0 -1
- package/dist/checks/matMulGelu.js +0 -28
- package/dist/checks/normRMS.d.ts +0 -1
- package/dist/checks/normRMS.js +0 -16
- package/dist/checks/normRMSGrad.d.ts +0 -1
- package/dist/checks/normRMSGrad.js +0 -12
- package/dist/checks/packUnpack.d.ts +0 -1
- package/dist/checks/packUnpack.js +0 -18
- package/dist/checks/qkv.d.ts +0 -1
- package/dist/checks/qkv.js +0 -34
- package/dist/checks/rope.d.ts +0 -1
- package/dist/checks/rope.js +0 -36
- package/dist/checks/weights.d.ts +0 -14
- package/dist/checks/weights.js +0 -31
- package/dist/clip_by_value-DDA7rrcT.js +0 -12
- package/dist/complex-DI35Q-gW.js +0 -11
- package/dist/complex_util-Yc1A_gV1.js +0 -55
- package/dist/concat-CAQpCret.js +0 -17
- package/dist/concat_util-D18dJ4fD.js +0 -22
- package/dist/data/docx.d.ts +0 -2
- package/dist/data/docx.js +0 -15
- package/dist/data/parquet.d.ts +0 -2
- package/dist/data/parquet.js +0 -17
- package/dist/data/pdf.d.ts +0 -2
- package/dist/data/pdf.js +0 -14
- package/dist/data/textLoader.d.ts +0 -7
- package/dist/data/textLoader.js +0 -118
- package/dist/dataset-CGGp1z9P.js +0 -1124
- package/dist/dropout_util--NxWuYg2.js +0 -27
- package/dist/expand_dims-Bkd1YD5x.js +0 -11
- package/dist/exports_initializers-CYzKLjN7.js +0 -7
- package/dist/floor-BQtb-Azg.js +0 -9
- package/dist/gather-qIqEqaGn.js +0 -9
- package/dist/gelu-B220X1Go.js +0 -26
- package/dist/gpgpu_math-BwvV12df.js +0 -2022
- package/dist/index-CUXkjxiT.js +0 -3516
- package/dist/index-CieiGp4Y.js +0 -349
- package/dist/index-CjOWnMXP.js +0 -7308
- package/dist/index-Cp39cXWe.js +0 -1016
- package/dist/index-D5v913EJ.js +0 -4
- package/dist/index-DmeWGGmS.js +0 -1074
- package/dist/index-DvYrXKkX.js +0 -113
- package/dist/index-Ksja3su6.js +0 -151
- package/dist/index-xuotMAFm.js +0 -118
- package/dist/inference/types.d.ts +0 -16
- package/dist/inference/types.js +0 -1
- package/dist/jszip.min-BZhlzntC.js +0 -2313
- package/dist/kernel_funcs_utils-pq0CK9co.js +0 -306
- package/dist/layers/BaseLayer.d.ts +0 -44
- package/dist/layers/BaseLayer.js +0 -74
- package/dist/layers/CausalSelfAttention.d.ts +0 -39
- package/dist/layers/CausalSelfAttention.js +0 -86
- package/dist/layers/LoRA.d.ts +0 -14
- package/dist/layers/LoRA.js +0 -58
- package/dist/layers/MLP.d.ts +0 -17
- package/dist/layers/MLP.js +0 -44
- package/dist/layers/PositionEmbedding.d.ts +0 -8
- package/dist/layers/PositionEmbedding.js +0 -31
- package/dist/layers/RMSNorm.d.ts +0 -12
- package/dist/layers/RMSNorm.js +0 -22
- package/dist/layers/RoPECache.d.ts +0 -18
- package/dist/layers/RoPECache.js +0 -50
- package/dist/layers/TiedEmbedding.d.ts +0 -13
- package/dist/layers/TiedEmbedding.js +0 -36
- package/dist/layers/TransformerBlock.d.ts +0 -27
- package/dist/layers/TransformerBlock.js +0 -40
- package/dist/layers/WeightStore.d.ts +0 -20
- package/dist/layers/WeightStore.js +0 -76
- package/dist/loader/load.d.ts +0 -6
- package/dist/loader/load.js +0 -68
- package/dist/loader/loadHF.d.ts +0 -8
- package/dist/loader/loadHF.js +0 -22
- package/dist/loader/loadTransformers.d.ts +0 -4
- package/dist/loader/loadTransformers.js +0 -44
- package/dist/loader/loadZipMeta.d.ts +0 -3
- package/dist/loader/loadZipMeta.js +0 -16
- package/dist/loader/newZipLoad.d.ts +0 -3
- package/dist/loader/newZipLoad.js +0 -31
- package/dist/loader/oldZipLoad.d.ts +0 -9
- package/dist/loader/oldZipLoad.js +0 -80
- package/dist/loader/save.d.ts +0 -16
- package/dist/loader/save.js +0 -90
- package/dist/loader/types.d.ts +0 -67
- package/dist/loader/types.js +0 -1
- package/dist/main.d.ts +0 -50
- package/dist/main.js +0 -109
- package/dist/matMul16-BcVC_E62.js +0 -80
- package/dist/matMulGelu-JNLZqKQp.js +0 -163
- package/dist/mat_mul-DhG0Newp.js +0 -11
- package/dist/mod-CSdCpRjf.js +0 -11
- package/dist/models/NanoGPTV1.d.ts +0 -16
- package/dist/models/NanoGPTV1.js +0 -99
- package/dist/models/NanoGPTV2.d.ts +0 -16
- package/dist/models/NanoGPTV2.js +0 -90
- package/dist/models/config.d.ts +0 -27
- package/dist/models/config.js +0 -50
- package/dist/models/factory.d.ts +0 -3
- package/dist/models/factory.js +0 -16
- package/dist/models/model.d.ts +0 -44
- package/dist/models/model.js +0 -134
- package/dist/non_max_suppression_impl-B2W7YjZB.js +0 -102
- package/dist/not_equal-hurPF26l.js +0 -64
- package/dist/ones-BytntneX.js +0 -14
- package/dist/ops/adamAdjust.d.ts +0 -2
- package/dist/ops/adamAdjust.js +0 -9
- package/dist/ops/adamMoments.d.ts +0 -2
- package/dist/ops/adamMoments.js +0 -9
- package/dist/ops/add16.d.ts +0 -2
- package/dist/ops/add16.js +0 -9
- package/dist/ops/appendCache.d.ts +0 -2
- package/dist/ops/appendCache.js +0 -22
- package/dist/ops/attentionMask.d.ts +0 -2
- package/dist/ops/attentionMask.js +0 -10
- package/dist/ops/concat16.d.ts +0 -2
- package/dist/ops/concat16.js +0 -9
- package/dist/ops/cpu/adamAdjust.d.ts +0 -1
- package/dist/ops/cpu/adamAdjust.js +0 -18
- package/dist/ops/cpu/adamMoments.d.ts +0 -1
- package/dist/ops/cpu/adamMoments.js +0 -16
- package/dist/ops/cpu/appendCache.d.ts +0 -1
- package/dist/ops/cpu/appendCache.js +0 -23
- package/dist/ops/cpu/attentionMask.d.ts +0 -1
- package/dist/ops/cpu/attentionMask.js +0 -22
- package/dist/ops/cpu/fusedSoftmax.d.ts +0 -9
- package/dist/ops/cpu/fusedSoftmax.js +0 -29
- package/dist/ops/cpu/gatherSub.d.ts +0 -1
- package/dist/ops/cpu/gatherSub.js +0 -18
- package/dist/ops/cpu/gelu.d.ts +0 -1
- package/dist/ops/cpu/gelu.js +0 -40
- package/dist/ops/cpu/matMul16.d.ts +0 -1
- package/dist/ops/cpu/matMul16.js +0 -15
- package/dist/ops/cpu/matMulGelu.d.ts +0 -1
- package/dist/ops/cpu/matMulGelu.js +0 -53
- package/dist/ops/cpu/matMulMul.d.ts +0 -1
- package/dist/ops/cpu/matMulMul.js +0 -23
- package/dist/ops/cpu/mulDropout.d.ts +0 -1
- package/dist/ops/cpu/mulDropout.js +0 -23
- package/dist/ops/cpu/normRMS.d.ts +0 -1
- package/dist/ops/cpu/normRMS.js +0 -39
- package/dist/ops/cpu/qkv.d.ts +0 -5
- package/dist/ops/cpu/qkv.js +0 -41
- package/dist/ops/cpu/rope.d.ts +0 -6
- package/dist/ops/cpu/rope.js +0 -38
- package/dist/ops/cpu/scatterSub.d.ts +0 -1
- package/dist/ops/cpu/scatterSub.js +0 -23
- package/dist/ops/dot16.d.ts +0 -2
- package/dist/ops/dot16.js +0 -42
- package/dist/ops/dropout.d.ts +0 -2
- package/dist/ops/dropout.js +0 -14
- package/dist/ops/dropout16.d.ts +0 -2
- package/dist/ops/dropout16.js +0 -25
- package/dist/ops/gatherSub.d.ts +0 -2
- package/dist/ops/gatherSub.js +0 -9
- package/dist/ops/gelu.d.ts +0 -3
- package/dist/ops/gelu.js +0 -8
- package/dist/ops/globalNorm.d.ts +0 -2
- package/dist/ops/globalNorm.js +0 -13
- package/dist/ops/grads/add16.d.ts +0 -1
- package/dist/ops/grads/add16.js +0 -26
- package/dist/ops/grads/attentionMask.d.ts +0 -1
- package/dist/ops/grads/attentionMask.js +0 -21
- package/dist/ops/grads/dropout16.d.ts +0 -1
- package/dist/ops/grads/dropout16.js +0 -2
- package/dist/ops/grads/gelu.d.ts +0 -2
- package/dist/ops/grads/gelu.js +0 -5
- package/dist/ops/grads/matMul16.d.ts +0 -2
- package/dist/ops/grads/matMul16.js +0 -9
- package/dist/ops/grads/matMulGelu.d.ts +0 -1
- package/dist/ops/grads/matMulGelu.js +0 -17
- package/dist/ops/grads/mul16.d.ts +0 -1
- package/dist/ops/grads/mul16.js +0 -4
- package/dist/ops/grads/normRMS.d.ts +0 -3
- package/dist/ops/grads/normRMS.js +0 -33
- package/dist/ops/grads/pack16.d.ts +0 -2
- package/dist/ops/grads/pack16.js +0 -6
- package/dist/ops/grads/qkv.d.ts +0 -3
- package/dist/ops/grads/qkv.js +0 -34
- package/dist/ops/grads/rope.d.ts +0 -2
- package/dist/ops/grads/rope.js +0 -5
- package/dist/ops/grads/softmax16.d.ts +0 -2
- package/dist/ops/grads/softmax16.js +0 -25
- package/dist/ops/grads/unpack16.d.ts +0 -2
- package/dist/ops/grads/unpack16.js +0 -5
- package/dist/ops/grads/utils.d.ts +0 -4
- package/dist/ops/grads/utils.js +0 -14
- package/dist/ops/log.d.ts +0 -0
- package/dist/ops/log.js +0 -1
- package/dist/ops/matMul16.d.ts +0 -15
- package/dist/ops/matMul16.js +0 -13
- package/dist/ops/matMulGelu.d.ts +0 -3
- package/dist/ops/matMulGelu.js +0 -14
- package/dist/ops/matMulMul.d.ts +0 -2
- package/dist/ops/matMulMul.js +0 -9
- package/dist/ops/mul16.d.ts +0 -2
- package/dist/ops/mul16.js +0 -39
- package/dist/ops/mulDrop.d.ts +0 -2
- package/dist/ops/mulDrop.js +0 -9
- package/dist/ops/normRMS.d.ts +0 -2
- package/dist/ops/normRMS.js +0 -19
- package/dist/ops/pack16.d.ts +0 -2
- package/dist/ops/pack16.js +0 -5
- package/dist/ops/qkv.d.ts +0 -2
- package/dist/ops/qkv.js +0 -10
- package/dist/ops/reshape16.d.ts +0 -2
- package/dist/ops/reshape16.js +0 -41
- package/dist/ops/rope.d.ts +0 -3
- package/dist/ops/rope.js +0 -7
- package/dist/ops/scatterSub.d.ts +0 -2
- package/dist/ops/scatterSub.js +0 -9
- package/dist/ops/slice16.d.ts +0 -2
- package/dist/ops/slice16.js +0 -9
- package/dist/ops/softmax16.d.ts +0 -2
- package/dist/ops/softmax16.js +0 -9
- package/dist/ops/sub16.d.ts +0 -2
- package/dist/ops/sub16.js +0 -8
- package/dist/ops/sum16.d.ts +0 -2
- package/dist/ops/sum16.js +0 -13
- package/dist/ops/transpose16.d.ts +0 -3
- package/dist/ops/transpose16.js +0 -40
- package/dist/ops/unpack16.d.ts +0 -2
- package/dist/ops/unpack16.js +0 -6
- package/dist/ops/webgl/adamAdjust.d.ts +0 -1
- package/dist/ops/webgl/adamAdjust.js +0 -49
- package/dist/ops/webgl/adamMoments.d.ts +0 -1
- package/dist/ops/webgl/adamMoments.js +0 -40
- package/dist/ops/webgl/appendCache.d.ts +0 -1
- package/dist/ops/webgl/appendCache.js +0 -44
- package/dist/ops/webgl/attentionMask.d.ts +0 -1
- package/dist/ops/webgl/attentionMask.js +0 -45
- package/dist/ops/webgl/dropout16.d.ts +0 -1
- package/dist/ops/webgl/dropout16.js +0 -11
- package/dist/ops/webgl/fusedSoftmax.d.ts +0 -11
- package/dist/ops/webgl/fusedSoftmax.js +0 -80
- package/dist/ops/webgl/gatherSub.d.ts +0 -1
- package/dist/ops/webgl/gatherSub.js +0 -27
- package/dist/ops/webgl/gelu.d.ts +0 -2
- package/dist/ops/webgl/gelu.js +0 -50
- package/dist/ops/webgl/log.d.ts +0 -17
- package/dist/ops/webgl/log.js +0 -23
- package/dist/ops/webgl/matMul16.d.ts +0 -1
- package/dist/ops/webgl/matMul16.js +0 -45
- package/dist/ops/webgl/matMulGelu.d.ts +0 -21
- package/dist/ops/webgl/matMulGelu.js +0 -9
- package/dist/ops/webgl/matMulMul.d.ts +0 -14
- package/dist/ops/webgl/matMulMul.js +0 -28
- package/dist/ops/webgl/mulDropout.d.ts +0 -1
- package/dist/ops/webgl/mulDropout.js +0 -41
- package/dist/ops/webgl/normRMS.d.ts +0 -1
- package/dist/ops/webgl/normRMS.js +0 -93
- package/dist/ops/webgl/qkv.d.ts +0 -1
- package/dist/ops/webgl/qkv.js +0 -46
- package/dist/ops/webgl/rope.d.ts +0 -1
- package/dist/ops/webgl/rope.js +0 -56
- package/dist/ops/webgl/scatterSub.d.ts +0 -1
- package/dist/ops/webgl/scatterSub.js +0 -27
- package/dist/ops/webgpu/adamAdjust.d.ts +0 -1
- package/dist/ops/webgpu/adamAdjust.js +0 -57
- package/dist/ops/webgpu/adamMoments.d.ts +0 -1
- package/dist/ops/webgpu/adamMoments.js +0 -60
- package/dist/ops/webgpu/add16.d.ts +0 -1
- package/dist/ops/webgpu/add16.js +0 -13
- package/dist/ops/webgpu/appendCache.d.ts +0 -1
- package/dist/ops/webgpu/appendCache.js +0 -105
- package/dist/ops/webgpu/attentionMask.d.ts +0 -1
- package/dist/ops/webgpu/attentionMask.js +0 -26
- package/dist/ops/webgpu/attentionMask32_program.d.ts +0 -19
- package/dist/ops/webgpu/attentionMask32_program.js +0 -54
- package/dist/ops/webgpu/clipScale.d.ts +0 -1
- package/dist/ops/webgpu/clipScale.js +0 -58
- package/dist/ops/webgpu/concat16.d.ts +0 -19
- package/dist/ops/webgpu/concat16.js +0 -126
- package/dist/ops/webgpu/dropout16.d.ts +0 -1
- package/dist/ops/webgpu/dropout16.js +0 -51
- package/dist/ops/webgpu/gatherSub.d.ts +0 -1
- package/dist/ops/webgpu/gatherSub.js +0 -39
- package/dist/ops/webgpu/gelu.d.ts +0 -14
- package/dist/ops/webgpu/gelu.js +0 -141
- package/dist/ops/webgpu/index.d.ts +0 -0
- package/dist/ops/webgpu/index.js +0 -26
- package/dist/ops/webgpu/matMul16.d.ts +0 -1
- package/dist/ops/webgpu/matMul16.js +0 -65
- package/dist/ops/webgpu/matMul16_program.d.ts +0 -42
- package/dist/ops/webgpu/matMul16_program.js +0 -343
- package/dist/ops/webgpu/mul16.d.ts +0 -1
- package/dist/ops/webgpu/mul16.js +0 -13
- package/dist/ops/webgpu/norm2.d.ts +0 -1
- package/dist/ops/webgpu/norm2.js +0 -76
- package/dist/ops/webgpu/normRMS.d.ts +0 -1
- package/dist/ops/webgpu/normRMS.js +0 -34
- package/dist/ops/webgpu/normRMS16_program.d.ts +0 -10
- package/dist/ops/webgpu/normRMS16_program.js +0 -25
- package/dist/ops/webgpu/normRMS32_program.d.ts +0 -10
- package/dist/ops/webgpu/normRMS32_program.js +0 -25
- package/dist/ops/webgpu/normRMSGrad.d.ts +0 -1
- package/dist/ops/webgpu/normRMSGrad.js +0 -284
- package/dist/ops/webgpu/pack16.d.ts +0 -1
- package/dist/ops/webgpu/pack16.js +0 -18
- package/dist/ops/webgpu/pack16_program.d.ts +0 -19
- package/dist/ops/webgpu/pack16_program.js +0 -92
- package/dist/ops/webgpu/qkv.d.ts +0 -1
- package/dist/ops/webgpu/qkv.js +0 -24
- package/dist/ops/webgpu/rope.d.ts +0 -1
- package/dist/ops/webgpu/rope.js +0 -135
- package/dist/ops/webgpu/scatterSub.d.ts +0 -1
- package/dist/ops/webgpu/scatterSub.js +0 -40
- package/dist/ops/webgpu/slice16.d.ts +0 -7
- package/dist/ops/webgpu/slice16.js +0 -69
- package/dist/ops/webgpu/softmax16.d.ts +0 -17
- package/dist/ops/webgpu/softmax16.js +0 -21
- package/dist/ops/webgpu/softmax16_program.d.ts +0 -13
- package/dist/ops/webgpu/softmax16_program.js +0 -73
- package/dist/ops/webgpu/softmax16_subgroup_program.d.ts +0 -17
- package/dist/ops/webgpu/softmax16_subgroup_program.js +0 -75
- package/dist/ops/webgpu/softmax16grad.d.ts +0 -1
- package/dist/ops/webgpu/softmax16grad.js +0 -37
- package/dist/ops/webgpu/sub16.d.ts +0 -1
- package/dist/ops/webgpu/sub16.js +0 -13
- package/dist/ops/webgpu/sum16.d.ts +0 -1
- package/dist/ops/webgpu/sum16.js +0 -38
- package/dist/ops/webgpu/transpose16.d.ts +0 -1
- package/dist/ops/webgpu/transpose16.js +0 -34
- package/dist/ops/webgpu/transpose16_program.d.ts +0 -16
- package/dist/ops/webgpu/transpose16_program.js +0 -50
- package/dist/ops/webgpu/transpose16_shared_program.d.ts +0 -15
- package/dist/ops/webgpu/transpose16_shared_program.js +0 -70
- package/dist/ops/webgpu/unpack16.d.ts +0 -1
- package/dist/ops/webgpu/unpack16.js +0 -48
- package/dist/ops/webgpu/utils/binary_op.d.ts +0 -35
- package/dist/ops/webgpu/utils/binary_op.js +0 -139
- package/dist/ops/webgpu/utils/deviceInfo.d.ts +0 -7
- package/dist/ops/webgpu/utils/deviceInfo.js +0 -11
- package/dist/ops/webgpu/utils/reductions.d.ts +0 -43
- package/dist/ops/webgpu/utils/reductions.js +0 -275
- package/dist/ops-CsXeTq1P.js +0 -476
- package/dist/pack16-bqltoUlR.js +0 -39
- package/dist/papaparse.min-C0cScC2i.js +0 -418
- package/dist/parquet-Bqjmp2vo.js +0 -44231
- package/dist/patches/webgpu_backend.d.ts +0 -18
- package/dist/patches/webgpu_backend.js +0 -56
- package/dist/patches/webgpu_base.d.ts +0 -21
- package/dist/patches/webgpu_base.js +0 -34
- package/dist/patches/webgpu_program.d.ts +0 -36
- package/dist/patches/webgpu_program.js +0 -400
- package/dist/pdf-NIhmP3sq.js +0 -19477
- package/dist/rand_util-CZ7yLoUm.js +0 -50
- package/dist/random_normal-IBRrha8a.js +0 -14
- package/dist/random_width-DN5ZtQkM.js +0 -9796
- package/dist/range-C-CjF-LI.js +0 -10
- package/dist/relu-J_X6MUzx.js +0 -9
- package/dist/reshape-BDOuCSNW.js +0 -9
- package/dist/resize_nearest_neighbor-BojqlfRe.js +0 -150
- package/dist/rope-DcrZM_e6.js +0 -24
- package/dist/scatter_nd_util-ByNJaL6I.js +0 -46
- package/dist/segment_util-Dasb2Zaf.js +0 -43
- package/dist/selu_util-BLhIqRkw.js +0 -44
- package/dist/shared-3agzAqQ_.js +0 -53
- package/dist/shared-CagdqkLh.js +0 -2143
- package/dist/slice-BzS11Qh0.js +0 -12
- package/dist/slice_util-CC35pLmT.js +0 -153
- package/dist/softmax-D4q1LJN7.js +0 -12
- package/dist/split-C2Sj255c.js +0 -9
- package/dist/squeeze-ho4wLUek.js +0 -10
- package/dist/stack-DudVrtmG.js +0 -11
- package/dist/step-BTxPtq1r.js +0 -261
- package/dist/sum-BpiwSWvg.js +0 -11
- package/dist/tensor-BWFldCso.js +0 -8
- package/dist/tensor1d-LMGMIUlr.js +0 -11
- package/dist/tensor2d-BnXMKScO.js +0 -14
- package/dist/tensor4d-C6UCG_u8.js +0 -14
- package/dist/tfjs_backend-BGnG-ppu.js +0 -654
- package/dist/tile-CFy-xTO6.js +0 -11
- package/dist/tokeniser/BaseTokeniser.d.ts +0 -33
- package/dist/tokeniser/BaseTokeniser.js +0 -124
- package/dist/tokeniser/CharTokeniser.d.ts +0 -24
- package/dist/tokeniser/CharTokeniser.js +0 -107
- package/dist/tokeniser/bpe.d.ts +0 -28
- package/dist/tokeniser/bpe.js +0 -173
- package/dist/tokeniser/messages.d.ts +0 -61
- package/dist/tokeniser/messages.js +0 -1
- package/dist/tokeniser/type.d.ts +0 -34
- package/dist/tokeniser/type.js +0 -1
- package/dist/training/AdamW.d.ts +0 -36
- package/dist/training/AdamW.js +0 -138
- package/dist/training/BasicTrainer.d.ts +0 -63
- package/dist/training/BasicTrainer.js +0 -265
- package/dist/training/DatasetBuilder.d.ts +0 -26
- package/dist/training/DatasetBuilder.js +0 -86
- package/dist/training/Evaluator.d.ts +0 -19
- package/dist/training/Evaluator.js +0 -39
- package/dist/training/LRScheduler.d.ts +0 -12
- package/dist/training/LRScheduler.js +0 -34
- package/dist/training/PreTrainer.d.ts +0 -11
- package/dist/training/PreTrainer.js +0 -20
- package/dist/training/SFTTrainer.d.ts +0 -12
- package/dist/training/SFTTrainer.js +0 -22
- package/dist/training/loss.d.ts +0 -3
- package/dist/training/loss.js +0 -24
- package/dist/training/orthoGrad.d.ts +0 -2
- package/dist/training/orthoGrad.js +0 -10
- package/dist/training/sparseCrossEntropy.d.ts +0 -7
- package/dist/training/sparseCrossEntropy.js +0 -69
- package/dist/training/tasks/ConversationTask.d.ts +0 -18
- package/dist/training/tasks/ConversationTask.js +0 -40
- package/dist/training/tasks/PretrainingTask.d.ts +0 -17
- package/dist/training/tasks/PretrainingTask.js +0 -47
- package/dist/training/tasks/StartSentenceTask.d.ts +0 -18
- package/dist/training/tasks/StartSentenceTask.js +0 -49
- package/dist/training/tasks/Task.d.ts +0 -22
- package/dist/training/tasks/Task.js +0 -68
- package/dist/training/tasks/splitter.d.ts +0 -5
- package/dist/training/tasks/splitter.js +0 -21
- package/dist/training/types.d.ts +0 -78
- package/dist/training/types.js +0 -1
- package/dist/training/validation.d.ts +0 -17
- package/dist/training/validation.js +0 -84
- package/dist/transpose-9kRxIXWR.js +0 -36
- package/dist/unsorted_segment_sum-DJvk5xnh.js +0 -277
- package/dist/utilities/arrayClose.d.ts +0 -1
- package/dist/utilities/arrayClose.js +0 -20
- package/dist/utilities/datasetID.d.ts +0 -2
- package/dist/utilities/datasetID.js +0 -21
- package/dist/utilities/dummy.d.ts +0 -9
- package/dist/utilities/dummy.js +0 -43
- package/dist/utilities/multinomialCPU.d.ts +0 -2
- package/dist/utilities/multinomialCPU.js +0 -13
- package/dist/utilities/naming.d.ts +0 -4
- package/dist/utilities/naming.js +0 -1
- package/dist/utilities/packed.d.ts +0 -4
- package/dist/utilities/packed.js +0 -15
- package/dist/utilities/parameters.d.ts +0 -11
- package/dist/utilities/parameters.js +0 -57
- package/dist/utilities/performance.d.ts +0 -2
- package/dist/utilities/performance.js +0 -16
- package/dist/utilities/profile.d.ts +0 -17
- package/dist/utilities/profile.js +0 -38
- package/dist/utilities/safetensors.d.ts +0 -3
- package/dist/utilities/safetensors.js +0 -83
- package/dist/utilities/sentences.d.ts +0 -5
- package/dist/utilities/sentences.js +0 -41
- package/dist/utilities/tokenParse.d.ts +0 -1
- package/dist/utilities/tokenParse.js +0 -21
- package/dist/utilities/topP.d.ts +0 -1
- package/dist/utilities/topP.js +0 -13
- package/dist/utilities/waitForModel.d.ts +0 -2
- package/dist/utilities/waitForModel.js +0 -12
- package/dist/utilities/weights.d.ts +0 -12
- package/dist/utilities/weights.js +0 -45
- package/dist/utilities/yielder.d.ts +0 -1
- package/dist/utilities/yielder.js +0 -7
- package/dist/variable-Ck482e3n.js +0 -7
- package/dist/webgpu_program-B4HmApL1.js +0 -525
- package/dist/webgpu_util-DYlGSwOJ.js +0 -64
- package/dist/zeros-DvZpK8s6.js +0 -13
- package/dist/zeros_like-CWjDdwr-.js +0 -721
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { isPackedTensor as h } from "../../utilities/packed.js";
|
|
2
|
-
import { c as b, m as A, a as c, n as G } from "../../index-CUXkjxiT.js";
|
|
3
|
-
import { matMulMul as P } from "../matMulMul.js";
|
|
4
|
-
import { matMulGelu as R } from "../matMulGelu.js";
|
|
5
|
-
import { m as f } from "../../mat_mul-DhG0Newp.js";
|
|
6
|
-
import { r as B } from "../../relu-J_X6MUzx.js";
|
|
7
|
-
import { r as v } from "../../reshape-BDOuCSNW.js";
|
|
8
|
-
import { t as g } from "../../transpose-9kRxIXWR.js";
|
|
9
|
-
function q(d) {
|
|
10
|
-
const { A: i, B: m } = d.inputs, { transposeA: o, transposeB: a, scale: M, activation: u, scaleA: k, scaleB: w, forceOutputShape: n, perm: p } = d.attrs, N = !h(i), U = !h(m);
|
|
11
|
-
if (N && U) {
|
|
12
|
-
const t = k !== void 0 ? A(i, c(k)) : i, r = w !== void 0 ? A(m, c(w)) : m;
|
|
13
|
-
let e;
|
|
14
|
-
if (M !== void 0)
|
|
15
|
-
e = P(t, r, c(M), o, a);
|
|
16
|
-
else if (u === "gelu")
|
|
17
|
-
e = R(t, r);
|
|
18
|
-
else if (u === "relu2") {
|
|
19
|
-
const s = f(t, r, o, a), l = B(s);
|
|
20
|
-
s.dispose(), e = G(l), l.dispose();
|
|
21
|
-
} else u === "relu" ? e = B(f(t, r, o, a)) : e = f(t, r, o, a);
|
|
22
|
-
if (p)
|
|
23
|
-
if (n) {
|
|
24
|
-
const s = v(e, n);
|
|
25
|
-
e.dispose();
|
|
26
|
-
const l = g(s, p);
|
|
27
|
-
return s.dispose(), l;
|
|
28
|
-
} else {
|
|
29
|
-
const s = g(e, p);
|
|
30
|
-
return e.dispose(), s;
|
|
31
|
-
}
|
|
32
|
-
else if (n) {
|
|
33
|
-
const s = v(e, n);
|
|
34
|
-
return e.dispose(), s;
|
|
35
|
-
} else
|
|
36
|
-
return e;
|
|
37
|
-
}
|
|
38
|
-
throw new Error("Not implemented: matMul16 with packed inputs");
|
|
39
|
-
}
|
|
40
|
-
const C = {
|
|
41
|
-
kernelName: "MatMul16",
|
|
42
|
-
backendName: "webgl",
|
|
43
|
-
kernelFunc: q
|
|
44
|
-
};
|
|
45
|
-
b(C);
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { TensorInfo } from '@tensorflow/tfjs-core';
|
|
2
|
-
import { MathBackendWebGL } from '@tensorflow/tfjs-backend-webgl';
|
|
3
|
-
export declare const MATMUL_SHARED_DIM_THRESHOLD = 1000;
|
|
4
|
-
interface BatchMatMulConfig {
|
|
5
|
-
a: TensorInfo;
|
|
6
|
-
b: TensorInfo;
|
|
7
|
-
transposeA: boolean;
|
|
8
|
-
transposeB: boolean;
|
|
9
|
-
backend: MathBackendWebGL;
|
|
10
|
-
activationSnippet?: string;
|
|
11
|
-
multiplier?: TensorInfo;
|
|
12
|
-
}
|
|
13
|
-
export declare function batchMatMulGeluImpl({ a, b, transposeA, transposeB, backend, activationSnippet, multiplier, }: BatchMatMulConfig): TensorInfo;
|
|
14
|
-
export declare function batchMatMulKernel(args: {
|
|
15
|
-
inputs: {
|
|
16
|
-
x: TensorInfo;
|
|
17
|
-
kernel: TensorInfo;
|
|
18
|
-
};
|
|
19
|
-
backend: MathBackendWebGL;
|
|
20
|
-
}): TensorInfo;
|
|
21
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import "../../index-CUXkjxiT.js";
|
|
2
|
-
import "../../Reshape-BW__R4mZ.js";
|
|
3
|
-
import { a as m, b as o, c as p } from "../../matMulGelu-JNLZqKQp.js";
|
|
4
|
-
import "../../mat_mul-DhG0Newp.js";
|
|
5
|
-
export {
|
|
6
|
-
m as MATMUL_SHARED_DIM_THRESHOLD,
|
|
7
|
-
o as batchMatMulGeluImpl,
|
|
8
|
-
p as batchMatMulKernel
|
|
9
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TensorInfo } from '@tensorflow/tfjs-core';
|
|
2
|
-
import { MathBackendWebGL } from '@tensorflow/tfjs-backend-webgl';
|
|
3
|
-
export declare function batchMatMulKernel(args: {
|
|
4
|
-
inputs: {
|
|
5
|
-
x: TensorInfo;
|
|
6
|
-
kernel: TensorInfo;
|
|
7
|
-
y: TensorInfo;
|
|
8
|
-
};
|
|
9
|
-
attrs: {
|
|
10
|
-
transposeA: boolean;
|
|
11
|
-
transposeB: boolean;
|
|
12
|
-
};
|
|
13
|
-
backend: MathBackendWebGL;
|
|
14
|
-
}): TensorInfo;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { c as u } from "../../index-CUXkjxiT.js";
|
|
2
|
-
import { b as c } from "../../matMulGelu-JNLZqKQp.js";
|
|
3
|
-
const M = `
|
|
4
|
-
return a * b;
|
|
5
|
-
`;
|
|
6
|
-
function p(r) {
|
|
7
|
-
const { inputs: n, backend: a, attrs: o } = r, { x: t, kernel: e, y: l } = n, { transposeA: s, transposeB: i } = o;
|
|
8
|
-
if (t === void 0 || e === void 0)
|
|
9
|
-
throw new Error("BatchMatMul requires two input tensors.");
|
|
10
|
-
return c({
|
|
11
|
-
a: t,
|
|
12
|
-
b: e,
|
|
13
|
-
transposeA: s,
|
|
14
|
-
transposeB: i,
|
|
15
|
-
backend: a,
|
|
16
|
-
activationSnippet: M,
|
|
17
|
-
multiplier: l
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
const m = {
|
|
21
|
-
kernelName: "MatMulMul",
|
|
22
|
-
backendName: "webgl",
|
|
23
|
-
kernelFunc: p
|
|
24
|
-
};
|
|
25
|
-
u(m);
|
|
26
|
-
export {
|
|
27
|
-
p as batchMatMulKernel
|
|
28
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { c as m } from "../../index-CUXkjxiT.js";
|
|
2
|
-
class f {
|
|
3
|
-
variableNames = ["a", "b"];
|
|
4
|
-
outputShape;
|
|
5
|
-
userCode;
|
|
6
|
-
customUniforms = [
|
|
7
|
-
{ name: "dropoutRate", type: "float" },
|
|
8
|
-
{ name: "seed", type: "float" }
|
|
9
|
-
];
|
|
10
|
-
constructor(t, r, o) {
|
|
11
|
-
this.outputShape = [t, r, o, o], this.userCode = `
|
|
12
|
-
float random(ivec4 coords) {
|
|
13
|
-
float x = float(coords.x * 4096 + coords.y * 256 + coords.z * 16 + coords.w);
|
|
14
|
-
return fract(sin(seed + x) * 43758.5453123);
|
|
15
|
-
}
|
|
16
|
-
void main() {
|
|
17
|
-
ivec4 coords = getOutputCoords();
|
|
18
|
-
float a = getA(coords.x, coords.y, coords.z, coords.w);
|
|
19
|
-
float b = getB(coords.x, coords.y, coords.z, coords.w);
|
|
20
|
-
|
|
21
|
-
float keepProb = 1.0 - dropoutRate;
|
|
22
|
-
float rand = random(coords);
|
|
23
|
-
float mask = step(rand, keepProb);
|
|
24
|
-
setOutput(a * b * mask / keepProb);
|
|
25
|
-
}
|
|
26
|
-
`;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function b(e) {
|
|
30
|
-
const { inputs: t, attrs: r } = e, { a: o, b: s } = t, { dropoutRate: a, seed: c } = r, n = e.backend, d = o.shape[0], u = o.shape[2], p = o.shape[1], l = new f(d, p, u);
|
|
31
|
-
return n.runWebGLProgram(l, [o, s], "float32", [
|
|
32
|
-
[a ?? 0],
|
|
33
|
-
[c ?? Math.random() * 1e4]
|
|
34
|
-
]);
|
|
35
|
-
}
|
|
36
|
-
const i = {
|
|
37
|
-
kernelName: "MulDropout",
|
|
38
|
-
backendName: "webgl",
|
|
39
|
-
kernelFunc: b
|
|
40
|
-
};
|
|
41
|
-
m(i);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { c, h as G } from "../../index-CUXkjxiT.js";
|
|
2
|
-
import { s as x } from "../../sum-BpiwSWvg.js";
|
|
3
|
-
class y {
|
|
4
|
-
variableNames = ["x", "meanSquare"];
|
|
5
|
-
outputShape;
|
|
6
|
-
userCode;
|
|
7
|
-
constructor(a, e, o, t = !0) {
|
|
8
|
-
t && this.variableNames.push("gamma"), this.outputShape = [a, e, o], this.userCode = `
|
|
9
|
-
void main() {
|
|
10
|
-
ivec3 coords = getOutputCoords();
|
|
11
|
-
float x = getXAtOutCoords();
|
|
12
|
-
float meanSquare = getMeanSquare(coords.x, coords.y, 0);
|
|
13
|
-
${t ? "float gamma = getGammaAtOutCoords();" : ""}
|
|
14
|
-
float invRms = inversesqrt(meanSquare + 1e-8);
|
|
15
|
-
float normalized = x * invRms;
|
|
16
|
-
float outVal = normalized ${t ? " * gamma" : ""};
|
|
17
|
-
setOutput(outVal);
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
function S(r) {
|
|
23
|
-
const { x: a, gamma: e } = r.inputs, o = r.backend, t = a.shape[0], m = a.shape[1], u = a.shape[2], s = a.square().mean(-1, !0), n = new y(t, m, u, e !== void 0);
|
|
24
|
-
return o.runWebGLProgram(n, e ? [a, s, e] : [a, s], "float32");
|
|
25
|
-
}
|
|
26
|
-
const N = {
|
|
27
|
-
kernelName: "RMSNorm",
|
|
28
|
-
backendName: "webgl",
|
|
29
|
-
kernelFunc: S
|
|
30
|
-
}, b = {
|
|
31
|
-
kernelName: "RMSNormNoGamma",
|
|
32
|
-
backendName: "webgl",
|
|
33
|
-
kernelFunc: S
|
|
34
|
-
};
|
|
35
|
-
c(N);
|
|
36
|
-
c(b);
|
|
37
|
-
class C {
|
|
38
|
-
variableNames = ["x", "meanSquare", "dyGamma", "dyXMean"];
|
|
39
|
-
outputShape;
|
|
40
|
-
userCode;
|
|
41
|
-
constructor(a, e, o) {
|
|
42
|
-
this.outputShape = [a, e, o], this.userCode = `
|
|
43
|
-
void main() {
|
|
44
|
-
ivec3 coords = getOutputCoords();
|
|
45
|
-
float x = getXAtOutCoords();
|
|
46
|
-
float meanSquare = getMeanSquare(coords.x, coords.y, 0) + 1e-8;
|
|
47
|
-
float dyGamma = getDyGammaAtOutCoords();
|
|
48
|
-
float dyXMean = getDyXMean(coords.x, coords.y, 0) / ${o}.0;
|
|
49
|
-
float invRms = inversesqrt(meanSquare);
|
|
50
|
-
float dx = dyGamma * invRms - x * dyXMean * invRms / meanSquare;
|
|
51
|
-
setOutput(dx);
|
|
52
|
-
}
|
|
53
|
-
`;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
class k {
|
|
57
|
-
variableNames = ["x", "meanSquare", "dy"];
|
|
58
|
-
outputShape;
|
|
59
|
-
userCode;
|
|
60
|
-
constructor(a, e, o) {
|
|
61
|
-
this.outputShape = [a, e, o], this.userCode = `
|
|
62
|
-
void main() {
|
|
63
|
-
ivec3 coords = getOutputCoords();
|
|
64
|
-
float x = getXAtOutCoords();
|
|
65
|
-
float meanSquare = getMeanSquare(coords.x, coords.y, 0) + 1e-8;
|
|
66
|
-
float dy = getDyAtOutCoords();
|
|
67
|
-
float invRms = inversesqrt(meanSquare);
|
|
68
|
-
float dGamma = dy * (x * invRms);
|
|
69
|
-
setOutput(dGamma);
|
|
70
|
-
}
|
|
71
|
-
`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
function M(r) {
|
|
75
|
-
const { dy: a, x: e, gamma: o } = r.inputs, t = r.backend, m = e.shape[0], u = e.shape[1], s = e.shape[2], n = o ? a.mul(o) : a, i = n.mul(e), l = i.sum(-1, !0);
|
|
76
|
-
i.dispose();
|
|
77
|
-
const g = e.square(), d = g.mean(-1, !0);
|
|
78
|
-
g.dispose();
|
|
79
|
-
const h = new C(m, u, s), p = t.runWebGLProgram(h, [e, d, n, l], "float32");
|
|
80
|
-
if (o && n.dispose(), l.dispose(), o) {
|
|
81
|
-
const q = new k(m, u, s), f = t.runWebGLProgram(q, [e, d, a], "float32");
|
|
82
|
-
d.dispose();
|
|
83
|
-
const v = x(G().makeTensorFromTensorInfo(f), [0, 1]);
|
|
84
|
-
return t.disposeIntermediateTensorInfo(f), [p, v];
|
|
85
|
-
} else
|
|
86
|
-
return d.dispose(), [p];
|
|
87
|
-
}
|
|
88
|
-
const R = {
|
|
89
|
-
kernelName: "RMSNormGrad",
|
|
90
|
-
backendName: "webgl",
|
|
91
|
-
kernelFunc: M
|
|
92
|
-
};
|
|
93
|
-
c(R);
|
package/dist/ops/webgl/qkv.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/ops/webgl/qkv.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { c as i } from "../../index-CUXkjxiT.js";
|
|
2
|
-
class l {
|
|
3
|
-
variableNames = ["x", "kernel"];
|
|
4
|
-
outputShape;
|
|
5
|
-
userCode;
|
|
6
|
-
// enableShapeUniforms = true;
|
|
7
|
-
customUniforms = [{ name: "mode", type: "int" }];
|
|
8
|
-
constructor(e, t, s, o) {
|
|
9
|
-
const n = o / t;
|
|
10
|
-
this.outputShape = [e, t, s, n], this.userCode = `
|
|
11
|
-
void main() {
|
|
12
|
-
ivec4 coords = getOutputCoords(); // [b, h, t, d]
|
|
13
|
-
int b = coords.x;
|
|
14
|
-
int h = coords.y;
|
|
15
|
-
int t = coords.z;
|
|
16
|
-
int d = coords.w;
|
|
17
|
-
|
|
18
|
-
// Compute output channel index in fused kernel
|
|
19
|
-
int out_offset = mode * ${t} * ${n} + h * ${n} + d;
|
|
20
|
-
|
|
21
|
-
float sum = 0.0;
|
|
22
|
-
for (int c = 0; c < ${o}; ++c) {
|
|
23
|
-
float xval = getX(b, t, c); // fetch from x
|
|
24
|
-
float kval = getKernel(c, out_offset); // fetch from kernel
|
|
25
|
-
sum += xval * kval;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
setOutput(sum);
|
|
29
|
-
}
|
|
30
|
-
`;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function m(r) {
|
|
34
|
-
const { x: e, kernel: t } = r.inputs, { heads: s } = r.attrs, o = r.backend, n = e.shape[0], c = e.shape[1], u = e.shape[2], a = new l(n, s, c, u);
|
|
35
|
-
return [
|
|
36
|
-
o.runWebGLProgram(a, [e, t], "float32", [[0]]),
|
|
37
|
-
o.runWebGLProgram(a, [e, t], "float32", [[1]]),
|
|
38
|
-
o.runWebGLProgram(a, [e, t], "float32", [[2]])
|
|
39
|
-
];
|
|
40
|
-
}
|
|
41
|
-
const d = {
|
|
42
|
-
kernelName: "QKV",
|
|
43
|
-
backendName: "webgl",
|
|
44
|
-
kernelFunc: m
|
|
45
|
-
};
|
|
46
|
-
i(d);
|
package/dist/ops/webgl/rope.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/ops/webgl/rope.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { c as h } from "../../index-CUXkjxiT.js";
|
|
2
|
-
class g {
|
|
3
|
-
variableNames = ["x", "sin", "cos"];
|
|
4
|
-
outputShape;
|
|
5
|
-
userCode;
|
|
6
|
-
// enableShapeUniforms = true;
|
|
7
|
-
customUniforms = [{ name: "pastLen", type: "int" }];
|
|
8
|
-
constructor(t, s, e, n) {
|
|
9
|
-
this.outputShape = [t, s, e, n], this.userCode = `
|
|
10
|
-
void main() {
|
|
11
|
-
ivec4 coords = getOutputCoords(); // [b, h, t, d]
|
|
12
|
-
int b = coords.x;
|
|
13
|
-
int h = coords.y;
|
|
14
|
-
int t = coords.z;
|
|
15
|
-
int d = coords.w;
|
|
16
|
-
|
|
17
|
-
int rotaryDim = ${n};
|
|
18
|
-
|
|
19
|
-
float outVal = 0.0;
|
|
20
|
-
|
|
21
|
-
if (d < rotaryDim) {
|
|
22
|
-
int pairIdx = d / 2;
|
|
23
|
-
float cos = getCos(t + pastLen, pairIdx, 0);
|
|
24
|
-
float sin = getSin(t + pastLen, pairIdx, 0);
|
|
25
|
-
|
|
26
|
-
if (d % 2 == 0) {
|
|
27
|
-
// even index
|
|
28
|
-
float even = getX(b, h, t, d);
|
|
29
|
-
float odd = getX(b, h, t, d + 1);
|
|
30
|
-
outVal = even * cos - odd * sin;
|
|
31
|
-
} else {
|
|
32
|
-
// odd index
|
|
33
|
-
float even = getX(b, h, t, d - 1);
|
|
34
|
-
float odd = getX(b, h, t, d);
|
|
35
|
-
outVal = even * sin + odd * cos;
|
|
36
|
-
}
|
|
37
|
-
} else {
|
|
38
|
-
// pass through for non-rotary dims
|
|
39
|
-
outVal = getX(b, h, t, d);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
setOutput(outVal);
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function f(o) {
|
|
48
|
-
const { x: t } = o.inputs, { pastLen: s, ropeCache: e, negSin: n } = o.attrs, a = n ? e.getNegSin() : e.getSin(), r = e.getCos(), d = o.backend, i = t.shape[0], c = t.shape[1], p = t.shape[2], u = t.shape[3], l = new g(i, c, p, u);
|
|
49
|
-
return d.runWebGLProgram(l, [t, a, r], "float32", [[s]]);
|
|
50
|
-
}
|
|
51
|
-
const m = {
|
|
52
|
-
kernelName: "Rope",
|
|
53
|
-
backendName: "webgl",
|
|
54
|
-
kernelFunc: f
|
|
55
|
-
};
|
|
56
|
-
h(m);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { c as i } from "../../index-CUXkjxiT.js";
|
|
2
|
-
class u {
|
|
3
|
-
variableNames = ["labels", "softmaxProbs", "dy"];
|
|
4
|
-
outputShape;
|
|
5
|
-
userCode;
|
|
6
|
-
constructor(e, t) {
|
|
7
|
-
this.outputShape = [e, t], this.userCode = `
|
|
8
|
-
void main() {
|
|
9
|
-
ivec2 coords = getOutputCoords();
|
|
10
|
-
int index = int(getLabels(coords.x));
|
|
11
|
-
float prob = getSoftmaxProbsAtOutCoords();
|
|
12
|
-
float dy = getDy(coords.x);
|
|
13
|
-
setOutput((index == coords.y ? prob - 1.0 : prob) * dy);
|
|
14
|
-
}
|
|
15
|
-
`;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function d(o) {
|
|
19
|
-
const { logits: e, labels: t, dy: r } = o.inputs, s = o.backend, n = t.shape[0], a = e.shape[1], c = new u(n, a);
|
|
20
|
-
return s.runWebGLProgram(c, [t, e, r], "float32");
|
|
21
|
-
}
|
|
22
|
-
const b = {
|
|
23
|
-
kernelName: "EfficientScatterSub",
|
|
24
|
-
backendName: "webgl",
|
|
25
|
-
kernelFunc: d
|
|
26
|
-
};
|
|
27
|
-
i(b);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { e as d } from "../../webgpu_program-B4HmApL1.js";
|
|
2
|
-
import { f as l, c as f } from "../../webgpu_util-DYlGSwOJ.js";
|
|
3
|
-
import { c as h, a6 as c } from "../../index-CUXkjxiT.js";
|
|
4
|
-
class v {
|
|
5
|
-
variableNames = ["moments", "value"];
|
|
6
|
-
outputShape;
|
|
7
|
-
shaderKey = "AdamAdjust";
|
|
8
|
-
dispatchLayout;
|
|
9
|
-
dispatch;
|
|
10
|
-
workgroupSize = [64, 1, 1];
|
|
11
|
-
size = !0;
|
|
12
|
-
uniforms = "invbeta1: f32, invbeta2: f32, learningRate: f32, epsilon: f32";
|
|
13
|
-
outputComponent = 1;
|
|
14
|
-
variableComponents = [2, 1];
|
|
15
|
-
useWeightDecay;
|
|
16
|
-
constructor(a, t) {
|
|
17
|
-
this.outputShape = a, this.dispatchLayout = l(this.outputShape), this.dispatch = f(this.dispatchLayout, this.outputShape, this.workgroupSize), this.useWeightDecay = t, t && (this.uniforms += ", weightDecay: f32");
|
|
18
|
-
}
|
|
19
|
-
getUserCode() {
|
|
20
|
-
return `
|
|
21
|
-
${d("index")} {
|
|
22
|
-
if (index < uniforms.size) {
|
|
23
|
-
let moments: vec2<f32> = moments[index];
|
|
24
|
-
let value: f32 = value[index];
|
|
25
|
-
|
|
26
|
-
let m1Hat = moments.x * uniforms.invbeta1;
|
|
27
|
-
let m2Hat = moments.y * uniforms.invbeta2;
|
|
28
|
-
|
|
29
|
-
let invSqrt = inverseSqrt(max(m2Hat, 1e-30));
|
|
30
|
-
let invDenom = invSqrt / fma(uniforms.epsilon, invSqrt, 1.0);
|
|
31
|
-
var adjustedValue = fma(-uniforms.learningRate * m1Hat, invDenom, value);
|
|
32
|
-
|
|
33
|
-
${this.useWeightDecay ? "adjustedValue = adjustedValue - uniforms.learningRate * uniforms.weightDecay * value;" : ""}
|
|
34
|
-
|
|
35
|
-
setOutputAtIndex(index, adjustedValue);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function g(e) {
|
|
42
|
-
const { moments: a, value: t } = e.inputs, { beta1: i, beta2: o, learningRate: u, epsilon: r, weightDecay: s } = e.attrs, m = e.backend;
|
|
43
|
-
c(a.shape, [...t.shape, 2], "Error in AdamAdjust: ");
|
|
44
|
-
const p = new v(t.shape, s > 0), n = [
|
|
45
|
-
{ type: "float32", data: [1 / i] },
|
|
46
|
-
{ type: "float32", data: [1 / o] },
|
|
47
|
-
{ type: "float32", data: [u] },
|
|
48
|
-
{ type: "float32", data: [r] }
|
|
49
|
-
];
|
|
50
|
-
return s > 0 && n.push({ type: "float32", data: [s] }), m.runWebGPUProgram(p, [a, t], "float32", n);
|
|
51
|
-
}
|
|
52
|
-
const y = {
|
|
53
|
-
kernelName: "AdamAdjust",
|
|
54
|
-
backendName: "webgpu",
|
|
55
|
-
kernelFunc: g
|
|
56
|
-
};
|
|
57
|
-
h(y);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { e as u } from "../../webgpu_program-B4HmApL1.js";
|
|
2
|
-
import { f as p, c } from "../../webgpu_util-DYlGSwOJ.js";
|
|
3
|
-
import { c as d, a6 as f } from "../../index-CUXkjxiT.js";
|
|
4
|
-
class h {
|
|
5
|
-
variableNames = ["moments", "gradient", "scaling"];
|
|
6
|
-
outputShape;
|
|
7
|
-
shaderKey = "AdamMoments";
|
|
8
|
-
dispatchLayout;
|
|
9
|
-
dispatch;
|
|
10
|
-
workgroupSize = [64, 1, 1];
|
|
11
|
-
size = !0;
|
|
12
|
-
uniforms = "beta1: f32, beta2: f32";
|
|
13
|
-
outputComponent = 2;
|
|
14
|
-
variableComponents = [2, 1, 1];
|
|
15
|
-
constructor(t) {
|
|
16
|
-
this.outputShape = t, this.dispatchLayout = p(this.outputShape.slice(0, -1)), this.dispatch = c(
|
|
17
|
-
this.dispatchLayout,
|
|
18
|
-
this.outputShape.slice(0, -1),
|
|
19
|
-
this.workgroupSize,
|
|
20
|
-
[1, 1, 1]
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
getUserCode() {
|
|
24
|
-
return `
|
|
25
|
-
${u("index")} {
|
|
26
|
-
if (index < uniforms.size) {
|
|
27
|
-
let m: vec2<f32> = moments[index];
|
|
28
|
-
|
|
29
|
-
// Loss and clip scaling.
|
|
30
|
-
let g: f32 = gradient[index] * scaling[0];
|
|
31
|
-
|
|
32
|
-
let newM1 = fma(m.x, uniforms.beta1, g * (1.0 - uniforms.beta1));
|
|
33
|
-
let newM2 = fma(m.y, uniforms.beta2, g * g * (1.0 - uniforms.beta2));
|
|
34
|
-
|
|
35
|
-
setOutputAtIndex(index, vec2<f32>(newM1, newM2));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function l(e) {
|
|
42
|
-
const { moments: t, gradient: a, scaling: s } = e.inputs, { beta1: n, beta2: o } = e.attrs, r = e.backend;
|
|
43
|
-
if (a.dtype !== "float32")
|
|
44
|
-
throw new Error(`Gradient must be float32, but got ${a.dtype}`);
|
|
45
|
-
if (f(t.shape, [...a.shape, 2], "Error in AdamMoments: "), n < 0 || n >= 1)
|
|
46
|
-
throw new Error(`Invalid beta1 value: ${n}. Must be in the range [0, 1).`);
|
|
47
|
-
if (o < 0 || o >= 1)
|
|
48
|
-
throw new Error(`Invalid beta2 value: ${o}. Must be in the range [0, 1).`);
|
|
49
|
-
const i = new h(t.shape), m = [
|
|
50
|
-
{ type: "float32", data: [n] },
|
|
51
|
-
{ type: "float32", data: [o] }
|
|
52
|
-
];
|
|
53
|
-
return r.runWebGPUProgram(i, [t, a, s], "float32", m);
|
|
54
|
-
}
|
|
55
|
-
const g = {
|
|
56
|
-
kernelName: "AdamMoments",
|
|
57
|
-
backendName: "webgpu",
|
|
58
|
-
kernelFunc: l
|
|
59
|
-
};
|
|
60
|
-
d(g);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/ops/webgpu/add16.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { c as t } from "../../index-CUXkjxiT.js";
|
|
2
|
-
import { BinaryOpProgram as c } from "./utils/binary_op.js";
|
|
3
|
-
import { B as p } from "../../binary_op_util-pKXltfxI.js";
|
|
4
|
-
function s(e) {
|
|
5
|
-
const { a: r, b: n } = e.inputs, a = e.backend, o = new c(p.ADD, r.shape, n.shape);
|
|
6
|
-
return a.runWebGPUProgram(o, [r, n], "packedF16");
|
|
7
|
-
}
|
|
8
|
-
const m = {
|
|
9
|
-
kernelName: "Add16",
|
|
10
|
-
backendName: "webgpu",
|
|
11
|
-
kernelFunc: s
|
|
12
|
-
};
|
|
13
|
-
t(m);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { isPackedTensor as T } from "../../utilities/packed.js";
|
|
2
|
-
import { e as p } from "../../webgpu_program-B4HmApL1.js";
|
|
3
|
-
import { f as d, c as u } from "../../webgpu_util-DYlGSwOJ.js";
|
|
4
|
-
import { c as S, a6 as g } from "../../index-CUXkjxiT.js";
|
|
5
|
-
class x {
|
|
6
|
-
variableNames = ["cache", "item"];
|
|
7
|
-
outputShape;
|
|
8
|
-
shaderKey = "AppendCache";
|
|
9
|
-
dispatchLayout;
|
|
10
|
-
dispatch;
|
|
11
|
-
workgroupSize = [64, 1, 1];
|
|
12
|
-
size = !0;
|
|
13
|
-
uniforms = "cacheT: i32";
|
|
14
|
-
constructor(e, t, a, s, i) {
|
|
15
|
-
const o = Math.min(a + 1, i);
|
|
16
|
-
this.shaderKey = `AppendCache_${o}`, this.outputShape = [e, t, o, s], this.dispatchLayout = d(this.outputShape), this.dispatch = u(this.dispatchLayout, this.outputShape, this.workgroupSize);
|
|
17
|
-
}
|
|
18
|
-
getUserCode() {
|
|
19
|
-
const e = this.outputShape[2];
|
|
20
|
-
return `
|
|
21
|
-
${p("index")} {
|
|
22
|
-
if (index < uniforms.size) {
|
|
23
|
-
let coords = getCoordsFromIndex(index); // [b, h, t, d]
|
|
24
|
-
let b = coords[0];
|
|
25
|
-
let h = coords[1];
|
|
26
|
-
let t = coords[2];
|
|
27
|
-
let d = coords[3];
|
|
28
|
-
|
|
29
|
-
let itemT = 1;
|
|
30
|
-
let maxSize = ${e};
|
|
31
|
-
let totalT = uniforms.cacheT + itemT;
|
|
32
|
-
let start = select(0, 1, totalT >= maxSize);
|
|
33
|
-
|
|
34
|
-
let srcT = t + start;
|
|
35
|
-
var val = 0.0;
|
|
36
|
-
if (srcT < uniforms.cacheT) {
|
|
37
|
-
val = getCache(b, h, srcT, d);
|
|
38
|
-
}
|
|
39
|
-
if (srcT == uniforms.cacheT) {
|
|
40
|
-
val = getItem(b, h, 0, d);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
setOutputAtIndex(index, val);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
`;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
class b {
|
|
50
|
-
variableNames = ["cache", "item"];
|
|
51
|
-
outputShape;
|
|
52
|
-
shaderKey = "AppendCache";
|
|
53
|
-
dispatchLayout;
|
|
54
|
-
dispatch;
|
|
55
|
-
workgroupSize = [64, 1, 1];
|
|
56
|
-
size = !0;
|
|
57
|
-
uniforms = "cacheT: i32";
|
|
58
|
-
constructor(e, t, a, s, i) {
|
|
59
|
-
const o = Math.min(a + 1, i);
|
|
60
|
-
this.shaderKey = `AppendCache_${o}`, this.outputShape = [e, t, o, s], this.dispatchLayout = d(this.outputShape), this.dispatch = u(this.dispatchLayout, this.outputShape, this.workgroupSize);
|
|
61
|
-
}
|
|
62
|
-
getUserCode() {
|
|
63
|
-
const e = this.outputShape[2];
|
|
64
|
-
return `
|
|
65
|
-
${p("index")} {
|
|
66
|
-
if (index < uniforms.size) {
|
|
67
|
-
let coords = getCoordsFromIndex(index); // [b, h, t, d]
|
|
68
|
-
let b = coords[0];
|
|
69
|
-
let h = coords[1];
|
|
70
|
-
let t = coords[2];
|
|
71
|
-
let d = coords[3];
|
|
72
|
-
|
|
73
|
-
let itemT = 1;
|
|
74
|
-
let maxSize = ${e};
|
|
75
|
-
let totalT = uniforms.cacheT + itemT;
|
|
76
|
-
let start = select(0, 1, totalT >= maxSize);
|
|
77
|
-
|
|
78
|
-
let srcT = t + start;
|
|
79
|
-
var val: i32 = 0i;
|
|
80
|
-
if (srcT < uniforms.cacheT) {
|
|
81
|
-
val = cache[getIndexFromCoords4D(vec4<i32>(b, h, srcT, d), uniforms.cacheShape)];
|
|
82
|
-
}
|
|
83
|
-
if (srcT == uniforms.cacheT) {
|
|
84
|
-
val = item[getIndexFromCoords4D(vec4<i32>(b, h, 0, d), uniforms.itemShape)];
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
result[index] = val;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
`;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
function C(r) {
|
|
94
|
-
const { cache: e, item: t } = r.inputs, { maxSize: a, pastLen: s } = r.attrs, i = r.backend, o = T(e), c = e.shape[0], n = e.shape[2], h = e.shape[1];
|
|
95
|
-
if (g(t.shape, [c, h, 1, t.shape[3]], "Error in AppendCache: "), s < 0 || s > a)
|
|
96
|
-
throw new Error(`Invalid pastLen value: ${s}. Must be in the range [0, ${a}].`);
|
|
97
|
-
const m = o ? new b(c, h, n, t.shape[3], a) : new x(c, h, n, t.shape[3], a), l = [{ type: "int32", data: [s] }], f = o ? "packedF16" : e.dtype;
|
|
98
|
-
return i.runWebGPUProgram(m, [e, t], f, l);
|
|
99
|
-
}
|
|
100
|
-
const v = {
|
|
101
|
-
kernelName: "AppendCache",
|
|
102
|
-
backendName: "webgpu",
|
|
103
|
-
kernelFunc: C
|
|
104
|
-
};
|
|
105
|
-
S(v);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|