midudev commited on
Commit
cfdf562
·
verified ·
1 Parent(s): 5a9652b

text2emoji-tiny: 2.4M T5, q8 ONNX (Transformers.js layout)

Browse files
README.md ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: transformers.js
4
+ pipeline_tag: text2text-generation
5
+ language:
6
+ - en
7
+ tags:
8
+ - emoji
9
+ - t5
10
+ - onnx
11
+ datasets:
12
+ - KomeijiForce/Text2Emoji
13
+ ---
14
+
15
+ # text2emoji-tiny
16
+
17
+ A 2.4M-parameter T5 trained from scratch by [runonweb](https://runonweb.ai/models/emoji) to turn an English
18
+ sentence into a short emoji sequence. 3.9 MB as q8 ONNX (encoder 1.7 MB + merged decoder 2.1 MB), in the
19
+ Transformers.js layout.
20
+
21
+ | Config | Params | val loss | emoji-set F1 |
22
+ |--------|--------|----------|--------------|
23
+ | 3+3 layers, d_model 128, d_ff 512, 4 heads, BPE vocab 8192 | 2.43M | 3.72 | 0.38 |
24
+
25
+ Data: [KomeijiForce/Text2Emoji](https://huggingface.co/datasets/KomeijiForce/Text2Emoji), ~493k
26
+ ChatGPT-generated sentence → emoji pairs after cleaning. The dataset card lists no license; the weights are
27
+ MIT. Recipe: `training/text2emoji` in the runonweb repo.
28
+
29
+ ## Use
30
+
31
+ ```ts
32
+ import { Emojifier } from 'runonweb/emoji'
33
+
34
+ const emojifier = new Emojifier()
35
+ await emojifier.load()
36
+ const { text } = await emojifier.emojify('I love pizza and my dog') // "🍕❤️🐶"
37
+ ```
38
+
39
+ Or with Transformers.js directly: `pipeline('text2text-generation', 'midudev/text2emoji-tiny', { dtype: 'q8' })`,
40
+ decoding with `no_repeat_ngram_size: 1`; emojis come back space-separated.
config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "T5ForConditionalGeneration"
4
+ ],
5
+ "classifier_dropout": 0.0,
6
+ "d_ff": 512,
7
+ "d_kv": 32,
8
+ "d_model": 128,
9
+ "decoder_start_token_id": 0,
10
+ "dense_act_fn": "relu",
11
+ "dropout_rate": 0.1,
12
+ "dtype": "float32",
13
+ "eos_token_id": 1,
14
+ "feed_forward_proj": "relu",
15
+ "initializer_factor": 1.0,
16
+ "is_decoder": false,
17
+ "is_encoder_decoder": true,
18
+ "is_gated_act": false,
19
+ "layer_norm_epsilon": 1e-06,
20
+ "model_type": "t5",
21
+ "num_decoder_layers": 3,
22
+ "num_heads": 4,
23
+ "num_layers": 3,
24
+ "pad_token_id": 0,
25
+ "relative_attention_max_distance": 128,
26
+ "relative_attention_num_buckets": 32,
27
+ "scale_decoder_outputs": true,
28
+ "tie_word_embeddings": true,
29
+ "transformers_version": "5.17.0",
30
+ "use_cache": true,
31
+ "vocab_size": 8192
32
+ }
generation_config.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "decoder_start_token_id": 0,
3
+ "eos_token_id": 1,
4
+ "pad_token_id": 0,
5
+ "max_new_tokens": 20,
6
+ "num_beams": 1,
7
+ "no_repeat_ngram_size": 1
8
+ }
onnx/decoder_model_merged_quantized.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:da45ee0e72df7e4d15a2a8ade7f394884708ca764f4c7eb86daefc42670d4429
3
+ size 2128556
onnx/encoder_model_quantized.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f2866c5d73b9878dff3d3a13b617821b7170c27c4b9454a46aafd25caabe9249
3
+ size 1734642
special_tokens_map.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "pad_token": "<pad>",
3
+ "eos_token": "</s>",
4
+ "unk_token": "<unk>"
5
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "clean_up_tokenization_spaces": false,
4
+ "eos_token": "</s>",
5
+ "is_local": true,
6
+ "local_files_only": false,
7
+ "model_max_length": 128,
8
+ "pad_token": "<pad>",
9
+ "tokenizer_class": "T5Tokenizer",
10
+ "unk_token": "<unk>"
11
+ }