@genai-fi/nanogpt 0.19.0 → 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 -108
- 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,124 +0,0 @@
|
|
|
1
|
-
import { E as d } from "../index-DvYrXKkX.js";
|
|
2
|
-
const u = [
|
|
3
|
-
"<eos>",
|
|
4
|
-
"<bos>",
|
|
5
|
-
"",
|
|
6
|
-
"<pad>",
|
|
7
|
-
"<|user_start|>",
|
|
8
|
-
"<|user_end|>",
|
|
9
|
-
"<|assistant_start|>",
|
|
10
|
-
"<|assistant_end|>",
|
|
11
|
-
"<|system_start|>",
|
|
12
|
-
"<|system_end|>"
|
|
13
|
-
];
|
|
14
|
-
class T extends d {
|
|
15
|
-
id = "untrained";
|
|
16
|
-
datasetID;
|
|
17
|
-
specialTokens = /* @__PURE__ */ new Map();
|
|
18
|
-
specialTokenSet = /* @__PURE__ */ new Set();
|
|
19
|
-
isSpecialToken(t) {
|
|
20
|
-
return this.specialTokenSet.has(t);
|
|
21
|
-
}
|
|
22
|
-
addSpecialTokens() {
|
|
23
|
-
u.forEach((t, n) => {
|
|
24
|
-
this.addToken(t, n), this.specialTokens.set(t, n), this.specialTokenSet.add(n);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
addSpecialToken(t, n) {
|
|
28
|
-
this.specialTokens.set(t, n), this.specialTokenSet.add(n);
|
|
29
|
-
}
|
|
30
|
-
generateID() {
|
|
31
|
-
const t = this.getVocab();
|
|
32
|
-
let n = 2166136261, e = 2654435769;
|
|
33
|
-
if (t.length === 0) {
|
|
34
|
-
this.id = "untrained";
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
for (let a = 0; a < t.length; a++) {
|
|
38
|
-
const i = t[a];
|
|
39
|
-
n ^= i.length, n = Math.imul(n, 16777619), e ^= a, e = Math.imul(e, 2246822507);
|
|
40
|
-
for (let h = 0; h < i.length; h++) {
|
|
41
|
-
const c = i.charCodeAt(h);
|
|
42
|
-
n ^= c, n = Math.imul(n, 16777619), e ^= c, e = Math.imul(e, 3266489909);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const o = (n >>> 0).toString(36), s = (e >>> 0).toString(36);
|
|
46
|
-
this.id = "tokeniser_" + o + "_" + s;
|
|
47
|
-
}
|
|
48
|
-
encodeSequence(t) {
|
|
49
|
-
const n = this.encode(t);
|
|
50
|
-
return [this.bosToken, ...n, this.eosToken];
|
|
51
|
-
}
|
|
52
|
-
encodeAsSequence(t, n) {
|
|
53
|
-
const e = t.flatMap((o) => this.encode(o.content));
|
|
54
|
-
return n ? [this.bosToken, ...e, this.eosToken, this.bosToken] : [this.bosToken, ...e, this.eosToken];
|
|
55
|
-
}
|
|
56
|
-
encodeConversation(t, n, e) {
|
|
57
|
-
const o = [[this.bosToken]];
|
|
58
|
-
let s;
|
|
59
|
-
e && (s = [[!1]]);
|
|
60
|
-
const a = [
|
|
61
|
-
this.getSpecialTokenIndex("<|user_start|>"),
|
|
62
|
-
this.getSpecialTokenIndex("<|assistant_start|>"),
|
|
63
|
-
this.getSpecialTokenIndex("<|system_start|>")
|
|
64
|
-
], i = [
|
|
65
|
-
this.getSpecialTokenIndex("<|user_end|>"),
|
|
66
|
-
this.getSpecialTokenIndex("<|assistant_end|>"),
|
|
67
|
-
this.getSpecialTokenIndex("<|system_end|>")
|
|
68
|
-
];
|
|
69
|
-
for (const c of t) {
|
|
70
|
-
let l = !1;
|
|
71
|
-
const r = this.encode(c.content);
|
|
72
|
-
switch (c.role) {
|
|
73
|
-
case "user":
|
|
74
|
-
o.push([a[0]]), l = !0;
|
|
75
|
-
break;
|
|
76
|
-
case "assistant":
|
|
77
|
-
o.push([a[1]]);
|
|
78
|
-
break;
|
|
79
|
-
case "system":
|
|
80
|
-
o.push([a[2]]), l = !0;
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
switch (o.push(r), c.role) {
|
|
84
|
-
case "user":
|
|
85
|
-
o.push([i[0]]);
|
|
86
|
-
break;
|
|
87
|
-
case "assistant":
|
|
88
|
-
o.push([i[1]]);
|
|
89
|
-
break;
|
|
90
|
-
case "system":
|
|
91
|
-
o.push([i[2]]);
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
e && s && l ? (s.push([!1]), s.push(r.map(() => !1)), s.push([!1])) : e && s && (s.push([!1]), s.push(r.map(() => !0)), s.push([!0]));
|
|
95
|
-
}
|
|
96
|
-
const h = o.flat();
|
|
97
|
-
return n ? (h.push(a[1]), e && s && s.push([!1])) : (h.push(this.eosToken), e && s && s.push([!0])), e && s ? { tokens: h, mask: s.flat() } : h;
|
|
98
|
-
}
|
|
99
|
-
decodeConversation(t) {
|
|
100
|
-
const n = [];
|
|
101
|
-
let e = 0;
|
|
102
|
-
for (; e < t.length; ) {
|
|
103
|
-
const o = t[e];
|
|
104
|
-
let s = null;
|
|
105
|
-
if (o === this.getSpecialTokenIndex("<|user_start|>") ? s = "user" : o === this.getSpecialTokenIndex("<|assistant_start|>") ? s = "assistant" : o === this.getSpecialTokenIndex("<|system_start|>") ? s = "system" : o === this.bosToken || (o === this.eosToken ? s = null : (s = "text", e--)), s) {
|
|
106
|
-
e++;
|
|
107
|
-
const a = [];
|
|
108
|
-
for (; e < t.length && t[e] !== this.getSpecialTokenIndex(`<|${s}_end|>`) && t[e] !== this.eosToken; )
|
|
109
|
-
a.push(t[e]), e++;
|
|
110
|
-
const i = this.decode(a);
|
|
111
|
-
n.push({ role: s, content: i });
|
|
112
|
-
}
|
|
113
|
-
e++;
|
|
114
|
-
}
|
|
115
|
-
return n;
|
|
116
|
-
}
|
|
117
|
-
getSpecialTokenIndex(t) {
|
|
118
|
-
return this.specialTokens.get(t);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
export {
|
|
122
|
-
u as SPECIALS,
|
|
123
|
-
T as default
|
|
124
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { default as BaseTokeniser } from './BaseTokeniser';
|
|
2
|
-
import { Conversation } from './type';
|
|
3
|
-
export default class CharTokeniser extends BaseTokeniser {
|
|
4
|
-
vocabSize: number;
|
|
5
|
-
eosToken: number;
|
|
6
|
-
bosToken: number;
|
|
7
|
-
unkToken: number;
|
|
8
|
-
vocab: string[];
|
|
9
|
-
private cache;
|
|
10
|
-
private _trained;
|
|
11
|
-
constructor(vocabSizeOrVocab: number | string[]);
|
|
12
|
-
addToken(token: string, index?: number): number;
|
|
13
|
-
get trained(): boolean;
|
|
14
|
-
destroy(): void;
|
|
15
|
-
train(text: Conversation[][], cb?: (vocab: number) => void, datasetID?: string): Promise<number>;
|
|
16
|
-
tokenise(text: string[], numeric: true): number[][];
|
|
17
|
-
tokenise(text: string[]): string[][];
|
|
18
|
-
detokenise(tokens: (number[] | Uint16Array)[]): string[];
|
|
19
|
-
encode(text: string): number[];
|
|
20
|
-
decode(tokens: number[] | Uint16Array): string;
|
|
21
|
-
getVocab(): string[];
|
|
22
|
-
getMerges(): [string, string][];
|
|
23
|
-
createTrainingData(text: string[], windowSize?: number): Promise<[number[], number[]]>;
|
|
24
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { yieldIfNeeded as u } from "../utilities/yielder.js";
|
|
2
|
-
import b, { SPECIALS as T } from "./BaseTokeniser.js";
|
|
3
|
-
const l = ["<eos>", "<unk>"];
|
|
4
|
-
class x extends b {
|
|
5
|
-
vocabSize = 0;
|
|
6
|
-
eosToken = 0;
|
|
7
|
-
bosToken = 0;
|
|
8
|
-
unkToken = 0;
|
|
9
|
-
vocab = [];
|
|
10
|
-
cache = /* @__PURE__ */ new Map();
|
|
11
|
-
_trained = !1;
|
|
12
|
-
constructor(t) {
|
|
13
|
-
if (super(), Array.isArray(t)) {
|
|
14
|
-
if (this.vocab = t, this.vocab.length > 0)
|
|
15
|
-
this.vocabSize = this.vocab.length, T.forEach((i) => {
|
|
16
|
-
const e = this.vocab.indexOf(i);
|
|
17
|
-
e !== -1 && this.addSpecialToken(i, e);
|
|
18
|
-
}), this.eosToken = this.getSpecialTokenIndex("<eos>"), this.bosToken = this.getSpecialTokenIndex("<bos>") ?? this.eosToken, this.unkToken = this.getSpecialTokenIndex("") ?? -1, this.unkToken === -1 && (this.unkToken = this.vocab.indexOf("<unk>")), this.unkToken === -1 && (this.unkToken = this.vocab.indexOf("<pad>")), this.unkToken === -1 && (this.unkToken = this.vocab.indexOf("_")), this.unkToken === -1 && (this.unkToken = this.vocab.indexOf(" ")), this.unkToken === -1 && (this.unkToken = this.eosToken), this.vocab = this.vocab.map((i) => i === "<pad>" ? "" : i), this.vocab.forEach((i, e) => {
|
|
19
|
-
this.cache.set(i, e);
|
|
20
|
-
});
|
|
21
|
-
else
|
|
22
|
-
throw new Error("Vocab cannot be empty");
|
|
23
|
-
this._trained = !0;
|
|
24
|
-
} else
|
|
25
|
-
this.vocabSize = t, this.vocab = new Array(this.vocabSize).fill(""), this.addSpecialTokens(), this.eosToken = this.getSpecialTokenIndex("<eos>"), this.bosToken = this.getSpecialTokenIndex("<bos>") ?? this.eosToken, this.unkToken = this.getSpecialTokenIndex(""), this.vocab.forEach((i, e) => {
|
|
26
|
-
this.cache.set(i, e);
|
|
27
|
-
}), this.cache.set("", this.unkToken);
|
|
28
|
-
}
|
|
29
|
-
addToken(t, i) {
|
|
30
|
-
if (this.cache.has(t))
|
|
31
|
-
return this.cache.get(t);
|
|
32
|
-
let e;
|
|
33
|
-
if (i !== void 0 ? e = i : (e = this.vocab.indexOf("", this.unkToken + 1), e === -1 && (e = this.vocabSize)), e >= this.vocabSize)
|
|
34
|
-
throw new Error("Vocab size exceeded");
|
|
35
|
-
return this.vocab[e] = t, this.cache.set(t, e), e;
|
|
36
|
-
}
|
|
37
|
-
get trained() {
|
|
38
|
-
return this.vocab.length === this.vocabSize && this._trained;
|
|
39
|
-
}
|
|
40
|
-
destroy() {
|
|
41
|
-
this.cache.clear(), this.vocab = [];
|
|
42
|
-
}
|
|
43
|
-
async train(t, i, e) {
|
|
44
|
-
this.datasetID = e;
|
|
45
|
-
const a = /* @__PURE__ */ new Set();
|
|
46
|
-
let h = performance.now();
|
|
47
|
-
for (const n of t)
|
|
48
|
-
n.forEach((o) => {
|
|
49
|
-
for (const r of o.content)
|
|
50
|
-
a.add(r);
|
|
51
|
-
}), h = await u(h, i, 0);
|
|
52
|
-
const s = Array.from(a), k = this.vocab.indexOf("", this.unkToken + 1), d = this.vocabSize - l.length;
|
|
53
|
-
if (k === -1)
|
|
54
|
-
return this.generateID(), this.vocabSize;
|
|
55
|
-
if (this._trained = !0, s.length > d) {
|
|
56
|
-
const n = /* @__PURE__ */ new Map();
|
|
57
|
-
t.forEach((o) => {
|
|
58
|
-
o.forEach((r) => {
|
|
59
|
-
for (const f of r.content)
|
|
60
|
-
n.set(f, (n.get(f) || 0) + 1);
|
|
61
|
-
});
|
|
62
|
-
}), s.sort((o, r) => (n.get(o) || 0) - (n.get(r) || 0)), s.splice(0, s.length - d);
|
|
63
|
-
}
|
|
64
|
-
let c = k;
|
|
65
|
-
if (c !== -1) {
|
|
66
|
-
const n = new Set(this.vocab);
|
|
67
|
-
for (const o of s)
|
|
68
|
-
if (!n.has(o) && (this.vocab[c] = o, n.add(o), c = this.vocab.indexOf("", c + 1), c === -1))
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
return this.cache.clear(), this.vocab.forEach((n, o) => {
|
|
72
|
-
this.cache.set(n, o);
|
|
73
|
-
}), this.generateID(), this.emit("trainStatus", "trained"), this.vocabSize;
|
|
74
|
-
}
|
|
75
|
-
tokenise(t, i) {
|
|
76
|
-
if (!this.trained)
|
|
77
|
-
throw new Error("Tokeniser not trained");
|
|
78
|
-
return t.map((a) => i ? a.split("").map((h) => this.cache.get(h) ?? this.unkToken) : a.split("").map((h) => {
|
|
79
|
-
const s = this.cache.get(h);
|
|
80
|
-
return s !== void 0 ? this.vocab[s] : "";
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
detokenise(t) {
|
|
84
|
-
return t.map((e) => Array.from(e).map((a) => this.vocab[a] || "").join(""));
|
|
85
|
-
}
|
|
86
|
-
encode(t) {
|
|
87
|
-
return this.tokenise([t], !0)[0];
|
|
88
|
-
}
|
|
89
|
-
decode(t) {
|
|
90
|
-
return this.detokenise([t])[0];
|
|
91
|
-
}
|
|
92
|
-
getVocab() {
|
|
93
|
-
return this.vocab;
|
|
94
|
-
}
|
|
95
|
-
getMerges() {
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
|
-
async createTrainingData(t, i = 5) {
|
|
99
|
-
const e = await this.tokenise(t, !0), a = [], h = [];
|
|
100
|
-
for (let s = 0; s < e.length - i; s++)
|
|
101
|
-
a.push(...e[s].slice(0, i)), h.push(e[s + 1][0]);
|
|
102
|
-
return [a, h];
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
export {
|
|
106
|
-
x as default
|
|
107
|
-
};
|
package/dist/tokeniser/bpe.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { default as BaseTokeniser } from './BaseTokeniser';
|
|
2
|
-
import { Conversation } from './type';
|
|
3
|
-
export default class BPETokeniser extends BaseTokeniser {
|
|
4
|
-
private targetSize;
|
|
5
|
-
private vocab;
|
|
6
|
-
private vocabIndex;
|
|
7
|
-
private merges;
|
|
8
|
-
private pretokenMap;
|
|
9
|
-
constructor(vocabSize: number);
|
|
10
|
-
constructor(vocab: string[], merges?: [string, string][]);
|
|
11
|
-
addToken(token: string, index?: number): number;
|
|
12
|
-
destroy(): void;
|
|
13
|
-
get trained(): boolean;
|
|
14
|
-
get vocabSize(): number;
|
|
15
|
-
get eosToken(): number;
|
|
16
|
-
get bosToken(): number;
|
|
17
|
-
get unkToken(): number;
|
|
18
|
-
train(text?: Conversation[][], cb?: (vocab: number) => void, datasetID?: string): Promise<number>;
|
|
19
|
-
getVocab(): string[];
|
|
20
|
-
getMerges(): [string, string][];
|
|
21
|
-
private tokeniseWord;
|
|
22
|
-
private tokeniseStrings;
|
|
23
|
-
tokenise(text: string[], numeric: true): number[][];
|
|
24
|
-
tokenise(text: string[]): string[][];
|
|
25
|
-
detokenise(tokens: number[][]): string[];
|
|
26
|
-
encode(text: string): number[];
|
|
27
|
-
decode(tokens: number[]): string;
|
|
28
|
-
}
|
package/dist/tokeniser/bpe.js
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { yieldIfNeeded as p } from "../utilities/yielder.js";
|
|
2
|
-
import m from "../utilities/tokenParse.js";
|
|
3
|
-
import T, { SPECIALS as S } from "./BaseTokeniser.js";
|
|
4
|
-
function g(o, e) {
|
|
5
|
-
return `${o}-::-${e}`;
|
|
6
|
-
}
|
|
7
|
-
function y(o) {
|
|
8
|
-
const e = /* @__PURE__ */ new Map();
|
|
9
|
-
for (let s = 0; s < o.length; s++) {
|
|
10
|
-
const t = o[s];
|
|
11
|
-
for (let n = 0; n < t.length - 1; n++) {
|
|
12
|
-
const r = g(t[n], t[n + 1]), a = e.get(r) || {
|
|
13
|
-
a: t[n],
|
|
14
|
-
b: t[n + 1],
|
|
15
|
-
count: 0,
|
|
16
|
-
instances: /* @__PURE__ */ new Set()
|
|
17
|
-
};
|
|
18
|
-
a.count += 1, a.instances.add(s), e.set(r, a);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return { pairs: e, tokens: o };
|
|
22
|
-
}
|
|
23
|
-
function f(o, e, s, t, n) {
|
|
24
|
-
const r = g(e, s);
|
|
25
|
-
if (o.pairs.has(r)) {
|
|
26
|
-
const a = o.pairs.get(r);
|
|
27
|
-
a.count += n, n > 0 ? a.instances.add(t) : a.count <= 0 ? o.pairs.delete(r) : a.instances.delete(t);
|
|
28
|
-
} else
|
|
29
|
-
o.pairs.set(r, { a: e, b: s, count: n, instances: /* @__PURE__ */ new Set([t]) });
|
|
30
|
-
}
|
|
31
|
-
function I(o) {
|
|
32
|
-
let e = null, s = 0;
|
|
33
|
-
for (const t of o.pairs.values())
|
|
34
|
-
t.count > s && (s = t.count, e = t);
|
|
35
|
-
return e;
|
|
36
|
-
}
|
|
37
|
-
function x(o, e) {
|
|
38
|
-
return o.map((s) => {
|
|
39
|
-
const t = [];
|
|
40
|
-
for (let n = 0; n < s.length; n++)
|
|
41
|
-
n < s.length - 1 && s[n] === e[0] && s[n + 1] === e[1] ? (t.push(e[0] + e[1]), n++) : t.push(s[n]);
|
|
42
|
-
return t;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
function A(o, e) {
|
|
46
|
-
e.instances.forEach((s) => {
|
|
47
|
-
const t = o.tokens[s], n = [];
|
|
48
|
-
for (let r = 0; r < t.length; r++)
|
|
49
|
-
if (r < t.length - 1 && t[r] === e.a && t[r + 1] === e.b) {
|
|
50
|
-
const a = e.a + e.b;
|
|
51
|
-
n.push(a), r > 0 && (f(o, t[r - 1], e.a, s, -1), f(o, t[r - 1], a, s, 1)), r++, r < t.length - 1 && (f(o, e.b, t[r + 1], s, -1), f(o, a, t[r + 1], s, 1));
|
|
52
|
-
} else
|
|
53
|
-
n.push(t[r]);
|
|
54
|
-
o.tokens[s] = n;
|
|
55
|
-
}), o.pairs.delete(g(e.a, e.b));
|
|
56
|
-
}
|
|
57
|
-
class P extends T {
|
|
58
|
-
targetSize;
|
|
59
|
-
vocab = /* @__PURE__ */ new Set();
|
|
60
|
-
vocabIndex = /* @__PURE__ */ new Map();
|
|
61
|
-
merges = [];
|
|
62
|
-
pretokenMap = /* @__PURE__ */ new Map();
|
|
63
|
-
constructor(e, s) {
|
|
64
|
-
super(), Array.isArray(e) ? (e.forEach((t, n) => {
|
|
65
|
-
this.vocab.add(t), this.vocabIndex.set(t, n);
|
|
66
|
-
}), s && (this.merges = s), this.targetSize = e.length, S.forEach((t) => {
|
|
67
|
-
const n = e.indexOf(t);
|
|
68
|
-
n !== -1 && this.addSpecialToken(t, n);
|
|
69
|
-
})) : (this.addSpecialTokens(), this.targetSize = e);
|
|
70
|
-
}
|
|
71
|
-
addToken(e, s) {
|
|
72
|
-
if (this.vocab.has(e))
|
|
73
|
-
return this.vocabIndex.get(e);
|
|
74
|
-
{
|
|
75
|
-
this.vocab.add(e);
|
|
76
|
-
const t = s !== void 0 ? s : this.vocab.size - 1;
|
|
77
|
-
return this.vocabIndex.set(e, t), t;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
destroy() {
|
|
81
|
-
this.vocab.clear(), this.vocabIndex.clear(), this.merges = [], this.pretokenMap.clear();
|
|
82
|
-
}
|
|
83
|
-
get trained() {
|
|
84
|
-
return this.vocab.size > S.length && this.vocab.size <= this.targetSize;
|
|
85
|
-
}
|
|
86
|
-
get vocabSize() {
|
|
87
|
-
return this.vocab.size;
|
|
88
|
-
}
|
|
89
|
-
get eosToken() {
|
|
90
|
-
return this.vocabIndex.get("<eos>") ?? 0;
|
|
91
|
-
}
|
|
92
|
-
get bosToken() {
|
|
93
|
-
return this.vocabIndex.get("<bos>") ?? 0;
|
|
94
|
-
}
|
|
95
|
-
get unkToken() {
|
|
96
|
-
return this.vocabIndex.get("") ?? 1;
|
|
97
|
-
}
|
|
98
|
-
async train(e = [], s, t) {
|
|
99
|
-
this.datasetID = t;
|
|
100
|
-
let n = performance.now();
|
|
101
|
-
const r = new Array(e.length);
|
|
102
|
-
for (let i = 0; i < e.length; i++) {
|
|
103
|
-
const h = e[i], l = new Array(h.length);
|
|
104
|
-
for (let d = 0; d < h.length; d++)
|
|
105
|
-
l[d] = m(h[d].content);
|
|
106
|
-
n = await p(n, s, this.vocab.size), r[i] = l;
|
|
107
|
-
}
|
|
108
|
-
const a = r.flat(2), z = new Set(a);
|
|
109
|
-
this.vocab = /* @__PURE__ */ new Set(), this.pretokenMap.clear(), this.merges = [], this.addSpecialTokens();
|
|
110
|
-
const b = Array.from(z), v = b.map((i) => Array.from(i).map((l) => (this.vocab.add(l), l))), k = y(v);
|
|
111
|
-
if (n = await p(n, s, this.vocab.size), this.vocab.size >= this.targetSize) {
|
|
112
|
-
console.warn("Initial vocab size is greater than or equal to target size. No merges will be performed.");
|
|
113
|
-
const i = /* @__PURE__ */ new Map();
|
|
114
|
-
a.forEach((c) => {
|
|
115
|
-
Array.from(c).forEach((u) => {
|
|
116
|
-
i.set(u, (i.get(u) || 0) + 1);
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
const h = Array.from(i.entries()).sort((c, u) => u[1] - c[1]);
|
|
120
|
-
this.vocab = /* @__PURE__ */ new Set(), this.addSpecialTokens(), h.slice(0, this.targetSize - this.vocab.size).map(([c]) => c).forEach((c) => this.vocab.add(c)), this.vocabIndex.clear();
|
|
121
|
-
let d = 0;
|
|
122
|
-
for (const c of this.vocab.keys())
|
|
123
|
-
this.vocabIndex.set(c, d++);
|
|
124
|
-
return this.generateID(), this.emit("trainStatus", "trained"), this.vocab.size;
|
|
125
|
-
}
|
|
126
|
-
for (; this.vocab.size < this.targetSize && this.merges.length < this.targetSize; ) {
|
|
127
|
-
const i = I(k);
|
|
128
|
-
if (!i)
|
|
129
|
-
break;
|
|
130
|
-
this.merges.push([i.a, i.b]), this.vocab.add(i.a + i.b), A(k, i), n = await p(n, s, this.vocab.size);
|
|
131
|
-
}
|
|
132
|
-
b.forEach((i, h) => {
|
|
133
|
-
const l = v[h];
|
|
134
|
-
this.pretokenMap.set(i, l);
|
|
135
|
-
}), this.vocabIndex.clear();
|
|
136
|
-
let w = 0;
|
|
137
|
-
for (const i of this.vocab.keys())
|
|
138
|
-
this.vocabIndex.set(i, w++);
|
|
139
|
-
return this.generateID(), this.emit("trainStatus", "trained"), this.vocab.size;
|
|
140
|
-
}
|
|
141
|
-
getVocab() {
|
|
142
|
-
return Array.from(this.vocab);
|
|
143
|
-
}
|
|
144
|
-
getMerges() {
|
|
145
|
-
return this.merges;
|
|
146
|
-
}
|
|
147
|
-
tokeniseWord(e) {
|
|
148
|
-
let s = Array.from(e);
|
|
149
|
-
return this.merges.forEach((t) => {
|
|
150
|
-
s = x([s], t)[0];
|
|
151
|
-
}), this.pretokenMap.set(e, s), s;
|
|
152
|
-
}
|
|
153
|
-
tokeniseStrings(e) {
|
|
154
|
-
return e.map((s) => m(s).map((r) => this.pretokenMap.has(r) ? this.pretokenMap.get(r) : this.tokeniseWord(r)).flat(1));
|
|
155
|
-
}
|
|
156
|
-
tokenise(e, s) {
|
|
157
|
-
const t = this.tokeniseStrings(e);
|
|
158
|
-
return s ? t.map((n) => n.map((r) => this.vocabIndex.get(r) ?? this.unkToken)) : t.map((n) => n.map((r) => this.vocab.has(r) ? r : ""));
|
|
159
|
-
}
|
|
160
|
-
detokenise(e) {
|
|
161
|
-
const s = this.getVocab();
|
|
162
|
-
return e.map((n) => n.map((r) => s[r]).join(""));
|
|
163
|
-
}
|
|
164
|
-
encode(e) {
|
|
165
|
-
return this.tokenise([e], !0)[0];
|
|
166
|
-
}
|
|
167
|
-
decode(e) {
|
|
168
|
-
return this.detokenise([e])[0];
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
export {
|
|
172
|
-
P as default
|
|
173
|
-
};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
interface TrainMessage {
|
|
2
|
-
type: 'train';
|
|
3
|
-
id: number;
|
|
4
|
-
text: string[];
|
|
5
|
-
vocabSize: number;
|
|
6
|
-
}
|
|
7
|
-
interface TrainResponse {
|
|
8
|
-
type: 'trainResponse';
|
|
9
|
-
id: number;
|
|
10
|
-
vocabSize: number;
|
|
11
|
-
}
|
|
12
|
-
interface TrainStatusMessage {
|
|
13
|
-
type: 'trainStatus';
|
|
14
|
-
id: number;
|
|
15
|
-
progress: number;
|
|
16
|
-
vocabSize: number;
|
|
17
|
-
}
|
|
18
|
-
interface TokeniseMessage {
|
|
19
|
-
type: 'tokenise';
|
|
20
|
-
id: number;
|
|
21
|
-
numeric?: boolean;
|
|
22
|
-
text: string[];
|
|
23
|
-
}
|
|
24
|
-
interface TokeniseResponse {
|
|
25
|
-
type: 'tokeniseResponse';
|
|
26
|
-
id: number;
|
|
27
|
-
numeric: boolean;
|
|
28
|
-
tokens: string[][] | number[][];
|
|
29
|
-
}
|
|
30
|
-
interface DetokeniseMessage {
|
|
31
|
-
type: 'detokenise';
|
|
32
|
-
id: number;
|
|
33
|
-
tokens: number[][];
|
|
34
|
-
}
|
|
35
|
-
interface DetokeniseResponse {
|
|
36
|
-
type: 'detokeniseResponse';
|
|
37
|
-
id: number;
|
|
38
|
-
text: string[];
|
|
39
|
-
}
|
|
40
|
-
interface TokensMessage {
|
|
41
|
-
type: 'tokens';
|
|
42
|
-
id: number;
|
|
43
|
-
}
|
|
44
|
-
interface TokensResponse {
|
|
45
|
-
type: 'tokensResponse';
|
|
46
|
-
id: number;
|
|
47
|
-
tokens: string[];
|
|
48
|
-
}
|
|
49
|
-
interface BuildTrainingDataMessage {
|
|
50
|
-
type: 'buildTrainingData';
|
|
51
|
-
id: number;
|
|
52
|
-
text: string[];
|
|
53
|
-
windowSize: number;
|
|
54
|
-
}
|
|
55
|
-
interface BuildTrainingDataResponse {
|
|
56
|
-
type: 'buildTrainingDataResponse';
|
|
57
|
-
id: number;
|
|
58
|
-
trainingData: [number[], number[]];
|
|
59
|
-
}
|
|
60
|
-
export type TokeniserMessage = TrainMessage | TrainResponse | TrainStatusMessage | TokeniseMessage | DetokeniseMessage | TokeniseResponse | DetokeniseResponse | TokensMessage | TokensResponse | BuildTrainingDataMessage | BuildTrainingDataResponse;
|
|
61
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
package/dist/tokeniser/type.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { default as EE } from 'eventemitter3';
|
|
2
|
-
export type Roles = 'user' | 'assistant' | 'system' | 'text';
|
|
3
|
-
export interface Conversation {
|
|
4
|
-
role: Roles;
|
|
5
|
-
content: string;
|
|
6
|
-
}
|
|
7
|
-
export interface ITokeniser extends EE<'trainStatus'> {
|
|
8
|
-
id: string;
|
|
9
|
-
datasetID?: string;
|
|
10
|
-
train(text: Conversation[][], cb?: (vocab: number) => void, datasetID?: string): Promise<number>;
|
|
11
|
-
getVocab(): string[];
|
|
12
|
-
getMerges(): [string, string][];
|
|
13
|
-
destroy(): void;
|
|
14
|
-
encode(text: string): number[];
|
|
15
|
-
encodeConversation(conversation: Conversation[], completion?: boolean): number[];
|
|
16
|
-
encodeConversation(conversation: Conversation[], completion: boolean, masking: boolean): {
|
|
17
|
-
tokens: number[];
|
|
18
|
-
mask: boolean[];
|
|
19
|
-
};
|
|
20
|
-
encodeConversation(conversation: Conversation[], completion?: boolean, masking?: boolean): number[] | {
|
|
21
|
-
tokens: number[];
|
|
22
|
-
mask: boolean[];
|
|
23
|
-
};
|
|
24
|
-
encodeSequence(text: string): number[];
|
|
25
|
-
encodeAsSequence(conversation: Conversation[], completion?: boolean): number[];
|
|
26
|
-
decode(tokens: number[] | Uint16Array): string;
|
|
27
|
-
decodeConversation(tokens: number[] | Uint16Array): Conversation[];
|
|
28
|
-
vocabSize: number;
|
|
29
|
-
eosToken: number;
|
|
30
|
-
bosToken: number;
|
|
31
|
-
trained: boolean;
|
|
32
|
-
getSpecialTokenIndex(token: string): number | undefined;
|
|
33
|
-
isSpecialToken(index: number): boolean;
|
|
34
|
-
}
|
package/dist/tokeniser/type.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
package/dist/training/AdamW.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Optimizer, Tensor } from '@tensorflow/tfjs-core';
|
|
2
|
-
import { ConfigDict, Serializable, SerializableConstructor } from '@tensorflow/tfjs-core/dist/serialization';
|
|
3
|
-
import { NamedTensor, NamedVariableMap } from '@tensorflow/tfjs-core/dist/tensor_types';
|
|
4
|
-
import { default as LRScheduler } from './LRScheduler';
|
|
5
|
-
import { AdamWOptimizerConfig } from './types';
|
|
6
|
-
export declare class AdamWOptimizer extends Optimizer {
|
|
7
|
-
private config;
|
|
8
|
-
readonly className = "AdamW";
|
|
9
|
-
private accBeta1;
|
|
10
|
-
private accBeta2;
|
|
11
|
-
private accumulatedMoments;
|
|
12
|
-
protected learningRate: number;
|
|
13
|
-
protected beta1: number;
|
|
14
|
-
protected beta2: number;
|
|
15
|
-
protected lossScaling: number;
|
|
16
|
-
protected weightDecay: number;
|
|
17
|
-
protected epsilon: number | null;
|
|
18
|
-
protected lrScheduler: LRScheduler;
|
|
19
|
-
protected clipNorm?: number;
|
|
20
|
-
protected orthGradEpsilon: number;
|
|
21
|
-
protected orthGrad: boolean;
|
|
22
|
-
constructor(config: AdamWOptimizerConfig);
|
|
23
|
-
get lr(): number;
|
|
24
|
-
saveMoments(): Promise<ArrayBuffer>;
|
|
25
|
-
loadMoments(momentData: ArrayBuffer): Promise<void>;
|
|
26
|
-
serializeConfig(): AdamWOptimizerConfig;
|
|
27
|
-
private orthogonalizeGradient;
|
|
28
|
-
updateConfig(newConfig: Partial<AdamWOptimizerConfig>): void;
|
|
29
|
-
applyGradients(variableGradients: NamedVariableMap | NamedTensor[]): Tensor;
|
|
30
|
-
dispose(): void;
|
|
31
|
-
getWeights(): Promise<NamedTensor[]>;
|
|
32
|
-
setWeights(weightValues: NamedTensor[]): Promise<void>;
|
|
33
|
-
getConfig(): ConfigDict;
|
|
34
|
-
/** @nocollapse */
|
|
35
|
-
static fromConfig<T extends Serializable>(cls: SerializableConstructor<T>, config: ConfigDict): T;
|
|
36
|
-
}
|