Downloads · 30 days
124
100% of all-time downloads
Siesher/qwen3-1.7b-reasoning-lora
qwen3-1.7b-reasoning-lora is a text generation model from Siesher. Use it when you need the model to write or continue text. The card lists the license as apache-2.0.
Эта модель является дообученной (fine-tuned) версией Qwen/Qwen3-1.7B, адаптированной для выполнения сложных логических и математических задач с использованием адаптивного рассуждения (Adaptive Reasoning), включая Prog…
Downloads · 30 days
124
100% of all-time downloads
All-time downloads
124
Public
Repo size
3.9 GB
Likes
1
Public
Click a slice to open those files.
.safetensors3.9 GB · 95%
From the Hugging Face model README
Эта модель является дообученной (fine-tuned) версией Qwen/Qwen3-1.7B, адаптированной для выполнения сложных логических и математических задач с использованием адаптивного рассуждения (Adaptive Reasoning), включая Program-of-Thought (PoT). Дообучение проводилось с использованием методики LoRA (Low-Rank Adaptation).
Модель предназначена для задач, где требуется:
Для использования этой модели вам понадобятся библиотеки transformers и peft.
Предполагается, что адаптеры LoRA для этой модели уже загружены в этот репозиторий.
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import logging
# Настройка логирования
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
# --- Загрузка модели и токенайзера ---
base_model_name = "Qwen/Qwen3-1.7B"
# Путь к адаптерам LoRA на Hugging Face Hub (этот же репозиторий)
lora_adapters_path = "Siesher/qwen3-1.7b-reasoning-lora"
tokenizer = AutoTokenizer.from_pretrained(base_model_name, trust_remote_code=True)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
tokenizer.padding_side = "right"
base_model = AutoModelForCausalLM.from_pretrained(
base_model_name,
device_map="auto",
torch_dtype=torch.bfloat16, # Используем bfloat16 для инференса
trust_remote_code=True
)
# Загружаем адаптеры LoRA из указанного репозитория
model = PeftModel.from_pretrained(base_model, lora_adapters_path)
model.eval()
logger.info("Модель и токенайзер загружены.")
# --- Пример простого инференса ---
test_question = "Какое число является следующим в последовательности 1, 1, 2, 3, 5, 8, 13?"
messages = [{"role": "user", "content": test_question}]
prompt_text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer(prompt_text, return_tensors="pt").to(model.device)
logger.info(f"\nВопрос: {test_question}")
logger.info("Генерация ответа...")
with torch.no_grad():
output_tokens = model.generate(
**inputs,
max_new_tokens=100, # Уменьшено для краткости примера
do_sample=True,
temperature=0.7,
top_p=0.9,
repetition_penalty=1.1,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.pad_token_id
)
generated_text = tokenizer.decode(output_tokens[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
logger.info(f"Сгенерированный ответ:\n{generated_text}")
# Для полной реализации PoT с выполнением кода, как описано в вашем обучении,
# вам потребуется интегрировать функции `execute_python_code` и `run_inference_with_code_execution`
# из вашего скрипта дообучения.
Модель была дообучена с использованием следующей конфигурации LoRA:
Qwen/Qwen3-1.7Br: 32lora_alpha: 64lora_dropout: 0.05[q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj] (q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj)Learning Rate: 2e-05Per Device Train Batch Size: 1Gradient Accumulation Steps: 8Эффективный размер батча: 8Количество эпох: 1Максимальная длина последовательности (MAX_SEQ_LEN): 1024 токеновОптимизатор: adamw_torch_8bitТип точности: bfloat16 (для совместимых GPU, таких как NVIDIA T4, A100)Модель была дообучена на кастомном датасете Siesher/Adaptive_Skip_thinking_Reasoning, который содержит диалоги, предназначенные для развития навыков рассуждения и использования инструментов. Структура датасета соответствует формату диалогов Qwen.
Данный датасет можно найти по следующей ссылке: https://huggingface.co/datasets/Siesher/Adaptive_Skip_thinking_Reasoning
execute_python_code) в текущей реализации не является безопасной песочницей и не рекомендуется для выполнения произвольного кода из ненадежных источников в производственной среде.Ссылка на github с полным кодом дообучения модели и смежной с ней: https://github.com/Siesher/Qwen3_LoRA_pet Смежную модель же можно найти по этой ссылке: https://huggingface.co/Siesher/qwen3-1.7b-reasoning-lora_LoRA
Эта модель была дообучена в рамках исследования по адаптивному рассуждению в малых языковых моделях. Выражаем благодарность Hugging Face за платформу и библиотеки transformers, peft, datasets, а также разработчикам Qwen за отличную базовую модель.