Text Generation
Transformers
Safetensors
English
phi3
Rust
code
text-generation-inference
lora
reasoning
quantization
conversational
4-bit precision
bitsandbytes
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("SkyAsl/Rust-Master-thinking")
model = AutoModelForCausalLM.from_pretrained("SkyAsl/Rust-Master-thinking")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))Quick Links
🧠 Rust-Master-thinking
This repository contains a fine-tuned version of unsloth/phi-4-reasoning, trained with LoRA on the Tesslate/Rust_Dataset. The goal of this project is to enhance the model's reasoning, explanation, and step-by-step thinking abilities specifically for Rust-related tasks.
🚀 Model Purpose
This model was fine-tuned to:
- Improve Rust coding explanations
- Generate high-quality reasoning traces
- Provide step-by-step problem solving
- Give detailed and structured answers
The training format follows:
<|user|>
{prompt}
<|assistant|>
<think>
{reasoning}
</think>
{response}
🔧 How to Use
Install dependencies (if not installed):
pip install transformers bitsandbytes
Load model normally:
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "SkyAsl/Rust-Master-thinking"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto")
model.eval()
prompt = "Explain why Rust ownership prevents data races."
input_text = (
f"<|user|>\n{prompt}\n"
f"<|assistant|>\n<think>\n"
)
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
**inputs,
max_new_tokens=3000,
temperature=0.7,
top_p=0.9,
do_sample=True,
repetition_penalty=1.2,
)
print(tokenizer.decode(output[0], skip_special_tokens=False))
🧩 Base Model
unsloth/phi-4-reasoning
- 14B parameter reasoning-optimized model
- Uses internal
<think>reasoning - Strong on step-by-step chain-of-thought tasks
🛠 Fine-Tuning Details
| Setting | Value |
|---|---|
| Method | LoRA (PEFT) |
| Rank (r) | 16 |
| Alpha | 32 |
| Dropout | 0.05 |
| Target Modules | q/k/v/o proj, mlp (up/down/gate) |
| Max Length | 512 |
| Precision | 4-bit QLoRA |
| Batch Size | 16 |
| Grad Accum | 8 |
| LR | 2e-4 |
| Scheduler | cosine |
| Epochs | 1 |
🤖 Evaluation
| Epoch | Training Loss | Validation Loss |
|---|---|---|
| 1 | 2.251500 | 2.191743 |
📚 Dataset
Tesslate/Rust_Dataset
Includes:
- Rust prompts
- Step-by-step reasoning
- Final answers
This dataset improves the model's ability to produce structured and accurate explanations for Rust programming tasks.
- Downloads last month
- 2
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="SkyAsl/Rust-Master-thinking") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)