File size: 2,929 Bytes
ac6d894 793fddc ac6d894 22cf4c4 3ae034a 38ef32c 3ae034a dd096c4 3ae034a ac6d894 7ee6614 ac6d894 54070a5 ac6d894 54070a5 ac6d894 7ee6614 ac6d894 7ee6614 ac6d894 3ae034a dd096c4 3ae034a dd096c4 3ae034a 3f8cc1b ac6d894 3ae034a dd096c4 3ae034a 793fddc |
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 121 122 123 124 125 126 127 128 129 |
---
license: mit
datasets:
- Tesslate/Rust_Dataset
language:
- en
base_model:
- unsloth/phi-4-reasoning
pipeline_tag: text-generation
library_name: transformers
tags:
- Rust
- code
- text-generation-inference
- lora
- reasoning
- quantization
---
# 🧠 Rust-Master-thinking
This repository contains a fine-tuned version of
[**unsloth/phi-4-reasoning**](https://huggingface.co/unsloth/phi-4-reasoning), trained with **LoRA** on the
[**Tesslate/Rust_Dataset**](https://huggingface.co/datasets/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):
```bash
pip install transformers bitsandbytes
```
### Load model normally:
``` python
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. |