化学专业大型语言模型——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.下载模型及文件

下载地址:modelscope.cn/models/ifly...

下载命令

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

2.安装环境

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

3.快速使用

ini 复制代码
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)
ini 复制代码
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) 格式。

ini 复制代码
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)
相关推荐
扫地的小何尚3 分钟前
一小时内使用NVIDIA Nemotron创建你自己的Bash计算机使用智能体
开发语言·人工智能·chrome·bash·gpu·nvidia
UWA18 分钟前
有什么指标可以判断手机是否降频
人工智能·智能手机·性能优化·memory·游戏开发
San3018 分钟前
AI 歌词生成器:使用 OpenAI 打造你的专属作词助手
javascript·人工智能·node.js
第七序章21 分钟前
【C + +】unordered_set 和 unordered_map 的用法、区别、性能全解析
数据结构·c++·人工智能·算法·哈希算法·1024程序员节
一只落魄的蜂鸟25 分钟前
《图解技术体系》Wonderful talk AI ~~GPT
人工智能·gpt
DisonTangor25 分钟前
【2B篇】阿里通义 Qwen3-VL 新增 2B、32B 两个模型尺寸,手机也能轻松运行
人工智能·计算机视觉·语言模型·开源·aigc
Francek Chen29 分钟前
【自然语言处理】预训练01:词嵌入(word2vec)
人工智能·自然语言处理·word2vec
Dongsheng_201936 分钟前
【手机篇】AI深度学习在手机摄像头模组支架外观检测应用方案
人工智能·智能手机
郝学胜-神的一滴1 小时前
主成分分析(PCA)在计算机图形学中的深入解析与应用
开发语言·人工智能·算法·机器学习·1024程序员节
飞哥数智坊1 小时前
想用好 AI 编程?你可能得先学点管理
人工智能·ai编程