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.