| ๊นํํ | ๊น์ํ | ๊น์คํธ | ์ต์ฅ์ |
| ํ์ฅ, ๋ฆฌ์์น, ๋ฐ์ดํฐ์์ฑ, ๋ชจ๋ธ๋ง, ํ์ฒ๋ฆฌ | ๋ฆฌ์์น, ๋ฐ์ดํฐ์์ฑ, ๋ชจ๋ธ๋ง, ํ์ฒ๋ฆฌ | ๋ฆฌ์์น, ๋ฐ์ดํฐ์์ฑ, ๋ชจ๋ธ๋ง, ํ์ฒ๋ฆฌ | ๋ฆฌ์์น, ๋ฐ์ดํฐ์์ฑ, ๋ชจ๋ธ๋ง, ํ์ฒ๋ฆฌ |
- AMD Ryzen Threadripper 3960X 24-Core Processor
- NVIDIA GeForce RTX 3090
- CUDA Version 12.2
- openai==1.7.2
- elasticsearch==8.8.0
- sentence_transformers==2.2.2
- wandb
- gemini
-
๊ณผํ ์ง์ ์ง์ ์๋ต ์์คํ ๊ตฌ์ถ
-
LLM์ ์ต๊ทผ ์ข์ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง Hallucination๊ณผ Knolwedge Cut-off ํ์์ด ์๋ค.
-
์ ๋จ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด์ RAG (Retrieval Augmented Generation)๋ฅผ ๋์ ํ๋ค.
-
LLM์ ๋ฑ์ฅ ์ดํ ์ฌ๋ฌ ์ฐ์ ๋ถ์ผ์์ ์ง์์ ๋ค๋ฃจ๋ ์ ๋ฌด๋ค์ด ์ ์ ๊ณ ๋ํ๋๊ณ ์์ต๋๋ค. ํนํ ์ ๋ณด๋ฅผ ์ฐพ๊ธฐ ์ํด ๊ฒ์์์ง์ ์ ๋ ฅ์ฐฝ์ ํค์๋๋ฅผ ์ ๋ ฅํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ณ ์ํ๋ ์ ๋ณด๊ฐ ์์ผ๋ฉด ๋ค๋ฅธ ํค์๋๋ก ๋ค์ ๊ฒ์ํ๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ ๋ฒ๊ฑฐ๋ก์ด ๊ณผ์ ์ ์ด์ ๋์ด์ ์์ฃผ ํ ํ์๊ฐ ์์ด์ก์ต๋๋ค. ์ด์ LLMํํ ๋ฌผ์ด๋ณด๋ฉด ์ง๋ฌธ์ ์๋๊น์ง ํ์ ํด์ ํ์ํ ๋ด์ฉ๋ง ์ ์ ๋ฆฌํด์ ์๋ ค ์ค๋๋ค.

-
๊ทธ๋ ์ง๋ง LLM์ด ๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ํ๊ณ๋ ์์ต๋๋ค. ๋จผ์ , ์ ๋ณด๋ผ๋ ๊ฒ์ ์๋ฏธ๋ ๊ฐ์น๊ฐ ์๊ฐ์ ๋ฐ๋ผ ๊ณ์ ๋ณํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ์ด ์ด๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ตํ๊ธฐ ํ๋ค๊ณ ์ด ๋๋ฌธ์ ์๋ ์์์ฒ๋ผ knowledge cutoff ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์ํฉ๋๋ค.

-
๊ทธ๋ฆฌ๊ณ LLM์ด ์๋ ค์ฃผ๋ ์ง์์ด ํญ์ ์ฌ์ค์ ๊ธฐ๋ฐํ ๊ฒ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค. ํนํ ํน์ ๋๋ฉ์ธ์ด๋ ๋ฌธ์ ์์ญ์ ๋งค์ฐ ์ฌ๊ฐํ ๊ฑฐ์ง ์ ๋ณด๋ค์ ์์ฑํด ๋ด๊ณค ํฉ๋๋ค. ์๋ ์์์์ ์ถ์ฒํ๋ ๋ง์ง๋ค์ ๋ชจ๋ ์ค์ฌํ์ง ์๋ ์ฅ์๋ค์ ๋๋ค.

