maximuspowers commited on
Commit
6503086
·
verified ·
1 Parent(s): fa1abe9

Official ONNX conversion using Hugging Face Optimum

Browse files
README.md ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: maximuspowers/smollm-convo-filler
4
+ tags:
5
+ - onnx
6
+ - transformers.js
7
+ - text-generation
8
+ - conversation
9
+ - smollm
10
+ - official-conversion
11
+ library_name: transformers.js
12
+ pipeline_tag: text-generation
13
+ ---
14
+
15
+ # smollm-convo-filler-onnx-official
16
+
17
+ This is an **official ONNX conversion** of [maximuspowers/smollm-convo-filler](https://huggingface.co/maximuspowers/smollm-convo-filler) using the standard Hugging Face Optimum library for [Transformers.js](https://huggingface.co/docs/transformers.js) compatibility.
18
+
19
+ ## 🔧 Official Conversion Method
20
+
21
+ This model was converted using the official Hugging Face method:
22
+
23
+ ```python
24
+ from optimum.onnxruntime import ORTModelForCausalLM
25
+
26
+ ort_model = ORTModelForCausalLM.from_pretrained(
27
+ "maximuspowers/smollm-convo-filler",
28
+ export=True,
29
+ provider="CPUExecutionProvider",
30
+ use_io_binding=False,
31
+ )
32
+ ```
33
+
34
+ ## 🚀 Usage with Transformers.js
35
+
36
+ ```javascript
37
+ import { pipeline } from '@huggingface/transformers';
38
+
39
+ const chatPipeline = await pipeline(
40
+ 'text-generation',
41
+ 'maximuspowers/smollm-convo-filler-onnx-official',
42
+ {
43
+ dtype: 'fp32',
44
+ progress_callback: (data) => console.log('Loading:', data)
45
+ }
46
+ );
47
+
48
+ const result = await chatPipeline('Q: Hello, how are you?\nA:', {
49
+ max_new_tokens: 50,
50
+ temperature: 0.7,
51
+ do_sample: true,
52
+ repetition_penalty: 1.1,
53
+ pad_token_id: tokenizer.eos_token_id
54
+ });
55
+
56
+ console.log(result[0].generated_text);
57
+ ```
58
+
59
+ ## 🔗 Usage with Vercel AI SDK
60
+
61
+ ```javascript
62
+ import { transformers } from '@ai-sdk/transformers';
63
+
64
+ const model = transformers('maximuspowers/smollm-convo-filler-onnx-official', {
65
+ dtype: 'fp32'
66
+ });
67
+
68
+ const { text } = await generateText({
69
+ model,
70
+ prompt: 'Hello, how are you?',
71
+ maxTokens: 50,
72
+ });
73
+ ```
74
+
75
+ ## 🏗️ Model Details
76
+
77
+ - **Base Model**: maximuspowers/smollm-convo-filler
78
+ - **Conversion Method**: Official Hugging Face Optimum
79
+ - **Format**: ONNX (CPUExecutionProvider)
80
+ - **Precision**: Float32
81
+ - **Use Case**: Conversational AI
82
+
83
+ ## 📁 File Structure
84
+
85
+ ```
86
+ .
87
+ ├── README.md
88
+ ├── config.json # Model configuration
89
+ ├── tokenizer.json # Fast tokenizer
90
+ ├── tokenizer_config.json # Tokenizer settings
91
+ ├── generation_config.json # Generation parameters
92
+ ├── special_tokens_map.json # Special tokens
93
+ └── onnx/
94
+ ├── model.onnx # ONNX model file
95
+ └── config.json # ONNX configuration
96
+ ```
97
+
98
+ ## 📜 License
99
+
100
+ Same as base model: Apache 2.0
101
+
102
+ ---
103
+
104
+ *Official ONNX conversion using Hugging Face Optimum*
chat_template.jinja ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {% for message in messages %}{{'<|im_start|>' + message['role'] + '
2
+ ' + message['content'] + '<|im_end|>' + '
3
+ '}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant
4
+ ' }}{% endif %}
config.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "vocab_size": 49152,
3
+ "max_position_embeddings": 2048,
4
+ "hidden_size": 960,
5
+ "intermediate_size": 2560,
6
+ "num_hidden_layers": 32,
7
+ "num_attention_heads": 15,
8
+ "num_key_value_heads": 5,
9
+ "hidden_act": "silu",
10
+ "initializer_range": 0.02,
11
+ "rms_norm_eps": 1e-05,
12
+ "pretraining_tp": 1,
13
+ "use_cache": false,
14
+ "rope_theta": 10000.0,
15
+ "rope_scaling": null,
16
+ "attention_bias": false,
17
+ "attention_dropout": 0.0,
18
+ "mlp_bias": false,
19
+ "head_dim": 64,
20
+ "return_dict": true,
21
+ "output_hidden_states": false,
22
+ "output_attentions": false,
23
+ "torchscript": false,
24
+ "torch_dtype": "float32",
25
+ "use_bfloat16": false,
26
+ "tf_legacy_loss": false,
27
+ "pruned_heads": {},
28
+ "tie_word_embeddings": true,
29
+ "chunk_size_feed_forward": 0,
30
+ "is_encoder_decoder": false,
31
+ "is_decoder": false,
32
+ "cross_attention_hidden_size": null,
33
+ "add_cross_attention": false,
34
+ "tie_encoder_decoder": false,
35
+ "max_length": 20,
36
+ "min_length": 0,
37
+ "do_sample": false,
38
+ "early_stopping": false,
39
+ "num_beams": 1,
40
+ "num_beam_groups": 1,
41
+ "diversity_penalty": 0.0,
42
+ "temperature": 1.0,
43
+ "top_k": 50,
44
+ "top_p": 1.0,
45
+ "typical_p": 1.0,
46
+ "repetition_penalty": 1.0,
47
+ "length_penalty": 1.0,
48
+ "no_repeat_ngram_size": 0,
49
+ "encoder_no_repeat_ngram_size": 0,
50
+ "bad_words_ids": null,
51
+ "num_return_sequences": 1,
52
+ "output_scores": false,
53
+ "return_dict_in_generate": false,
54
+ "forced_bos_token_id": null,
55
+ "forced_eos_token_id": null,
56
+ "remove_invalid_values": false,
57
+ "exponential_decay_length_penalty": null,
58
+ "suppress_tokens": null,
59
+ "begin_suppress_tokens": null,
60
+ "architectures": [
61
+ "LlamaForCausalLM"
62
+ ],
63
+ "finetuning_task": null,
64
+ "id2label": {
65
+ "0": "LABEL_0",
66
+ "1": "LABEL_1"
67
+ },
68
+ "label2id": {
69
+ "LABEL_0": 0,
70
+ "LABEL_1": 1
71
+ },
72
+ "tokenizer_class": null,
73
+ "prefix": null,
74
+ "bos_token_id": 1,
75
+ "pad_token_id": 2,
76
+ "eos_token_id": 2,
77
+ "sep_token_id": null,
78
+ "decoder_start_token_id": null,
79
+ "task_specific_params": null,
80
+ "problem_type": null,
81
+ "_name_or_path": "maximuspowers/smollm-convo-filler",
82
+ "transformers_version": "4.52.3",
83
+ "model_type": "llama"
84
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
onnx/config.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlamaForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 1,
8
+ "eos_token_id": 2,
9
+ "head_dim": 64,
10
+ "hidden_act": "silu",
11
+ "hidden_size": 960,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 2560,
14
+ "is_decoder": true,
15
+ "max_position_embeddings": 2048,
16
+ "mlp_bias": false,
17
+ "model_type": "llama",
18
+ "num_attention_heads": 15,
19
+ "num_hidden_layers": 32,
20
+ "num_key_value_heads": 5,
21
+ "pad_token_id": 2,
22
+ "pretraining_tp": 1,
23
+ "rms_norm_eps": 1e-05,
24
+ "rope_scaling": null,
25
+ "rope_theta": 10000.0,
26
+ "tie_word_embeddings": true,
27
+ "torch_dtype": "float32",
28
+ "transformers_version": "4.52.3",
29
+ "use_cache": true,
30
+ "vocab_size": 49152
31
+ }
onnx/generation_config.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "max_new_tokens": 40,
6
+ "pad_token_id": 2,
7
+ "transformers_version": "4.52.3"
8
+ }
onnx/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7b4d71538af104360fccef98055475df38962d298775c2ecdd31a396c234da36
3
+ size 1448557203
special_tokens_map.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_start|>",
4
+ "<|im_end|>"
5
+ ],
6
+ "bos_token": {
7
+ "content": "<|im_start|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false
12
+ },
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|im_end|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ },
27
+ "unk_token": {
28
+ "content": "<|endoftext|>",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false
33
+ }
34
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "0": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "1": {
13
+ "content": "<|im_start|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "2": {
21
+ "content": "<|im_end|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ },
28
+ "3": {
29
+ "content": "<repo_name>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": true
35
+ },
36
+ "4": {
37
+ "content": "<reponame>",
38
+ "lstrip": false,
39
+ "normalized": false,
40
+ "rstrip": false,
41
+ "single_word": false,
42
+ "special": true
43
+ },
44
+ "5": {
45
+ "content": "<file_sep>",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": false,
49
+ "single_word": false,
50
+ "special": true
51
+ },
52
+ "6": {
53
+ "content": "<filename>",
54
+ "lstrip": false,
55
+ "normalized": false,
56
+ "rstrip": false,
57
+ "single_word": false,
58
+ "special": true
59
+ },
60
+ "7": {
61
+ "content": "<gh_stars>",
62
+ "lstrip": false,
63
+ "normalized": false,
64
+ "rstrip": false,
65
+ "single_word": false,
66
+ "special": true
67
+ },
68
+ "8": {
69
+ "content": "<issue_start>",
70
+ "lstrip": false,
71
+ "normalized": false,
72
+ "rstrip": false,
73
+ "single_word": false,
74
+ "special": true
75
+ },
76
+ "9": {
77
+ "content": "<issue_comment>",
78
+ "lstrip": false,
79
+ "normalized": false,
80
+ "rstrip": false,
81
+ "single_word": false,
82
+ "special": true
83
+ },
84
+ "10": {
85
+ "content": "<issue_closed>",
86
+ "lstrip": false,
87
+ "normalized": false,
88
+ "rstrip": false,
89
+ "single_word": false,
90
+ "special": true
91
+ },
92
+ "11": {
93
+ "content": "<jupyter_start>",
94
+ "lstrip": false,
95
+ "normalized": false,
96
+ "rstrip": false,
97
+ "single_word": false,
98
+ "special": true
99
+ },
100
+ "12": {
101
+ "content": "<jupyter_text>",
102
+ "lstrip": false,
103
+ "normalized": false,
104
+ "rstrip": false,
105
+ "single_word": false,
106
+ "special": true
107
+ },
108
+ "13": {
109
+ "content": "<jupyter_code>",
110
+ "lstrip": false,
111
+ "normalized": false,
112
+ "rstrip": false,
113
+ "single_word": false,
114
+ "special": true
115
+ },
116
+ "14": {
117
+ "content": "<jupyter_output>",
118
+ "lstrip": false,
119
+ "normalized": false,
120
+ "rstrip": false,
121
+ "single_word": false,
122
+ "special": true
123
+ },
124
+ "15": {
125
+ "content": "<jupyter_script>",
126
+ "lstrip": false,
127
+ "normalized": false,
128
+ "rstrip": false,
129
+ "single_word": false,
130
+ "special": true
131
+ },
132
+ "16": {
133
+ "content": "<empty_output>",
134
+ "lstrip": false,
135
+ "normalized": false,
136
+ "rstrip": false,
137
+ "single_word": false,
138
+ "special": true
139
+ }
140
+ },
141
+ "additional_special_tokens": [
142
+ "<|im_start|>",
143
+ "<|im_end|>"
144
+ ],
145
+ "bos_token": "<|im_start|>",
146
+ "clean_up_tokenization_spaces": false,
147
+ "eos_token": "<|im_end|>",
148
+ "extra_special_tokens": {},
149
+ "model_max_length": 2048,
150
+ "pad_token": "<|im_end|>",
151
+ "tokenizer_class": "GPT2Tokenizer",
152
+ "unk_token": "<|endoftext|>",
153
+ "vocab_size": 49152
154
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff