🚀 granite-8b-qiskit
granite-8b-qiskit 是一個擁有 80 億參數的模型,它在 granite-8b-code-base 的基礎上進行擴展預訓練和微調。通過使用 Qiskit 代碼和指令數據,該模型提升了編寫高質量、無棄用代碼的 Qiskit 代碼的能力。我們僅使用具有以下許可的數據:Apache 2.0、MIT、Unlicense、木蘭寬鬆許可證第 2 版、BSD - 2、BSD - 3 和知識共享署名 4.0 許可。

🚀 快速開始
本模型專為使用 Qiskit 生成量子計算代碼而設計。量子計算從業者和 Qiskit 新用戶都可以將此模型作為構建 Qiskit 代碼或回答 Qiskit 編碼相關指令和問題的助手。
✨ 主要特性
📦 安裝指南
文檔未提供安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
以下是一個如何使用 granite-8b-qiskit 模型的簡單示例:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "qiskit/granite-8b-qiskit"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
chat = [
{ "role": "user", "content": "Build a random circuit with 5 qubits" },
]
chat = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
input_tokens = tokenizer(input_text, return_tensors="pt")
for i in input_tokens:
input_tokens[i] = input_tokens[i].to(device)
output = model.generate(**input_tokens, max_new_tokens=128)
output = tokenizer.batch_decode(output)
for i in output:
print(i)
📚 詳細文檔
訓練數據
- 數據收集與過濾:我們的代碼數據來源於公開可用數據集(例如,https://github.com 上的代碼)和 IBM Quantum 生成的額外合成數據。我們排除了 2023 年以前的代碼。
- 精確和模糊去重:我們使用精確和模糊去重方法,以去除具有(近乎)相同代碼內容的文檔。
- HAP、PII、惡意軟件過濾:我們依賴基礎模型 ibm - granite/granite - 8b - code - base 對初始數據集中的 HAP 和惡意軟件進行過濾。我們還確保通過用相應的標記(例如,⟨NAME⟩、⟨EMAIL⟩、⟨KEY⟩、⟨PASSWORD⟩)替換個人身份信息(PII)內容(例如,姓名、電子郵件地址、密鑰、密碼)來編輯數據集中的 PII。
基礎設施
我們使用 IBM 的超級計算集群(Vela)和 NVIDIA A100 GPU 訓練了 granite-8b-qiskit 模型。
倫理考量與侷限性
使用大語言模型涉及風險和倫理考量,人們必須對此有所瞭解。在代碼生成方面,強烈建議不要完全依賴特定的代碼模型來做關鍵決策或獲取有影響力的信息,因為生成的代碼不能保證按預期工作。granite-8b-qiskit 模型在這方面也不例外。儘管該模型適用於多個與代碼相關的任務,但它尚未進行任何安全對齊,因此可能會產生有問題的輸出。此外,由於較小的模型規模和記憶能力,它們在生成場景中是否會因直接從訓練數據集中複製源代碼而更容易產生幻覺,目前仍不確定。這方面目前是一個活躍的研究領域,我們預計在該領域會有更嚴格的探索、理解和緩解措施。在倫理方面,所有大語言模型都存在被惡意利用的潛在風險。我們敦促社區以合乎道德的意圖和負責任的方式使用 granite-8b-qiskit 模型。
🔧 技術細節
文檔未提供足夠詳細的技術實現細節(少於 50 字的具體技術說明),故跳過此章節。
📄 許可證
本項目採用 apache - 2.0 許可證。
模型信息表格
屬性 |
詳情 |
模型類型 |
文本生成 |
訓練數據 |
public - qiskit、synthetic - qiskit |
評估指標 |
code_eval |
庫名稱 |
transformers |
標籤 |
code、granite、qiskit |
模型評估結果
任務類型 |
數據集名稱 |
指標名稱 |
指標值 |
驗證狀態 |
文本生成 |
Qiskit HumanEval |
pass@1 |
45.69 |
未驗證 |
文本生成 |
HumanEvalSynthesis(Python) |
pass@1 |
58.53 |
未驗證 |