aristotle_full / README.md
DmitryYarov's picture
Update README.md
3b23be6 verified
---
library_name: transformers
license: mit
base_model: gpt2-medium
tags:
- generated_from_trainer
metrics:
- accuracy
model-index:
- name: essays
results: []
---
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
# Модель: Essays Generation (GPT-2 Medium)
## Описание
Модель основана на GPT-2 Medium и предназначена для генерации эссе с использованием настроек обучения, описанных ниже. Используются текстовые данные, загруженные из кастомной конфигурации.
## Параметры модели
- **Модель**: GPT-2 Medium
- **Размер слоя**: 24
- **Контекстная длина**: 1024 токенов
- **Размер скрытого слоя**: 1024
- **Голов на слой**: 16
- **Объем словаря**: 50257 токенов
- **Функция активации**: `gelu_new`
## Параметры обучения и оптимизации
- **Оптимизатор**: AdamW (β1=0.9, β2=0.999, ε=1e-8)
- **Обучение на устройстве**: `cuda:0`
- **Количество эпох**: 30
- **Шагов на прогрев**: 500
- **Обучение с использованием fp16**: Да
- **Объем мини-батча на устройство (тренировка/оценка)**: 8
- **Градиентная аккумуляция**: 8 шагов
- **Чекпоинты сохранения**: каждые 1000 шагов (максимум 3 чекпоинта)
- **Стратегия сохранения**: по шагам (steps)
- **Скорость обучения**: 3e-05
- **Контроль переполнений**: включен (nan_inf_filter=True)
## Логирование и отчетность
- **Шаги логирования**: каждые 100
- **Отчеты**: TensorBoard, WandB
- **Директория логов**: `models/essays/runs/Feb14_18-50-17_4cf0e8a4721b`
## Данные
- **Источник данных**: Кастомная конфигурация `default-b280a7a97da73b33`
- **Формат данных**: текст
## Метрики обучения (Train Metrics)
- **Эпоха**: 30.0
- **Общее число FLOPs**: 1037903GF
- **Средняя потеря (train_loss)**: 2.3499
- **Время тренировки (train_runtime)**: 0:03:48.80
- **Количество тренировочных примеров (train_samples)**: 20
- **Тренировочные примеры в секунду (train_samples_per_second)**: 2.622
- **Тренировочные шаги в секунду (train_steps_per_second)**: 0.131
## Метрики оценки (Eval Metrics)
- **Эпоха**: 30.0
- **Точность (eval_accuracy)**: 0.4092
- **Потери (eval_loss)**: 1.9714
- **Время оценки (eval_runtime)**: 0:00:00.71
- **Количество оценочных примеров (eval_samples)**: 7
- **Оценочные примеры в секунду (eval_samples_per_second)**: 9.854
- **Оценочные шаги в секунду (eval_steps_per_second)**: 1.408
- **Перплексия (perplexity)**: 7.1805
## Дополнительные настройки
- **Использование градиентного чекпоинтинга**: Да
- **Детерминизм обучения**: Выключен
- **Стратегия планирования LR**: линейная
- **Распределенное обучение**: False
- **Точность вычислений**: 16-битное представление (fp16)
## Примечания
При запуске могут возникать предупреждения, связанные с регистрацией CUDA-библиотек (`cuFFT`, `cuDNN`, `cuBLAS`). Эти предупреждения не влияют на корректность работы модели.
# essays
This model is a fine-tuned version of [gpt2-medium](https://huggingface.co/gpt2-medium) on an unknown dataset.
It achieves the following results on the evaluation set:
- Loss: 1.9714
- Accuracy: 0.4092
### Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 3e-05
- train_batch_size: 8
- eval_batch_size: 8
- seed: 42
- gradient_accumulation_steps: 8
- total_train_batch_size: 64
- optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 500
- num_epochs: 30.0
- mixed_precision_training: Native AMP
### Training results
### Framework versions
- Transformers 4.49.0.dev0
- Pytorch 2.5.1+cu124
- Datasets 3.3.0
- Tokenizers 0.21.0
from transformers import GPT2LMHeadModel, GPT2Tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("path_to_your_model")
model = GPT2LMHeadModel.from_pretrained("path_to_your_model")
input_text = "The importance of philosophy in daily life"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs, max_length=200)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))