From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject:

SciCore-Mol

Date: 2026-11-15Commit: 8283148Signed: 2DC28CC7B26A283B ✓

Text generation model with 8.2B parameters. Safetensors weights, 21.1 GB in all. Published by openbmb under Apache-2.0.

8.2B params21.1GBSciCore-Molsafetensorspermissive
FactsParams8.2BSize21.1 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get openbmb/SciCore-Mol
# manifest sha256 4376107e1a2b… · 21.1 GB · 22 files
$ fw verify ./SciCore-Mol openbmb/SciCore-Mol
From sourceHosted (signed)openbmb/SciCore-MolLast check: 2026-11-15 03:36 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Overview

Size
21.1 GB
Weights
16.4 GB (safetensors)
Parameters
8.2B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
22, each with a sha256
Publisher
openbmb
Added
2026-11-15
Section
alt.freeweights.minicpm
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commitโ†’You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:36 UTCpassed

Model card

From the publisher at commit 8283148. Shown as plain text with links; images open at the publisher.

SciCore-Mol: Augmenting Large Language Models with Pluggable Molecular Cognition Modules#

https://github.com/OpenBMB/SciCore-Mol/blob/main/SciCore_Mol_Technical_Report.pdf OpenBMB/SciCore-Mol https://huggingface.co/openbmb/SciCore-Mol https://chenyxyx-scicore-mol.hf.space

Yuxuan Chen1, Changwei Lv2, Yunduo Xiao2, Yukun Yan2, Zheni Zeng*3, and Zhiyuan Liu2

1School of Electronic and Computer Engineering, Peking University, Shenzhen, China

2Tsinghua University, Beijing, China

3School of Intelligence Science and Technology, Nanjing University, Nanjing, China

*Corresponding author: zengzn@nju.edu.cn

๐Ÿ“– Introduction#

Large language models (LLMs) are increasingly popular in professional domains, while meet a fundamental cognitive tension when dealing with heterogeneous scientific data: LLMs are designed for discrete natural language symbolic sequences, whereas scientific entities represented by molecules are inherently topological and geometric. Forcing these structures into linear text inevitably results in information loss and semantic noise interferes with the LLM's cognitive reasoning.

We propose SciCore-Mol, a novel paradigm to augment the LLM with pluggable external cognitive modules, including a GVP encoder, a diffusion generator, and a numerical-sensitive Transformer (Reaction Transformer). This architecture preserves the general capabilities while providing specialized molecular perception for LLMs. With a two-stage alignment mechanism, external modules are invoked via special tokens and fused at the hidden-state level, enabling the LLM to deeply understand molecular information without sacrificing its core reasoning process.

โš™๏ธ Setup#

Prerequisites#
  • Python 3.10
  • CUDA 12.1
  • 8x A800/A100 80GB GPUs (recommended for full training)
Installation#
git clone https://github.com/ChenYX24/SciCore-Mol.git
cd SciCore-Mol

# Option A: Install with uv (recommended)
pip install uv
uv sync
uv sync --extra graph      # GVP-GNN dependencies (torch-geometric, torch-scatter, torch-cluster)
uv sync --extra flashattn  # FlashAttention (requires CUDA)
uv sync --group train      # DeepSpeed for distributed training

# Option B: Install with pip
python -m venv .venv
source .venv/bin/activate
pip install -e .
pip install -e ".[graph]"       # optional: GVP-GNN
pip install -e ".[flashattn]"   # optional: FlashAttention
pip install deepspeed swanlab   # optional: distributed training
Environment Variables#
cp configs/env.example.sh configs/env.sh
# Edit configs/env.sh to set your paths, then:
source configs/env.sh
VariableDescription
SCICORE_ROOTProject root directory
MODEL_DIRBase model directory (e.g., Qwen3-8B)
CHECKPOINT_DIRTrained checkpoint directory
DATA_DIRTraining and evaluation data
GVP_CHECKPOINTPretrained GVP-GNN weights
OPENAI_API_KEYAPI key for GPT baseline evaluation

๐Ÿ”ง Training#

SciCore-Mol follows a three-stage training pipeline (see figure above):

Stage 1: Component Pre-training#

Pre-train each component independently before joint training.

  • GVP Encoder + MLP Adapter: Align GVP molecular embeddings to LLM hidden space.
  bash scripts/run/gvp_mlp_pretrain_qwen.sh
  • Reaction Transformer (Layer2): Train on reaction data for yield prediction and embedding reconstruction.
  python scripts/layer2/train_layer2.py \
      --config scripts/layer2/layer2_train_config.yaml
