初始化项目,由ModelHub XC社区提供模型
Model: Pinkstack/fijik-2.0-350m-sft-GGUF Source: Original Platform
This commit is contained in:
51
.gitattributes
vendored
Normal file
51
.gitattributes
vendored
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
fijik-2.0-350m-sft-bf16.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
fijik-2.0-350m-sft-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
fijik-2.0-350m-sft-q5_k_m.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
fijik-2.0-350m-sft-q6_k.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
fijik-2.0-350m-sft-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
checkpoint-76000copy-bf16.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
checkpoint-76000copy-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
checkpoint-76000copy-q5_k_m.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
checkpoint-76000copy-q6_k.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
checkpoint-76000copy-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
Fijik-2.0-350M-SFT.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
Fijik-2.0-350M-SFT-bf16.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
Fijik-2.0-350M-SFT-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
Fijik-2.0-350M-SFT-q5_k_m.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
Fijik-2.0-350M-SFT-q6_k.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
Fijik-2.0-350M-SFT-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
||||||
3
Fijik-2.0-350M-SFT-bf16.gguf
Normal file
3
Fijik-2.0-350M-SFT-bf16.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d94cee6b0b84d85814ee5864a4d3d445536fd34e8fb0bc8dd5b8039ea5c06172
|
||||||
|
size 708434816
|
||||||
3
Fijik-2.0-350M-SFT-q4_k_m.gguf
Normal file
3
Fijik-2.0-350M-SFT-q4_k_m.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:eb2524a2cf35943adc46445c7e381d00618f13e596f8cb7067f2f77dd2e5c9aa
|
||||||
|
size 236981120
|
||||||
3
Fijik-2.0-350M-SFT-q5_k_m.gguf
Normal file
3
Fijik-2.0-350M-SFT-q5_k_m.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ef93c90f72a3fae087e02bd8b08a28eee86342a7d320fafde322c93d036188ab
|
||||||
|
size 264047488
|
||||||
3
Fijik-2.0-350M-SFT-q6_k.gguf
Normal file
3
Fijik-2.0-350M-SFT-q6_k.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:87dfd0bec17a6df46da401a56fd72caa3a4dac36bc43f65acc9e59b452fd38f0
|
||||||
|
size 292805504
|
||||||
3
Fijik-2.0-350M-SFT-q8_0.gguf
Normal file
3
Fijik-2.0-350M-SFT-q8_0.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4791e2a3afae9f8301f3f486ee9018f69174765c1161258cb851d3ab280050b5
|
||||||
|
size 378133376
|
||||||
77
README.md
Normal file
77
README.md
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
---
|
||||||
|
license: apache-2.0
|
||||||
|
language:
|
||||||
|
- en
|
||||||
|
pipeline_tag: text-generation
|
||||||
|
tags:
|
||||||
|
- agent
|
||||||
|
- reasoning
|
||||||
|
- edge
|
||||||
|
base_model:
|
||||||
|
- Pinkstack/fijik-2.0-350m-sft
|
||||||
|
---
|
||||||
|
|
||||||
|
This is the GGUF variant. Avoid using below bf16 for best performance. Q8_0 and below are fine for edge devices and or when very memory limited. If your memory is not very limited, stick to bf16.
|
||||||
|
|
||||||
|
# Fijik 2.0 350M SFT
|
||||||
|

