🚀 SPARK-mini-instruct模型
SPARK-mini-instruct是一款针对特定领域进行指令调优的语言模型。它基于SPARK-mini-base模型,在核电领域的大量数据上训练而成,具有38亿参数。该模型可用于核电领域的技术支持、系统性能提升等场景,为相关从业者提供了强大的工具。
🚀 快速开始
模型使用示例
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "nuclearnai/SPARK-mini-instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
).to("cuda")
tokenizer = AutoTokenizer.from_pretrained(
model_name,
)
prompt = [
{
"role": "user",
"content": "What are the tech specs appliable to diesel generators?",
}
]
input_ids = tokenizer.apply_chat_template(
prompt,
return_tensors="pt",
).to("cuda")
output = model.generate(
input_ids=input_ids,
min_p=0.2,
temperature=1.0,
do_sample=True,
max_new_tokens=100,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
输出示例
What are the tech specs appliable to diesel generators? The technical specifications applicable to diesel generators can vary depending on the specific reactor design and the licensing basis. However, some common technical specifications for diesel generators include: 1. Diesel generator operability requirements, such as minimum required fuel levels, starting air pressure, and surveillance testing intervals. 2. Limitations on the amount of time the diesel generators can be inoperable before the reactor must be shut down. 3.[continued...]
✨ 主要特性
- 领域适配性强:经过大量核电领域数据的训练,能很好地适应核电领域的特定需求,为该领域的相关任务提供专业的支持。
- 指令响应能力:作为指令调优版本,能够以类似聊天的格式对零样本提示做出响应,方便用户与模型进行交互。
- 多用途性:可用于加速科研人员和监管机构的工作、提升核电行业系统的性能,并且对没有硬件加速或云连接能力的从业者也具有可访问性。
📦 安装指南
此部分文档未提及具体安装步骤,若需使用该模型,可参考示例代码中使用transformers
库加载模型和分词器的方式。确保安装transformers 4.41
以保证与Phi3模型兼容。
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "nuclearnai/SPARK-mini-instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
).to("cuda")
tokenizer = AutoTokenizer.from_pretrained(
model_name,
)
prompt = [
{
"role": "user",
"content": "What are the tech specs appliable to diesel generators?",
}
]
input_ids = tokenizer.apply_chat_template(
prompt,
return_tensors="pt",
).to("cuda")
output = model.generate(
input_ids=input_ids,
min_p=0.2,
temperature=1.0,
do_sample=True,
max_new_tokens=100,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
📚 详细文档
用途
直接使用
SPARK-mini-instruct高度适配核电领域,因此在响应时会带有一定的偏向性。
具体用例
- 专业人员支持:为国家研究实验室或监管机构的技术人员提供特定领域的语言模型,以便进一步微调以满足更多用例需求。
- 系统性能提升:改善目前在核电行业中使用语言模型作为特征提取器或预测AI系统模型主干的系统性能。
- 广泛可访问性:为没有硬件加速器或云连接能力的从业者提供可访问的模型。
许可证
许可证:CC - BY - NC,但以下有限数量的商业实体可进行免费、开放、不受限制的使用:
- 运营中的核电公用事业公司
- 监管机构(商业或政府)
- 研究实验室和以研究为重点的团体(如国家实验室和电力特定研究小组)
如需进一步信息或书面许可,请联系我们。
偏差、风险和限制
- 事实错误:尽管该模型在核电相关信息上进行了大量训练,但和其他语言模型一样,仍会出现事实和逻辑错误。
- 生产使用限制:在没有进一步训练或适用的防护措施的情况下,该模型不应用于生产用例。
- 有意偏差:为了实现可引导性,模型中引入了有意的偏差。
- 事实记忆不足:由于只有38亿参数,模型可能会发出不正确的响应和事实,最终用户开发者应提供应用防护措施。
- 提示模板问题:Phi - 3的提示模板存在一些问题,模型生成可能不会按预期停止,建议为
<|end|>
和<|end_of_text|>
特殊标记添加额外的停止条件。
训练详情
训练数据
SPARK - mini - instruct的所有训练数据均来自公开可用的来源,但不会公开。如需训练数据的具体细节或共享训练数据,请通过contact@nuclearn.ai联系Nuclearn,我们将根据具体情况提供。
训练过程
该模型使用DeepSpeed Zero3在多节点的私有A100服务器集群上以bf16格式进行训练。
评估
SPARK - mini - instruct在一组专门为测试特定核电行业知识而创建的私有基准测试上进行了评估。
完成任务(核电版HellaSWAG)
- 仿照HellaSWAG基准测试设计。
- 对复杂的核电站运营场景和事实段落进行各种完成任务。
多项选择题问答(核电版MMLU)
- 仿照MMLU基准测试设计。
- 关于核电站运营、系统、工程等方面的多项选择题问答。
环境影响
- 硬件类型:A100 - 80GB SXM4
- 云服务提供商:Nuclearn训练集群
模型架构和目标
SPARK - mini - instruct基于Phi3架构。
计算基础设施
该模型在Nuclearn训练集群上进行训练,这是一个具有800Gb/s Infiniband连接的A100 - 80GB SXM服务器集群。
🔧 技术细节
模型架构
基于Phi3架构,经过特定的训练和调优,以适应核电领域的任务需求。
训练技术
使用DeepSpeed Zero3技术在多节点的私有A100服务器集群上进行训练,采用bf16数据格式,提高训练效率和模型性能。
📄 许可证
许可证:CC - BY - NC,部分商业实体可免费、开放、不受限制使用,具体见上文说明。