Granite-3.2-8B-Instruct-Preview

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.

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:

1. Understand the user's intent: The user is seeking guidance on how to develop a new skill. 
2. Break down the process: Skills development involves several stages - identification, planning, practice, feedback, and refinement. 
3. Consider different aspects: Discuss various methods, mindset, and resources needed for effective skill acquisition. 
4. 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:

1. **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.

2. **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.

3. **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.

4. **Create a Study Plan**: Allocate specific time each day or week for learning and practicing. Consistency is key in skill development.

5. **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.

6. **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.

7. **Review and Refine**: Regularly review what you've learned. Refine your skills based on feedback and your own observations.

8. **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.

9. **Be Patient and Persistent**: Skill development takes time. Don't get discouraged by slow progress or setbacks. Keep practicing and learning.

10. **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.

Evaluation Results:

Models ArenaHard Alpaca-Eval-2 MMLU PopQA TruthfulQA BigBenchHard DROP GSM8K HumanEval HumanEval+ IFEval AttaQ
Llama-3.1-8B-Instruct 36.43 27.22 69.15 28.79 52.79 72.66 61.48 83.24 85.32 80.15 79.10 83.43
DeepSeek-R1-Distill-Llama-8B 17.17 21.85 45.80 13.25 47.43 65.71 44.46 72.18 67.54 62.91 66.50 42.87
Qwen-2.5-7B-Instruct 25.44 30.34 74.30 18.12 63.06 70.40 54.71 84.46 93.35 89.91 74.90 81.90
DeepSeek-R1-Distill-Qwen-7B 10.36 15.35 50.72 9.94 47.14 65.04 42.76 78.47 79.89 78.43 59.10 42.45
Granite-3.1-8B-Instruct 37.58 27.87 66.84 28.84 65.92 68.10 50.78 79.08 88.82 84.62 71.20 85.73
Granite-3.2-8B-Instruct-Preview 55.23 61.16 66.93 28.08 66.37 65.60 50.73 83.09 89.47 86.88 73.57 85.99

Training Data: Overall, our training data is largely comprised of two key sources: (1) publicly available datasets with permissive license, (2) internal synthetically generated data targeted to enhance reasoning capabilites.

Infrastructure: We train Granite-3.2-8B-Instruct-Preview using IBM's super computing cluster, Blue Vela, which is outfitted with NVIDIA H100 GPUs. This cluster provides a scalable and efficient infrastructure for training our models over thousands of GPUs.

Ethical Considerations and Limitations: Granite-3.2-8B-Instruct-Preview builds upon Granite-3.1-8B-Instruct, leveraging both permissively licensed open-source and select proprietary data for enhanced performance. Since it inherits its foundation from the previous model, all ethical considerations and limitations applicable to Granite-3.1-8B-Instruct remain relevant.

Resources

Downloads last month
770
Safetensors
Model size
8.17B params
Tensor type
BF16
ยท
Inference Providers NEW
This model is not currently available via any of the supported third-party Inference Providers, and HF Inference API has been turned off for this model.

Model tree for ibm-granite/granite-3.2-8b-instruct-preview

Finetuned
(5)
this model
Quantizations
16 models

Spaces using ibm-granite/granite-3.2-8b-instruct-preview 3

Collection including ibm-granite/granite-3.2-8b-instruct-preview