@genai-fi/nanogpt 0.20.0 → 0.20.2
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/dist/BaseTokeniser-DSg9zcYq.js +221 -0
- package/dist/DatasetBuilder-DgURD85T.js +712 -0
- package/dist/Generator.d.ts +82 -0
- package/dist/Generator.js +2 -0
- package/dist/RealDiv-DBu0FQqT.js +362 -0
- package/dist/Reshape-CABOPB9d.js +94 -0
- package/dist/Reshape-DqO3r8BC.js +17 -0
- package/dist/TeachableLLM.d.ts +70 -0
- package/dist/TeachableLLM.js +2 -0
- package/dist/Trainer.d.ts +43 -0
- package/dist/Trainer.js +2 -0
- package/dist/backend.d.ts +2 -0
- package/dist/backend.js +13 -0
- package/dist/backend_util-Cg-roD1p.js +399 -0
- package/dist/binary_op_util-CrYk9LXL.js +103 -0
- package/dist/checks/appendCache.d.ts +1 -0
- package/dist/checks/appendCache.js +55 -0
- package/dist/checks/attentionMask.d.ts +1 -0
- package/dist/checks/attentionMask.js +56 -0
- package/dist/checks/check.d.ts +9 -0
- package/dist/checks/check.js +32 -0
- package/dist/checks/gelu.d.ts +1 -0
- package/dist/checks/gelu.js +46 -0
- package/dist/checks/index.d.ts +26 -0
- package/dist/checks/index.js +28 -0
- package/dist/checks/matMulGelu.d.ts +1 -0
- package/dist/checks/matMulGelu.js +84 -0
- package/dist/checks/normRMS.d.ts +1 -0
- package/dist/checks/normRMS.js +28 -0
- package/dist/checks/normRMSGrad.d.ts +1 -0
- package/dist/checks/normRMSGrad.js +22 -0
- package/dist/checks/packUnpack.d.ts +1 -0
- package/dist/checks/packUnpack.js +46 -0
- package/dist/checks/qkv.d.ts +1 -0
- package/dist/checks/qkv.js +34 -0
- package/dist/checks/rope.d.ts +1 -0
- package/dist/checks/rope.js +30 -0
- package/dist/checks/weights.d.ts +14 -0
- package/dist/checks/weights.js +27 -0
- package/dist/chunk-BPntVaq0.js +23 -0
- package/dist/complex_util-CkazZsaH.js +60 -0
- package/dist/concat_util-CWDZCBlA.js +19 -0
- package/dist/data/docx.d.ts +2 -0
- package/dist/data/docx.js +3046 -0
- package/dist/data/pdf.d.ts +2 -0
- package/dist/data/pdf.js +17 -0
- package/dist/data/textLoader.d.ts +7 -0
- package/dist/data/textLoader.js +613 -0
- package/dist/dist-BewPQWjc.js +7572 -0
- package/dist/dist-DVmq73nz.js +8775 -0
- package/dist/dist-DXwIvKxl.js +896 -0
- package/dist/dist-VEU5mfO0.js +7545 -0
- package/dist/gelu-Bf1HW1RY.js +27 -0
- package/dist/gpgpu_math-DvLcCH6u.js +1612 -0
- package/dist/inference/types.d.ts +16 -0
- package/dist/inference/types.js +0 -0
- package/dist/kernel_funcs_utils-HiXOOx3f.js +229 -0
- package/dist/layers/BaseLayer.d.ts +44 -0
- package/dist/layers/BaseLayer.js +76 -0
- package/dist/layers/CausalSelfAttention.d.ts +39 -0
- package/dist/layers/CausalSelfAttention.js +99 -0
- package/dist/layers/LoRA.d.ts +14 -0
- package/dist/layers/LoRA.js +48 -0
- package/dist/layers/MLP.d.ts +17 -0
- package/dist/layers/MLP.js +34 -0
- package/dist/layers/PositionEmbedding.d.ts +8 -0
- package/dist/layers/PositionEmbedding.js +27 -0
- package/dist/layers/RMSNorm.d.ts +12 -0
- package/dist/layers/RMSNorm.js +20 -0
- package/dist/layers/RoPECache.d.ts +18 -0
- package/dist/layers/RoPECache.js +337 -0
- package/dist/layers/TiedEmbedding.d.ts +13 -0
- package/dist/layers/TiedEmbedding.js +32 -0
- package/dist/layers/TransformerBlock.d.ts +27 -0
- package/dist/layers/TransformerBlock.js +51 -0
- package/dist/layers/WeightStore.d.ts +20 -0
- package/dist/layers/WeightStore.js +69 -0
- package/dist/loader/load.d.ts +6 -0
- package/dist/loader/load.js +2 -0
- package/dist/loader/loadHF.d.ts +8 -0
- package/dist/loader/loadHF.js +2 -0
- package/dist/loader/loadTransformers.d.ts +4 -0
- package/dist/loader/loadTransformers.js +2 -0
- package/dist/loader/loadZipMeta.d.ts +3 -0
- package/dist/loader/loadZipMeta.js +16 -0
- package/dist/loader/newZipLoad.d.ts +3 -0
- package/dist/loader/newZipLoad.js +2 -0
- package/dist/loader/oldZipLoad.d.ts +9 -0
- package/dist/loader/oldZipLoad.js +2 -0
- package/dist/loader/save.d.ts +16 -0
- package/dist/loader/save.js +2 -0
- package/dist/loader/types.d.ts +68 -0
- package/dist/loader/types.js +0 -0
- package/dist/main-D5CbfCiV.js +13500 -0
- package/dist/main.d.ts +50 -0
- package/dist/main.js +16 -0
- package/dist/matMul16-BNfZSnNM.js +81 -0
- package/dist/matMulGelu-CPTntosE.js +162 -0
- package/dist/models/NanoGPTV1.d.ts +16 -0
- package/dist/models/NanoGPTV1.js +2 -0
- package/dist/models/NanoGPTV2.d.ts +16 -0
- package/dist/models/NanoGPTV2.js +2 -0
- package/dist/models/config.d.ts +27 -0
- package/dist/models/config.js +37 -0
- package/dist/models/factory.d.ts +3 -0
- package/dist/models/factory.js +2 -0
- package/dist/models/model.d.ts +44 -0
- package/dist/models/model.js +2 -0
- package/dist/ops/adamAdjust.d.ts +2 -0
- package/dist/ops/adamAdjust.js +18 -0
- package/dist/ops/adamMoments.d.ts +2 -0
- package/dist/ops/adamMoments.js +16 -0
- package/dist/ops/add16.d.ts +2 -0
- package/dist/ops/add16.js +12 -0
- package/dist/ops/appendCache.d.ts +2 -0
- package/dist/ops/appendCache.js +25 -0
- package/dist/ops/attentionMask.d.ts +2 -0
- package/dist/ops/attentionMask.js +16 -0
- package/dist/ops/concat16.d.ts +2 -0
- package/dist/ops/concat16.js +8 -0
- package/dist/ops/cpu/adamAdjust.d.ts +1 -0
- package/dist/ops/cpu/adamAdjust.js +16 -0
- package/dist/ops/cpu/adamMoments.d.ts +1 -0
- package/dist/ops/cpu/adamMoments.js +16 -0
- package/dist/ops/cpu/appendCache.d.ts +1 -0
- package/dist/ops/cpu/appendCache.js +65 -0
- package/dist/ops/cpu/attentionMask.d.ts +1 -0
- package/dist/ops/cpu/attentionMask.js +16 -0
- package/dist/ops/cpu/fusedSoftmax.d.ts +9 -0
- package/dist/ops/cpu/fusedSoftmax.js +22 -0
- package/dist/ops/cpu/gatherSub.d.ts +1 -0
- package/dist/ops/cpu/gatherSub.js +12 -0
- package/dist/ops/cpu/gelu.d.ts +1 -0
- package/dist/ops/cpu/gelu.js +36 -0
- package/dist/ops/cpu/matMul16.d.ts +1 -0
- package/dist/ops/cpu/matMul16.js +14 -0
- package/dist/ops/cpu/matMulGelu.d.ts +1 -0
- package/dist/ops/cpu/matMulGelu.js +41 -0
- package/dist/ops/cpu/matMulMul.d.ts +1 -0
- package/dist/ops/cpu/matMulMul.js +20 -0
- package/dist/ops/cpu/mulDropout.d.ts +1 -0
- package/dist/ops/cpu/mulDropout.js +20 -0
- package/dist/ops/cpu/normRMS.d.ts +1 -0
- package/dist/ops/cpu/normRMS.js +35 -0
- package/dist/ops/cpu/qkv.d.ts +5 -0
- package/dist/ops/cpu/qkv.js +73 -0
- package/dist/ops/cpu/rope.d.ts +6 -0
- package/dist/ops/cpu/rope.js +81 -0
- package/dist/ops/cpu/scatterSub.d.ts +1 -0
- package/dist/ops/cpu/scatterSub.js +12 -0
- package/dist/ops/dot16.d.ts +2 -0
- package/dist/ops/dot16.js +29 -0
- package/dist/ops/dropout.d.ts +2 -0
- package/dist/ops/dropout.js +11 -0
- package/dist/ops/dropout16.d.ts +2 -0
- package/dist/ops/dropout16.js +22 -0
- package/dist/ops/gatherSub.d.ts +2 -0
- package/dist/ops/gatherSub.js +13 -0
- package/dist/ops/gelu.d.ts +3 -0
- package/dist/ops/gelu.js +2 -0
- package/dist/ops/globalNorm.d.ts +2 -0
- package/dist/ops/globalNorm.js +19 -0
- package/dist/ops/grads/add16.d.ts +1 -0
- package/dist/ops/grads/add16.js +27 -0
- package/dist/ops/grads/attentionMask.d.ts +1 -0
- package/dist/ops/grads/attentionMask.js +26 -0
- package/dist/ops/grads/dropout16.d.ts +1 -0
- package/dist/ops/grads/dropout16.js +1 -0
- package/dist/ops/grads/gelu.d.ts +2 -0
- package/dist/ops/grads/gelu.js +2 -0
- package/dist/ops/grads/matMul16.d.ts +2 -0
- package/dist/ops/grads/matMul16.js +2 -0
- package/dist/ops/grads/matMulGelu.d.ts +1 -0
- package/dist/ops/grads/matMulGelu.js +22 -0
- package/dist/ops/grads/mul16.d.ts +1 -0
- package/dist/ops/grads/mul16.js +1 -0
- package/dist/ops/grads/normRMS.d.ts +3 -0
- package/dist/ops/grads/normRMS.js +37 -0
- package/dist/ops/grads/pack16.d.ts +2 -0
- package/dist/ops/grads/pack16.js +2 -0
- package/dist/ops/grads/qkv.d.ts +3 -0
- package/dist/ops/grads/qkv.js +46 -0
- package/dist/ops/grads/rope.d.ts +2 -0
- package/dist/ops/grads/rope.js +2 -0
- package/dist/ops/grads/softmax16.d.ts +2 -0
- package/dist/ops/grads/softmax16.js +23 -0
- package/dist/ops/grads/unpack16.d.ts +2 -0
- package/dist/ops/grads/unpack16.js +2 -0
- package/dist/ops/grads/utils.d.ts +4 -0
- package/dist/ops/grads/utils.js +12 -0
- package/dist/ops/log.d.ts +0 -0
- package/dist/ops/log.js +1 -0
- package/dist/ops/matMul16.d.ts +15 -0
- package/dist/ops/matMul16.js +2 -0
- package/dist/ops/matMulGelu.d.ts +3 -0
- package/dist/ops/matMulGelu.js +20 -0
- package/dist/ops/matMulMul.d.ts +2 -0
- package/dist/ops/matMulMul.js +16 -0
- package/dist/ops/mul16.d.ts +2 -0
- package/dist/ops/mul16.js +43 -0
- package/dist/ops/mulDrop.d.ts +2 -0
- package/dist/ops/mulDrop.js +15 -0
- package/dist/ops/normRMS.d.ts +2 -0
- package/dist/ops/normRMS.js +22 -0
- package/dist/ops/pack16.d.ts +2 -0
- package/dist/ops/pack16.js +2 -0
- package/dist/ops/qkv.d.ts +2 -0
- package/dist/ops/qkv.js +16 -0
- package/dist/ops/reshape16.d.ts +2 -0
- package/dist/ops/reshape16.js +33 -0
- package/dist/ops/rope.d.ts +3 -0
- package/dist/ops/rope.js +2 -0
- package/dist/ops/scatterSub.d.ts +2 -0
- package/dist/ops/scatterSub.js +13 -0
- package/dist/ops/slice16.d.ts +2 -0
- package/dist/ops/slice16.js +11 -0
- package/dist/ops/softmax16.d.ts +2 -0
- package/dist/ops/softmax16.js +9 -0
- package/dist/ops/sub16.d.ts +2 -0
- package/dist/ops/sub16.js +11 -0
- package/dist/ops/sum16.d.ts +2 -0
- package/dist/ops/sum16.js +13 -0
- package/dist/ops/transpose16.d.ts +3 -0
- package/dist/ops/transpose16.js +32 -0
- package/dist/ops/unpack16.d.ts +2 -0
- package/dist/ops/unpack16.js +2 -0
- package/dist/ops/webgl/adamAdjust.d.ts +1 -0
- package/dist/ops/webgl/adamAdjust.js +82 -0
- package/dist/ops/webgl/adamMoments.d.ts +1 -0
- package/dist/ops/webgl/adamMoments.js +44 -0
- package/dist/ops/webgl/appendCache.d.ts +1 -0
- package/dist/ops/webgl/appendCache.js +53 -0
- package/dist/ops/webgl/attentionMask.d.ts +1 -0
- package/dist/ops/webgl/attentionMask.js +64 -0
- package/dist/ops/webgl/dropout16.d.ts +1 -0
- package/dist/ops/webgl/dropout16.js +12 -0
- package/dist/ops/webgl/fusedSoftmax.d.ts +11 -0
- package/dist/ops/webgl/fusedSoftmax.js +70 -0
- package/dist/ops/webgl/gatherSub.d.ts +1 -0
- package/dist/ops/webgl/gatherSub.js +28 -0
- package/dist/ops/webgl/gelu.d.ts +2 -0
- package/dist/ops/webgl/gelu.js +48 -0
- package/dist/ops/webgl/log.d.ts +17 -0
- package/dist/ops/webgl/log.js +14 -0
- package/dist/ops/webgl/matMul16.d.ts +1 -0
- package/dist/ops/webgl/matMul16.js +37 -0
- package/dist/ops/webgl/matMulGelu.d.ts +21 -0
- package/dist/ops/webgl/matMulGelu.js +2 -0
- package/dist/ops/webgl/matMulMul.d.ts +14 -0
- package/dist/ops/webgl/matMulMul.js +24 -0
- package/dist/ops/webgl/mulDropout.d.ts +1 -0
- package/dist/ops/webgl/mulDropout.js +32 -0
- package/dist/ops/webgl/normRMS.d.ts +1 -0
- package/dist/ops/webgl/normRMS.js +114 -0
- package/dist/ops/webgl/qkv.d.ts +1 -0
- package/dist/ops/webgl/qkv.js +54 -0
- package/dist/ops/webgl/rope.d.ts +1 -0
- package/dist/ops/webgl/rope.js +72 -0
- package/dist/ops/webgl/scatterSub.d.ts +1 -0
- package/dist/ops/webgl/scatterSub.js +28 -0
- package/dist/ops/webgpu/adamAdjust.d.ts +1 -0
- package/dist/ops/webgpu/adamAdjust.js +77 -0
- package/dist/ops/webgpu/adamMoments.d.ts +1 -0
- package/dist/ops/webgpu/adamMoments.js +76 -0
- package/dist/ops/webgpu/add16.d.ts +1 -0
- package/dist/ops/webgpu/add16.js +14 -0
- package/dist/ops/webgpu/appendCache.d.ts +1 -0
- package/dist/ops/webgpu/appendCache.js +130 -0
- package/dist/ops/webgpu/attentionMask.d.ts +1 -0
- package/dist/ops/webgpu/attentionMask.js +42 -0
- package/dist/ops/webgpu/attentionMask32_program.d.ts +19 -0
- package/dist/ops/webgpu/attentionMask32_program.js +62 -0
- package/dist/ops/webgpu/clipScale.d.ts +1 -0
- package/dist/ops/webgpu/clipScale.js +45 -0
- package/dist/ops/webgpu/concat16.d.ts +19 -0
- package/dist/ops/webgpu/concat16.js +111 -0
- package/dist/ops/webgpu/dropout16.d.ts +1 -0
- package/dist/ops/webgpu/dropout16.js +59 -0
- package/dist/ops/webgpu/gatherSub.d.ts +1 -0
- package/dist/ops/webgpu/gatherSub.js +52 -0
- package/dist/ops/webgpu/gelu.d.ts +14 -0
- package/dist/ops/webgpu/gelu.js +147 -0
- package/dist/ops/webgpu/index.d.ts +0 -0
- package/dist/ops/webgpu/index.js +26 -0
- package/dist/ops/webgpu/matMul16.d.ts +1 -0
- package/dist/ops/webgpu/matMul16.js +70 -0
- package/dist/ops/webgpu/matMul16_program.d.ts +42 -0
- package/dist/ops/webgpu/matMul16_program.js +303 -0
- package/dist/ops/webgpu/mul16.d.ts +1 -0
- package/dist/ops/webgpu/mul16.js +14 -0
- package/dist/ops/webgpu/norm2.d.ts +1 -0
- package/dist/ops/webgpu/norm2.js +46 -0
- package/dist/ops/webgpu/normRMS.d.ts +1 -0
- package/dist/ops/webgpu/normRMS.js +26 -0
- package/dist/ops/webgpu/normRMS16_program.d.ts +10 -0
- package/dist/ops/webgpu/normRMS16_program.js +28 -0
- package/dist/ops/webgpu/normRMS32_program.d.ts +10 -0
- package/dist/ops/webgpu/normRMS32_program.js +28 -0
- package/dist/ops/webgpu/normRMSGrad.d.ts +1 -0
- package/dist/ops/webgpu/normRMSGrad.js +225 -0
- package/dist/ops/webgpu/pack16.d.ts +1 -0
- package/dist/ops/webgpu/pack16.js +21 -0
- package/dist/ops/webgpu/pack16_program.d.ts +19 -0
- package/dist/ops/webgpu/pack16_program.js +93 -0
- package/dist/ops/webgpu/qkv.d.ts +1 -0
- package/dist/ops/webgpu/qkv.js +64 -0
- package/dist/ops/webgpu/rope.d.ts +1 -0
- package/dist/ops/webgpu/rope.js +163 -0
- package/dist/ops/webgpu/scatterSub.d.ts +1 -0
- package/dist/ops/webgpu/scatterSub.js +53 -0
- package/dist/ops/webgpu/slice16.d.ts +7 -0
- package/dist/ops/webgpu/slice16.js +74 -0
- package/dist/ops/webgpu/softmax16.d.ts +17 -0
- package/dist/ops/webgpu/softmax16.js +18 -0
- package/dist/ops/webgpu/softmax16_program.d.ts +13 -0
- package/dist/ops/webgpu/softmax16_program.js +89 -0
- package/dist/ops/webgpu/softmax16_subgroup_program.d.ts +17 -0
- package/dist/ops/webgpu/softmax16_subgroup_program.js +70 -0
- package/dist/ops/webgpu/softmax16grad.d.ts +1 -0
- package/dist/ops/webgpu/softmax16grad.js +31 -0
- package/dist/ops/webgpu/sub16.d.ts +1 -0
- package/dist/ops/webgpu/sub16.js +14 -0
- package/dist/ops/webgpu/sum16.d.ts +1 -0
- package/dist/ops/webgpu/sum16.js +29 -0
- package/dist/ops/webgpu/transpose16.d.ts +1 -0
- package/dist/ops/webgpu/transpose16.js +37 -0
- package/dist/ops/webgpu/transpose16_program.d.ts +16 -0
- package/dist/ops/webgpu/transpose16_program.js +51 -0
- package/dist/ops/webgpu/transpose16_shared_program.d.ts +15 -0
- package/dist/ops/webgpu/transpose16_shared_program.js +79 -0
- package/dist/ops/webgpu/unpack16.d.ts +1 -0
- package/dist/ops/webgpu/unpack16.js +60 -0
- package/dist/ops/webgpu/utils/binary_op.d.ts +35 -0
- package/dist/ops/webgpu/utils/binary_op.js +141 -0
- package/dist/ops/webgpu/utils/deviceInfo.d.ts +7 -0
- package/dist/ops/webgpu/utils/deviceInfo.js +11 -0
- package/dist/ops/webgpu/utils/reductions.d.ts +43 -0
- package/dist/ops/webgpu/utils/reductions.js +263 -0
- package/dist/pack16-Ck-spx_F.js +39 -0
- package/dist/patches/webgpu_backend.d.ts +18 -0
- package/dist/patches/webgpu_backend.js +43 -0
- package/dist/patches/webgpu_base.d.ts +21 -0
- package/dist/patches/webgpu_base.js +22 -0
- package/dist/patches/webgpu_program.d.ts +36 -0
- package/dist/patches/webgpu_program.js +293 -0
- package/dist/pdf-UoDqCYzz.js +16726 -0
- package/dist/picomatch-3tUnMMbd.js +1063 -0
- package/dist/rope-CbeGlsV8.js +25 -0
- package/dist/selu_util-zkAx5doH.js +24 -0
- package/dist/shared-D1coEFea.js +1314 -0
- package/dist/shared-DOgWaqvL.js +5 -0
- package/dist/slice_util-Dgb3ANWI.js +208 -0
- package/dist/tfjs_backend-BjuQ5FqB.js +614 -0
- package/dist/tokeniser/BaseTokeniser.d.ts +33 -0
- package/dist/tokeniser/BaseTokeniser.js +2 -0
- package/dist/tokeniser/CharTokeniser.d.ts +24 -0
- package/dist/tokeniser/CharTokeniser.js +92 -0
- package/dist/tokeniser/bpe.d.ts +28 -0
- package/dist/tokeniser/bpe.js +170 -0
- package/dist/tokeniser/messages.d.ts +61 -0
- package/dist/tokeniser/messages.js +0 -0
- package/dist/tokeniser/type.d.ts +34 -0
- package/dist/tokeniser/type.js +0 -0
- package/dist/training/AdamW.d.ts +36 -0
- package/dist/training/AdamW.js +128 -0
- package/dist/training/BasicTrainer.d.ts +63 -0
- package/dist/training/BasicTrainer.js +265 -0
- package/dist/training/DatasetBuilder.d.ts +26 -0
- package/dist/training/DatasetBuilder.js +2 -0
- package/dist/training/Evaluator.d.ts +19 -0
- package/dist/training/Evaluator.js +48 -0
- package/dist/training/LRScheduler.d.ts +12 -0
- package/dist/training/LRScheduler.js +38 -0
- package/dist/training/PreTrainer.d.ts +11 -0
- package/dist/training/PreTrainer.js +22 -0
- package/dist/training/SFTTrainer.d.ts +12 -0
- package/dist/training/SFTTrainer.js +24 -0
- package/dist/training/loss.d.ts +3 -0
- package/dist/training/loss.js +19 -0
- package/dist/training/orthoGrad.d.ts +2 -0
- package/dist/training/orthoGrad.js +10 -0
- package/dist/training/sparseCrossEntropy.d.ts +7 -0
- package/dist/training/sparseCrossEntropy.js +47 -0
- package/dist/training/tasks/ConversationTask.d.ts +18 -0
- package/dist/training/tasks/ConversationTask.js +38 -0
- package/dist/training/tasks/PretrainingTask.d.ts +17 -0
- package/dist/training/tasks/PretrainingTask.js +42 -0
- package/dist/training/tasks/StartSentenceTask.d.ts +18 -0
- package/dist/training/tasks/StartSentenceTask.js +45 -0
- package/dist/training/tasks/Task.d.ts +22 -0
- package/dist/training/tasks/Task.js +55 -0
- package/dist/training/tasks/splitter.d.ts +5 -0
- package/dist/training/tasks/splitter.js +18 -0
- package/dist/training/types.d.ts +78 -0
- package/dist/training/types.js +0 -0
- package/dist/training/validation.d.ts +17 -0
- package/dist/training/validation.js +2 -0
- package/dist/utilities/arrayClose.d.ts +1 -0
- package/dist/utilities/arrayClose.js +16 -0
- package/dist/utilities/datasetID.d.ts +2 -0
- package/dist/utilities/datasetID.js +18 -0
- package/dist/utilities/dummy.d.ts +9 -0
- package/dist/utilities/dummy.js +36 -0
- package/dist/utilities/multinomialCPU.d.ts +2 -0
- package/dist/utilities/multinomialCPU.js +9 -0
- package/dist/utilities/naming.d.ts +4 -0
- package/dist/utilities/naming.js +0 -0
- package/dist/utilities/packed.d.ts +4 -0
- package/dist/utilities/packed.js +13 -0
- package/dist/utilities/parameters.d.ts +11 -0
- package/dist/utilities/parameters.js +38 -0
- package/dist/utilities/performance.d.ts +2 -0
- package/dist/utilities/performance.js +16 -0
- package/dist/utilities/profile.d.ts +17 -0
- package/dist/utilities/profile.js +33 -0
- package/dist/utilities/safetensors.d.ts +3 -0
- package/dist/utilities/safetensors.js +53 -0
- package/dist/utilities/sentences.d.ts +5 -0
- package/dist/utilities/sentences.js +32 -0
- package/dist/utilities/tokenParse.d.ts +1 -0
- package/dist/utilities/tokenParse.js +17 -0
- package/dist/utilities/topP.d.ts +1 -0
- package/dist/utilities/topP.js +12 -0
- package/dist/utilities/waitForModel.d.ts +2 -0
- package/dist/utilities/waitForModel.js +12 -0
- package/dist/utilities/weights.d.ts +12 -0
- package/dist/utilities/weights.js +40 -0
- package/dist/utilities/yielder.d.ts +1 -0
- package/dist/utilities/yielder.js +7 -0
- package/dist/webgpu-Dt7BMzWz.js +525 -0
- package/dist/webgpu_program-WOyIVMlZ.js +392 -0
- package/dist/webgpu_util-B_F3SShA.js +106 -0
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Ii as e, _r as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/appendCache.ts
|
|
3
|
+
function n(e) {
|
|
4
|
+
let { cache: n, item: r } = e.inputs, { maxSize: i, pastLen: a } = e.attrs, o = n.shape[0], s = n.shape[1], c = n.shape[3], l = r.shape[2];
|
|
5
|
+
if (a + l <= i) {
|
|
6
|
+
let e = n.slice([
|
|
7
|
+
0,
|
|
8
|
+
0,
|
|
9
|
+
0,
|
|
10
|
+
0
|
|
11
|
+
], [
|
|
12
|
+
o,
|
|
13
|
+
s,
|
|
14
|
+
a,
|
|
15
|
+
c
|
|
16
|
+
]), u = n.slice([
|
|
17
|
+
0,
|
|
18
|
+
0,
|
|
19
|
+
a + l,
|
|
20
|
+
0
|
|
21
|
+
], [
|
|
22
|
+
o,
|
|
23
|
+
s,
|
|
24
|
+
i - a - l,
|
|
25
|
+
c
|
|
26
|
+
]), d = l < l ? r.slice([
|
|
27
|
+
0,
|
|
28
|
+
0,
|
|
29
|
+
0,
|
|
30
|
+
0
|
|
31
|
+
], [
|
|
32
|
+
o,
|
|
33
|
+
s,
|
|
34
|
+
l,
|
|
35
|
+
c
|
|
36
|
+
]) : r, f = t([
|
|
37
|
+
e,
|
|
38
|
+
d,
|
|
39
|
+
u
|
|
40
|
+
], 2);
|
|
41
|
+
return e.dispose(), u.dispose(), d !== r && d.dispose(), f;
|
|
42
|
+
}
|
|
43
|
+
let u = n.slice([
|
|
44
|
+
0,
|
|
45
|
+
0,
|
|
46
|
+
l,
|
|
47
|
+
0
|
|
48
|
+
], [
|
|
49
|
+
o,
|
|
50
|
+
s,
|
|
51
|
+
i - l,
|
|
52
|
+
c
|
|
53
|
+
]), d = t([u, r], 2);
|
|
54
|
+
return u.dispose(), d;
|
|
55
|
+
}
|
|
56
|
+
e({
|
|
57
|
+
kernelName: "AppendCache",
|
|
58
|
+
backendName: "cpu",
|
|
59
|
+
kernelFunc: n
|
|
60
|
+
}), e({
|
|
61
|
+
kernelName: "AppendCache",
|
|
62
|
+
backendName: "tensorflow",
|
|
63
|
+
kernelFunc: n
|
|
64
|
+
});
|
|
65
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Ii as e, Ot as t, Pn as n, _n as r, ar as i, gr as a, kt as o, p as s } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/attentionMask.ts
|
|
3
|
+
function c(e) {
|
|
4
|
+
let { q: c, k: l } = e.inputs, { divisor: u } = e.attrs, d = c.shape[2], f = l.shape[2], p = n(s.bandPart(t([f, f]), -1, 0).cast("bool"), o([f, f]), i([f, f], -Infinity)), m = a(c, l, !1, !0).mul(r(u)), h = p.slice([0, 0], [d, f]).expandDims(0).expandDims(0);
|
|
5
|
+
return m.add(h);
|
|
6
|
+
}
|
|
7
|
+
e({
|
|
8
|
+
kernelName: "AttentionMask",
|
|
9
|
+
backendName: "cpu",
|
|
10
|
+
kernelFunc: c
|
|
11
|
+
}), e({
|
|
12
|
+
kernelName: "AttentionMask",
|
|
13
|
+
backendName: "tensorflow",
|
|
14
|
+
kernelFunc: c
|
|
15
|
+
});
|
|
16
|
+
//#endregion
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SoftmaxAttrs, SoftmaxInputs, TensorInfo } from '@tensorflow/tfjs-core';
|
|
2
|
+
interface FusedSoftmaxAttrs extends SoftmaxAttrs {
|
|
3
|
+
dropoutRate?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function softmaxCPU(args: {
|
|
6
|
+
inputs: SoftmaxInputs;
|
|
7
|
+
attrs: FusedSoftmaxAttrs;
|
|
8
|
+
}): TensorInfo;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Ii as e, Y as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/fusedSoftmax.ts
|
|
3
|
+
function n(e) {
|
|
4
|
+
let { inputs: n, attrs: r } = e, { logits: i } = n, { dim: a, dropoutRate: o } = r;
|
|
5
|
+
if (!i) throw Error("Error in softmax: input logits is null");
|
|
6
|
+
return o !== void 0 && o > 0 && console.warn("Dropout in fusedSoftmax not implemented for CPU backend, skipping dropout."), t(i, a);
|
|
7
|
+
}
|
|
8
|
+
e({
|
|
9
|
+
kernelName: "FusedSoftmax",
|
|
10
|
+
backendName: "cpu",
|
|
11
|
+
kernelFunc: n
|
|
12
|
+
}), e({
|
|
13
|
+
kernelName: "FusedSoftmax",
|
|
14
|
+
backendName: "tensorflow",
|
|
15
|
+
kernelFunc: n
|
|
16
|
+
}), e({
|
|
17
|
+
kernelName: "FusedSoftmax",
|
|
18
|
+
backendName: "webgpu",
|
|
19
|
+
kernelFunc: n
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { n as softmaxCPU };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Bt as e, Ii as t, S as n, V as r, dt as i } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/gatherSub.ts
|
|
3
|
+
function a(t) {
|
|
4
|
+
let { values: a, labels: o, logits: s } = t.inputs, c = o.shape[0];
|
|
5
|
+
return e(a, n(s, r([i(0, c, 1, "int32"), o], 1)));
|
|
6
|
+
}
|
|
7
|
+
t({
|
|
8
|
+
kernelName: "EfficientGatherSub",
|
|
9
|
+
backendName: "cpu",
|
|
10
|
+
kernelFunc: a
|
|
11
|
+
});
|
|
12
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Ii as e, di as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/gelu.ts
|
|
3
|
+
var n = .7978845608028654, r = .044715;
|
|
4
|
+
function i(e) {
|
|
5
|
+
let { inputs: i } = e, { x: a } = i, o = a;
|
|
6
|
+
return t(() => {
|
|
7
|
+
let e = o.pow(3), t = o.add(e.mul(r)).mul(n).tanh().add(1).mul(.5);
|
|
8
|
+
return o.mul(t);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
e({
|
|
12
|
+
kernelName: "Gelu",
|
|
13
|
+
backendName: "cpu",
|
|
14
|
+
kernelFunc: i
|
|
15
|
+
}), e({
|
|
16
|
+
kernelName: "Gelu",
|
|
17
|
+
backendName: "tensorflow",
|
|
18
|
+
kernelFunc: i
|
|
19
|
+
});
|
|
20
|
+
function a(e) {
|
|
21
|
+
let { dy: i, x: a } = e.inputs;
|
|
22
|
+
return t(() => {
|
|
23
|
+
let e = a.square(), t = e.mul(a), o = a.add(t.mul(r)).mul(n).tanh(), s = o.square().neg().add(1), c = e.mul(3 * r).add(1), l = o.add(1).mul(.5), u = a.mul(s).mul(n).mul(c).mul(.5), d = l.add(u);
|
|
24
|
+
return i.mul(d);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
e({
|
|
28
|
+
kernelName: "GeluGrad",
|
|
29
|
+
backendName: "cpu",
|
|
30
|
+
kernelFunc: a
|
|
31
|
+
}), e({
|
|
32
|
+
kernelName: "GeluGrad",
|
|
33
|
+
backendName: "tensorflow",
|
|
34
|
+
kernelFunc: a
|
|
35
|
+
});
|
|
36
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Ii as e, gr as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
import { isPackedTensor as n } from "../../utilities/packed.js";
|
|
3
|
+
//#region lib/ops/cpu/matMul16.ts
|
|
4
|
+
function r(e) {
|
|
5
|
+
let { A: r, B: i } = e.inputs, { transposeA: a, transposeB: o } = e.attrs, s = !n(r), c = !n(i);
|
|
6
|
+
if (s && c) return t(r, i, a, o);
|
|
7
|
+
throw Error("MatMul16 CPU kernel only supports packed tensors currently.");
|
|
8
|
+
}
|
|
9
|
+
e({
|
|
10
|
+
kernelName: "MatMul16",
|
|
11
|
+
backendName: "cpu",
|
|
12
|
+
kernelFunc: r
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Ii as e, di as t, gr as n } from "../../dist-BewPQWjc.js";
|
|
2
|
+
import { n as r, t as i } from "../../gelu-Bf1HW1RY.js";
|
|
3
|
+
//#region lib/ops/cpu/matMulGelu.ts
|
|
4
|
+
function a(e) {
|
|
5
|
+
let { inputs: i } = e, { x: a, kernel: o } = i, s = a, c = o;
|
|
6
|
+
return t(() => r(n(s, c)));
|
|
7
|
+
}
|
|
8
|
+
e({
|
|
9
|
+
kernelName: "MatMulGelu",
|
|
10
|
+
backendName: "cpu",
|
|
11
|
+
kernelFunc: a
|
|
12
|
+
}), e({
|
|
13
|
+
kernelName: "MatMulGelu",
|
|
14
|
+
backendName: "tensorflow",
|
|
15
|
+
kernelFunc: a
|
|
16
|
+
}), e({
|
|
17
|
+
kernelName: "MatMulGelu",
|
|
18
|
+
backendName: "webgpu",
|
|
19
|
+
kernelFunc: a
|
|
20
|
+
});
|
|
21
|
+
function o(e) {
|
|
22
|
+
let { dy: r, x: a, kernel: o } = e.inputs;
|
|
23
|
+
return t(() => {
|
|
24
|
+
let e = i(r, n(a, o));
|
|
25
|
+
return [e.matMul(o.transpose()), a.transpose().matMul(e)];
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
e({
|
|
29
|
+
kernelName: "MatMulGeluGrad",
|
|
30
|
+
backendName: "cpu",
|
|
31
|
+
kernelFunc: o
|
|
32
|
+
}), e({
|
|
33
|
+
kernelName: "MatMulGeluGrad",
|
|
34
|
+
backendName: "tensorflow",
|
|
35
|
+
kernelFunc: o
|
|
36
|
+
}), e({
|
|
37
|
+
kernelName: "MatMulGeluGrad",
|
|
38
|
+
backendName: "webgpu",
|
|
39
|
+
kernelFunc: o
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Ii as e, di as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/matMulMul.ts
|
|
3
|
+
function n(e) {
|
|
4
|
+
let { inputs: n, attrs: r } = e, { transposeA: i, transposeB: a } = r, { x: o, kernel: s, y: c } = n, l = o, u = s, d = c;
|
|
5
|
+
return t(() => l.matMul(u, i, a).mul(d));
|
|
6
|
+
}
|
|
7
|
+
e({
|
|
8
|
+
kernelName: "MatMulMul",
|
|
9
|
+
backendName: "cpu",
|
|
10
|
+
kernelFunc: n
|
|
11
|
+
}), e({
|
|
12
|
+
kernelName: "MatMulMul",
|
|
13
|
+
backendName: "tensorflow",
|
|
14
|
+
kernelFunc: n
|
|
15
|
+
}), e({
|
|
16
|
+
kernelName: "MatMulMul",
|
|
17
|
+
backendName: "webgpu",
|
|
18
|
+
kernelFunc: n
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Ii as e, Wr as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/mulDropout.ts
|
|
3
|
+
function n(e) {
|
|
4
|
+
let { inputs: n } = e, { a: r, b: i } = n;
|
|
5
|
+
return console.warn("Using fallback mulDrop implementation without dropout."), t(r, i);
|
|
6
|
+
}
|
|
7
|
+
e({
|
|
8
|
+
kernelName: "MulDropout",
|
|
9
|
+
backendName: "cpu",
|
|
10
|
+
kernelFunc: n
|
|
11
|
+
}), e({
|
|
12
|
+
kernelName: "MulDropout",
|
|
13
|
+
backendName: "tensorflow",
|
|
14
|
+
kernelFunc: n
|
|
15
|
+
}), e({
|
|
16
|
+
kernelName: "MulDropout",
|
|
17
|
+
backendName: "webgpu",
|
|
18
|
+
kernelFunc: n
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Ii as e, di as t } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/normRMS.ts
|
|
3
|
+
function n(e) {
|
|
4
|
+
let { inputs: n } = e, { x: r, gamma: i } = n, a = r, o = i;
|
|
5
|
+
return t(() => {
|
|
6
|
+
let e = a.square().mean(-1, !0).add(1e-8).rsqrt();
|
|
7
|
+
return a.mul(e).mul(o);
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
e({
|
|
11
|
+
kernelName: "RMSNorm",
|
|
12
|
+
backendName: "cpu",
|
|
13
|
+
kernelFunc: n
|
|
14
|
+
}), e({
|
|
15
|
+
kernelName: "RMSNorm",
|
|
16
|
+
backendName: "tensorflow",
|
|
17
|
+
kernelFunc: n
|
|
18
|
+
});
|
|
19
|
+
function r(e) {
|
|
20
|
+
let { dy: n, x: r, gamma: i } = e.inputs;
|
|
21
|
+
return t(() => {
|
|
22
|
+
let e = r.shape[r.shape.length - 1], t = r.square().mean(-1, !0), a = t.add(1e-8).rsqrt(), o = r.mul(a), s = n.mul(o).sum([0, 1]), c = n.mul(i), l = c.mul(r).sum(-1, !0).div(e);
|
|
23
|
+
return [c.mul(a).sub(r.mul(l).mul(a).div(t.add(1e-8))), s];
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
e({
|
|
27
|
+
kernelName: "RMSNormGrad",
|
|
28
|
+
backendName: "cpu",
|
|
29
|
+
kernelFunc: r
|
|
30
|
+
}), e({
|
|
31
|
+
kernelName: "RMSNormGrad",
|
|
32
|
+
backendName: "tensorflow",
|
|
33
|
+
kernelFunc: r
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { G as e, Ii as t, br as n } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/qkv.ts
|
|
3
|
+
function r(t) {
|
|
4
|
+
let { x: r, kernel: i } = t.inputs, { heads: a, packed: o } = t.attrs;
|
|
5
|
+
if (o) throw Error("QKV CPU implementation does not support packed tensors.");
|
|
6
|
+
let [s, c, l] = r.shape, u = n(r, [s * c, l]), d = u.dot(i);
|
|
7
|
+
u.dispose();
|
|
8
|
+
let f = n(d, [
|
|
9
|
+
s,
|
|
10
|
+
c,
|
|
11
|
+
3 * l
|
|
12
|
+
]);
|
|
13
|
+
d.dispose();
|
|
14
|
+
let [p, m, h] = e(f, 3, -1);
|
|
15
|
+
f.dispose();
|
|
16
|
+
let g = l / a, _ = n(p, [
|
|
17
|
+
s,
|
|
18
|
+
c,
|
|
19
|
+
a,
|
|
20
|
+
g
|
|
21
|
+
]);
|
|
22
|
+
p.dispose();
|
|
23
|
+
let v = _.transpose([
|
|
24
|
+
0,
|
|
25
|
+
2,
|
|
26
|
+
1,
|
|
27
|
+
3
|
|
28
|
+
]);
|
|
29
|
+
_.dispose();
|
|
30
|
+
let y = n(m, [
|
|
31
|
+
s,
|
|
32
|
+
c,
|
|
33
|
+
a,
|
|
34
|
+
g
|
|
35
|
+
]);
|
|
36
|
+
m.dispose();
|
|
37
|
+
let b = y.transpose([
|
|
38
|
+
0,
|
|
39
|
+
2,
|
|
40
|
+
1,
|
|
41
|
+
3
|
|
42
|
+
]);
|
|
43
|
+
y.dispose();
|
|
44
|
+
let x = n(h, [
|
|
45
|
+
s,
|
|
46
|
+
c,
|
|
47
|
+
a,
|
|
48
|
+
g
|
|
49
|
+
]);
|
|
50
|
+
h.dispose();
|
|
51
|
+
let S = x.transpose([
|
|
52
|
+
0,
|
|
53
|
+
2,
|
|
54
|
+
1,
|
|
55
|
+
3
|
|
56
|
+
]);
|
|
57
|
+
return x.dispose(), [
|
|
58
|
+
v,
|
|
59
|
+
b,
|
|
60
|
+
S
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
t({
|
|
64
|
+
kernelName: "QKV",
|
|
65
|
+
backendName: "cpu",
|
|
66
|
+
kernelFunc: r
|
|
67
|
+
}), t({
|
|
68
|
+
kernelName: "QKV",
|
|
69
|
+
backendName: "tensorflow",
|
|
70
|
+
kernelFunc: r
|
|
71
|
+
});
|
|
72
|
+
//#endregion
|
|
73
|
+
export { r as qkvCPU };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NamedAttrMap, NamedTensorInfoMap, Tensor, TensorInfo } from '@tensorflow/tfjs-core';
|
|
2
|
+
export declare function applyRoPE(sinCache: Tensor, cosCache: Tensor, rotaryDim: number, q: Tensor, pastLen: number): Tensor;
|
|
3
|
+
export declare function ropeCPU(args: {
|
|
4
|
+
inputs: NamedTensorInfoMap;
|
|
5
|
+
attrs?: NamedAttrMap;
|
|
6
|
+
}): TensorInfo;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Ii as e, V as t, _r as n, an as r, dt as i } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/rope.ts
|
|
3
|
+
function a(e, a, o, s, c) {
|
|
4
|
+
let l = s.shape[3], u = o;
|
|
5
|
+
if (u > l) return s;
|
|
6
|
+
let d = s.shape[2], f = u / 2, p = a.slice([
|
|
7
|
+
c,
|
|
8
|
+
0,
|
|
9
|
+
0
|
|
10
|
+
], [
|
|
11
|
+
d,
|
|
12
|
+
f,
|
|
13
|
+
1
|
|
14
|
+
]).reshape([
|
|
15
|
+
1,
|
|
16
|
+
1,
|
|
17
|
+
d,
|
|
18
|
+
f
|
|
19
|
+
]), m = e.slice([
|
|
20
|
+
c,
|
|
21
|
+
0,
|
|
22
|
+
0
|
|
23
|
+
], [
|
|
24
|
+
d,
|
|
25
|
+
f,
|
|
26
|
+
1
|
|
27
|
+
]).reshape([
|
|
28
|
+
1,
|
|
29
|
+
1,
|
|
30
|
+
d,
|
|
31
|
+
f
|
|
32
|
+
]), h = s.shape[0], g = s.shape[1], _ = i(0, u, 2, "int32"), v = i(1, u, 2, "int32"), y = ((e) => {
|
|
33
|
+
let i = e.slice([
|
|
34
|
+
0,
|
|
35
|
+
0,
|
|
36
|
+
0,
|
|
37
|
+
0
|
|
38
|
+
], [
|
|
39
|
+
h,
|
|
40
|
+
g,
|
|
41
|
+
d,
|
|
42
|
+
u
|
|
43
|
+
]), a = u < l ? e.slice([
|
|
44
|
+
0,
|
|
45
|
+
0,
|
|
46
|
+
0,
|
|
47
|
+
u
|
|
48
|
+
], [
|
|
49
|
+
h,
|
|
50
|
+
g,
|
|
51
|
+
d,
|
|
52
|
+
l - u
|
|
53
|
+
]) : null, o = r(i, _, 3), s = r(i, v, 3), c = o.mul(p), f = s.mul(m), y = c.sub(f), b = s.mul(p), x = o.mul(m), S = b.add(x);
|
|
54
|
+
o.dispose(), s.dispose(), p.dispose(), m.dispose(), c.dispose(), f.dispose(), b.dispose(), x.dispose();
|
|
55
|
+
let C = t([y, S], -1);
|
|
56
|
+
y.dispose(), S.dispose();
|
|
57
|
+
let w = C.reshape([
|
|
58
|
+
h,
|
|
59
|
+
g,
|
|
60
|
+
d,
|
|
61
|
+
u
|
|
62
|
+
]);
|
|
63
|
+
return C.dispose(), a ? n([w, a], 3) : w;
|
|
64
|
+
})(s);
|
|
65
|
+
return _.dispose(), v.dispose(), y;
|
|
66
|
+
}
|
|
67
|
+
function o(e) {
|
|
68
|
+
let { x: t } = e.inputs, { pastLen: n, negSin: r, ropeCache: i } = e.attrs, o = t.shape[3];
|
|
69
|
+
return a(r ? i.getNegSin() : i.getSin(), i.getCos(), o, t, n);
|
|
70
|
+
}
|
|
71
|
+
e({
|
|
72
|
+
kernelName: "Rope",
|
|
73
|
+
backendName: "cpu",
|
|
74
|
+
kernelFunc: o
|
|
75
|
+
}), e({
|
|
76
|
+
kernelName: "Rope",
|
|
77
|
+
backendName: "tensorflow",
|
|
78
|
+
kernelFunc: o
|
|
79
|
+
});
|
|
80
|
+
//#endregion
|
|
81
|
+
export { a as applyRoPE, o as ropeCPU };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Bt as e, C as t, Ii as n, Ot as r, V as i, Wr as a, dt as o } from "../../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/cpu/scatterSub.ts
|
|
3
|
+
function s(n) {
|
|
4
|
+
let { logits: s, labels: c, dy: l } = n.inputs, u = c.shape[0], d = s.shape[1];
|
|
5
|
+
return a(e(s, t(i([o(0, u, 1, "int32"), c], 1), r([u]), [u, d])), l.reshape([u, 1]));
|
|
6
|
+
}
|
|
7
|
+
n({
|
|
8
|
+
kernelName: "EfficientScatterSub",
|
|
9
|
+
backendName: "cpu",
|
|
10
|
+
kernelFunc: s
|
|
11
|
+
});
|
|
12
|
+
//#endregion
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { o as e } from "../tfjs_backend-BjuQ5FqB.js";
|
|
2
|
+
import { isPackedTensor as t } from "../utilities/packed.js";
|
|
3
|
+
import { transpose16 as n } from "./transpose16.js";
|
|
4
|
+
import { reshape16 as r } from "./reshape16.js";
|
|
5
|
+
import { t as i } from "../matMul16-BNfZSnNM.js";
|
|
6
|
+
//#region lib/ops/dot16.ts
|
|
7
|
+
function a(a, o, s = !1, c = !1) {
|
|
8
|
+
if (!t(a) && !t(o)) return e(a, o);
|
|
9
|
+
if (a.rank < 2 || o.rank < 2) throw Error(`dot requires both inputs to be rank >= 2 but got x shape = ${a.shape} and y shape = ${o.shape}`);
|
|
10
|
+
if (o.rank >= 3 && a.shape.slice(-1)[0] !== o.shape.slice(-2)[0]) throw Error(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${a.shape} and y shape = ${o.shape}`);
|
|
11
|
+
if (!t(a) || !t(o)) throw Error("dot16 requires both inputs to be packed Tensors.");
|
|
12
|
+
if (a.rank === 2 && o.rank === 2) return i(a, o, s, c);
|
|
13
|
+
{
|
|
14
|
+
let e = a.shape.slice(), t = e.pop();
|
|
15
|
+
a = r(a, [-1, t]);
|
|
16
|
+
let l = o.shape.slice(), u = l.pop(), d = l.pop(), f = [...l, u], p = Array.from({ length: o.rank }, (e, t) => t === 0 ? o.rank - 2 : t <= o.rank - 2 ? t - 1 : t);
|
|
17
|
+
if (p.every((e, t) => e === t)) o = r(o, [d, -1]);
|
|
18
|
+
else {
|
|
19
|
+
let e = n(o, p);
|
|
20
|
+
o = r(e, [d, -1]), e.dispose();
|
|
21
|
+
}
|
|
22
|
+
let m = [...e, ...f], h = i(a, o, s, c);
|
|
23
|
+
a.dispose(), o.dispose();
|
|
24
|
+
let g = r(h, m);
|
|
25
|
+
return h.dispose(), g;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { a as dot16 };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Gr as e, Ps as t, ft as n, mi as r, on as i, qr as a, wi as o, x as s } from "../dist-BewPQWjc.js";
|
|
2
|
+
import { mul16 as c } from "./mul16.js";
|
|
3
|
+
//#region lib/ops/dropout.ts
|
|
4
|
+
function l(l, u, d, f) {
|
|
5
|
+
let p = r(l, "x", "dropout");
|
|
6
|
+
if (t(u >= 0 && u < 1, () => `rate must be a float in the range [0, 1), but got ${u}.`), u === 0) return l instanceof o ? p.clone() : p;
|
|
7
|
+
let m = s(p, d), h = 1 - u;
|
|
8
|
+
return c(p, e(i(a(n(m, 0, 1, "float32", f), h)), h));
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { l as dropout };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Fi as e, ii as t } from "../dist-BewPQWjc.js";
|
|
2
|
+
import { isPackedTensor as n } from "../utilities/packed.js";
|
|
3
|
+
import "./webgl/dropout16.js";
|
|
4
|
+
//#region lib/ops/grads/dropout16.ts
|
|
5
|
+
e({
|
|
6
|
+
kernelName: "Dropout16",
|
|
7
|
+
inputsToSave: [],
|
|
8
|
+
gradFunc: (e, t, n) => {
|
|
9
|
+
let { dropout: i, seed: a } = n;
|
|
10
|
+
return { x: () => r(e, i, a) };
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region lib/ops/dropout16.ts
|
|
15
|
+
function r(e, r, i) {
|
|
16
|
+
return n(e) ? t().runKernel("Dropout16", { x: e }, {
|
|
17
|
+
dropout: r,
|
|
18
|
+
seed: i ?? Math.random()
|
|
19
|
+
}) : e;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { r as dropout16 };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ii as e } from "../dist-BewPQWjc.js";
|
|
2
|
+
import "./cpu/gatherSub.js";
|
|
3
|
+
import "./webgl/gatherSub.js";
|
|
4
|
+
//#region lib/ops/gatherSub.ts
|
|
5
|
+
function t(t, n, r) {
|
|
6
|
+
return e().runKernel("EfficientGatherSub", {
|
|
7
|
+
logits: r,
|
|
8
|
+
labels: n,
|
|
9
|
+
values: t
|
|
10
|
+
}, {});
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { t as gatherSub };
|
package/dist/ops/gelu.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { di as e, ii as t, kt as n } from "../dist-BewPQWjc.js";
|
|
2
|
+
//#region lib/ops/globalNorm.ts
|
|
3
|
+
function r(r, i, a = 1) {
|
|
4
|
+
return e(() => {
|
|
5
|
+
let e = n([r.length], "int32");
|
|
6
|
+
return r.map((n, r) => t().runKernel("Norm2", {
|
|
7
|
+
x: n,
|
|
8
|
+
output: e
|
|
9
|
+
}, {
|
|
10
|
+
invLossScaling: i,
|
|
11
|
+
index: r
|
|
12
|
+
})), t().runKernel("ClipScale", { x: e }, {
|
|
13
|
+
invLossScaling: i,
|
|
14
|
+
clipNorm: a
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { r as clipScale };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|