-
์ด๋ฌํ ํ๊ฐ ํ์์ ๋ฉํ์ธ์ง๋ฅผ ํ์ตํ์ง ์์ LLM์ ๊ทผ๋ณธ์ ์ธ ํ๊ณ๋ผ ๋ณผ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ ํ์ต ๊ณผ์ ์์ ์ ๋ณด๋ฅผ ์์ถํด์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์ ๋ณด์ ์์ค์ด ๋ฐ์ํ ์๋ฐ์ ์๊ณ , ์ด ๋๋ฌธ์ ํน์ ์ ๋ ฅ ์กฐ๊ฑด์ ๋ํด์๋ ์ฌ์ค ์ฌ๋ถ๋ณด๋ค๋ ์ง์๋ฅผ ํํํ๋ ๊ตญ์์ ์ธ ํจํด์ด ๋ ํฐ ์ํฅ์ ์ฃผ๋ฉด์ ๋ต๋ณ์ด ์์ฑ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด์๋ RAG(Retrieval Augmented Generation) ๊ธฐ์ ์ด ํ์์ ๋๋ค. RAG๋ ์ง๋ฌธ์ ์ ํฉํ ๋ ํผ๋ฐ์ค ์ถ์ถ์ ์ํด ๊ฒ์์์ง์ ํ์ฉํ๊ณ ๋ต๋ณ ์์ฑ์ ์ํด LLM(Large Language Model)์ ํ์ฉํฉ๋๋ค. ์ด๋ LLM์ ์ค์ค๋ก ์๊ณ ์๋ ์ง์์ ์ถ๋ ฅํ๊ธฐ๋ณด๋ค๋ ์ธ์ด ์ถ๋ก ๋ฅ๋ ฅ์ ๊ทน๋ํํ๋ ๊ฒ์ ๋ฐฉ์ ์ ๋ก๋๋ค. ์ด๋ ๊ฒ ์ฌ์ค์ ๊ธฐ๋ฐํ ์ง์ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ง๋ฌธ์ ๋ต์ ํ๊ณ ์ถ์ฒ ์ ๋ณด๋ ๊ฐ์ด ์ค ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ ํจ์ฌ ๋ ์์ฌํ๊ณ ์ ๋ณด๋ฅผ ์๋นํ ์ ์๊ฒ ๋ฉ๋๋ค. ์๋์ ๊ทธ๋ฆผ์ด ๋ฐ๋ก RAG ๊ตฌ์กฐ์ ๋๋ค.
-
RAG๋ ์ง๋ฌธ์ ์ ํฉํ ๋ ํผ๋ฐ์ค ์ถ์ถ์ ์ํด ๊ฒ์์์ง์ ํ์ฉํ๊ณ ๋ต๋ณ ์์ฑ์ ์ํด LLM(Large Language Model)์ ํ์ฉํฉ๋๋ค. ์ด๋ LLM์ ์ค์ค๋ก ์๊ณ ์๋ ์ง์์ ์ถ๋ ฅํ๊ธฐ๋ณด๋ค๋ ์ธ์ด ์ถ๋ก ๋ฅ๋ ฅ์ ๊ทน๋ํํ๋ ๊ฒ์ ๋ฐฉ์ ์ ๋ก๋๋ค. ์ด๋ ๊ฒ ์ฌ์ค์ ๊ธฐ๋ฐํ ์ง์ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ง๋ฌธ์ ๋ต์ ํ๊ณ ์ถ์ฒ ์ ๋ณด๋ ๊ฐ์ด ์ค ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ ํจ์ฌ ๋ ์์ฌํ๊ณ ์ ๋ณด๋ฅผ ์๋นํ ์ ์๊ฒ ๋ฉ๋๋ค.
-
์ด๋ฒ ๋ํ์์๋ ๊ณผํ ์์์ ์ง๋ฌธํ๋ ์๋๋ฆฌ์ค๋ฅผ ๊ฐ์ ํ๊ณ ๊ณผํ ์์ ๋ฌธ์ 4200์ฌ๊ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฒ์์์ง์ ์์ธํด ๋ก๋๋ค. ๋ํ ๋ฉ์์ง ๋๋ ์ง๋ฌธ์ด ๋ค์ด์ค๋ฉด ๊ณผํ ์์์ ๋ํ ์ง๋ฌธ ์๋์ธ์ง ๊ทธ๋ ์ง ์์ ์ง ํ๋จ ํ์ ๊ณผํ ์์ ์ง๋ฌธ์ด๋ผ๋ฉด ๊ฒ์์์ง์ผ๋ก๋ถํฐ ์ ํฉํ ๋ฌธ์๋ค์ ์ถ์ถํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ต๋ณ์ ์์ฑํฉ๋๋ค.ย ๋ง์ผ ๊ณผํ ์์ ์ด์ธ์ ์ง๋ฌธ์ด๋ผ๋ฉด ๊ฒ์์์ง์ ํ์ฉํ ํ์ ์์ด ์ ์ ํ ๋ต์ ๋ฐ๋ก ์์ฑํฉ๋๋ค.
-
๋ง์ง๋ง์ผ๋ก, ๋ณธ ํ๋ก์ ํธ๋ ๋ชจ๋ธ๋ง์ ์ค์ ์ ๋ ๋ํ๊ฐ ์๋๋ผ RAG(Retrieval Augmented Generation) ์์คํ ์ ๊ฐ๋ฐ์ ์ง์คํ๊ณ ์์ต๋๋ค. ์ด ๋ํ๋ ์ฌ๋ฌ ๋ชจ๋ธ๊ณผ ๋ค์ํ ๊ธฐ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์์๋ธ์ ํ์ฉํ์ฌ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ์ผ๋ฐ์ ์ธ ๋ชจ๋ธ๋ง ๋ํ์๋ ๋ค๋ฆ ๋๋ค. ๋์ ์ ๊ฒ์ ์์ง์ด ์ฌ๋ฐ๋ฅธ ๋ฌธ์๋ฅผ ์์ธํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์์ฑ๋ ๋ต๋ณ์ด ์ ์ ํ์ง ์ง์ ํ์ธํ๋ ๊ฒ์ด ์ค์ํ ๋ํ์ ๋๋ค. ๋ฐ๋ผ์, ์ฐธ๊ฐ์๋ค์ ์์ ๊ท๋ชจ์ ํ ์ด ๋ฐ์ดํฐ์ (10๊ฐ ๋ฏธ๋ง)์ ์ฌ์ฉํ์ฌ ์ด๊ธฐ ์คํ์ ์งํํ ํ์ ์ ์ฒด ๋ฐ์ดํฐ์ ์ ๋ํ ํ๊ฐ๋ฅผ ์งํํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ค์ ๋ก RAG ์์คํ ์ ๊ตฌ์ถํ ๋์๋ ์ด๋ฌํ ๋ฐฉ์์ด ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉ๋๋ฉฐ, ์ด๋ฅผ ํตํด ์คํ์ ๋์ฑ ํจ์จ์ ์ผ๋ก ์งํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฒ ๋ํ๋ 2์ฃผ๊ฐ ์งํ๋๋ฉฐ, ํ๋ฃจ์ ์ ์ถํ ์ ์๋ ํ์๊ฐ 5ํ๋ก ์ ํ๋ฉ๋๋ค.
- April 8, 2024 - Start Date: Studying Lectures
- April 11, 2024 - First Mentoring
- April 15, 2024 - Starting Project Date
- April 18, 2024 - Second Mentoring
- April 23, 2024 - Third Mentoring
- May 2, 2024 - Final submission deadline
โโโ code
โโโ configs
โโโ datasets
โโโ logger
โโโ models
โโโ docs
โ โโโ pdf
โ โ โโโ (Template) [ํจ์คํธ์บ ํผ์ค] Upstage AI Lab 1๊ธฐ_๊ทธ๋ฃน ์คํฐ๋ .pptx
โ โโโ paper
โโโ data
โ โโโ documents.jsonl
โ โโโ eval.jsonl
โ โโโ generated_questions_single_train.csv
โ โโโ generated_questions_single_val.csv
โ โโโ generated_questions_single_test.csv
โ โโโ generated_questions_multiple_train.csv
โ โโโ generated_questions_multiple_val.csv
โ โโโ generated_questions_multiple_test.csv
โ โโโ gemini_q_generation_sample.ipynb
โโโโโโโโโโโ train.py
- ๊ณผํ ์์ ๋ฌธ์ 4272๊ฐ
- ko_ai2_arc__ARC_Challenge์ ko_mmlu ๋ฐ์ดํฐ
- ์ด 63๊ฐ์ ๋ฐ์ดํฐ ์์ค (ko_mmlu__human_sexuality__train, ko_mmlu__human_sexuality__test ๋ฑ์ ๋ณ๊ฐ๋ก ์นด์ดํธ, ๋ํ ko_mmlu__human_sexuality__train๊ณผ ko_mmlu__conceptual_physics__train ๋ ๋ณ๊ฐ๋ก ์นด์ดํธ)
- ํ์ผ ํฌ๋งท์ ๊ฐ line์ด json ๋ฐ์ดํฐ์ธ jsonl ํ์ผ์ ๋๋ค.
ํ์ต ๋ฐ์ดํฐ
{"docid": "42508ee0-c543-4338-878e-d98c6babee66", "src": "ko_mmlu__nutrition__test", "content": "๊ฑด๊ฐํ ์ฌ๋์ด ์๋์ง ๊ท ํ์ ํํ ์ํ๋ก ์ ์งํ๋ ๊ฒ์ ์ค์ํฉ๋๋ค.
์๋์ง ๊ท ํ์ ์๋์ง ์ญ์ทจ์ ์๋์ง ์๋น์ ์ํ์ ๋๋ฑ์ฑ์ ์๋ฏธํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฑด๊ฐํ ์ฌ๋์ 1-2์ฃผ์ ๊ธฐ๊ฐ ๋์ ์๋์ง ๊ท ํ์ ๋ฌ์ฑํฉ๋๋ค. ์ด ๊ธฐ๊ฐ ๋์์๋ ์ฌ๋ฐ๋ฅธ ์๋จ๊ณผ ์ ์ ํ ์ด๋์ ํตํด ์๋์ง ์ญ์ทจ์ ์๋์ง ์๋น๋ฅผ ์กฐ์ ํด์ผ ํฉ๋๋ค.
์๋จ์ ์์๊ฐ ์๋ ์ํ์ ํฌํจํ๊ณ , ์ ์ ํ ์นผ๋ก๋ฆฌ๋ฅผ ์ญ์ทจํด์ผ ํฉ๋๋ค. ๋ํ, ์ด๋์ ์๋์ง ์๋น๋ฅผ ์ด์ง์ํค๊ณ ๊ทผ์ก์ ๊ฐํ์ํต๋๋ค. ์ด๋ ๊ฒ ์๋์ง ๊ท ํ์ ์ ์งํ๋ฉด ๊ฑด๊ฐ์ ์ ์งํ๊ณ ๋น๋ง์ด๋ ์์ ์ค์กฐ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์๋ฐฉํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ฑด๊ฐํ ์ฌ๋์ ์๋์ง ๊ท ํ์ ํํ ์ํ๋ก ์ ์งํ๋ ๊ฒ์ด ์ค์ํ๋ฉฐ, ์ด๋ฅผ ์ํด 1-2์ฃผ์ ๊ธฐ๊ฐ ๋์ ์๋จ๊ณผ ์ด๋์ ์กฐ์ ํด์ผ ํฉ๋๋ค."}
{"docid": "7a3e9dc2-2572-4954-82b4-1786e9e48f1f", "src": "ko_ai2_arc__ARC_Challenge__test", "content": "์ฐ๊ผญ๋๊ธฐ์์๋ ์ค๋ ฅ์ด ์์ฃผ ์ฝ๊ฐย ๋ณํฉ๋๋ค.
์ด๋ ๋ฌด๊ฒ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ฐ๊ผญ๋๊ธฐ์์๋ ๋ฌด๊ฒ๊ฐ ๊ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ฅ ๋์ต๋๋ค. ์ค๋ ฅ์ ์ง๊ตฌ์ ์ง๋์ ์ํด ๊ฒฐ์ ๋๋ฉฐ, ์ฐ๊ผญ๋๊ธฐ์์๋ ์ง๊ตฌ์ ์ง๋๊ณผ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ ๋ฉ์ด์ง๊ธฐ ๋๋ฌธ์ ์ค๋ ฅ์ด ์ฝ๊ฐ ๊ฐ์ํฉ๋๋ค.
๋ฐ๋ผ์, ์ฐ๊ผญ๋๊ธฐ์์๋ ๋ฌด๊ฒ๊ฐ ๋ ๊ฐ๋ณ๊ฒ ๋๊ปด์ง ์ ์์ต๋๋ค."}
ํ๊ฐ ๋ฐ์ดํฐ
20๊ฐ์ ๋ฉํฐํด ๋ํ์ 20๊ฐ์ ๊ณผํ ์์ ์ด์ธ์ ์ผ์ ๋ํ
{"eval_id": 0, "msg": [{"role": "user", "content": "๋๋ฌด์ ๋ถ๋ฅ์ ๋ํด ์กฐ์ฌํด ๋ณด๊ธฐ ์ํ ๋ฐฉ๋ฒ์?"}]}
{"eval_id": 1, "msg": [{"role": "user", "content": "๊ฐ ๋๋ผ์์์ ๊ณต๊ต์ก ์ง์ถ ํํฉ์ ๋ํด ์๋ ค์ค."}]}
{"eval_id": 2, "msg": [{"role": "user", "content": "๊ธฐ์ต ์์ค์ฆ ๊ฑธ๋ฆฌ๋ฉด ๋๋ฌด ๋ฌด์ญ๊ฒ ๋ค."}, {"role": "assistant", "content": "๋ค ๋ง์ต๋๋ค."}, {"role": "user", "content": "์ด๋ค ์์ธ ๋๋ฌธ์ ๋ฐ์ํ๋์ง ๊ถ๊ธํด."}]}
{"eval_id": 3, "msg": [{"role": "user", "content": "ํตํ ๋ฒ์ค์ ๊ฐ์น์ ๋ํด ๋งํด์ค."}]}
{"eval_id": 4, "msg": [{"role": "user", "content": "Dmitri Ivanovsky๊ฐ ๋๊ตฌ์ผ?"}]}
{"eval_id": 36, "msg": [{"role": "user", "content": "๋๊ฐ ๋๋ต์ ์ํด์ค์ ๋๋ฌด ์ ๋!"}]}
ํ๊ฐ ๋ฐฉ๋ฒ
mAP (mean Average Precision)
mAP๋ ์ง์ N๊ฐ์ ๋ํ Average Precision์ ํ๊ท ๊ฐ์ ๊ตฌํ๊ณ , Average Precision์ Precision-recall curve์์ ์๋์ชฝ ๋ฉด์ ์ ์๋ฏธํฉ๋๋ค.
๊ณ์ฐ ๊ณผ์ ์ ๋์ํํ๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ฒ ๋ํ์์๋ MAP๋ฅผ ์ฝ๊ฐ ๋ณํํ์ฌ RAG ํ๊ฐ์ ์ ํฉํ๋๋ก ์ด์ง ์์ ํ ํํ์ ๋ก์ง์ ์ฌ์ฉํฉ๋๋ค. ๋ํ ๋ฉ์์ง๊ฐ ๊ณผํ ์์์ ๋ํ ์ง๋ฌธ์ผ ์๋ ์๊ณ ์๋์๋ ์๊ธฐ ๋๋ฌธ์ ๊ณผํ ์์ ์ง๋ฌธ์ด ์๋ ๊ฒฝ์ฐ๋ ๋ฌธ์๋ฅผ ์ถ์ถํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ๊ฒ์์ด ํ์์๋ ground truth ํญ๋ชฉ์ ๋ํด์๋ ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ 1์ ์ผ๋ก ์ฃผ๊ณ ๊ทธ๋ ์ง ์๋ ๊ฒฝ์ฐ๋ 0์ ์ผ๋ก ๊ณ์ฐํ๊ฒ ๋ก์ง์ ์ถ๊ฐํ์ต๋๋ค. ์๋ ์ฝ๋์ else ๋ถ๋ถ์ด ์ด์ ํด๋นํ๊ณ ๋๋จธ์ง ๋ก์ง์ ์๋ MAP ๊ณ์ฐ ๋ก์ง์ ๊ทธ๋๋ก ๋ฐ๋ฆ ๋๋ค.
def calc_map(gt, pred):ย ย
sum_average_precision = 0ย ย
for j in pred:ย ย ย ย
if gt[j["eval_id"]]:ย ย ย ย ย ย
hit_count = 0ย ย ย ย ย ย
sum_precision = 0ย ย ย ย ย ย
for i,docid in enumerate(j["topk"][:3]):ย ย ย ย ย ย ย ย
if docid in gt[j["eval_id"]]:ย ย ย ย ย ย ย ย ย ย
hit_count += 1ย ย ย ย ย ย ย ย ย ย
sum_precision += hit_count/(i+1)ย ย ย ย ย ย
average_precision = sum_precision / hit_count if hit_count > 0 else 0ย ย ย ย
else:ย ย ย ย ย ย
average_precision = 0 if j["topk"] else 1ย ย ย ย
sum_average_precision += average_precisionย ย
return sum_average_precision/len(pred)
- ๊ณผํ ์ง๋ฌธ์ ์ข ๋ฅ src์์ ์ถ์ฒ์ธ ko_mmlu์ ko_ai2๋ฅผ ์ ์ธํ๊ณ , ๋ท๋ถ๋ถ์ train, validation, test๋ฅผ ์ ์ธํ ๊ฐ์ด๋ฐ ๋ถ๋ถ์ ๊ณผํ ์ง์ domain์ผ๋ก ์ค์ ํ๋ค. ko_mmlu__conceptual_physics__test ko_ai2_arc__ARC_Challenge__test ์ ๋ ์์์ธ ๊ฒฝ์ฐ conceptual_physics์ ARC_Challenge๋ก ๋ง๋ค์ด์ domain์ ํ ๋นํ๋ค. ๋ชจ๋ domain์ ๋ชจ์๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
'nutrition', 'conceptual_physics', 'ARC_Challenge',
'human_sexuality', 'virology', 'human_aging',
'high_school_biology', 'high_school_physics', 'college_biology',
'computer_security', 'anatomy', 'college_physics',
'medical_genetics', 'electrical_engineering', 'college_medicine',
'college_chemistry', 'astronomy', 'college_computer_science',
'global_facts', 'high_school_chemistry',
'high_school_computer_science'
- ํ์ฌ documents.jsonl์๋ ์ ๋ต์ ํด๋นํ๋ ๋ฌธ์๋ง ์กด์ฌํ๊ณ ์ง๋ฌธ(ํน์ ์ง์)๊ฐ ์๋ค.
- ์ฃผ์ด์ง ๋ฌธ์์ ๋ํ ์ง์๊ฐ ์์ผ๋ฏ๋ก ๋ค๋ฅธ LLM์ ํ์ฉํ์ฌ ์์ฑ.
- ๋ฌด๋ฃ API์ธ Google์ Gemini๋ฅผ ์ด์ฉํด ์์ฑ.
์ง๋ฌธ ์์ฑ์ ๋ค์์ ๊ฐ๋จํ ๋ช ๋ น์ด๋ฅผ ํตํด์ ์์ฑํ๋ค.
f"""{document}
์ ๋ฌธ์์์ ์ง๋ฌธ 5๊ฐ ๋ง๋ค์ด์ค
"""
- ๋ฉํ ๋์ ์กฐ์ธ์ ๋ฐ๋ผ์ ์ง์์ ์๋ต์ pair๋ฅผ Cosine Embedding Loss๋ก ์ต์ ํ ์๋.
- ์ด๋ฅผ ์ํด์๋ ์ง์์ ์๋ต ํ์ด๋ค์, positive pair์ negative pair๋ค๋ก ๋ง๋ค์ด์ผํ๋ค.
- Positive pair๋ ๊ด๋ จ์ด ์๋ ์ง์์ ์๋ต ์์ด๋ค.
- Negative pair๋ ๊ด๋ จ์ด ์๋ ์ง์์ ์๋ต ์์ด๋ค.
e.g. ์ง์ Q๊ฐ "ํ์์ ์ง๋ฆ์ด ์ผ๋ง์ผ?" ์ผ ๋,
๊ด๋ จ์ด ์๋ ๋ฌธ์๋ "ํ์์ ์ง๊ตฌ ์ง๋ฆ์ 109๋ฐฐ์ธ 139๋งใ, ๋ฌด๊ฒ๋ ์ง๊ตฌ๋ณด๋ค ๋ฌด๋ ค 33๋ง 2,900๋ฐฐ๋ ๋ฌด๊ฒ์ต๋๋ค. ํ์๊ณ ์ ์ฒด ์ง๋์ 99.8% ์ด์์ ์ฐจ์งํ๊ณ , ํ์๊ณ์ ์ค์ฌ์ ์์นํ์ฌ ์ง๊ตฌ๋ฅผ ํฌํจํ 8๊ฐ ํ์ฑ๊ณผ ์์ฑ, ํ์ฑ ๋ฑ์ ์ด๋์ ์ง๋ฐฐํ๊ณ ์๋ ๋ณ์ ๋๋ค." ์ด๊ณ ,
๊ด๋ จ์ด ์๋ ๋ฌธ์๋ "์ธ๊ณต์ง๋ฅ(AI)์ ์ปดํจํฐ์์ ์์ฑ ๋ฐ ์์ฑ๋ ์ธ์ด๋ฅผ ๋ณด๊ณ ์ดํดํ๊ณ ๋ฒ์ญํ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ์ถ์ฒํ๋ ๊ธฐ๋ฅ์ ํฌํจํ์ฌ ๋ค์ํ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ์ผ๋ จ์ ๊ธฐ์ ์ ๋๋ค."๋ค.
Baseline์ ์๋ Elasticsearch๋ฅผ ์ต๋ํ ํ์ฉํ๊ณ ,
OpenAI API๋ฅผ ํ์ฉํ์ฌ"gpt-3.5-turbo-1106" ๋ชจ๋ธ์ ํตํด ๋ต๋ณ์ ์์ฑ.
Elasticsearch์ sparse retrieval๊ณผ dense retrieval์ ํตํด LLM์ด ์ฐธ์กฐํ topk reference ์์ฑ.
ํด๋น ๋ ํผ๋ฐ์ค์ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ํตํด์ ์ ๋ต ์์ฑ.
Sparse Retrieval
Elasticsearch์ ์ญ์์ธ์ ์ฌ์ฉํ๋ค.
์ญ์์ธ์ ๊ธฐ๋ณธ ๋ญํน ์๊ณ ๋ฆฌ์ฆ์ BM25๋ค.
์ญ์์ธ์ ์ฌ์ฉํ ๋จ์ด, token์ sentence_transformers์ "snunlp/KR-SBERT-V40K-klueNLI-augSTS"์ encode๋ก ์์ฑํ๋ค.
soynlp๋ฅผ ํ์ฉํ์ฌ NER์ sentence_transformer์ vocab์ ๋ฑ๋กํ๋ คํ์ผ๋ ์ํํ์ง ์์๋ค.
Dense Retrieval
- KLUE-RoBERTa Fine-Tuning with Cosine Embedding Loss ํ๊ตญ์ด๋ก ํ์ต๋ KLUE-RoBERTa๋ฅผ ํ์ธํ๋ํ ๋ค์ ํด๋นํ๋ token embedding์ผ๋ก dense retrieval ์ํ์ ์๋ํ์ผ๋ Elasticsearch์ ๊ฒฐํฉํ์ง ๋ชปํด์ ์ฌ์ฉํ์ง ๋ชปํ๋ค.
- sentence_transformers์ "snunlp/KR-SBERT-V40K-klueNLI-augSTS" ์ฌ์ฉ
๋ฒ ์ด์ค๋ผ์ธ ์ฝ๋์ ์๋ sentence_transformers์ "snunlp/KR-SBERT-V40K-klueNLI-augSTS"๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ dense retvieval ์ํ.
Prompt Engineering
- persona_qa์ persona_function_calling์ ํ๋กฌํํธ๋ฅผ ๋ณ๊ฒฝํด์ ๊ณผํ ๋ฌธ์์ธ์ง ์๋์ง๋ฅผ LLM์ด ํ๋จํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
๊ฒฐ๊ณผ๋ json ํํ๋ก ์์ฑํ๊ณ , 'is_science' ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ง๋ฌธ์ด ๊ณผํ ์ง์์ ๊ด๋ จ๋ ๋ด์ฉ์ด๋ฉด true๋ฅผ, ๊ณผํ ์ง์์ ๊ด๋ จ๋ ๋ด์ฉ์ด ์๋๋ผ๋ฉด false๋ฅผ value๋ก ๋ง๋ ๋ค. ๋ต๋ณ ํ๋์ ์ด๋ฆ์ 'answer'๋ก ํต์ผํ๋ค.
LoRA (Low-Rank Adaptation of Large Language Models) ์ ์ฉ
- LoRA๋ฅผ "snunlp/KR-SBERT-V40K-klueNLI-augSTS"์ ์ ์ฉํด์ ํ์ธํ๋ํด์ ์ฑ๋ฅ ํฅ์์ ๋๋ชจํ๋ค.
- Loss๋ ์๋ ์์ Cosine Embedding Loss๋ฅผ ์ฌ์ฉํ๋ค. ๊ด๋ จ์๋ Q์ D (document)๋ ๊ฐ๊น๊ฒ, ๊ด๋ จ์๋ Q์ D๋ ์๋ก ๋ฉ๋๋ก ํ์ตํ๋ค.
- Public Leaderboard
- Final Leaderboard
-
๋ฉํ ๋์ด ์ง์์ ์๋ต์ ๋ํ hard negative pairs๋ฅผ ์์ฑํ๋ผ๊ณ ์กฐ์ธํด์ฃผ์ จ๋ค. ์ด๋ ๋๊ฐ์ ๋ฌผ๋ฆฌํ์ด๋ผ๋ ์ ์๊ธฐํ๊ณผ ์์์ญํ์ด ์๋ก ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, ์ปค๋ค๋๊ฒ๋ ๊ฐ์ ๋๋ฉ์ธ์ผ์ง๋ผ๋ ์ธ๋ถ ๋ด์ฉ์ ๋ฌ๋ฆฌํ์ฌ ๋ณด๋ค ์ฌ์ธํ๊ฒ ํ์ต์ ํ ์ ์๋๋ก ํ๋ค. ํ์ง๋ง ์ด๋ ์ฌ๋์ด ์์์ ์ผ๋ก ๋งค์นญ์ ํด์ผํ๊ณ ๋๋ฉ์ธ ์ง์์ด ๋ง์ด ์๊ตฌ๋๊ธฐ ๋๋ฌธ์ ์ํํ ์ ์์๋ค.
-
์๋์ ๊ฐ์ด ์ ๋งคํ ์ผ์ด์ค์ ๋ํ ์ฒ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ค.
Test 3
Question: [{'role': 'user', 'content': 'ํตํ ๋ฒ์ค์ ๊ฐ์น์ ๋ํด ๋งํด์ค.'}]
Answer: ํตํ ๋ฒ์ค๋ ํ์๋ค์๊ฒ ๋งค์ฐ ์ค์ํ ๊ฐ์น๋ฅผ ์ง๋๊ณ ์์ต๋๋ค. ํ๊ต ๋ฒ์ค๋ ๋ง์ ํ์๋ค์ ์ด์กํ๊ณ , ํ๊ต๋ก ํฅํ๋ ๊ธธ์ ๋ง์ ์ฌ๋๋ค์ ์์ ํ๊ฒ ํ์์ค๋๋ค. ๋ํ, ํ๊ต ๋ฒ์ค๋ ํ๊ต์ ๊ต์ก ํ๋ ๋ฐ ํ์๋ค์ ํธ์๋ฅผ ์ฆ์ง์ํค๋ฉฐ, ํ๊ต๋ก ํฅํ๋ ๊ธธ์ ๋ง์ ์ฌ๋๋ค์ ๊ตํต๋์ ์ค์
๋๋ค. ๋ํ, ํ๊ต ๋ฒ์ค๋ ํ๊ต์ ๊ตํต ์ฒด์ฆ์ ํด๊ฒฐํ๊ณ , ํ์๋ค์๊ฒ ํธ๋ฆฌํจ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์, ํตํ ๋ฒ์ค๋ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
๋ํ, ์ด ๋ฒ์ค์ ์ดํ ์ ๋ณด์ ๋ฐ๋ฅด๋ฉด, ์ด ๋ฒ์ค๋ ํ๋ฃจ์ 280๋ช
์ด์์ ์น๊ฐ์ ์ด์กํ๋ฉฐ, ํ๊ท ์ดํ ์๊ฐ์ 4์๊ฐ์
๋๋ค. ๋ํ, ์ด ๋ฒ์ค์ ํ๊ท ์๋๋ 70 km/h์
๋๋ค.
๋ํ, ์ด ๋ฒ์ค๋ 8085A ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ALE(Auto Latch Enable) ๋์์ ํตํด ๋ฐ์ดํฐ ๋ฒ์ค๋ฅผ ์ ์ดํฉ๋๋ค. ALE ๋์์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ๊ฐ ์ธ๋ถ ์ ํธ์ ์ํธ ์์ฉํ ๋ ์ฌ์ฉ๋๋ฉฐ, ๋ฐ์ดํฐ ๋ฒ์ค๋ฅผ ์ ์ดํ์ฌ ํจ์จ์ ์ผ๋ก ๋์ํ๋๋ก ์ค์ ํฉ๋๋ค.
ํตํ ๋ฒ์ค๋ผ๋ฉด ๊ต์กํ์ด๋ ๊ด๋ จ ๋ถ์ผ๋ผ๊ณ ์๊ฐํ ์ ์๋๋ฐ, ๋ฒ์ค ์์ฒด๋ ๊ธฐ๊ณ๊ณตํ์ด๋ ์ ์๊ณตํ, ๊ตํต๊ณตํ๊ณผ ๊ด๋ จ๋ ๋ด์ฉ์ด๋ผ LLM์ด ๊ณผํ๋ฌธ์์ธ์ง ์๋์ง ์ ๋๋ก ํ๋จํ ์ ์์๋ค.
-
Sentence Transformer์ด ์๋ Huggingface์ ๋ชจ๋ธ์ ํ์ธ ํ๋ ํ ์ ์ฉํ์ง ๋ชปํด์ ์์ฌ์ ๋ค.
-
์ ์ ์ฌ์ ์ ๋ง๋ค์ด์ konlpy์๋ ์ฌ์ ๋ฑ๋ก์ ํด๋ดค์ผ๋ sentence_transformer์๋ ์ ์ฉํ์ง ๋ชปํด์ ์์ฝ๋ค.
-
๊ตฌ์ฒด์ ์ธ ์ง์ ๋ด์ฉ์ด ์๋ ๋ด์ฉ๋ค์ ๋ ํผ๋ฐ์ค๋ก ์ผ์์ LLM์ด ์ ๋ต์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ ์๊ฐ ๋ฎ์๋ค. ์๋ฅผ ๋ค์ด "๋๋ฌด ๋ถ๋ฅ"์ ๋ํด์ ์๋ ค๋ฌ๋ผํ ์ง๋ฌธ์ ๋ํด์ "๋๋ฌด ๋ถ๋ฅ"๋ ์๊ด์๋ ๋๋ฌด ๋ด์ฉ๋ค์ด ๋์ ์ ์๋ฅผ ์ป์ ๋ ํ๋ฐ์ค๊ฐ ๋์๋ค. LLM์ ์์ฑ ๊ฒฐ๊ณผ์ ๋ํ ๋ถ์์ ์๊ฐ ๋ถ์กฑ์ผ๋ก ์ธํด ํ์ง ๋ชปํด์ ์์ฝ๋ค.