Stage 2: Cross-Modal Alignment Training#

Joint SFT training with all modules connected. The LLM learns to invoke external modules via special <mol> tokens.

# Configure training in configs/qwen3_sft_epoch2_1.yaml
# Uses DeepSpeed ZeRO-3 for multi-GPU training
torchrun --nproc_per_node=4 \
    cotrain_llm_diffusion/train_step1_llm.py \
    --config configs/qwen3_sft_epoch2_1.yaml

Key config fields (in configs/qwen3_sft_epoch2_*.yaml):

  • paths.llm_name_or_path: Base LLM checkpoint
  • paths.gnn_state_dict_path: Pretrained GVP weights
  • paths.deepspeed_config: DeepSpeed config (ZeRO-2 or ZeRO-3)
  • training.freeze_strategy: Control which modules are frozen/trainable
Stage 3: Task-Specific Fine-tuning#

Fine-tune Layer2 (Reaction Transformer) on downstream tasks with configurable module freezing:

python scripts/layer2/train_layer2.py \
    --config scripts/layer2/layer2_train_config_stage2_v7b.yaml

After training, split the checkpoint into LLM and extra components:

python scripts/ckpt/split_llm_extras.py \
    --checkpoint_path ${CHECKPOINT_DIR}/your-checkpoint/ \
    --output_dir ${CHECKPOINT_DIR}/your-checkpoint/

๐Ÿ“Š Evaluation#

ChemBench4K (Product / Retrosynthesis / Yield / Captioning)#
# Evaluate all 5 tasks with logprob scoring
bash scripts/run/run_chembench_all_tasks.sh

# Or run individual tasks:
python scripts/eval/eval_layer2_chembench.py \
    --checkpoint_dir ${CHECKPOINT_DIR}/your-checkpoint \
    --task product \
    --output_dir eval_results/chembench/
MMLU Chemistry Subsets (5 subjects)#
python scripts/eval/eval_mmlu_interns1mini_5subsets.py \
    --model_path ${MODEL_DIR}/your-model \
    --output_dir eval_results/mmlu/
ORD Reaction Prediction (Full Pipeline)#
# Run Layer2-LLM integrated pipeline
bash scripts/layer2_llm/run_full_pipeline.sh

# Score predictions
python scripts/postprocess/score_only.py \
    --pred_dir eval_results/ord/
SMolInstruct (7 molecular tasks)#
# Automated multi-task evaluation with GPU scheduling
bash scripts/run/eval_smol_task_list.sh
Drug Optimization (ADMET scoring)#
# LLM-based drug optimization
python eval/drug_optim/eval_admet.py \
    --config eval/drug_optim/config/llm_cpt_sft.yaml

# Diffusion-based drug optimization
python eval/drug_optim/eval_diffusion.py \
    --config eval/drug_optim/config/diffusion_sft.yaml

๐Ÿ“„ Acknowledgement#

  • GVP-GNN โ€” Geometric Vector Perceptron for molecular structure encoding
  • LDMol โ€” Latent Diffusion for molecular generation
  • SMolInstruct โ€” Molecular instruction tuning benchmark
  • ChemBench โ€” Chemistry benchmark suite

๐Ÿฅฐ Citation#

@article{chen2026scicoremol,
  title={SciCore-Mol: Augmenting Large Language Models with Pluggable Molecular Cognition Modules},
  author={},
  journal={arXiv preprint arXiv:XXXX.XXXXX},
  year={2026}
}

๐Ÿ“ง Contact#

If you have questions, suggestions, or bug reports, please open an issue or email:

chenyuxuan225@gmail.com

๐Ÿ“œ License#

This project is dual-licensed under MIT and Apache 2.0.

Files

