🚀 Granite-8B-Code-Instruct-4K
Granite-8B-Code-Instruct-4K は、Granite-8B-Code-Base-4K から微調整された80億パラメータのモデルです。許容可能なライセンスのある命令データを組み合わせて学習し、論理的な推論や問題解決能力を含む命令追従能力を強化しています。

🚀 クイックスタート
このモデルはコーディングに関連する命令に応答するように設計されており、コーディングアシスタントを構築するために使用できます。
✨ 主な機能
- コーディングに関連する命令に応答し、コーディングアシスタントを構築するのに役立つ。
- 論理的な推論や問題解決能力を含む命令追従能力が強化されている。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers torch
💻 使用例
基本的な使用法
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)
📚 ドキュメント
モデル概要
Property |
Details |
パイプラインタグ |
テキスト生成 |
ベースモデル |
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 Code Instructモデルは、以下のタイプのデータで学習されています。
- コードコミットデータセット: CommitPackFT データセットからコードコミットデータを取得しました。これは、完全なCommitPackデータセットのフィルタリングされたバージョンです。CommitPackFTデータセットからは、92のプログラミング言語のデータのみを考慮しています。選択基準は、CommitPackFTとコードベースモデル (Granite-8B-Code-Base) を事前学習するために考慮した116の言語の間で共通するプログラミング言語を選択することです。
- 数学データセット: MathInstruct と MetaMathQA という2つの高品質な数学データセットを考慮しています。ライセンスの問題から、MathInstructデータセットからGSM8K-RFTとCamel-Mathを除外しています。
- コード命令データセット: Glaive-Code-Assistant-v3、Glaive-Function-Calling-v2、NL2SQL11 および合成API呼び出しデータセットの小さなコレクションを使用しています。
- 言語命令データセット: HelpSteer や Platypus のオープンライセンスフィルターバージョンなどの高品質なデータセットを含めています。また、モデル名や開発者に関する問い合わせに対して正しい出力を生成するように、ハードコードされたプロンプトのコレクションも含めています。
インフラストラクチャ
Granite Codeモデルは、IBMの2つのスーパーコンピューティングクラスタであるVelaとBlue Velaを使用して学習されています。これらのクラスタはそれぞれNVIDIA A100とH100 GPUを備えており、数千のGPUでモデルを学習するための拡張可能で効率的なインフラストラクチャを提供します。
倫理的な考慮事項と制限事項
Graniteコード命令モデルは、主に特定のプログラミング言語の命令応答ペアを使用して微調整されています。したがって、ドメイン外のプログラミング言語では性能が制限される可能性があります。このような場合、少数の例を提供するとモデルの出力を誘導するのに役立ちます。さらに、開発者はこれらのモデルを重要なアプリケーションにデプロイする前に、安全性テストとターゲット固有の調整を行う必要があります。このモデルはまた、ベースモデルからの倫理的な考慮事項と制限事項を引き継いでいます。詳細については、Granite-8B-Code-Base-4K モデルカードを参照してください。
🔧 技術詳細
評価結果
タスク |
データセット |
評価指標 |
値 |
検証済み |
テキスト生成 |
bigcode/humanevalpack (HumanEvalSynthesis(Python)) |
pass@1 |
57.9 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalSynthesis(JavaScript)) |
pass@1 |
52.4 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalSynthesis(Java)) |
pass@1 |
58.5 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalSynthesis(Go)) |
pass@1 |
43.3 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalSynthesis(C++)) |
pass@1 |
48.2 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalSynthesis(Rust)) |
pass@1 |
37.2 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalExplain(Python)) |
pass@1 |
53.0 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalExplain(JavaScript)) |
pass@1 |
42.7 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalExplain(Java)) |
pass@1 |
52.4 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalExplain(Go)) |
pass@1 |
36.6 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalExplain(C++)) |
pass@1 |
43.9 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalExplain(Rust)) |
pass@1 |
16.5 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalFix(Python)) |
pass@1 |
39.6 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalFix(JavaScript)) |
pass@1 |
40.9 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalFix(Java)) |
pass@1 |
48.2 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalFix(Go)) |
pass@1 |
41.5 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalFix(C++)) |
pass@1 |
39.0 |
否 |
テキスト生成 |
bigcode/humanevalpack (HumanEvalFix(Rust)) |
pass@1 |
32.9 |
否 |
📄 ライセンス
このモデルは Apache 2.0 ライセンスの下で提供されています。