Triangle104/granite-3.2-8b-instruct-preview-Q4_K_S-GGUF
This model was converted to GGUF format from ibm-granite/granite-3.2-8b-instruct-preview
using llama.cpp via the ggml.ai's GGUF-my-repo space.
Refer to the original model card for more details on the model.
Model Summary: Granite-3.2-8B-Instruct-Preview is an early release of an 8B long-context model fine-tuned for enhanced reasoning (thinking) capabilities. Built on top of Granite-3.1-8B-Instruct, it has been trained using a mix of permissively licensed open-source datasets and internally generated synthetic data designed for reasoning tasks. The model allows controllability of its thinking capability, ensuring it is applied only when required.
Developers: Granite Team, IBM
Website: Granite Docs
Release Date: February 7th, 2025
License: Apache 2.0
Supported Languages: English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch, and Chinese. However, users may finetune this Granite model for languages beyond these 12 languages.
Intended Use: The model is designed to respond to general instructions and can be used to build AI assistants for multiple domains, including business applications.
Capabilities
Thinking
Summarization
Text classification
Text extraction
Question-answering
Retrieval Augmented Generation (RAG)
Code related tasks
Function-calling tasks
Multilingual dialog use cases
Long-context tasks including long document/meeting summarization, long document QA, etc.
Generation: This is a simple example of how to use Granite-3.2-8B-Instruct-Preview model.
Install the following libraries:
pip install torch torchvision torchaudio pip install accelerate pip install transformers
Then, copy the snippet from the section that is relevant for your use case.
from transformers import AutoModelForCausalLM, AutoTokenizer, set_seed import torch
model_path="ibm-granite/granite-3.2-8b-instruct-preview" device="cuda" model = AutoModelForCausalLM.from_pretrained( model_path, device_map=device, torch_dtype=torch.bfloat16, ) tokenizer = AutoTokenizer.from_pretrained( model_path )
conv = [{"role": "user", "content":"How do I develop a skill?"}]
input_ids = tokenizer.apply_chat_template(conv, return_tensors="pt", thinking=True, return_dict=True, add_generation_prompt=True).to(device)
set_seed(42) output = model.generate( **input_ids, max_new_tokens=8192, )
prediction = tokenizer.decode(output[0, input_ids["input_ids"].shape[1]:], skip_special_tokens=True) print(prediction)
Example Outputs
thinking=True
Here is my thought process:
- Understand the user's intent: The user is seeking guidance on how to develop a new skill.
- Break down the process: Skills development involves several stages - identification, planning, practice, feedback, and refinement.
- Consider different aspects: Discuss various methods, mindset, and resources needed for effective skill acquisition.
- Provide actionable steps: Offer a structured approach that the user can follow.
Here is my response:
Developing a new skill is a systematic process that involves several key steps and a dedicated mindset. Here's a comprehensive guide to help you effectively cultivate a new skill:
1. Identify the Skill
- Clarity of Purpose: Clearly define what skill you want to acquire. Be specific about why you want this skill and how it aligns with your goals or interests.
- Research: Understand the basics of the skill. Read about it, watch tutorials, or talk to people who are already proficient. This initial research will give you a realistic understanding of what the skill entails.
2. Set Clear Goals
- SMART Goals: Make sure your goals are Specific, Measurable, Achievable, Relevant, and Time-bound. For example, instead of saying "I want to learn programming," set a goal like "I will complete a beginner's Python course within three months."
- Break Down: If the skill is complex, break it down into smaller, manageable milestones.
3. Create a Learning Plan
- Resources: Identify the best resources for learning. These could be online courses, books, mentors, workshops, or practical projects.
- Schedule: Dedicate time in your routine for skill practice. Consistency is crucial in skill development. Treat your learning time as non-negotiable.
4. Start with the Basics
- Foundational Knowledge: Begin by grasping the fundamentals. Understanding the basics thoroughly sets a strong foundation for more advanced learning.
- Practice Regularly: Regular, focused practice is essential. Even 15-30 minutes a day can yield significant results over time.
5. Seek Feedback and Guidance
- Mentorship: If possible, find a mentor or join a community of learners. Feedback from experienced individuals can accelerate your learning curve.
- Peer Learning: Engage with others learning the same skill. Peer groups provide support, motivation, and different perspectives.
6. Apply the Skill in Real-World Scenarios
- Practical Application: Look for opportunities to apply what you've learned. This could be through projects, internships, or volunteering. Practical application solidifies your understanding and builds confidence.
- Iterate Based on Feedback: After applying your skill, seek and incorporate feedback to refine and improve.
7. Maintain a Growth Mindset
- Embrace Challenges: Understand that setbacks and failures are part of the learning process. Maintain a positive attitude and view them as opportunities to learn.
- Patience and Persistence: Skill development takes time. Stay patient and persistent, even when progress seems slow.
8. Track and Reflect
- Progress Tracking: Regularly review your progress. This could be through keeping a learning journal or using apps designed for skill tracking.
- Reflect and Adjust: Periodically reflect on your learning process. What's working? What's not? Adjust your plan accordingly.
9. Stay Motivated
- Reward System: Set small rewards for achieving milestones to keep yourself motivated.
- Stay Curious: Keep your interest piqued by exploring related topics or advanced aspects of the skill.
By following these steps and maintaining a disciplined, growth-oriented approach, you can effectively develop any new skill. Remember, the key is consistent effort and a willingness to learn from both successes and failures.
Building skills is an ongoing journey, not a destination.
thinking=False
Developing a skill involves a combination of learning, practice, and often, feedback. Here's a step-by-step guide to help you develop a new skill:
Identify the Skill: Start by clearly defining what skill you want to develop. Be specific. Instead of saying "I want to learn to code," specify a programming language like Python or JavaScript.
Research: Learn about the basics of the skill. Read books, articles, watch tutorials, or take online courses. Websites like Coursera, Udemy, Khan Academy, and YouTube can be great resources.
Set Clear Goals: Break down your skill into smaller, manageable goals. For example, if you're learning a new language, your goals might be to learn basic grammar, build a simple sentence, have a basic conversation, etc.
Create a Study Plan: Allocate specific time each day or week for learning and practicing. Consistency is key in skill development.
Practice: Apply what you've learned. Practice makes permanent. If you're learning to code, write small programs. If it's a musical instrument, play regularly.
Get Feedback: Seek feedback from others who are more experienced. This could be a mentor, a tutor, or even online communities. Constructive criticism can help you identify areas for improvement.
Review and Refine: Regularly review what you've learned. Refine your skills based on feedback and your own observations.
Apply in Real Life: Try to use your new skill in real-life situations. This could be a project at work, a personal hobby, or volunteering.
Be Patient and Persistent: Skill development takes time. Don't get discouraged by slow progress or setbacks. Keep practicing and learning.
Stay Motivated: Keep your end goal in mind and celebrate small victories along the way to stay motivated.
Remember, everyone learns at their own pace, so don't compare your progress with others. The most important thing is that you're consistently moving forward.
Use with llama.cpp
Install llama.cpp through brew (works on Mac and Linux)
brew install llama.cpp
Invoke the llama.cpp server or the CLI.
CLI:
llama-cli --hf-repo Triangle104/granite-3.2-8b-instruct-preview-Q4_K_S-GGUF --hf-file granite-3.2-8b-instruct-preview-q4_k_s.gguf -p "The meaning to life and the universe is"
Server:
llama-server --hf-repo Triangle104/granite-3.2-8b-instruct-preview-Q4_K_S-GGUF --hf-file granite-3.2-8b-instruct-preview-q4_k_s.gguf -c 2048
Note: You can also use this checkpoint directly through the usage steps listed in the Llama.cpp repo as well.
Step 1: Clone llama.cpp from GitHub.
git clone https://github.com/ggerganov/llama.cpp
Step 2: Move into the llama.cpp folder and build it with LLAMA_CURL=1
flag along with other hardware-specific flags (for ex: LLAMA_CUDA=1 for Nvidia GPUs on Linux).
cd llama.cpp && LLAMA_CURL=1 make
Step 3: Run inference through the main binary.
./llama-cli --hf-repo Triangle104/granite-3.2-8b-instruct-preview-Q4_K_S-GGUF --hf-file granite-3.2-8b-instruct-preview-q4_k_s.gguf -p "The meaning to life and the universe is"
or
./llama-server --hf-repo Triangle104/granite-3.2-8b-instruct-preview-Q4_K_S-GGUF --hf-file granite-3.2-8b-instruct-preview-q4_k_s.gguf -c 2048
- Downloads last month
- 19
Model tree for Triangle104/granite-3.2-8b-instruct-preview-Q4_K_S-GGUF
Base model
ibm-granite/granite-3.1-8b-base