gpt2-kiosk / README.md
momo's picture
Update README.md
366824c

kiosk_bot

KoGPT2๋ฅผ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ kiosk chatbot ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋Š” AiHub์˜ ํ•œ๊ตญ์–ด๋Œ€ํ™” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋Š” ํ•™์Šต๋งŒ ์ง„ํ–‰ํ•˜์˜€๊ณ  ๊ณต๊ฐœ๋Š” ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Architecture

Hugging face์˜ ์˜ˆ์ œ๋“ค์„ ๋ณด๋ฉฐ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

gpt

input ์€ User + <BOS> + System + <EOS>๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

output ์€ P(system|user)๋ฅผ ์ตœ๋Œ€ํ™” ์‹œํ‚ค๊ธฐ์œ„ํ•ด ๋ชจ๋ธ์„ ํ•™์Šตํ•˜์˜€๋‹ค.

Install

git clone https://github.com/momozzing/kiosk_bot.git
pip install requirements.txt

How to train?

๊ธฐ์กด ํ•™์Šต๋œ ๋ฐ์ดํ„ฐ๋กœ ๋Œ€ํ™”๋ฅผ ํ•˜๊ณ  ์‹ถ์œผ์‹œ๋ฉด install ํ›„ How to chat ์œผ๋กœ ๋„˜์–ด๊ฐ€์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

cd kiosk_bot/data  ## ์•ˆ์— ์›ํ•˜์‹œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์œผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

kiosk_bot/GPT-2_fine_tune.py  ## ์•ˆ์— ๋ฐ์ดํ„ฐ loader๋“ค์˜ ํŒŒ์ผ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

deepspeed --num_gpus=1 GPT-2_fine_tune.py ## ๋ณ€๊ฒฝํ›„ ์ด๊ฒƒ์œผ๋กœ ์‹คํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

๊ทธํ›„ ์ƒ์„ฑ๋œ skt-kogpt2-base-v2.pt ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

How to chat?

python interactive.py   ##๊ธฐ์กด ๋ฐ์ดํ„ฐ๋กœ ์ฑ„ํŒ…ํ•˜๊ธฐ

python new_data_interactive.py  ##์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋กœ ํŒŒ์ธํŠœ๋‹ํ•œ๊ฒƒ ptํŒŒ์ผ ๋ถˆ๋Ÿฌ์™€์„œ ์ฑ„ํŒ…ํ•˜๊ธฐ.

--๊ธฐ์กด ๋ฐ์ดํ„ฐ ์ฑ„ํŒ…--

User: ์•„๋ฉ”๋ฆฌ์นด๋…ธ ์ฃผ์„ธ์š”
System: ๋”ฐ๋œปํ•œ ๊ฑฐ ๋“œ๋ฆด๊นŒ์š”?

User: ์•„์ด์Šค๋กœ ์ฃผ์„ธ์š”
System: ์‚ฌ์ด์ฆˆ๋Š” ํ†จ ๊ดœ์ฐฎ์œผ์„ธ์š”?

User: ๊ทธ๋ž€๋ฐ ์‚ฌ์ด์ฆˆ๋กœ ์ฃผ์„ธ์š”
System: ์ฃ„์†กํ•œ๋ฐ ์ €ํฌ ๊ฐ€๊ฒŒ์—๋Š” ๋ ˆ๊ทค๋Ÿฌ๋ž‘ ๋ผ์ง€ ์‚ฌ์ด์ฆˆ ๋ฐ–์— ์—†์–ด์š”

User:  ๊ทธ๋Ÿผ ๋ผ์ง€์‚ฌ์ด์ฆˆ๋กœ ์ฃผ์„ธ์š”
System: ๋„ค ๊ณ ๊ฐ๋‹˜ ํ…Œ์ดํฌ์•„์›ƒ ํ•˜์‹œ๋‚˜์š”?

User: ๋จน๊ณ ๊ฐˆ๊ฒŒ์š”
System: ๋„ค ๊ทธ๋Ÿผ ๋จธ๊ทธ์ž”์œผ๋กœ ์ค€๋น„ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค

User: ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
System: ์ข‹์€ ํ•˜๋ฃจ ๋ณด๋‚ด์„ธ์š”

Reference

HuggingFace

KoGPT2

AIHUB