Update README.md
Browse files
README.md
CHANGED
@@ -15,6 +15,206 @@ base_model: ibm-granite/granite-3.2-8b-instruct
|
|
15 |
This model was converted to GGUF format from [`ibm-granite/granite-3.2-8b-instruct`](https://huggingface.co/ibm-granite/granite-3.2-8b-instruct) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space.
|
16 |
Refer to the [original model card](https://huggingface.co/ibm-granite/granite-3.2-8b-instruct) for more details on the model.
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
## Use with llama.cpp
|
19 |
Install llama.cpp through brew (works on Mac and Linux)
|
20 |
|
|
|
15 |
This model was converted to GGUF format from [`ibm-granite/granite-3.2-8b-instruct`](https://huggingface.co/ibm-granite/granite-3.2-8b-instruct) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space.
|
16 |
Refer to the [original model card](https://huggingface.co/ibm-granite/granite-3.2-8b-instruct) for more details on the model.
|
17 |
|
18 |
+
---
|
19 |
+
Model Summary:
|
20 |
+
-
|
21 |
+
Granite-3.2-8B-Instruct is an 8-billion-parameter, long-context AI model fine-tuned for thinking capabilities. Built on top of Granite-3.1-8B-Instruct,
|
22 |
+
it has been trained using a mix of permissively licensed open-source
|
23 |
+
datasets and internally generated synthetic data designed for reasoning
|
24 |
+
tasks. The model allows controllability of its thinking capability,
|
25 |
+
ensuring it is applied only when required.
|
26 |
+
|
27 |
+
Developers: Granite Team, IBM
|
28 |
+
Website: Granite Docs
|
29 |
+
Release Date: February 26th, 2025
|
30 |
+
License: Apache 2.0
|
31 |
+
|
32 |
+
Supported Languages:
|
33 |
+
-
|
34 |
+
English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech,
|
35 |
+
Italian, Korean, Dutch, and Chinese. However, users may finetune this
|
36 |
+
Granite model for languages beyond these 12 languages.
|
37 |
+
|
38 |
+
Intended Use:
|
39 |
+
-
|
40 |
+
This model is designed to handle general instruction-following tasks and
|
41 |
+
can be integrated into AI assistants across various domains, including
|
42 |
+
business applications.
|
43 |
+
|
44 |
+
Capabilities
|
45 |
+
-
|
46 |
+
|
47 |
+
Thinking
|
48 |
+
Summarization
|
49 |
+
Text classification
|
50 |
+
Text extraction
|
51 |
+
Question-answering
|
52 |
+
Retrieval Augmented Generation (RAG)
|
53 |
+
Code related tasks
|
54 |
+
Function-calling tasks
|
55 |
+
Multilingual dialog use cases
|
56 |
+
Long-context tasks including long document/meeting summarization, long document QA, etc.
|
57 |
+
|
58 |
+
|
59 |
+
Generation:
|
60 |
+
-
|
61 |
+
This is a simple example of how to use Granite-3.2-8B-Instruct model.
|
62 |
+
|
63 |
+
|
64 |
+
Install the following libraries:
|
65 |
+
-
|
66 |
+
|
67 |
+
pip install torch torchvision torchaudio
|
68 |
+
pip install accelerate
|
69 |
+
pip install transformers
|
70 |
+
|
71 |
+
|
72 |
+
|
73 |
+
Then, copy the snippet from the section that is relevant for your use case.
|
74 |
+
|
75 |
+
|
76 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, set_seed
|
77 |
+
import torch
|
78 |
+
|
79 |
+
model_path="ibm-granite/granite-3.2-8b-instruct"
|
80 |
+
device="cuda"
|
81 |
+
model = AutoModelForCausalLM.from_pretrained(
|
82 |
+
model_path,
|
83 |
+
device_map=device,
|
84 |
+
torch_dtype=torch.bfloat16,
|
85 |
+
)
|
86 |
+
tokenizer = AutoTokenizer.from_pretrained(
|
87 |
+
model_path
|
88 |
+
)
|
89 |
+
|
90 |
+
conv = [{"role": "user", "content":"You have 10 liters of a 30% acid solution. How many liters of a 70% acid solution must be added to achieve a 50% acid mixture?"}]
|
91 |
+
|
92 |
+
input_ids = tokenizer.apply_chat_template(conv, return_tensors="pt", thinking=True, return_dict=True, add_generation_prompt=True).to(device)
|
93 |
+
|
94 |
+
set_seed(42)
|
95 |
+
output = model.generate(
|
96 |
+
**input_ids,
|
97 |
+
max_new_tokens=8192,
|
98 |
+
)
|
99 |
+
|
100 |
+
prediction = tokenizer.decode(output[0, input_ids["input_ids"].shape[1]:], skip_special_tokens=True)
|
101 |
+
print(prediction)
|
102 |
+
|
103 |
+
|
104 |
+
|
105 |
+
Example Outputs
|
106 |
+
-
|
107 |
+
|
108 |
+
thinking=True
|
109 |
+
|
110 |
+
|
111 |
+
Here is my thought process:
|
112 |
+
|
113 |
+
1. We know we start with 10 liters of a 30% acid solution, so there's 3 liters of pure acid in it (10 liters * 0.3).
|
114 |
+
2. We need to determine how much of the 70% acid solution to add such that the final mixture is 50% acid.
|
115 |
+
3. Let's say x liters of the 70% acid solution are added. This will contribute 0.7x liters of pure acid.
|
116 |
+
4. The total volume of the new mixture will be 10 + x liters, and the total amount of pure acid will be 3 + 0.7x liters.
|
117 |
+
5. We need to set up an equation where (3 + 0.7x) / (10 + x) = 0.5 (since we want a 50% acid mixture).
|
118 |
+
6. Solving this equation for x will give us the volume of 70% solution needed.
|
119 |
+
|
120 |
+
Here is my response:
|
121 |
+
|
122 |
+
To solve this, we need to set up an equation based on the concentration of acid before and after mixing.
|
123 |
+
|
124 |
+
1. **Initial Acid Content**:
|
125 |
+
- We start with 10 liters of a 30% acid solution.
|
126 |
+
- Pure acid in this = 10 * 0.3 = 3 liters.
|
127 |
+
|
128 |
+
2. **Variable for Addition**:
|
129 |
+
- Let x be the liters of 70% acid solution to be added.
|
130 |
+
- Pure acid in x liters of 70% solution = 0.7x liters.
|
131 |
+
|
132 |
+
3. **Final Mixture Concentration**:
|
133 |
+
- Total volume of mixture = 10 + x liters.
|
134 |
+
- Total pure acid in the mixture = 3 (from initial solution) + 0.7x (from added solution).
|
135 |
+
|
136 |
+
4. **Setting up the equation for 50% acid concentration**:
|
137 |
+
- We require that the ratio of pure acid to total volume is 0.5 (50%).
|
138 |
+
- Therefore, the equation is:
|
139 |
+
|
140 |
+
\[
|
141 |
+
\frac{3 + 0.7x}{10 + x} = 0.5
|
142 |
+
\]
|
143 |
+
|
144 |
+
5. **Solving the equation**:
|
145 |
+
|
146 |
+
Multiply both sides by (10 + x) to clear the fraction:
|
147 |
+
|
148 |
+
\[
|
149 |
+
3 + 0.7x = 0.5(10 + x)
|
150 |
+
\]
|
151 |
+
|
152 |
+
Expanding the right side:
|
153 |
+
|
154 |
+
\[
|
155 |
+
3 + 0.7x = 5 + 0.5x
|
156 |
+
\]
|
157 |
+
|
158 |
+
Subtract 0.5x from both sides:
|
159 |
+
|
160 |
+
\[
|
161 |
+
3 + 0.2x = 5
|
162 |
+
\]
|
163 |
+
|
164 |
+
Subtract 3 from both sides:
|
165 |
+
|
166 |
+
\[
|
167 |
+
0.2x = 2
|
168 |
+
\]
|
169 |
+
|
170 |
+
Divide by 0.2:
|
171 |
+
|
172 |
+
\[
|
173 |
+
x = 10
|
174 |
+
\]
|
175 |
+
|
176 |
+
So, 10 liters of the 70% acid solution must be added to the initial 10 liters of 30% solution to get a 50% acid mixture.
|
177 |
+
|
178 |
+
Let's verify:
|
179 |
+
|
180 |
+
- Initial acid: 3 liters
|
181 |
+
- Acid from added solution: 0.7 * 10 = 7 liters
|
182 |
+
- Total acid: 3 + 7 = 10 liters
|
183 |
+
- Total volume: 10 + 10 = 20 liters
|
184 |
+
- Acid percentage: \(\frac{10}{20} = 0.5 = 50\%\)
|
185 |
+
|
186 |
+
This confirms our solution.
|
187 |
+
|
188 |
+
Final answer: 10 liters of 70% acid solution should be added.
|
189 |
+
|
190 |
+
|
191 |
+
|
192 |
+
thinking=False
|
193 |
+
|
194 |
+
|
195 |
+
Let's denote the amount of 70% acid solution to be added as x liters.
|
196 |
+
|
197 |
+
We start with 10 liters of a 30% acid solution, which means there are 0.3 * 10 = 3 liters of pure acid in it.
|
198 |
+
|
199 |
+
We want to end up with a 50% acid solution after adding x liters of 70% acid solution. The total volume of the mixture will be 10 + x liters, and we want half of this volume to be pure acid.
|
200 |
+
|
201 |
+
So, the amount of pure acid in the final mixture should be 0.5 * (10 + x) liters.
|
202 |
+
|
203 |
+
The amount of pure acid in the final mixture comes from two sources: the original 30% solution and the added 70% solution. So, we can set up the following equation:
|
204 |
+
|
205 |
+
3 (from the original solution) + 0.7x (from the added solution) = 0.5 * (10 + x)
|
206 |
+
|
207 |
+
Now, let's solve for x:
|
208 |
+
|
209 |
+
3 + 0.7x = 5 + 0.5x
|
210 |
+
0.7x - 0.5x = 5 - 3
|
211 |
+
0.2x = 2
|
212 |
+
x = 2 / 0.2
|
213 |
+
x = 10
|
214 |
+
|
215 |
+
So, you need to add 10 liters of a 70% acid solution to the 10 liters of a 30% acid solution to get a 50% acid mixture.
|
216 |
+
|
217 |
+
---
|
218 |
## Use with llama.cpp
|
219 |
Install llama.cpp through brew (works on Mac and Linux)
|
220 |
|