化学专业大型语言模型——SparkChemistry-X1-13B本地部署教程:洞察分子特性,精准预测化学行为

一、模型介绍

iFLYTEK Spark Chemistry-X1-13B 是由 iFLYTEK 团队开发的化学专业大型语言模型。该模型在多种化学任务数据集上对 iFLYTEK Spark-X1 基础模型进行了微调,展示了在解决复杂化学问题方面的卓越能力,同时保持了强大的通用能力。该模型在与化学相关的基准测试中表现出色,并且在大多数评估指标上明显优于领先的通用模型。

主要特点

  • 深度推理架构 :结合长链思维(CoT)和双过程理论的统一框架,支持快速(反应式)和慢速(深思熟虑)两种思考模式
  • 混合训练稳定性 :新颖的注意力掩码机制将不同推理模式的训练阶段解耦,防止数据分布之间的干扰
  • 化学领域增强 :针对以下专业任务的多阶段优化:
    • 高级知识问答
    • 化学名称转换
    • 分子属性预测

模型概要

参数
总参数 13B
上下文长度 32K
窗口长度 32K
层数 40
注意力隐藏维度 5120
注意力头数 40
词汇量 130K
注意力机制 GQA
激活函数 GeLU

评估结果

粗体 = 全球最佳

任务 指标 Spark Chemistry-X1-13B DeepSeek-R1 Gemini 2.5 pro GPT-4.1 O3-mini
高级知识问答 准确率 84.00 77.00 64.00 76.00 80.00
名称转换 准确率 71.00 6.00 15.00 4.00 6.00
属性预测 准确率 85.33 41.73 51.19 51.66 67.58

评估说明

  1. 所有结果显示零样本性能平均值
  2. 对所有模型应用一致的评估协议
  3. DeepSeek-R1、Gemini 2.5 Pro、GPT-4.1 和 O3-mini 使用链式思维(CoT)推理并通过 API 验证进行评估
  4. Spark Chemistry-X1-13B 在 NVIDIA A800 80GB GPU 的本地环境中使用链式思维(CoT)推理进行评估
  5. 评估数据集是自行构建的

二、模型部署

1.下载模型及文件

下载地址:https://modelscope.cn/models/iflytek/Spark-Chemistry-X1-13B/files

下载命令

复制代码
pip install modelscope
modelscope download --model iflytek/Spark-Chemistry-X1-13B

2.安装环境

复制代码
cd iflytek/Spark-Chemistry-X1-13B
pip install -r requirements.txt
pip install .

3.快速使用

复制代码
from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch
# Load model and tokenizer
model_name = "iflytek/Spark-Chemistry-X1-13B"
tokenizer = AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.float32,
    device_map="auto",
    trust_remote_code=True
)
# Reactive
chat_history = [
  {
    "role" : "user",
    "content" : "请回答下列问题:高分子材料是否具有柔顺性主要决定于()的运动能力。\nA、主链链节\nB、侧基\nC、侧基内的官能团或原子?"
  }]

inputs = tokenizer.apply_chat_template(
    chat_history,
    tokenize=True,
    return_tensors="pt",
    add_generation_prompt=True
).to(model.device)

outputs = model.generate(
    inputs,
    max_new_tokens=8192,
    top_k=1,
    do_sample=True,
    repetition_penalty=1.02,
    temperature=0.7,
    eos_token_id=5,
    pad_token_id=0,
)

response = tokenizer.decode(
    outputs[0][inputs.shape[1] :],
    skip_special_tokens=True
)
print(response)

from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch
# Load model and tokenizer
model_name = "iflytek/Spark-Chemistry-X1-13B"
tokenizer = AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.float32,
    device_map="auto",
    trust_remote_code=True
)
# Deliberative
chat_history = [
  {
    "role" : "system",
    "content" : "请你先深入剖析给出问题的关键要点与内在逻辑,生成思考过程,再根据思考过程回答给出问题。思考过程以<unused6>开头,在结尾处用<unused7>标注结束,<unused7>后为基于思考过程的回答内容"
  }
  ,
  {
    "role" : "user",
    "content" : "请回答下列问题:高分子材料是否具有柔顺性主要决定于()的运动能力。\nA、主链链节\nB、侧基\nC、侧基内的官能团或原子?"
  }]


inputs = tokenizer.apply_chat_template(
    chat_history,
    tokenize=True,
    return_tensors="pt",
    add_generation_prompt=True
).to(model.device)

outputs = model.generate(
    inputs,
    max_new_tokens=8192,
    top_k=1,
    do_sample=True,
    repetition_penalty=1.02,
    temperature=0.7,
    eos_token_id=5,
    pad_token_id=0,
)

response = tokenizer.decode(
    outputs[0][inputs.shape[1] :],
    skip_special_tokens=True
)
print(response)

可选:将 FP32 权重转换为 BF16

发布的 Spark Chemistry-X1-13B 权重以 FP32 精度存储。 为了提高推理效率,用户可以选择将权重转换为 bfloat16 (BF16) 格式。

复制代码
from modelscope import AutoModelForCausalLM
import torch

model_name = "iflytek/Spark-Chemistry-X1-13B"

# Load FP32 weights
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.float32, # explicitly FP32
    device_map="auto",
    trust_remote_code=True
)

# Convert to BF16
model = model.to(torch.bfloat16)

#  Save BF16 weights for later fast loading
save_path = "./Spark-Chemistry-X1-13B-bf16"
model.save_pretrained(save_path, safe_serialization=True)
相关推荐
User_芊芊君子8 分钟前
CANN数学计算基石ops-math深度解析:高性能科学计算与AI模型加速的核心引擎
人工智能·深度学习·神经网络·ai
小白|11 分钟前
CANN与联邦学习融合:构建隐私安全的分布式AI推理与训练系统
人工智能·机器学习·自动驾驶
艾莉丝努力练剑18 分钟前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
梦帮科技19 分钟前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
程序员泠零澪回家种桔子21 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
Echo_NGC223724 分钟前
【FFmpeg 使用指南】Part 3:码率控制策略与质量评估体系
人工智能·ffmpeg·视频·码率
纤纡.34 分钟前
PyTorch 入门精讲:从框架选择到 MNIST 手写数字识别实战
人工智能·pytorch·python
大大大反派35 分钟前
CANN 生态中的自动化部署引擎:深入 `mindx-sdk` 项目构建端到端 AI 应用
运维·人工智能·自动化
程序猿追36 分钟前
深度解读 AIR (AI Runtime):揭秘 CANN 极致算力编排与调度的核心引擎
人工智能
2601_9495936540 分钟前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能