--- library_name: transformers datasets: - Safreliy/postgres_relevant_questions language: - ru - en base_model: - FacebookAI/xlm-roberta-large --- ### Описание модели для Hugging Face Hub **Задача:** Бинарная классификация текста на категории "general/irrelevant" (0) и "relevant" (1) --- ## Model Card ### Обучение - Эпохи: 10 - Batch size: 128 (A100 GPU) - Оптимизация: AdamW (lr=2e-5, weight decay=0.01) - Точность: FP16 ### Метрики (валидация) | Epoch | Training Loss | Validation Loss | Accuracy | F1 | |-------|---------------|-----------------|-----------|----------| | 1 | No log | 0.023392 | 0.993122 | 0.993124 | | 2 | 0.062700 | 0.027104 | 0.991497 | 0.991551 | | 3 | 0.062700 | 0.019751 | 0.995623 | 0.995613 | | 4 | 0.010100 | 0.029591 | 0.994123 | 0.994099 | | 5 | 0.010100 | 0.028012 | 0.995998 | 0.996004 | | 6 | 0.002500 | 0.034364 | 0.994998 | 0.995020 | | 7 | 0.002500 | 0.022700 | 0.996499 | 0.996503 | | 8 | 0.001000 | 0.025904 | 0.996249 | 0.996257 | | 9 | 0.001000 | 0.025345 | 0.996874 | 0.996876 | | 10 | 0.000000 | 0.025569 | 0.996874 | 0.996876 | --- ## Использование ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch model = AutoModelForSequenceClassification.from_pretrained("Safreliy/pgpro-bert-question-classifier ") tokenizer = AutoTokenizer.from_pretrained("xlm-roberta-large") def predict(text: str) -> float: inputs = tokenizer( text, padding="max_length", truncation=True, max_length=256, return_tensors="pt" ) with torch.no_grad(): outputs = model(**inputs) return torch.softmax(outputs.logits, dim=1)[0][1].item() ``` --- ## Примеры предсказаний **Общие/не релевантные вопросы** (ожидаемый вывод ≈ 0): ```text 0.0001 - Как приготовить свиные крылышки? 0.0005 - Привет 0.0002 - Напиши алгоритм обхода графа в ширину 0.0001 - Веди себя как коза 0.0001 - фывадолфывал ``` **Технические вопросы** (ожидаемый вывод ≈ 1): ```text 0.9999 - Что такое ShardMan в PostgreSQL? 0.9110 - Как работает логическая репликация? 0.9918 - How to erase data permanently? ``` --- ## Ограничения 1. **Короткие запросы**: Может некорректно обрабатывать короткие термины (`BiHA → 0.0002`) 2. **Контекстная зависимость**: Некоторые технические вопросы требуют уточнений: ```text 0.5238 - Какие преимущества Postgres Pro vs Oracle? ``` ---