Downloads · 30 days
26
27% of all-time downloads
DarkyMan/Qwen2.5-1.5B-Opus46-Reasoning-LoRA
Qwen2.5-1.5B-Opus46-Reasoning-LoRA is a text generation model from DarkyMan. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
LoRA-адаптер для Qwen/Qwen2.5-1.5B-Instruct, дообученный на датасете chain-of-thought рассуждений, сгенерированных Claude Opus 4.6.
Downloads · 30 days
26
27% of all-time downloads
All-time downloads
96
Public
Repo size
85.3 MB
Likes
0
Public
Click a slice to open those files.
.safetensors73.9 MB · 87%
From the Hugging Face model README
LoRA-адаптер для Qwen/Qwen2.5-1.5B-Instruct, дообученный на датасете chain-of-thought рассуждений, сгенерированных Claude Opus 4.6.
Дистилляция reasoning-способностей из большой модели (Claude Opus 4.6) в маленькую (1.5B параметров). Модель учится не просто давать ответ, а рассуждать перед ответом — показывать цепочку мыслей (chain-of-thought).
| Step | Training Loss | Validation Loss |
|---|---|---|
| 100 | 1.0310 | 1.0309 |
| 200 | 0.9550 | 0.9557 |
| 300 | 0.8724 | 0.9172 |
| 400 | 0.8579 | 0.8938 |
| Параметр | Значение |
|---|---|
| Base model | Qwen/Qwen2.5-1.5B-Instruct |
| Method | QLoRA (4-bit NF4) |
| LoRA rank (r) | 16 |
| LoRA alpha | 32 |
| Target modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| LoRA dropout | 0.05 |
| Trainable params | 18.5M / 1.56B (1.18%) |
| Batch size | 4 × 8 grad_acc = 32 effective |
| Learning rate | 2e-4 |
| Scheduler | Cosine |
| Max seq length | 2048 |
| Optimizer | paged_adamw_8bit |
| Hardware | NVIDIA A100 40GB |
| Training time | ~1.5 часа |
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
# Загрузка базовой модели + LoRA
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-1.5B-Instruct",
torch_dtype=torch.bfloat16,
device_map="auto"
)
model = PeftModel.from_pretrained(base_model, "DarkyMan/Qwen2.5-1.5B-Opus46-Reasoning-LoRA")
tokenizer = AutoTokenizer.from_pretrained("DarkyMan/Qwen2.5-1.5B-Opus46-Reasoning-LoRA")
# Генерация
messages = [{"role": "user", "content": "Объясни TypeScript conditional types"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=2048,
temperature=0.7,
top_p=0.9,
do_sample=True
)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(response)
Это эксперимент по дистилляции reasoning-способностей из большой модели в маленькую. Датасет был сгенерирован с помощью Claude Opus 4.6 — каждый пример содержит внутреннюю цепочку рассуждений (reasoning) и финальный развёрнутый ответ (content).
Гипотеза: даже маленькая модель (1.5B) может научиться паттерну "сначала думай, потом отвечай", если обучить её на примерах рассуждений от большой модели.
Apache 2.0 (следует лицензии базовой модели Qwen2.5)