2021 10 14 Baseline Office Hour - KR-HappyFace/meetup-logs GitHub Wiki
Q&A
Q. truncation์ ํ๋ฉด ์๋ก์ด ์์ ๊ฐ ๋๋๋ฐ, stride๋ฅผ ์ค์ ์ด์ ์์ ์์ ์ฐ๊ฒฐ์ฑ์ ๋ถ์ฌํ๋ ์ด์ ๋ฅผ ์ ์ ์์๊น์!? ์ ๋ ํน์ฌ๋ answer์ด ์๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ์กฐ๊ธ์ด๋ผ๋ ๋ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.!
- ํ๋์ ์ธํ์ด ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ง๊ฒ ๋๋ฉด PLM์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ max len์ ์ค์ ํด์ค ์ ๋ฐ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ํด๋น ๊ฐ์ผ๋ก truncate๋ง ํด์ฃผ๊ฒ ๋ ๊ฒฝ์ฐ ์ฐ๋ฆฌ๋ ๋ฌธ์ฅ์ ์์ชฝ fragment๋ง ํ์ต์ ํ๊ฒ ๋ฉ๋๋ค. ๊ธด ๊ธธ์ด์ ๋ฌธ์ฅ๋ PLM์ผ๋ก ์ฒ๋ฆฌํ๋ฉด์ + ๋ท์ชฝ ๋ฌธ์ฅ๋ ๊ฐ์ด ๋ณด๊ธฐ์ํด์ stride๋ฅผ ์ฌ์ฉํ๊ณ , ์ต๋ํ ์์ชฝ context๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด ์ฐ๊ฒฐ์ฑ์ ๋ฐฉ์งํฉ๋๋ค. ( answer์ด ์๋ฆฌ๋ ๋ฌธ์ ๋ stride๋ฅผ ๊ฑธ์ด๋ ์๊ธฐ๊ธด ํฉ๋๋ค)
Q. ๋ต๋ณํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ง์ฝ A๋ผ๋ sequence๊ฐ ๋๋ก ๋๋์ด์ ธ์ A-1 / A-2๋ก ์ชผ๊ฐ์ง๋ค๋ฉด, doc_stride๊ฐ ๋ฐ์๋๋ ๋ถ๋ถ์ A-2์ผํ ๋ฐ(A-1์ ๋๋ถ๋ถ ํฌํจํ๋ฏ๋ก), ๋ฌธ์ฅ์ ์์ชฝ fragment๋ง ํ์ต์ ํ๊ฒ ๋๋ค๋ ๋ง์์ด ์ด๋ค ์๋ฏธ์ธ์ง ์ ์ ์์๊น์! ์ต๋ํ ์์ชฝ context๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด ์ฐ๊ฒฐ์ฑ์ ๋ฐฉ์งํ๋ค๋ ๋ง์๋ ์ดํด๋ฅผ ๋ชป ํ์ต๋๋ค..! ๊ด์ฐฎ์ผ์๋ค๋ฉด ์ถ๊ฐ ์ค๋ช ์ ๋ถํ๋๋ ค๋ ๋ ๊น์๐!
- (์ ๊ฐ ๋จ์ด๋ฅผ ์๋ชป์ผ๋๋ฐ ์ฐ๊ฒฐ์ฑ์ ๋ฐฉ์งํ๋๊ฒ ์๋๋ผ ์ ์งํ๋๊ฒ์ ๋๋ค ใ ใ ) ๋ง๋ถ์ฌ์ ๋ง์๋๋ฆฌ์๋ฉด ๋์ผํ ์ง๋ฌธ์ด ๋ค์ด์์ ๋ answer๊ฐ ์์ ํ ๊ตฌ๋ถ๋์ด์ ๋ฌ๋ผ์ ธ๋ฒ๋ฆฐ๋ค๋ฉด ๋ชจ๋ธ์ด ํท๊ฐ๋ ค ํ ์ ์์ต๋๋ค ใ ใ ๊ทธ๋ฌ๋ context๋ฅผ ์กฐ๊ธ ๋ ๊ณ ๋ คํด์ฃผ๋์์ผ๋ก ๋ชจ๋ธ์ ๊ตฌํํ๊ณ ์์ด์.
Q. tokenizer ๋๋ฌธ์ [๋ฐ์ดํฐ์ ์ ์ ๋ต]๊ณผ [๋ชจ๋ธ์ด ํ์ตํ๋ ์ ๋ต]์ด ๋ค๋ฅด๊ฒ ๋๋๋ฐ ์ด๋ฐ ๋ฌธ์ ๋ ์ด๋ป๊ฒ ํด๊ฒฐํ๋ฉด ์ข์๊น์? ์๋ฅผ ๋ค์ด ์ ๋ต์ด '๊ฐ์์ง ํ'์ธ๋ฐ, ์ ๋ต์ ๋ํ ํ ํฐํ๊ฐ '๊ฐ##', 'UNK', 'ํ' ์ผ๋ก ๋ ๊ฒ์ฒ๋ผ
- ํด๋น ๊ฒฝ์ฐ์๋ ๋ชจ๋ธ์ ์ ๋ต์ ๋ฐ๋ก ์ฌ์ฉํ๋๊ฒ ์๋๋ผ, ํ์ฒ๋ฆฌ ๊ณผ์ ์์ post process๋ฅผ ํตํด tokenized ๊ฐ์ decoding ์ ํตํด ํฉ์ณ์ฃผ๋ ๊ณผ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ํ์๋ ์์ ๊ฐ์ ์ผ์ด์ค๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ ์ ํํ๊ฒ ํฉ์น์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค.
- ๋ค๋ง roberta ๋ชจ๋ธ์ด๋ผ๋ฉด ์ ๋ฐ์์ผ๋ก ๋จ์ด ์ฌ์ด์ unk ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๋งค์ฐ ๋ฎ์ต๋๋ค (๊ต์ฅํ ํฐ vocab์ ๊ฐ์ง๋ฏ๋ก)
Q. stride์ ๊ฑธ์ด๋ answer๊ฐ ์๋ฆฌ๋ ๊ฒฝ์ฐ๋ ๊ทธ๋ฌ๋ฉด ์์ ํ ํด๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ ๋ฌธ์ ์ธ๊ฐ์? ๊ทธ๋ฅ ๋ฎ์ ํ๋ฅ ์ ๋ง๊ธฐ๋ ์๋ฐ์ ์๋ ๊ฒ์ผ๊น์?
- ๋ค ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
- ์ด๋ฐ ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ต๊ทผ์ long sequence ๋ฅผ ๋ค๋ฃจ๋ ๋ชจ๋ธ์ด ๋์ค๊ณ ์์ฃ !
Q. context๊ฐ ๋๊ฐ๋ก ์๋ ธ๋ค๊ณ ๊ฐ์ ํ๊ณ , answer๊ฐ ์๋ฆฐ ๋๊ฐ์ context์ ๋ชจ๋ ์๋ค๊ณ ๊ฐ์ ํ์๋, ๋๊ฐ์ ์ ๋ต์ด tokenized_examples์ ์ ์ฅ๋ ๊น์?
-
yes
-
๊ณผ์ ๊ฐ baseline ํ์ ์ ๋๋ฌด๋๋ฌด ๋์์ด ๋์์ต๋๋ค ใ ใ ใ
-
import *์ ํ์ง ์๊ธฐ๋ก ใ ใ ,,, ์ด๋์์ ์ค๋ ์ง ์ ์ ์๋ค,.
Recommendations
Q. extraction-based๋ generation-based mrc์ ๊ฒฐ๊ณผ๋ฅผ ์์๋ธํ ์๋ ์๋์!! .. ์ด๋ค์์ผ๋ก output์์๋ธ์ด ๊ฐ๋ฅํ ์ง ๋ ์ฌ์ญค๋ด๋ ๋ ๊น์!
- BLUE Score์ผ ์๋ ์๊ณ , Rule base๋ก ๊ฑธ๋ฌ์ ์ด๋ค ๋ชจ๋ธ์ output์ ์ ํํ ๊ฒ์ธ์ง์ ensemble๋ก ๋ณด์ ๋ ๋ ๊ฒ ๊ฐ๊ณ .
- ์๋๋ฉด ๋จ์ผ ๋ชจ๋ธ๋ก extraction-based์ generation-based๋ฅผ ํฉ์ณ๋ ๋ฉ๋๋ค. extraction-based๋ generation-based๋ encoder์ ํ์ฉํ๋ ๊ฑฐ๊ธฐ ๋๋ฌธ์, loss๋ฅผ ๊ฐ์ ๊ฑธ ์ฐ๊ณ backpropogation์ ๊ฐ์ด ํ ์ ์์ ๊ฒ๋๋ค. ์ด๊ฑด ์ฌ๋ฌ๋ถ๋ค์ด ์๋๋ฅผ ํด๋ณด์๊ณ .
Q. MRC์ฑ๋ฆฐ์ง์์ korquad๋ก pretrained๋ ๋ชจ๋ธ์ ์ฌ์ฉํด๋ ๋๋์? ์ธ๋ถ ๋ฐ์ดํฐ์ ์ ์ฌ์ฉ๋ง๋ผ๊ณ ์จ์ ์๊ธดํ๋ฐ ๊ธฐํ์ต ๊ฐ์ค์น๋ ์ ํ์์ด ํ์ฉ๋๋ค๊ณ ํด์ ๊ทธ๋ ์ต๋๋ค.
- KorQuad๋ก ์ ์ฅ๋์ด ์๋ ๋ชจ๋ธ์ finetuningํ๋ ๊ฒ์ ํ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
- ์ด์ ์ ๊ณต์ง๋๋ ธ๋ฏ์ด, ๊ธฐํ์ต ๊ฐ์ค์น (pretrained weight) ์ฌ์ฉ์ ์ ํ์ ์์ต๋๋ค.
- ๋ค๋ง KLUE MRC ๋ฐ์ดํฐ๋ก ํ์ต๋ ๊ธฐํ์ต ๊ฐ์ค์น ์ฌ์ฉ์ ๊ธ์งํฉ๋๋ค. KLUE ํ๋ก์ ํธ์์ ๊ณต๊ฐ๋ KLUE MRC ๋ฐ์ดํฐ์ ์ ์ผ๋ถ๋ ํ ๋ฆฌ๋๋ณด๋ ํ ์คํธ์ ์ ํฌํจํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ KLUE MRC ๋ฐ์ดํฐ๋ก ๊ธฐํ์ต๋ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ โํ ์คํธ์ ์ ๋ถ์ํ๊ณ ์ฌ์ฉ(ํ์ต)ํ๋ ํ์์ด๊ธฐ ๋๋ฌธ์ ๋ณธ ๋ํ์ ๋ถ์คํธ์บ ํ AI Tech ํ์ต์์๋ ๊ธ์งํฉ๋๋ค.
- ์ถ๊ฐ์ ์ผ๋ก ๋ํ ์ฐธ๊ฐ์ ๋ถ๋ค์ ์ฌ์ฉํ๋ ๊ธฐํ์ต ๊ฐ์ค์น๋ฅผ ๊ณต์ง๊ฒ์ํ์ โ๊ธฐํ์ต ๊ฐ์ค์น ๊ณต์งโ ๊ฒ์๊ธ์ ๋๊ธ๋ก pretrained weight ์ ๋ณด์ ์ ๊ทผ ๊ฐ๋ฅํ ๋งํฌ(link)๋ฅผ ๋ฐ๋์ ๊ณต์ ๋ถํ๋๋ฆฝ๋๋ค. ์ด๋ฏธ ๊ณต์ ๊ฐ ๋์ด ์์ ๊ฒฝ์ฐ ์ถ๊ฐ๋ก ๊ณต์ ์ฃผ์ค ํ์๋ ์์ต๋๋ค.
- ์คํผ์ค์์์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ, ์ฌ๋ฏธ์๋ ์์๋ธ ๋ชจ๋ธ๋ ๋ง๋ค์ด ๋ณด์ค ์ ์์ผ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ธ๋ง์ ํด๋ณด์๋๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค :pray: :pray:
Q. mrc ์ด์ธ์ ๋ชจ๋ธ์ ์ฌ์ฉํด์ ๋ชจ๋ธ์ ์ค๊ฐ์ค๊ฐ์ inferenceํ๋ฉด์ ํ์ฉํ๋ ๊ฒ์ ํ์ฉ๋๋๊ฑด๊ฐ์?
- ๋ค.
Useful MRC Reference
- https://github.com/danqi/acl2020-openqa-tutorial
- https://www.kaggle.com/c/chaii-hindi-and-tamil-question-answering
- https://github.com/cooelf/AwesomeMRC
- https://github.com/kakaobrain/pororo
- https://github.com/EricFillion/happy-transformer
- https://github.com/hellohaptik/multi-task-NLP
- https://github.com/facebookresearch/DrQA
- https://github.com/deepset-ai/FARM
- https://github.com/lebrice/SimpleParsing