Qwen3-0.6B Skill Classifier (LoRA)
LoRA-адаптер для классификации навыков на hard skills и soft skills.
Описание
Модель обучена классифицировать профессиональные навыки из вакансий на две категории:
- hard — технические навыки (Python, Docker, SQL, Excel и т.д.)
- soft — мягкие навыки (коммуникабельность, ответственность, лидерство и т.д.)
Метрики
| Метрика | Значение |
|---|---|
| Train Loss | 0.458 |
| Eval Loss | 0.450 |
| Test Loss | 0.450 |
| Test Perplexity | 1.57 |
Данные для обучения
- Источник: База вакансий skills_analyzer (1M+ вакансий)
- Всего примеров: 37,652
- Train/Val/Test: 33,886 / 1,883 / 1,883 (90/5/5)
- Распределение классов: Hard 67.3% / Soft 32.7%
Параметры обучения
| Параметр | Значение |
|---|---|
| LoRA rank (r) | 16 |
| LoRA alpha | 32 |
| LoRA dropout | 0.05 |
| Target modules | q_proj, k_proj, v_proj, o_proj |
| Epochs | 3 |
| Batch size | 16 |
| Learning rate | 2e-4 |
| Max length | 128 |
| Precision | FP16 |
Trainable params: 4.5M (0.76% от базовой модели)
Использование
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# Загрузка модели
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-0.6B",
torch_dtype=torch.float16,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-0.6B")
model = PeftModel.from_pretrained(base_model, "koskokos/qwen3-0.6b-skill-classifier-lora")
# Классификация навыка
def classify_skill(skill: str) -> str:
prompt = f"<|im_start|>user\nКлассифицируй навык как hard skill или soft skill. Ответь одним словом.\n\nНавык: {skill}<|im_end|>\n<|im_start|>assistant\n"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=5, do_sample=False)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return "hard" if "hard" in response.lower() else "soft"
# Примеры
print(classify_skill("Python")) # hard
print(classify_skill("Docker")) # hard
print(classify_skill("коммуникабельность")) # soft
print(classify_skill("лидерство")) # soft
Примеры классификации
| Навык | Класс |
|---|---|
| Python, Docker, PostgreSQL, Excel | hard |
| selenium, pytest, kubernetes | hard |
| коммуникабельность, ответственность | soft |
| аналитическое мышление, лидерство | soft |
| agile, scrum (методологии) | soft |
Ограничения
- Модель обучена на русскоязычных вакансиях, но понимает и английские термины
- Некоторые навыки могут быть пограничными (например, "agile" — методология, но требует soft skills)
- Рекомендуется использовать для массовой классификации с последующей ручной проверкой спорных случаев
Лицензия
Apache 2.0
Цитирование
@misc{qwen3-skill-classifier,
author = {koskokos},
title = {Qwen3-0.6B Skill Classifier LoRA},
year = {2024},
publisher = {Hugging Face},
url = {https://huggingface.co/koskokos/qwen3-0.6b-skill-classifier-lora}
}
- Downloads last month
- -