ngbcoder commited on
Commit
6a88093
·
verified ·
1 Parent(s): b5eb590

Add Q4_K_M GGUF fine-tune and model card

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ 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
+ Llama-3.2-3B-Instruct.Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
Llama-3.2-3B-Instruct.Q4_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6300a59f9f4e5469adc21fc2eed565cc71e7a04ef58c65f3329cad96e79b00b
3
+ size 2019377472
Modelfile ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ FROM Llama-3.2-3B-Instruct.Q4_K_M.gguf
3
+ TEMPLATE """{{ if .Messages }}
4
+ {{- if or .System .Tools }}<|start_header_id|>system<|end_header_id|>
5
+ {{- if .System }}
6
+
7
+ {{ .System }}
8
+ {{- end }}
9
+ {{- if .Tools }}
10
+
11
+ You are a helpful assistant with tool calling capabilities. When you receive a tool call response, use the output to format an answer to the original use question.
12
+ {{- end }}
13
+ {{- end }}<|eot_id|>
14
+ {{- range $i, $_ := .Messages }}
15
+ {{- $last := eq (len (slice $.Messages $i)) 1 }}
16
+ {{- if eq .Role "user" }}<|start_header_id|>user<|end_header_id|>
17
+ {{- if and $.Tools $last }}
18
+
19
+ Given the following functions, please respond with a JSON for a function call with its proper arguments that best answers the given prompt.
20
+
21
+ Respond in the format {"name": function name, "parameters": dictionary of argument name and its value}. Do not use variables.
22
+
23
+ {{ $.Tools }}
24
+ {{- end }}
25
+
26
+ {{ .Content }}<|eot_id|>{{ if $last }}<|start_header_id|>assistant<|end_header_id|>
27
+
28
+ {{ end }}
29
+ {{- else if eq .Role "assistant" }}<|start_header_id|>assistant<|end_header_id|>
30
+ {{- if .ToolCalls }}
31
+
32
+ {{- range .ToolCalls }}{"name": "{{ .Function.Name }}", "parameters": {{ .Function.Arguments }}}{{ end }}
33
+ {{- else }}
34
+
35
+ {{ .Content }}{{ if not $last }}<|eot_id|>{{ end }}
36
+ {{- end }}
37
+ {{- else if eq .Role "tool" }}<|start_header_id|>ipython<|end_header_id|>
38
+
39
+ {{ .Content }}<|eot_id|>{{ if $last }}<|start_header_id|>assistant<|end_header_id|>
40
+
41
+ {{ end }}
42
+ {{- end }}
43
+ {{- end }}
44
+ {{- else }}
45
+ {{- if .System }}<|start_header_id|>system<|end_header_id|>
46
+
47
+ {{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
48
+
49
+ {{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
50
+
51
+ {{ end }}{{ .Response }}{{ if .Response }}<|eot_id|>{{ end }}"""
52
+ PARAMETER stop "<|start_header_id|>"
53
+ PARAMETER stop "<|end_header_id|>"
54
+ PARAMETER stop "<|eot_id|>"
55
+ PARAMETER stop "<|eom_id|>"
56
+ PARAMETER temperature 1.5
57
+ PARAMETER min_p 0.1
README.md ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: unsloth/Llama-3.2-3B-Instruct-unsloth-bnb-4bit
3
+ library_name: unsloth
4
+ language:
5
+ - en
6
+ license: llama3.2
7
+ tags:
8
+ - llama
9
+ - llama-3.2
10
+ - gguf
11
+ - unsloth
12
+ - qlora
13
+ - web-development
14
+ - code
15
+ pipeline_tag: text-generation
16
+ ---
17
+
18
+ # Flow Models — Web Dev (Llama 3.2 3B Instruct, Q4_K_M)
19
+
20
+ A QLoRA fine-tune of **Llama-3.2-3B-Instruct** on a web-development instruction dataset, exported to GGUF for use with `llama.cpp`, Ollama, LM Studio, or any GGUF-compatible runtime.
21
+
22
+ ## Model details
23
+
24
+ | | |
25
+ |---|---|
26
+ | Base model | `unsloth/Llama-3.2-3B-Instruct-unsloth-bnb-4bit` |
27
+ | Fine-tuning | QLoRA (4-bit), Unsloth |
28
+ | Export | Merged and quantized to **Q4_K_M** (1.88 GB) |
29
+ | Context length | 2048 |
30
+ | Language | English |
31
+
32
+ ## Training
33
+
34
+ | Hyperparameter | Value |
35
+ |---|---|
36
+ | LoRA rank / alpha | 16 / 16 |
37
+ | LoRA dropout | 0 |
38
+ | Target modules | `q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj` |
39
+ | Epochs | 3 |
40
+ | Batch size | 2 |
41
+ | Gradient accumulation | 4 |
42
+ | Learning rate | 2e-4 (linear schedule) |
43
+ | Warmup steps | 5 |
44
+ | Weight decay | 0.001 |
45
+ | Optimizer | `adamw_8bit` |
46
+ | Max sequence length | 2048 |
47
+ | Packing | enabled |
48
+ | Seed | 3407 |
49
+
50
+ Result: 87 steps, 1,376,556 tokens, training loss **1.20 → 0.39**.
51
+
52
+ ## Dataset
53
+
54
+ `formatted_webdev_dataset.json` — 3,723 instruction/response examples covering HTML, CSS, JavaScript, Python, SQL, and general web development. Examples use the Alpaca prompt format and responses end with a `[COMPLETE]` marker.
55
+
56
+ Training text format:
57
+
58
+ ```
59
+ Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
60
+
61
+ ### Instruction:
62
+ <instruction>
63
+
64
+ ### Input:
65
+ <input>
66
+
67
+ ### Response:
68
+ <response>
69
+ [COMPLETE]
70
+ ```
71
+
72
+ ## Usage
73
+
74
+ ### llama.cpp
75
+
76
+ ```bash
77
+ llama-cli -m Llama-3.2-3B-Instruct.Q4_K_M.gguf \
78
+ -p "### Instruction:\nWrite a JavaScript function to count the number of vowels in a string.\n\n### Input:\n\n\n### Response:\n" \
79
+ -n 256 --temp 0.2 -st
80
+ ```
81
+
82
+ ### Ollama
83
+
84
+ ```bash
85
+ ollama create flow-webdev -f Modelfile
86
+ ollama run flow-webdev
87
+ ```
88
+
89
+ ### Expected output style
90
+
91
+ ```javascript
92
+ function countVowels(str) {
93
+ let vowels = 'aeiou';
94
+ let count = 0;
95
+ for (let i = 0; i < str.length; i++) {
96
+ if (vowels.includes(str[i].toLowerCase())) {
97
+ count++;
98
+ }
99
+ }
100
+ return count;
101
+ }
102
+ [COMPLETE]
103
+ ```
104
+
105
+ ## Limitations
106
+
107
+ - Trained on a relatively small, synthetic-style web-dev dataset; it can reproduce errors or outdated patterns from that data.
108
+ - Best results come from the Alpaca prompt format it was trained on, not free-form chat.
109
+ - The `[COMPLETE]` suffix is part of the learned response style.
110
+ - Not evaluated for correctness, safety, or production use. Review generated code before running it.
111
+
112
+ ## License
113
+
114
+ Llama 3.2 Community License, inherited from the base model.
export_metadata.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "base_model": "unsloth/Llama-3.2-3B-Instruct-unsloth-bnb-4bit",
3
+ "source_checkpoint": "C:\\Users\\29bragann\\.unsloth\\studio\\outputs\\unsloth_Llama-3.2-3B-Instruct-unsloth-bnb-4bit_1794244025"
4
+ }