🚀 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 |
未验证 |