File size: 4,084 Bytes
459184f 56a0fa8 459184f f773e42 459184f 64959f4 459184f 56a0fa8 07c9e1d 459184f 56a0fa8 459184f 56a0fa8 459184f 56a0fa8 3591c04 56a0fa8 459184f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
---
base_model: unsloth/Qwen3-0.6B
library_name: peft
license: mit
datasets:
- camel-ai/loong
language:
- en
pipeline_tag: text-generation
tags:
- trl
- unsloth
- sft
- transformers
---
# Model Card for Chemistry-R1
## Model Details
- **Name:** Chemistry-R1
- **Base Model:** Qwen3-0.6B
- **Fine-Tuning Dataset:** ~2,000 chemistry reasoning problems, where solutions are computed step-by-step using Python code.
- **Training Objective:** The model was fine-tuned to reason through chemistry problems, generate step-by-step solutions using Python, and compute the final answer programmatically.
- Capabilities:
- Solves quantitative chemistry problems using code-based reasoning.
- Generates intermediate steps to explain calculations and chemical logic.
- Can output results as numerical answers, chemical equations, or calculated values.
## Uses
### Direct Use
This model is designed for:
- Educational Assistance: Helping students and educators solve and explain chemistry problems programmatically.
- Chemistry Problem Solving: Generating step-by-step solutions for quantitative chemistry calculations.
- Automated Reasoning Pipelines: Integrating into applications where chemistry computations need algorithmic precision.
## Bias, Risks, and Limitations
- Numerical Precision: The model may occasionally produce incorrect numerical results due to floating-point approximations or coding logic errors. Always verify critical calculations.
- Scope of Chemistry Knowledge: Fine-tuned on ~2K problems, so it may fail on very advanced or niche chemistry topics not represented in the training set.
- Python Execution Needed: The model generates Python code to solve problems, so it relies on a safe execution environment for computing final answers. It may not directly provide plain-text solutions without executing code.
- No Safety Checks: It does not account for chemical hazards, experimental safety, or lab protocols—only theoretical reasoning.
- Limited Generalization: Performance may degrade on problems requiring multi-step reasoning beyond the patterns seen in the fine-tuning dataset.
## How to Get Started with the Model
Use the code below to get started with the model.
```python
from huggingface_hub import login
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
tokenizer = AutoTokenizer.from_pretrained("unsloth/Qwen3-0.6B",)
base_model = AutoModelForCausalLM.from_pretrained(
"unsloth/Qwen3-0.6B",
device_map={"": 0}
)
model = PeftModel.from_pretrained(base_model,"khazarai/Chemistry-R1")
question = """
A bowl contains 10 jellybeans (four red, one blue and five white). If you pick three jellybeans from the bowl at random and without replacement,
what is the probability that exactly two will be red? Express your answer as a common fraction
"""
messages = [
{"role" : "user", "content" : question}
]
text = tokenizer.apply_chat_template(
messages,
tokenize = False,
add_generation_prompt = True,
enable_thinking = True,
)
from transformers import TextStreamer
_ = model.generate(
**tokenizer(text, return_tensors = "pt").to("cuda"),
max_new_tokens = 1500,
temperature = 0.6,
top_p = 0.95,
top_k = 20,
streamer = TextStreamer(tokenizer, skip_prompt = True),
)
```
**For pipeline:**
```python
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
tokenizer = AutoTokenizer.from_pretrained("unsloth/Qwen3-0.6B")
base_model = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3-0.6B")
model = PeftModel.from_pretrained(base_model, "khazarai/Chemistry-R1")
question="""
A bowl contains 10 jellybeans (four red, one blue and five white). If you pick three jellybeans from the bowl at random and without replacement,
what is the probability that exactly two will be red? Express your answer as a common fraction?
"""
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
messages = [
{"role": "user", "content": question}
]
pipe(messages)
```
### Framework versions
- PEFT 0.15.2 |