Triangle104 commited on
Commit
4891c69
·
verified ·
1 Parent(s): 5b27bec

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +200 -0
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