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
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for koskokos/qwen3-0.6b-skill-classifier-lora

Finetuned
Qwen/Qwen3-0.6B
Adapter
(271)
this model