初始化项目,由ModelHub XC社区提供模型

Model: Pinkstack/fijik-2.0-350m-sft-GGUF
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-08-11 14:43:17 +08:00
commit 074b9d62c0
8 changed files with 203 additions and 0 deletions

51
.gitattributes vendored Normal file
View 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

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d94cee6b0b84d85814ee5864a4d3d445536fd34e8fb0bc8dd5b8039ea5c06172
size 708434816

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb2524a2cf35943adc46445c7e381d00618f13e596f8cb7067f2f77dd2e5c9aa
size 236981120

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef93c90f72a3fae087e02bd8b08a28eee86342a7d320fafde322c93d036188ab
size 264047488

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:87dfd0bec17a6df46da401a56fd72caa3a4dac36bc43f65acc9e59b452fd38f0
size 292805504

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4791e2a3afae9f8301f3f486ee9018f69174765c1161258cb851d3ab280050b5
size 378133376

77
README.md Normal file
View 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-thumb](https://cdn-uploads.huggingface.co/production/uploads/6710ba6af1279fe0dfe33afe/35L5qpJWyrqcdZSw9lno1.png)
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
View 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 -%}