一、模型介绍
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 |
评估说明 :
- 所有结果显示零样本性能平均值对所有模型应用一致的评估协议DeepSeek-R1、Gemini 2.5 Pro、GPT-4.1 和 O3-mini 使用链式思维(CoT)推理并通过 API 验证进行评估Spark Chemistry-X1-13B 在 NVIDIA A800 80GB GPU 的本地环境中使用链式思维(CoT)推理进行评估评估数据集是自行构建的
二、模型部署
1.下载模型及文件
下载地址:modelscope.cn/models/ifly…
下载命令
pip install modelscopemodelscope download --model iflytek/Spark-Chemistry-X1-13B2.安装环境
cd iflytek/Spark-Chemistry-X1-13Bpip install -r requirements.txtpip install .3.快速使用
from modelscope import AutoModelForCausalLM, AutoTokenizerimport torch# Load model and tokenizermodel_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)# Reactivechat_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, AutoTokenizerimport torch# Load model and tokenizermodel_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)# Deliberativechat_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 AutoModelForCausalLMimport torchmodel_name = "iflytek/Spark-Chemistry-X1-13B"# Load FP32 weightsmodel = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype=torch.float32, # explicitly FP32 device_map="auto", trust_remote_code=True)# Convert to BF16model = model.to(torch.bfloat16)# Save BF16 weights for later fast loadingsave_path = "./Spark-Chemistry-X1-13B-bf16"model.save_pretrained(save_path, safe_serialization=True)
