|
--- |
|
datasets: |
|
- kuznetsoffandrey/sberquad |
|
language: |
|
- ru |
|
metrics: |
|
- bleu |
|
- chrf |
|
base_model: |
|
- ai-forever/ruT5-base |
|
pipeline_tag: question-answering |
|
library_name: transformers |
|
--- |
|
|
|
|
|
# Проект: Чат-бот с использованием модели ruT5-base для ответов на вопросы |
|
|
|
## Описание |
|
Этот проект представляет собой систему, которая использует предобученную модель **ruT5-base** для генерации ответов на вопросы, основанных на предоставленном контексте. Я дообучаю модель на датасете SberQUAD, адаптируя её для задач вопросно-ответного взаимодействия на русском языке. |
|
|
|
## Датасет |
|
Я использую датасет [SberQUAD](https://huggingface.co/datasets/kuznetsoffandrey/sberquad), который содержит примеры вопросов и ответов на них в контексте различных текстов. Датасет разбит на тренировочные, валидационные и тестовые части. |
|
|
|
## Архитектура модели |
|
В качестве базовой модели используется [ruT5-base](https://huggingface.co/ai-forever/ruT5-base) — Encoder-Decoder модель, оптимизированная для задач на русском языке. Модель была дополнительно дообучена на кастомных данных для улучшения генерации ответов на основе предоставленного контекста. |
|
|
|
## Параметры обучения |
|
|
|
Для обучения использовались следующие параметры: |
|
|
|
```python |
|
output_dir="./models", |
|
optim="adafactor", |
|
num_train_epochs=1, # в идеале 2 эпохи |
|
do_train=True, |
|
gradient_checkpointing=True, |
|
bf16=True, |
|
per_device_train_batch_size=8, |
|
per_device_eval_batch_size=12, |
|
gradient_accumulation_steps=4, |
|
logging_dir="./logs", |
|
report_to="wandb", |
|
logging_steps=10, |
|
save_strategy="steps", |
|
save_steps=5000, |
|
evaluation_strategy="steps", |
|
eval_steps=300, |
|
learning_rate=3e-5, |
|
predict_with_generate=False, |
|
generation_max_length=64 |
|
``` |
|
|
|
К сожалению, мне не хватило вычислительного времени на Google Collab, поэтому модель была обучена только на одной эпохе с ~1416 шагами. |
|
## Результаты обучения |
|
|
|
| Шаг | Loss на валидации | Sbleu | Chr F | Rouge1 | Rouge2 | Rougel | |
|
|-----|-------------------|-------|-------|--------|--------|--------| |
|
| 300 | 1.025008 | 18.206400 | 62.316300 | 0.110400 | 0.035200 | 0.109800 | |
|
| 600 | 1.007530 | 18.523100 | 62.564700 | 0.113300 | 0.036500 | 0.112800 | |
|
| 900 | 0.959073 | 18.869000 | 63.001700 | 0.115100 | 0.035600 | 0.114600 | |
|
| 1200| 0.944776 | 18.656300 | 62.819800 | 0.115400 | 0.035800 | 0.115000 | |
|
|
|
|
|
|