|
||||||
|
|
||||||
|
Fijik 2.0 350M SFT is the first, agentic, edge-LLM we have ever released. it is designed specifically for edge devices and quick inference it was trained efficiently on just one GPU. In addition the model can work with up to 65K context (thanks to YARN scaling) and is based off of granite-4.0-350M-base. (non H, aka no mamba layers).
|
||||||
|
|
||||||
|
Fijik 2.0 supports the following reasoning efforts, configurable via the chat template:
|
||||||
|
```disabled``` <--- Configures the model to not think at all, it will not generate reasoning tags, best for chat, title generation.<div></div>
|
||||||
|
```low``` <--- Configures the model to think a little before responding, good for web search, tool calls etc.<div></div>
|
||||||
|
```medium``` <--- Configures the model to think well before responding, good for code etc.<div></div>
|
||||||
|
```high``` <--- Configures the model to think hard before responding, may loop, could improve math, code performance, not needed for most users.<div></div>
|
||||||
|
|
||||||
|
We recommend the following sampling parameters:
|
||||||
|
- tempature: ```0.7```
|
||||||
|
- Top K: ```40```
|
||||||
|
- Repeat Penalty: ```1.05```
|
||||||
|
- Presence Penalty: ```0.25```
|
||||||
|
- Top P Sampling: ```0.95```
|
||||||
|
- Min P sampling: ```0``` or disabled
|
||||||
|
|
||||||
|
|
||||||
|
## Benchmarks
|
||||||
|
- NOTE: all are pass@4, aka "could the model get it right at least once"
|
||||||
|
- NOTE2: all benchmarks were run internally and using the exact same sampling parameters
|
||||||
|
|Benchmark|Fijik2.0-350M-d|LFM2.5-350M|granite4.0-h-350M|SmolLM2-360M|
|
||||||
|
|:---|:---:|:---:|:---:|:---:|
|
||||||
|
|MATH500|9.20|*21.80*|**29.60**|1.40**|
|
||||||
|
|GPQA-DIAMOND|__**65.15**__|33.33|*53.03*|errors**|
|
||||||
|
|MMLU REDUX*|**65.60**|47.20|*61.07*|nill|
|
||||||
|
|HUMANEVAL|*22.56*|17.68|**38.41**|9.76|
|
||||||
|
|
||||||
|
<small>For fijik2.0: d efforts: d = disabled to make benchmark(s) fair as other than fijik all the others are non-reasoning models</small><div></div>
|
||||||
|
<small>*mmlu_redux only 10 subjects, 750 items.</small><div></div>
|
||||||
|
<small>**SmolLM2 often fell into loops, not enough context, etc. MMLU not included, math500 had 7% errors and thus is not trustworthy. GPQA had so many errors that it has been removed for smollm2.</small><div></div>
|
||||||
|
|
||||||
|
In this benchmark table we can see Fijik2.0 performing competitively with similarly sized models, though fijik2.0 is weak on math, probably due to no RL.
|
||||||
|
|
||||||
|
# Training metholodgy
|
||||||
|
|
||||||
|
```
|
||||||
|
Granite 4.0 350M base
|
||||||
|
\ /
|
||||||
|
Continual pre-training1 (~2B tokens, august 2025 knowledge cutoff, low context)
|
||||||
|
\ /
|
||||||
|
Continual pre-training2 (~1B tokens, aug 2025 knowledge cutoff, higher context)
|
||||||
|
\ /
|
||||||
|
Supervised fine-tuning (~2B tokens, data from feb 2026, mixed chat, agentic, web search, code, tool use, reasoning)
|
||||||
|
\ /
|
||||||
|
Final uploaded model (best checkpoint chosen)
|
||||||
|
```
|
||||||
|
|
||||||
|
For CPT a 2bit ademamix-style optimizer was used. For SFT a 4bit ademamix-style optimizer was used. Both optimizers worked well. Fijik 2.0 got 1.1 loss at its selected sft checkpoint. (1.3 EPOCH)
|
||||||
|
|
||||||
|
# Safety
|
||||||
|
Fijik-2.0 has not undergone RLHF. Although it still is safety trained thanks to SFT. In addition fijik has been trained to state when it does not know something. Though ideally in the system prompt tell it specifically that if it has no information about something, then it should state so.
|
||||||
|
|
||||||
|
# Compute
|
||||||
|
1x rtx 2000 ada PCIE (16gb, overclocked, 70 watt limit)
|
||||||
|
|
||||||
|
|
||||||
|
# Thanks
|
||||||
|
|
||||||
|
Thank you for your support 💕
|
||||||
60
chat_template.jinja
Normal file
60
chat_template.jinja
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
{{- "<thinking_configuration>\nReasoning effort: " + reasoning_effort | default("low") + "\n</thinking_configuration>\n" -}}
|
||||||
|
{%- if tools -%}
|
||||||
|
{{- "<|im_start|>system\n" -}}
|
||||||
|
{%- if messages[0].role == "system" -%}
|
||||||
|
{{- messages[0].content + "\n\n" -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" -}}
|
||||||
|
{%- for tool in tools -%}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{{- tool | tojson -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" -}}
|
||||||
|
{%- elif messages[0].role == "system" -%}
|
||||||
|
{{- "<|im_start|>system\n" + messages[0].content + "<|im_end|>\n" -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- for message in messages -%}
|
||||||
|
{%- if message.content is string -%}
|
||||||
|
{%- set content = message.content -%}
|
||||||
|
{%- else -%}
|
||||||
|
{%- set content = "" -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- if message.role == "user" or message.role == "system" and not loop.first -%}
|
||||||
|
{{- "<|im_start|>" + message.role + "\n" + content + "<|im_end|>" + "\n" -}}
|
||||||
|
{%- elif message.role == "assistant" -%}
|
||||||
|
{{- "<|im_start|>" + message.role + "\n" + content -}}
|
||||||
|
{%- if message.tool_calls -%}
|
||||||
|
{%- for tool_call in message.tool_calls -%}
|
||||||
|
{%- if loop.first and content or not loop.first -%}
|
||||||
|
{{- "\n" -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- if tool_call.function -%}
|
||||||
|
{%- set tool_call = tool_call.function -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "<tool_call>\n{\"name\": \"" -}}
|
||||||
|
{{- tool_call.name -}}
|
||||||
|
{{- "\", \"arguments\": " -}}
|
||||||
|
{%- if tool_call.arguments is string -%}
|
||||||
|
{{- tool_call.arguments -}}
|
||||||
|
{%- else -%}
|
||||||
|
{{- tool_call.arguments | tojson -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "}\n</tool_call>" -}}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "<|im_end|>\n" -}}
|
||||||
|
{%- elif message.role == "tool" -%}
|
||||||
|
{%- if loop.first or messages[loop.index0 - 1].role != "tool" -%}
|
||||||
|
{{- "<|im_start|>user" -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{{- "\n<tool_response>\n" -}}
|
||||||
|
{{- content -}}
|
||||||
|
{{- "\n</tool_response>" -}}
|
||||||
|
{%- if loop.last or messages[loop.index0 + 1].role != "tool" -%}
|
||||||
|
{{- "<|im_end|>\n" -}}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endif -%}
|
||||||
|
{%- endfor -%}
|
||||||
|
{%- if add_generation_prompt -%}
|
||||||
|
{{- "<|im_start|>assistant\n" -}}
|
||||||
|
{%- endif -%}
|
||||||
Reference in New Issue
Block a user