νΉμ§γγγγ | μ€λͺ |
---|---|
λν μ£Όμ | λ€μ΄λ² λΆμ€νΈμΊ ν AI Tech 7κΈ° NLP Trackμ Level 2 λλ©μΈ κΈ°μ΄ λν 'μλ₯ν λ¬Έμ νμ΄ λͺ¨λΈ μμ±'μ λλ€. |
λν μ€λͺ | AI λͺ¨λΈλ‘ νκ΅μ΄ μλ₯ κ΅μ΄ λ° μ¬ν κ³Όλͺ©μ λ¬Έμ λ₯Ό νμ΄ λν μΈμ΄ λͺ¨λΈλ€μ λ₯κ°νλ μ±λ₯μ λͺ©νλ‘ νλ λνμ λλ€. |
λ°μ΄ν° κ΅¬μ± | λ°μ΄ν°λ μλ₯ κ΅μ΄Β·μ¬νμ μ μ¬ν λ¬Έμ λ₯Ό κΈ°λ°μΌλ‘ KMMLU(νκ΅μ¬), MMMLU(κ³ κ΅ μμ¬Β·κ²½μ Β·μ μΉ λ±), KLUE MRC(κ²½μ Β·κ΅μ Β·μ¬ν λ±) λ°μ΄ν°λ₯Ό ν¬ν¨ν©λλ€. |
νκ° μ§ν | λͺ¨λΈμ΄ λ§μΆ λ¬Έμ μλ₯Ό μ 체 λ¬Έμ μλ‘ λλ μ νλ(Accuracy)λ₯Ό κΈ°μ€μΌλ‘ ν©λλ€. |
κ²°κ³Όλ¬Ό | WrapUp Report, Presentation Material |
νλ‘μ νΈ κ²°κ³Ό Public 리λ보λ 1λ±, Private 리λ보λ 1λ±μ κΈ°λ‘νμμ΅λλ€.
νμγγ | μν |
---|---|
κ³½ν¬μ€ | λ°μ΄ν°μ λ μ΄λΈλ§, EDA, μΈλΆ λ°μ΄ν°μ νμ, GPTλ₯Ό ν΅ν λ°μ΄ν°μ μ¦κ° μ€ν, μ½λ 리ν©ν λ§, LLM νμ΅ λ°©λ² μ€κ³, Fine-Tuning, RAG νμ΄νλΌμΈ ꡬμΆ, μ΅μ’ μ½λ μ 리 |
κΉμ μ | λ°μ΄ν°μ λ μ΄λΈλ§, λͺ¨λΈ νμ λ° Fine-Tuning, λ°μ΄ν°μ ν¬λ‘€λ§ λ° μ μ²λ¦¬(곡무μ κΈ°μΆ, khan), λ°μ΄ν°μ νμ§ ν μ€νΈ, RAG μμ€ν κ΅¬μΆ λ° μ€ν, ν둬ννΈ μμ§λμ΄λ§ |
κΉμ§μ¬ | μ΄κΈ° ν νκ²½ κ΅¬μΆ λ° λμ보λ μ μ, λ°μ΄ν°μ λ μ΄λΈλ§, λ°μ΄ν° νμ, RAG λ°μ΄ν° μ μ²λ¦¬(λ²μ), Retrieval κ΅¬μΆ λ° μ€ν (Sparse) |
μ€μν | μ΄κΈ° λ² μ΄μ€λΌμΈ μ½λ ꡬμΆ, λ°μ΄ν°μ λ μ΄λΈλ§, λ°λͺ¨ νμ΄μ§ μ μ |
μ€μ μ | λ°μ΄ν°μ λ μ΄λΈλ§, λͺ¨λΈ νμ λ° Fine-Tuning, Unsloth μΈν , ν둬ννΈ μμ§λμ΄λ§, λ°μ΄ν°μ ν¬λ‘€λ§(곡무μ κΈ°μΆ, khan), λ°μ΄ν°μ νμ§ ν μ€νΈ, LoRA νλ, μμλΈ |
μ λ―Όμ§ | λ°μ΄ν°μ λ μ΄λΈλ§, 벑ν°μ€ν μ΄ λ°μ΄ν° ν¬λ‘€λ§ λ° μ μ²λ¦¬ (OpenStax, Wikipedia, μ°λ¦¬μμ¬λ·), Retrieval μ±λ₯ νκ° λ°μ΄ν°μ λ° μ§ν ꡬμ±, RAG μμ€ν κ΅¬μΆ λ° μ€ν (Chunk size, Dense Retrieval, Reranking) |
κ°μ | μ€λͺ |
---|---|
μ£Όμ | Generation for NLP - μλ₯ν λ¬Έμ νμ΄ λͺ¨λΈ μμ± |
ꡬ쑰 | LLM Fine-Tuned Foundation Model + RAG |
νκ° μ§ν | Accuracy = correct / total |
κ°λ° νκ²½ | GPU : Tesla V100 Server 4λ, IDE : VsCode, Jupyter Notebook |
νμ νκ²½ | Jira&Confluence(μ§ν μν© κ³΅μ ), Github(μ½λ λ° λ°μ΄ν° 곡μ ), Zoom&Slack(μ€μκ° μν΅) |
- νλ‘μ νΈλ 2024-11-11 ~ 2024-11-28κΉμ§ μ§νλμμ΅λλ€.
- νλ‘μ νΈλ₯Ό μ§ννλ©° λ¨κ³λ³λ‘ μ€ννμ¬ μ μ©ν λ΄μ©λ€μ μλμ κ°μ΅λλ€.
νλ‘μΈμ€γ | μ€λͺ |
---|---|
λ°μ΄ν° | EDA, Fine-Tuning λ°μ΄ν°μ κ΅¬μ± (λ°μ΄ν° νμ§ κ°μ , λ°μ΄ν° μ¦κ°), RAG λ°μ΄ν° κ΅¬μ± (λ²‘ν° μ€ν μ΄ λ°μ΄ν° μμ§ λ° μ μ²λ¦¬, chunking) |
λͺ¨λΈλ§ | λͺ¨λΈ μ μ λ° νλ, LoRA νλ, ν둬ννΈ νλ |
RAG | Vector Store ꡬμΆ, Retriever νκ°μ© λ°μ΄ν°μ ꡬμΆ, Retriever νλΌλ―Έν° μ€μ , RAFT(Retrieval Augmented Fine-Tuning) |
μμλΈ | Weighted Voting Ensemble |
μ μ , μ¦κ°μ λ€μνκ² μ μ©ν λ°μ΄ν°μ
κ³Ό LoRA νλμ ν΅ν΄ itsmenlp/unsloth_qwen_2.5_32B_bnb_4bit_finetuned
λ‘ μΆλ‘ ν outputμ accuracy Top 5λ‘ weighted voting ensembleμ μ§νν κ²°κ³Ό, μ΅μ’
Public Accuracy 0.8341μ λ¬μ±νμ΅λλ€.
Output | Accuracy | Weight |
---|---|---|
Top 5 | 0.8180 | 0.1 |
Top 4 | 0.8180 | 0.1 |
Top 3 | 0.8203 | 0.2 |
Top 2 | 0.8272 | 0.2 |
Top 1 | 0.8295 | 0.4 |
λ³Έ νλ‘μ νΈμμ κ°λ°ν sLLMμ νμ©ν 2025νλ λ μλ₯μ κ΅μ΄(νλ²κ³Ό μλ¬Έ), νκ΅μ¬, μ¬ν νꡬ μμ νμ΄ κ²°κ³Όμ λλ€.
demo_ksat.mp4
νλ‘μ νΈ ν΄λ ꡬ쑰λ λ€μκ³Ό κ°μ΅λλ€.
level2-nlp-generationfornlp-nlp-05-lv3/
βββ checkpoints/ # λͺ¨λΈ 체ν¬ν¬μΈνΈ μ μ₯ ν΄λ
β βββ (experiment_name)/ # μ€ν μ΄λ¦
β βββ checkpoint-1111 # λͺ¨λΈ 체ν¬ν¬μΈνΈ
β βββ checkpoint-2222
βββ config/
β βββ config.yaml # μ€μ κ΄λ¦¬ νμΌ
βββ notebooks/
β βββ eda.ipynb # EDA
β βββ demo_data_preprocessing.ipynb # λ°λͺ¨ λ°μ΄ν° μ μ²λ¦¬ μ½λ
β βββ ft_data_processing.ipynb # Fine-Tuning λ°μ΄ν° μ μ²λ¦¬ μ½λ
βββ prompt/
β βββ prompt_templates.yaml # ν둬ννΈ ν
νλ¦Ώ κ΄λ¦¬ νμΌ
βββ src/
β βββ dataset.py # λ°μ΄ν° λ‘λ λ° μ μ²λ¦¬ κ΄λ ¨ μ½λ
β βββ ensemble.py # μμλΈ κΈ°λ² κ΅¬ν μ½λ
β βββ model.py # λͺ¨λΈ μ μ λ° νμ΅ κ΄λ ¨ μ½λ
β βββ preprocessing.py # λ²‘ν° μ€ν μ΄ κ΅¬μΆμ© λ°μ΄ν° μμ§ λ° μ μ²λ¦¬ μ½λ
β βββ retrieval_dense.py # Dense Retrieval ꡬν μ½λ
β βββ retrieval_sparse.py # Sparse Retrieval ꡬν μ½λ
β βββ utils.py # 보쑰 ν¨μ λ° μ νΈλ¦¬ν° μ½λ
βββ streamlit/ # Streamlit κ΄λ ¨ μΉ μ ν리μΌμ΄μ
λλ ν 리
βββ main.py # νλ‘μ νΈ μ€νμ λ©μΈ μ€ν¬λ¦½νΈ
βββ .gitignore
βββ README.md
βββ requirements.txt
- OS: Ubuntu-20.04.6 LTS
- Python: 3.11 μ΄μ
- νμ λΌμ΄λΈλ¬λ¦¬:
requirements.txt
μ°Έκ³ - GPU: NVIDIA V100 32GB
git clone https://github.com/boostcampaitech7/level2-nlp-generationfornlp-nlp-05-lv3.git
pip install -r requirements.txt
python src/retrieval_dense.py # νΉμ python src/retrieval_sparse.py
python main.py --config {config_path} --mode {train/test}
config.yaml githubμμ νμΈ
cd streamlit
streamlit run home.py