Козиев Илья (kelijah) wrote,
Козиев Илья
kelijah

Category:

Генерация уместных вопросов с помощью языковой модели huggingface GPT-2

Второй эксперимент с теми же вводными, как описаны в предыдущем посте. Теперь используем реализацию языковой модели GPT-2 в pytorch библиотеке transformers. Для ее использования нужно только склонировать реп и перейти в подкаталог examples с которыми скриптами.

Обучение модели выполнялось на CPU такой командой:

export TRAIN_FILE=/home/inkoziev/polygon/chatbot/tmp/gpt2_corpus.train.txt
export TEST_FILE=/home/inkoziev/polygon/chatbot/tmp/gpt2_corpus.eval.txt

python3 run_language_modeling.py --no_cuda \
--output_dir=output \
--model_type=gpt2 \
--model_name_or_path=gpt2 \
--do_train \
--line_by_line \
--num_train_epochs 2 \
--per_gpu_train_batch_size 10 \
--train_data_file=$TRAIN_FILE \
--do_eval \
--eval_data_file=$TEST_FILE


Таким образом, обучались 2 эпохи с батчами размером 10.

Генерацию сэмплов (уместные вопросы для предпосылки) выполняем интерактивно в консоли с помощью:

python3 run_generation.py --no_cuda --model_type=gpt2 --model_name_or_path=./output \
--length 40 \
--temperature 1.0 \
--num_return_sequences 5


Опциями явно выставлена температура 1.0, максимальная длина цепочки bpe-токенов 40 и генерация 5 сэмплов.

Результаты такие. Над чертой предпосылка, заканчивающаяся спецтокеном ergo, под чертой - сгенерированные вопросы.


кошки ловят мышей ergo
======================
кто может быть пойман кошкой
кого ловит кошка
кто может стать кошачьей за 6,000 кошк
кого кошка ловит
кого ловит кошка
кто хочет поймать кошки


львы ловят антилоп ergo
=======================
что не что ловят
что мне нравится
кто начал антилоп
где ловит антилоп
кто самолется два поймать к антилопами!


коты ловят жирных мышек ergo
============================
что находится коты
что ловит коты
кого коты ловят
кто ловит мышку
кто хочет поймать кошки


на ветке сидело пять ворон ergo
===============================
сколько сидело ветку
что пять на ветке
где пять на ветке
где сидело пять ворон
где сидело сидел



Воробьи клюют хлебные крошки ergo
=================================
что прошло на хлебне крошки
что необходится было
кого крошки хлебные крошки
кто хлебные крошки


Денис заказал пиццу ergo
========================
что пиццу начало
что пиццу заказал
кто пиццу заказал
кто пиццу заказал
кто заказал пиццу


На столе лежит стопка салфеток ergo
===================================
сколько салфеток лежит на столе
что надо очень лежит
кто пристался лежит
долго кто опыт поймать
кто саллфеток саллфеток


Как и в предыдущем эксперименте, результаты весьма посредственны. И что хуже всего, модель делает глупые ошибки, которые не делают даже дети в 5 лет в начальный период овладения языковыми навыками.

Tags: gpt-2, language model, генеративная модель, генерация текста
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments