🚀 Granite-8B-Code-Instruct-4K
Granite-8B-Code-Instruct-4K 是一个拥有 80 亿参数的模型,它基于 Granite-8B-Code-Base-4K 在一系列 许可宽松 的指令数据上进行微调,以增强其指令跟随能力,包括逻辑推理和问题解决能力。

🚀 快速开始
模型概述
使用方式
预期用途
该模型旨在响应与编码相关的指令,可用于构建编码助手。
生成示例
以下是一个如何使用 Granite-8B-Code-Instruct-4K 模型的简单示例:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "ibm-granite/granite-8b-code-instruct-4k"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
chat = [
{ "role": "user", "content": "Write a code to find the maximum value in a list of numbers." },
]
chat = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
input_tokens = tokenizer(chat, return_tensors="pt")
for i in input_tokens:
input_tokens[i] = input_tokens[i].to(device)
output = model.generate(**input_tokens, max_new_tokens=100)
output = tokenizer.batch_decode(output)
for i in output:
print(i)
✨ 主要特性
- 基于 Granite-8B-Code-Base-4K 微调,增强了指令跟随能力。
- 可响应多种编码相关指令,适用于构建编码助手。
📦 训练数据
Granite Code Instruct 模型在以下类型的数据上进行训练:
🔧 技术细节
基础设施
我们使用 IBM 的两个超级计算集群 Vela 和 Blue Vela 来训练 Granite Code 模型,这两个集群分别配备了 NVIDIA A100 和 H100 GPU。这些集群为我们在数千个 GPU 上训练模型提供了可扩展且高效的基础设施。
伦理考量与局限性
Granite 代码指令模型主要使用特定编程语言的指令 - 响应对进行微调。因此,它们在处理领域外编程语言时的性能可能会受到限制。在这种情况下,提供少量示例以引导模型输出是有益的。此外,开发者在将这些模型部署到关键应用程序之前,应进行安全测试和特定目标的调整。该模型还继承了其基础模型的伦理考量和局限性。更多信息,请参考 Granite - 8B - Code - Base - 4K 模型卡片。
📄 许可证
本模型采用 Apache 2.0 许可证。
📚 详细文档
属性 |
详情 |
模型类型 |
文本生成 |
基础模型 |
ibm - granite/granite - 8b - code - base - 4k |
推理 |
否 |
许可证 |
Apache 2.0 |
训练数据集 |
bigcode/commitpackft、TIGER - Lab/MathInstruct、meta - math/MetaMathQA、glaiveai/glaive - code - assistant - v3、glaive - function - calling - v2、bugdaryan/sql - create - context - instruction、garage - bAInd/Open - Platypus、nvidia/HelpSteer |
评估指标 |
code_eval |
库名称 |
transformers |
标签 |
code、granite |
模型名称 |
granite - 8b - code - instruct - 4k |
任务类型 |
文本生成 |
数据集类型 |
bigcode/humanevalpack |
评估指标详情 |
包含多种编程语言(Python、JavaScript、Java、Go、C++、Rust)在不同任务(Synthesis、Explain、Fix)下的 pass@1 指标值 |