🚀 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 指標值 |