hmahadik commited on
Commit
10db8f7
·
verified ·
1 Parent(s): 318017f

Initial upload: v15 (production) + v4/v8/v12 milestones + README

Browse files
.gitattributes CHANGED
@@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ smartpanel-v12-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
37
+ smartpanel-v15-f16.gguf filter=lfs diff=lfs merge=lfs -text
38
+ smartpanel-v15-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
39
+ smartpanel-v4-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
40
+ smartpanel-v8-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: gemma
3
+ library_name: gguf
4
+ base_model: unsloth/functiongemma-270m-it
5
+ tags:
6
+ - function-calling
7
+ - tool-use
8
+ - on-device
9
+ - embedded
10
+ - gguf
11
+ - llama-cpp
12
+ - smartpanel
13
+ - synaptics
14
+ - functiongemma
15
+ language:
16
+ - en
17
+ pipeline_tag: text-generation
18
+ ---
19
+
20
+ # SmartPanel FunctionGemma 270M
21
+
22
+ Fine-tuned [FunctionGemma 270M](https://huggingface.co/google/functiongemma-270m) for on-device function-calling inside Brinq's **SmartPanel** manufacturing-assistant demo. Shipped on the Synaptics Astra SL2619 SoC (2×Cortex-A55 @ 2 GHz, 1 TOPS Torq/Coral NPU, 2 GB DDR4) at Embedded World 2026.
23
+
24
+ ## What this model does
25
+
26
+ Given a user utterance and a list of tool declarations, the model emits one or more `<start_function_call>call:NAME{...}<end_function_call>` blocks or a plain natural-language reply. It was trained specifically to hit **sub-500 ms decode latency on the SL2619** without giving up tool-selection accuracy on the SmartPanel domain.
27
+
28
+ > **Scope.** The fine-tune is specific to the SmartPanel tool schema (maintenance procedures, alarm acknowledgement, photo capture, knowledge lookup). It's published here as **prior art / starting checkpoint** for the related Coral Dev Board physical-AI demo at Google IO 2026, not as a general-purpose function-calling model.
29
+
30
+ ## Files
31
+
32
+ | File | Format | Size | Recommended use |
33
+ |------|--------|------|-----------------|
34
+ | `smartpanel-v15-q4_k_m.gguf` | GGUF Q4_K_M | 253 MB | **Production.** Runs via llama.cpp on 2 GB / 2-core ARM targets. |
35
+ | `smartpanel-v15-f16.gguf` | GGUF F16 | 543 MB | Canonical checkpoint for re-quantization or further fine-tuning. |
36
+ | `smartpanel-v12-q4_k_m.gguf` | GGUF Q4_K_M | 253 MB | Mid-production milestone. |
37
+ | `smartpanel-v8-q4_k_m.gguf` | GGUF Q4_K_M | 253 MB | Device deployment milestone (what our SL2619 test boards have shipped with since Feb). |
38
+ | `smartpanel-v4-q4_k_m.gguf` | GGUF Q4_K_M | 253 MB | First version with correct `call:` output format. Benchmark reference. |
39
+
40
+ **Recommended starting point: `smartpanel-v15-q4_k_m.gguf`.**
41
+
42
+ ## Version lineage
43
+
44
+ | Version | Date | Format | Notes |
45
+ |---------|------|--------|-------|
46
+ | v4 | 2026-01-18 | `call:` | First correct output format. **84.2%** domain accuracy, 142 ms avg latency on local llama-cpp. |
47
+ | v8 | 2026-02-24 | `call:` | Deployed to Ollama on SL2619 test boards. |
48
+ | v8-moveworks | 2026-02-26 | `call:` | Variant trained with additional Moveworks-flavored examples. Not included here. |
49
+ | v8-fixed | 2026-02-27 | `call:` | Tokenizer hotfix. |
50
+ | v9–v13 | Feb 27 – Mar 1 | `call:` | Data curation + prompt-template iterations. |
51
+ | v15 | 2026-03-03 | `call:` | Current production. |
52
+
53
+ (v14 was trained but rolled forward into v15 before quantization — no separate artifact exists.)
54
+
55
+ ## Prompt format
56
+
57
+ FunctionGemma's native format. The tokenizer ships the `<start_function_call>`, `<end_function_call>`, `<start_function_declaration>`, `<end_function_declaration>`, `<start_function_response>`, `<end_function_response>`, and `<start_of_turn>` / `<end_of_turn>` special tokens.
58
+
59
+ ```
60
+ <start_of_turn>user
61
+ You are a model that can do function calling with the following functions
62
+
63
+ <start_function_declaration>
64
+ declaration:set_led_color{description:<escape>Set RGB LED color<escape>,parameters:{...}}
65
+ <end_function_declaration>
66
+ <start_function_declaration>
67
+ declaration:play_buzzer{description:<escape>Sound the buzzer<escape>,parameters:{...}}
68
+ <end_function_declaration>
69
+
70
+ Turn the lights red and beep
71
+ <end_of_turn>
72
+ <start_of_turn>model
73
+ <start_function_call>call:set_led_color{color:<escape>red<escape>}<end_function_call><start_function_call>call:play_buzzer{pattern:<escape>beep<escape>}<end_function_call>
74
+ <end_of_turn>
75
+ ```
76
+
77
+ Stop tokens: `<end_of_turn>`, `<end_function_call>`, `<eos>`.
78
+ Recommended generation params: `temperature=0.1`, `top_p=0.9`, `num_ctx=2048`.
79
+
80
+ ## Usage
81
+
82
+ ### llama-cpp-python
83
+
84
+ ```python
85
+ from llama_cpp import Llama
86
+
87
+ llm = Llama(
88
+ model_path="smartpanel-v15-q4_k_m.gguf",
89
+ n_ctx=1024,
90
+ n_threads=2,
91
+ verbose=False,
92
+ )
93
+
94
+ prompt = """<start_of_turn>user
95
+ You are a model that can do function calling with the following functions
96
+ <start_function_declaration>
97
+ declaration:acknowledge_alarm{description:<escape>Dismiss the current alarm<escape>,parameters:{properties:{},required:[],type:<escape>OBJECT<escape>}}
98
+ <end_function_declaration>
99
+
100
+ Ack the alarm
101
+ <end_of_turn>
102
+ <start_of_turn>model
103
+ """
104
+
105
+ out = llm(prompt, max_tokens=128, temperature=0.1, stop=["<end_of_turn>"])
106
+ print(out["choices"][0]["text"])
107
+ ```
108
+
109
+ ### Ollama
110
+
111
+ ```bash
112
+ # Download the gguf, then:
113
+ cat > Modelfile <<'EOF'
114
+ FROM ./smartpanel-v15-q4_k_m.gguf
115
+ PARAMETER temperature 0.1
116
+ PARAMETER num_ctx 2048
117
+ PARAMETER stop "<end_of_turn>"
118
+ PARAMETER stop "<end_function_call>"
119
+ PARAMETER stop "<eos>"
120
+ EOF
121
+
122
+ ollama create smartpanel -f Modelfile
123
+ ollama run smartpanel "Ack the alarm"
124
+ ```
125
+
126
+ ## Benchmark (v3 / pre-v15, Jan 2026)
127
+
128
+ On SmartPanel domain (llama-cpp-python, Q4_K_M, local dev machine):
129
+
130
+ | Model | Domain | Accuracy | Avg Latency | Output Format |
131
+ |-------|--------|----------|-------------|---------------|
132
+ | Mobile Actions base | mobile | 100 % | 178 ms | `call:` |
133
+ | SmartPanel v1 | smartpanel | 66.7 % | 355 ms | ❌ `declaration:` |
134
+ | SmartPanel v2 | smartpanel | 36.8 % | 135 ms | ❌ partial output |
135
+ | **SmartPanel v3** (precursor to v4) | smartpanel | **84.2 %** | **142 ms** | ✅ `call:` |
136
+ | Mobile Actions (cross-domain) | smartpanel | 66.7 % | 159 ms | `call:` |
137
+
138
+ v15 numbers forthcoming — benchmarks live in the Brinq internal repo.
139
+
140
+ ## Training
141
+
142
+ - Base: `unsloth/functiongemma-270m-it` (BF16)
143
+ - Method: LoRA fine-tune via Unsloth + TRL (SFTTrainer)
144
+ - Hardware: A100 80GB (Docker, `unsloth` image)
145
+ - Quantization: llama.cpp `convert_hf_to_gguf.py --outtype f16` then `llama-quantize ... 15` (Q4_K_M)
146
+
147
+ Training scripts, curated datasets, and eval harnesses live in Brinq's internal repo (not public). For the related Coral demo's dataset generators and fine-tune recipe (which are shipping public), see [BrinqAI/coral-functiongemma-demo](https://github.com/BrinqAI/coral-functiongemma-demo) (currently private, planned public around Google IO 2026).
148
+
149
+ ## License
150
+
151
+ Gemma Terms of Use. By using this model you agree to the terms at https://ai.google.dev/gemma/terms.
152
+
153
+ ## Citation
154
+
155
+ ```
156
+ @misc{brinqai_smartpanel_functiongemma_2026,
157
+ author = {Brinq AI},
158
+ title = {SmartPanel FunctionGemma 270M},
159
+ year = 2026,
160
+ publisher = {Hugging Face},
161
+ howpublished = {\url{https://huggingface.co/BrinqAI/smartpanel-functiongemma-270m}},
162
+ }
163
+ ```
164
+
165
+ ## Acknowledgements
166
+
167
+ - Google DeepMind for [FunctionGemma 270M](https://ai.google.dev/gemma/docs/functiongemma)
168
+ - [Unsloth](https://github.com/unslothai/unsloth) for the fast fine-tune path
169
+ - Synaptics Astra team for the SL2619 / Astra SDK
smartpanel-v12-q4_k_m.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2dccac88c43a8e24fc3f874ca2c9c77341995ca35ac6f2bdd0e9b2c4b20858aa
3
+ size 253137920
smartpanel-v15-f16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c332b2d904a1c14a8cd3963acdb495f12be6a9a107b1a1fcdc05b7b98d7d88b6
3
+ size 542867232
smartpanel-v15-q4_k_m.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b0d2c0e6abddb6865ef00b3f4937ee4dadf2ccb3ab0d468f6a857be3b7316716
3
+ size 253137920
smartpanel-v4-q4_k_m.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:233097742bdc1ea275c71e278cf66fa7803c280cefb3956c7657ccebed0011df
3
+ size 253127328
smartpanel-v8-q4_k_m.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34c4f243222850e450ff7b855eaa82d7bdd6dd0c19ee27b282dc55775db66ff8
3
+ size 253133728