22 files ยท 21.1 GBWeights 16.4 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 22 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
Diffusion/ae.pt2.33 GBfcb50bdda62f61ec5be2b12c6a7aaf1f34dc4776c1963fe82495f483477d9135
Diffusion/diffusion.ckpt1.95 GBa7624d6a3731275683d6558ae1229b25f8e5b30aa29ca1be9379a9ecccfab2a7
Entity Recognizer/entity_recognizer.pt1.05 MB3967d778e29de8a703839678627789e7312b8157d5bae6bba56ac76c97539008
GVP/gvp_adapter.pt26.2 MB28c4925c61186aea919fec6b3483a3cf39b7ed887edc463083a4a95403c3ef22
GVP/gvp_encoder.pt8.00 MBf3ce940cd6629e710b8381c5fd1c07e87917f2209c0dad7acf6fa336643f0987
README.md7.60 KBe3f2eb98c223dad9318eb3f4303937c226ac68a6f7035d1e033ac4c6bb679a82
Reaction Transformer/reaction_transformer.pt411 MB787d6cf78cf0fb06b928dbc7699d2283fdf4f95d122b08d8d06d6f544326d32b
added_tokens.json726 Bf454e2f1f13a3b0bfa22f7e0a2e447944e25143f1ecce0335c2243a29398638e
chat_template.jinja4.17 KBa55ee1b1660128b7098723e0abcd92caa0788061051c62d51cbe87d9cf1974d8
config.json1.54 KB21efd94209aac5fcaf55ba1ffa3a4a4acd4cc104dbd0fdcd11a2feb4dc8828b1
generation_config.json143 B278aa0236c010838e6af9ad5405c6fceb62097720496840d9bb1be793274306d
merges.txt1.67 MB8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model-00001-of-00004.safetensors4.90 GB5e92785965194fe32a32d49d01c53de85079fb5c3e97984f7557206ba29a4a52
model-00002-of-00004.safetensors4.92 GB7852851afb8537858664304ee46aed12d95f5a1c1e1f12a8288dc2dfd8f7730d
model-00003-of-00004.safetensors4.98 GB9ef236fd2b68c195e54db71b3bcbcfc7390772534f056cb3e2af83da4fc9b28a
model-00004-of-00004.safetensors1.58 GBb3b6fb07c2621d62a07d5b918b78500179f06645b01e310130358c0f8b6f628b
model.safetensors.index.json32.9 KB1eb96b681e49746b0c24374e9b1af5d5b3db38f9761847d2b6004577c304248c
special_tokens_map.json342 B092ae740c1c447ccc3a8c5a473b2085559395cc075361d012e0d3c0add958f74
tokenizer.json11.4 MBa7786b066b08f1bfdeba3835eec0dc77a410320170b0babb59dfc3450fc0fa59
tokenizer_config.json5.41 KB9df4ab638ef3675716cfc115df888ceae2abe6743eb66c904d87ba1ac947b530
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
8283148519 pinned now2026-11-15 03:36 UTC22 files ยท 21.1 GB

Use it

$ fw get openbmb/SciCore-Mol
# manifest sha256 4376107e1a2b… · 21.1 GB · 22 files
$ fw verify ./SciCore-Mol openbmb/SciCore-Mol
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/openbmb/SciCore-Mol.json --dir ./SciCore-Mol $ python3 fw.py verify ./SciCore-Mol ./openbmb__SciCore-Mol.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/SciCore-Mol --revision 8283148519b42d0ad1b551ca0382e7480fbf0be4 --local-dir ./SciCore-Mol
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("openbmb/SciCore-Mol", revision="8283148519b42d0ad1b551ca0382e7480fbf0be4") model = AutoModelForCausalLM.from_pretrained("openbmb/SciCore-Mol", revision="8283148519b42d0ad1b551ca0382e7480fbf0be4", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve openbmb/SciCore-Mol --revision 8283148519b42d0ad1b551ca0382e7480fbf0be4

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
e3f2eb98c223dad9318eb3f4303937c226ac68a6f7035d1e033ac4c6bb679a82
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject: SciCore-MolDate: 2026-11-15Commit: 8283148Signed: 2DC28CC7B26A283B ✓
Upstream
openbmb/SciCore-Mol
Pinned commit
8283148519b42d0ad1b551ca0382e7480fbf0be4
Manifest
SciCore-Mol.json ยท .minisig
Manifest sha256
4376107e1a2b800b96b9bbc1c0c71cfc7fb748d2f78fbf3ae79600358e5a1d5e
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:36 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/openbmb/SciCore-Mol.json $ curl -O https://freeweights.allternit.com/manifests/openbmb/SciCore-Mol.json.minisig $ minisign -Vm SciCore-Mol.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/SciCore-Mol
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. SciCore-Mol.json. Provenance. Takedown history: none.
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Explore-GGUF
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report-GGUF
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-0.5B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-1B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-3B-gguf