์ด ์ ์ฅ์๋ ๋ฅ๋ฌ๋ ๋ฐ ๋ํ ์ธ์ด ๋ชจ๋ธ(LLM) ๊ด๋ จ ํ์ต๊ณผ ์คํ์ ๊ธฐ๋กํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.
MLP, CNN, RNN, LSTM, GRU ๊ฐ์ ๊ธฐ๋ณธ ์ ๊ฒฝ๋ง๋ถํฐ LLM ์์ฉ, Transformer RAG ํ์ดํ๋ผ์ธ๊น์ง ๋ค์ํ ์์ ๋ฅผ ํฌํจํฉ๋๋ค.
- ํด๋: LLM/mathematical-models
- ํ์ต ๋ชฉํ: ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ํต์ฌ ์ํ์ ๊ตฌ์กฐ์ ๋จ๊ณ๋ณ ๊ณ์ฐ ํ๋ฆ ์ดํด
- ๊ตฌ์ฑ ์์: Linear Layer, MLP, Transformer Encoder, Transformer Decoder, ์ต์ข
Linear, Softmax
- Linear Layer
- ๊ณต์: (y = xW + b)
- ์ ๋ ฅ ๋ฒกํฐ๋ฅผ ์ ํ ๋ณํ
- MLP 2๊ณ์ธต
- ๊ตฌ์กฐ: Linear โ ReLU โ Linear
- ๊ณต์: (h = \max(0, xW_1+b_1), y = hW_2+b_2)
- MLP 3๊ณ์ธต
- ๊ตฌ์กฐ: Linear โ ReLU โ Linear โ ReLU โ Linear
- ๋จ๊ณ๋ณ ํ์ฑํ์ ์ ํ ๋ณํ
- Transformer Encoder
- ์ ๋ ฅ(๋จ์ดํ ํฐ) -> ์ ๋ ฅ ์๋ฒ ๋ฉ + ์์น ์ธ์ฝ๋ฉ
- Multi-Head Attention
- Residual Connection + Layer Normalization
- FFN(Feed Forward Network)
- 2์ฐจ Residual Connection + Layer Normalization
- Transformer Decoder
- ์ถ๋ ฅ(Target) -> ์ถ๋ ฅ ์๋ฒ ๋ฉ + ์์น ์ธ์ฝ๋ฉ
- Masked Multi-Head Attention
- Residual Connection + Layer Normalization
- Cross-Attention (์ธ์ฝ๋ + ๋์ฝ๋ ์ถ๋ ฅ ๊ฒฐํฉ)
- 2์ฐจ Residual Connection + Layer Normalization
- FFN(Feed Forward Network)
- 3์ฐจ Residual Connection + Layer Normalization
- ์ต์ข
Linear Layer
- ๋์ฝ๋ ์ถ๋ ฅ โ ์ดํ ๊ณต๊ฐ ๋งคํ
- ์ต์ข
Softmax
- ์ ์ ๋ฒกํฐ โ ํ๋ฅ ๋ถํฌ ๋ณํ
- Linear Layer
flowchart TD
A[์
๋ ฅ ํ ํฐ] --> B[Encoder]
B --> C[Decoder]
C --> D[Linear Layer]
D --> E[Softmax]
E --> F[๋ค์ ๋จ์ด ํ๋ฅ ๋ถํฌ]
ํ๊ตญ์ด ๋ด์ค ๋ฐ์ดํฐ๋ฅผ PostgreSQL์ ์ ์ฅํ๊ณ , Qdrant๋ฅผ ํ์ฉํด ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์์ ์ํํ๋ RAG ํ์ดํ๋ผ์ธ ํ๋ก์ ํธ์ ๋๋ค.
- Notebook:
LLM/24.transformer_rag3.ipynb - App ์ฝ๋:
LLM/rag_system/api_server.py
- ์ค๋ฌดํ RAG ํ์ดํ๋ผ์ธ ์ดํด ๋ฐ ์ ์ฉ
- ๋ฐ์ดํฐ ์์ง ์ ์ฉ : RSS/๋ด์ค ์์ง ๋ชจ๋
- Qdrant ๊ฒ์ ์ ์ฉ : Qdrant ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์
- QA ๋ชจ๋ธ ์ ์ฉ : embedding + qdrant + QA Model
- ์์ฝ ๋ชจ๋ธ ์ ์ฉ : embedding + qdrant + Summary Model
- ํ๊ฒฝ ์ค๋น
- Python 3.9 ์ด์ ์ค์น
- ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ:
python -m venv venv source venv/bin/activate # Mac/Linux venv\Scripts\activate # Windows
- ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
- requirements.txt
torch==2.2.2 transformers==4.57.6 sentence-transformers==5.1.2 qdrant-client==1.16.1 fastapi==0.128.8 uvicorn==0.39.0 flask==3.1.3 pyyaml==6.0.3
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
pip install -r requirements.txt
- PostgreSQL ์ค์
CREATE DATABASE newsdb; CREATE USER newsuser WITH PASSWORD '1234'; GRANT ALL PRIVILEGES ON DATABASE newsdb TO newsuser; CREATE TABLE news_articles ( id SERIAL PRIMARY KEY, title TEXT, content TEXT, url TEXT UNIQUE, published_at TIMESTAMP, source_name TEXT );
- Qdrant ์คํ
./LLM/qdrant/qdrant.exe curl http://localhost:6333/collections
- FastAPI ์๋น์ค ์คํ
python ./LLM/rag_system/api_server.py ์๋ํฌ์ธํธ: /search ์๋ํฌ์ธํธ: /qa ์๋ํฌ์ธํธ: /summary
- ๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ฅ
- PostgreSQL ํ ์ด๋ธ ์์ฑ ๋ฐ ์ ๋ ฅ
- DB ์กฐํ + ๋ก๊น ์ค์ ์ผ๋ก ๋ฐ์ดํฐ ๊ด๋ฆฌ
- Qdrant ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์ ๊ตฌ์ถ
- ๋ด์ค ์ปฌ๋ ์ ์์ฑ
- Qdrant ์๋ฒ ์คํ ๋ฐ API ํ ์คํธ
- ์๋ฒ ๋ฉ ์์ฑ ๋ฐ ์ฝ์
- SentenceTransformer ์๋ฒ ๋ฉ ์์ฑ
- Batch ๋จ์ Insert/Update
- QA ์ฒ๋ฆฌ
- KoELECTRA QA ๋ชจ๋ธ + MeCab ํํ์ ๋ถ์
- ์ ๋ ฅ: input_ids, attention_mask
- ์ถ๋ ฅ: ์์ฐ์ด ์๋ต ๋ณต์
- ์์ฝ ์ฒ๋ฆฌ
- KoBART Summarization ๋ชจ๋ธ
- ๋ฐ๋ณต ์ต์ , ๊ธธ์ด ์กฐ์ , ๋ค์์ฑ ํ๋ณด
- ํ์ฒ๋ฆฌ: clean_summary
- ์๋น์ค ๊ตฌ์ฑ
- FastAPI ์คํ ๋ฐ ์๋ํฌ์ธํธ ์ ๊ณต
- Qdrant ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์ ๊ฒฐ๊ณผ: /search
- QA ๋ชจ๋ธ ๋ต๋ณ ๊ฒฐ๊ณผ: /qa
- Summary ๋ชจ๋ธ ์์ฝ ๊ฒฐ๊ณผ: /summary
- ์ถ๋ ฅ์: ์ถ์ฒ ์ ๋ณด ํฌํจ
flowchart TD
A[์ฌ์ฉ์ ์ง์] --> B[FastAPI ์๋ํฌ์ธํธ /search]
B --> C[SentenceTransformer ์๋ฒ ๋ฉ ์์ฑ]
C --> D[Qdrant ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์]
D --> E[๊ด๋ จ ๋ฌธ์ ๋ฐํ]
E --> F[KoELECTRA QA ๋ชจ๋ธ]
F --> G[KoBART Summarization + clean_summary]
G --> H[์๋ต + ์ถ์ฒ ํ์]
H --> I[์ธ๋ถ LLM ์๋น์ค ์ฐ๊ณ ๊ฒํ ]
I --> J[์ต์ข
์ฌ์ฉ์ ์๋ต]
- ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
rag_system/
โ
โโโ collector.py # RSS/๋ด์ค ์์ง ๋ชจ๋
โโโ qdrant_utils.py # Qdrant Collection ์์ฑ
โโโ indexer.py # ์์ธ์ฉ ๋ฐ์ดํฐ ์ถ์ถ + ์๋ฒ ๋ฉ ๋ณํ + Qdrant ์ธ๋ฑ์ฑ(Qdrant news_articles ์ปฌ๋ ์
update/insert)
โโโ qdrant_seart.py # Qdrant ๊ฒ์(Query ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์)
โโโ qa_model.py # QA ๋ชจ๋ธ ์ถ๋ก ๋ก์ง(QA ๋ชจ๋ธ ์ ์ฉ : embedding + qdrant + QA Model)
โโโ summary_model.py # ์์ฝ ๋ชจ๋ธ ์ถ๋ก ๋ก์ง(์์ฝ ๋ชจ๋ธ ์ ์ฉ : embedding + qdrant + Summary Model)
โโโ api_server.py # FastAPI/Flask ๊ธฐ๋ฐ REST API ์๋ฒ
โ
โโโ configs/ # DB, Qdrant, ๋ชจ๋ธ ์ค์ ํ์ผ
โ โโโ settings.yaml
โ
โโโ logs/ # ์คํ ๋ก๊ทธ ์ ์ฅ
โ โโโ rag_app.log
โ
โโโ requirements.txt # ์์กด์ฑ ํจํค์ง ๋ชฉ๋ก
- ํ์ผ:
LLM/22.transformer_rag.ipynb - ํ์ต ๋ชฉํ: ์ค๋ฌดํ RAG ํ์ดํ๋ผ์ธ ์ดํด ๋ฐ ์ ์ฉ
- ๊ตฌ์ฑ ์์:
- FAISS ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ ๊ฒ์์์ง ๊ตฌ์ถ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
faiss - ๋จ์ผ ๋จธ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ, 10๋ง ๊ฑด ๋ฏธ๋ง ์๊ท๋ชจ ๋ฐ์ดํฐ ์ ํฉ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
- QA ์ฒ๋ฆฌ
- ๋ชจ๋ธ:
monologg/koelectra-base-v3-finetuned-korquad - ํน์ ๋๋ฉ์ธ์ผ๋ก ํ์ธํ๋๋ QA ๋ชจ๋ธ ๊ต์ฒด ๊ฒํ
- ๋ชจ๋ธ:
- ์์ฝ ์ฒ๋ฆฌ
- ๋ชจ๋ธ:
gogamza/kobart-summarization - ํ ํฌ๋์ด์ :
PreTrainedTokenizerFast(ํ๊ธ ์ง์) - ํน์ ๋๋ฉ์ธ ์์ฝ ๋ชจ๋ธ ๊ต์ฒด ๊ฒํ
- ๋ชจ๋ธ:
- LLM ๋ชจ๋ธ
- ํ์ฌ ๋ก์ปฌ GPU ์ฅ๋น๋ก๋ ์์ฑํ LLM ๋ชจ๋ธ ํ์ธํ๋ ๋ถ๊ฐ
- ์ถ๋ก ๋ชจ๋ธ ๊ต์ฒด๋ ํ์ฌ๋ ์ด๋ ค์
- FAISS ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ ๊ฒ์์์ง ๊ตฌ์ถ
- ํ์ผ:
LLM/21.transformer_dialogue_chatbot.ipynb,LLM/llm_app/transformer_dialogue_chatbot_21_app.py - ํ์ต ๋ชฉํ: ์ค๋ฌดํ ๋ํํ ์ฑ๋ด ํ์ดํ๋ผ์ธ ์ดํด ๋ฐ ์ ์ฉ
- ๊ตฌ์ฑ ์์:
- ๋ชจ๋ธ ๋ถ์
- Shape ๋ณํ ๊ณผ์ ํ์ธ
- ๋ฐ์ดํฐ์
์ค๋น
- AI Hub ํ๊ตญ์ด SNS ๋ฉํฐํด ๋ํ ๋ฐ์ดํฐ
- Train/Validation ๋ถ๋ฆฌ ๋ฐ ์ ์ ํ์ผ ์ถ์ถ
- ์ ์ฒ๋ฆฌ
- JSON ํ์ฑ โ ์ฌ์ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฅ
- Dataset ํด๋์ค ์ ์ ๋ฐ DataLoader ์์ฑ
- ๋ชจ๋ธ ์ ์
- Feature Extraction + LoRA Fine-tuning ์กฐํฉ
- ์ต์ ํ ์ค์ : Optimizer, GradScaler, autocast
- Early Stopping ํด๋์ค ์ ์ ๋ฐ ์ต์ ๋ชจ๋ธ ๊ฐ์ค์น ์ ์ฅ
- ํ์ต/๊ฒ์ฆ ๋ฃจํ
- ๋์ ๋๋ฆฌ ํํ ํ์ต๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋ชจ๋ธ์ ์ ๋ฌ
- Early Stopping ๊ฐ์ฒด ์ ์ฉ
- AMP
torch.float32์ฌ์ฉ (๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ,torch.float16์ฌ์ฉ ์ loss ๋ฌธ์ ๋ฐ์)
- ์ถ๋ก ๋ฐ ์๋น์ค
- ๋ฉํฐ ๋ต๋ณ ์์ฑ
- FastAPI ์ถ๋ก ์๋น์ค ์คํ:
uvicorn transformer_dialogue_chatbot_21_app:app --reload
- ์๋ํฌ์ธํธ:
http://127.0.0.1:8000/predict - Postman ๋ฐ API ์ฝ๋(Python, Java ๋ฑ)๋ก ํ ์คํธ ๊ฐ๋ฅ
- ์ถ๊ฐ ๊ฒํ ์ฌํญ
- ํ์คํ ๋ฆฌ ๊ด๋ฆฌ:
session_id+ ์ต๊ทผ 5ํ ๋ํ ์ ์ง - ์ค๋๋ ๋ํ๋ ์์ฝ ํ ์ญ์ (์: โ์ฌ์ฉ์๋ ์ฌํ ๊ด๋ จ ์ง๋ฌธ์ ์์ฃผ ํ๋คโ)
- ๋ฉ๋ชจ๋ฆฌ DB ๋ฐ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Vector Store) ํ์ฉ
- ํ์ด๋ธ๋ฆฌ๋ ์ ๋ต: ์ต๊ทผ ๋ํ๋ ๊ทธ๋๋ก ์ ์ง + ์ค๋๋ ๋ํ๋ ์์ฝ/๊ฒ์์ผ๋ก ๊ด๋ฆฌ
- ํ์คํ ๋ฆฌ ๊ด๋ฆฌ:
- ๋ชจ๋ธ ๋ถ์
- ํ์ผ:
LLM/20.transformer_qa.ipynb,LLM/llm_app/transformer_qa_20_app.py - ํ์ต ๋ชฉํ: ์ค๋ฌดํ ์ง์์๋ต(QA) ํ์ดํ๋ผ์ธ ์ดํด ๋ฐ ์ ์ฉ
- ๊ตฌ์ฑ ์์:
- QA Pre-trained ๋ชจ๋ธ ํ
์คํธ
- ๋ค์ํ ์ฌ์ ํ์ต ๋ชจ๋ธ ์ ๋ณ ๋ฐ ์ฑ๋ฅ ํ์ธ
- ๋ฐ์ดํฐ์
์ค๋น
- ๋ฐ์ดํฐ์ ๋ก๋ ๋ฐ Train/Validation ๋ถ๋ฆฌ
- ์ ์ฒ๋ฆฌ
- ์ง๋ฌธ + ๋ฌธ๋งฅ ํ ํฐํ
- ์ ๋ต ์คํฌ(offsets ์์น ์ ๋ณด) ๋งคํ
batched=True์ ์ฉ
- DataLoader ๊ตฌ์ฑ
collate_fn์ ์: batch โ tensor ๋ณํ- DataLoader ์์ฑ
- ๋ชจ๋ธ ์ ์
- Feature Extraction + LoRA Fine-tuning ์กฐํฉ
- ์ต์ ํ ์ค์ : Optimizer, GradScaler, autocast
- Early Stopping ํด๋์ค ์ ์ ๋ฐ ์ต์ ๋ชจ๋ธ ๊ฐ์ค์น ์ ์ฅ
- ํ์ต/๊ฒ์ฆ ๋ฃจํ
- ๋์ ๋๋ฆฌ ํํ ํ์ต๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋ชจ๋ธ์ ์ ๋ฌ
- Early Stopping ๊ฐ์ฒด ์ ์ฉ
- ํ๊ฐ ํ์ดํ๋ผ์ธ
- F1/EM ํ๊ฐ ์งํ ํ์ฉ
- ์ถ๋ก
- ๋จ์ผ ํ ์คํธ ๋ฐ ๋ค์ค ํ ์คํธ
- ๋ฌธ์ฅ ์ถ๋ก : FastAPI ํธ์ถ
- ์๋น์ค ๊ตฌ์ฑ
- FastAPI ์คํ:
uvicorn transformer_qa_20_app:app --reload
- ์๋ํฌ์ธํธ:
http://127.0.0.1:8000/qa - Postman ๋ฐ API ์ฝ๋(Python, Java ๋ฑ)๋ก ํ ์คํธ ๊ฐ๋ฅ
- FastAPI ์คํ:
- QA Pre-trained ๋ชจ๋ธ ํ
์คํธ
- ํ์ผ:
LLM/19.transformer_summary_news.ipynb,LLM/llm_app/transformer_summary_news_19_app.py - ํ์ต ๋ชฉํ: ์ค๋ฌดํ ๋ด์ค ์์ฝ ํ์ดํ๋ผ์ธ ์ดํด ๋ฐ ์ ์ฉ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- JSON ํ์ผ ๋ก๋ ๋ฐ ๋ณธ๋ฌธ/์์ฝ ์ถ์ถ
- ์ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ ์ ์ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฉ
- Hugging Face
BartTokenizer๊ธฐ๋ฐ ๋ชจ๋ธ ์ฌ์ฉ collate_fn์ ์ฉ ํ DataLoader ์์ฑ
- ๋ชจ๋ธ ์ ์
- Feature Extraction + LoRA Fine-tuning ์กฐํฉ
- Early Stopping ํด๋์ค ์ ์
- ํ์ต ๋ฃจํ
autocast์ ์ฉ (์๋ ํฅ์)GradScaler์ ์ฉ (์์ ์ ํ์ต)
- ํ
์คํธ ๋ฐ ํ๊ฐ
- ์ต์ ๋ชจ๋ธ ๋ก๋ ํ ์ค์ ์์ฝ ์์ฑ
- ROUGE ์ฃผ์ ์งํ ํ์ฉ
- ์๋น์ค ๊ตฌ์ฑ
- FastAPI ์คํ:
uvicorn transformer_summary_news_19_app:app --reload
- ์๋ํฌ์ธํธ:
http://127.0.0.1:8000/summarize - Postman ๋ฐ API ์ฝ๋(Python, Java ๋ฑ)๋ก ํ ์คํธ ๊ฐ๋ฅ
- FastAPI ์คํ:
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/18.transformer_classifier_sentiment.ipynb,LLM/llm_app/transformer_classifier_sentiment_18_app.py - ํ์ต ๋ชฉํ: ์ค๋ฌดํ ๊ฐ์ ๋ถ๋ฅ ํ์ดํ๋ผ์ธ ์ดํด ๋ฐ ์ ์ฉ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ ์ค๋น
- ๋ฐ์ดํฐ ๋ก๋ ๋ฐ ๊ฒฐ์ธก์น ์ ๊ฑฐ (None, "")
- ํ ํฌ๋์ด์ ์ ์ฉ
- Hugging Face
DistilBertTokenizer์ฌ์ฉ
- Hugging Face
- DataLoader ๋ณํ
- ํ ํฌ๋์ด์ ์์ ๋ฐ๋ก DataLoader ์์ฑ
- Pre-trained ๋ชจ๋ธ์์๋ Custom Dataset ๋ถํ์
- ๋ชจ๋ธ ์ ์
- ๋ฒ ์ด์ค ๋ชจ๋ธ:
DistilBertForSequenceClassification(distilbert-base-uncased) - ํด๋์ค ์: 2 (๊ธ์ /๋ถ์ )
- ๋ณธ์ฒด ๋๊ฒฐ(Feature Extraction) + LoRA Fine-tuning ์กฐํฉ
- EarlyStopping ํด๋์ค ์ ์ ๋ฐ ์ต์ ๋ชจ๋ธ ๊ฐ์ค์น ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ:
- ํ์ต/๊ฒ์ฆ ๋ฃจํ
- ์ต์ ํ ์ค์ :
autocast(์๋ ํฅ์),GradScaler(์์ ์ ํ์ต) - EarlyStopping ์ ์ฉ
- ์ต์ ํ ์ค์ :
- ๋ชจ๋ธ ๋ก๋ ๋ฐ ์ถ๋ก
- GPU ์ค์ ํ ๊ฒ์ฆ/์ถ๋ก ๋ชจ๋ ์ ์ฉ
- ํ๊ฐ
- ์ฌ์ดํท๋ฐ ํ๊ฐ ์งํ: ์ ํ๋, ์ ๋ฐ๋, ์ฌํ์จ, F1-score
- Confusion Matrix ๋ถ์ ๋ฐ Heatmap ์๊ฐํ
- ํ
์คํธ
- ๋จ์ผ ๋ฌธ์ฅ ๋ฐ ์ฌ๋ฌ ๋ฌธ์ฅ ์ถ๋ก
- ์๋น์ค ๊ตฌ์ฑ
- FastAPI ์คํ:
uvicorn transformer_classifier_sentiment_18_app:app --reload
- ์๋ํฌ์ธํธ:
- ๋จ์ผ ๋ฌธ์ฅ:
http://127.0.0.1:8000/predict - ์ฌ๋ฌ ๋ฌธ์ฅ:
http://127.0.0.1:8000/predict_batch
- ๋จ์ผ ๋ฌธ์ฅ:
- ์๋์ฐ PowerShell ์์:
Invoke-RestMethod -Uri "http://127.0.0.1:8000/predict" -Method Post -ContentType "application/json" -Body '{"text":"I really love this movie, it was fantastic!"}'
- Postman ๋ฐ API ์ฝ๋(Python, Java ๋ฑ)๋ก ํ ์คํธ ๊ฐ๋ฅ
- FastAPI ์คํ:
- ๋ฐ์ดํฐ ์ค๋น
- ํ์ผ:
LLM/17.transformer_self_attention.ipynb - ํ์ต ๋ชฉํ: Transformer ๊ตฌ์กฐ ์ดํด ๋ฐ ๊ฐ์ ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Encoder ๋ชจ๋ธ ๊ตฌ์ถ
- Scaled Dot-Product Attention
- Multi-Head Attention
- Transformer Encoder Block (Attention โ FFN โ Residual โ LayerNorm)
- Positional Encoding
- Transformer Encoder ์ ์ฒด ๊ตฌ์กฐ
- Decoder ๋ชจ๋ธ ๊ตฌ์ถ
- Masked Multi-Head Attention
- Cross Attention
- Transformer Decoder Block (Masked Attention โ Cross Attention โ Residual โ LayerNorm)
- Positional Encoding
- Transformer Decoder ์ ์ฒด ๊ตฌ์กฐ
- Classifier ๋ชจ๋ธ ๊ตฌ์ถ
- ์ ๋ ฅ ๋ฌธ์ฅ์ ๊ธฐ๋ฐ์ผ๋ก ๊ธ์ /๋ถ์ ๊ฐ์ ๋ถ๋ฅ
- Transformer Encoder/Decoder๋ฅผ ํ์ฉํ ๋ถ๋ฅ๊ธฐ ์ค๊ณ
- Encoder ๋ชจ๋ธ ๊ตฌ์ถ
- ํ์ผ:
LLM/16.transformer_word_embedding.ipynb - ํ์ต ๋ชฉํ: Transformer ๋ชจ๋ธ ๋ด ์๋ ์๋ฒ ๋ฉ ์ฒ๋ฆฌ ๋ฐ ํ์ต ์ดํด
- ํต์ฌ ๊ฐ๋
:
- ๊ฐ ๋จ์ด๋ง๋ค vocab ์ ์ฒด์ ํ๋ฅ ๋น๊ต โ ์ ๋ต๊ณผ ๋น๊ต โ ์์ค ๊ณ์ฐ โ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ โ logits ์์ฑ
- ํ์ต ๊ณผ์ ์์ ์๋ฒ ๋ฉ์ด ์ ์ ์๋ฏธ๋ฅผ ๋ฐ์ โ ๋น์ทํ ๋จ์ด๋ผ๋ฆฌ ๊ฐ๊น์์ง๋ ์ฑ์ง ๋ฐ์
- ์๋ฒ ๋ฉ ํ๋ ฌ์ ๊ฐ ๋ฒกํฐ๊ฐ ํ์ต์ ํตํด ์๋ฏธ ๊ณต๊ฐ์์ ์์น๋ฅผ ๋ฐ๊ฟ
- ๊ตฌ์ฑ ์์:
- ํ ํฌ๋์ด์ โ ์ธ๋ฑ์ค ๋ณํ
- ํ ์คํธ๋ฅผ ํ ํฐ ๋จ์๋ก ๋ถ๋ฆฌ (WordPiece, BPE, SentencePiece ๋ฑ)
- ๊ฐ ํ ํฐ์ ๊ณ ์ ์ธ๋ฑ์ค๋ก ๋งคํ
- ์๋ฒ ๋ฉ ๋ ์ด์ด ์์ฑ
- PyTorch
nn.Embedding์ฌ์ฉ - ์ธ๋ฑ์ค๋ฅผ ๊ณ ์ ๊ธธ์ด ๋ฒกํฐ๋ก ๋ณํ
- ํ์ต ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ๋ก ์ด๊ธฐํ โ ํ์ต ๊ณผ์ ์์ ์ ๋ฐ์ดํธ
- PyTorch
- ํ์ต ๋ฐฉ์
- ๋๋ค ์ด๊ธฐํ ํ ํ์ต: ๋ชจ๋ธ ํ์ต ๊ณผ์ ์์ ์๋ฏธ๋ฅผ ์ ์ฐจ ํ์ต
- ์ฌ์ ํ์ต ์๋ฒ ๋ฉ ํ์ฉ: Word2Vec, GloVe, FastText ๋ฑ
- Transformer ๊ธฐ๋ฐ ์๋ฒ ๋ฉ: BERT, GPT ๋ฑ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ์๋ฒ ๋ฉ ๋ ์ด์ด๋ฅผ ๊ฐ์ ธ์ ํ์ธํ๋
- ํ ํฌ๋์ด์ โ ์ธ๋ฑ์ค ๋ณํ
- ํ์ผ:
LLM/15.transformer_gpt-2.ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ๊ธ์ต ๋ถ์ผ ๋ค๊ตญ์ด ๋ง๋ญ์น ๋ฐ์ดํฐ์ ์ ์ฉ
- ๊ธ์ต ํ์ ๋ ผ๋ฌธ ๋ฐ์ดํฐ์ ๋ณํ ๋ฐ ์ ์ฒ๋ฆฌ
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- Hugging Face GPT-2 ๊ธฐ๋ฐ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- ํน์ ๋ ์ด์ด์ ์ ์ฐจ์ ํ๋ ฌ(๋ญํฌ r) ์ฝ์ ํ์ฌ ํ์ต
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ๋น ๋ฅธ ํ์ต, ๋๋ฉ์ธ ์ ์ฉ ๊ฐ๋ฅ
- Base ๋ชจ๋ธ์ ์ฌ๋ฌ LoRA ๋ชจ๋์ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์์
- ํ์ต ์ค์
- ํ์ต ์ธ์(args) ์ ์
- Trainer ๊ฐ์ฒด ์์ฑ ๋ฐ ์คํ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/14.transformer(summary_news).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ์์ฝ๋ฌธ ๋ฐ ๋ ํฌํธ ๋ด์ค(news) ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌ
- ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ฐ์ดํฐ์ ๋ณํ
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- Hugging Face ๊ธฐ๋ฐ ์์ฝ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- ํน์ ๋ ์ด์ด์ ์ ์ฐจ์ ํ๋ ฌ(๋ญํฌ r) ์ฝ์ ํ์ฌ ํ์ต
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ๋น ๋ฅธ ํ์ต, ๋๋ฉ์ธ ์ ์ฉ ๊ฐ๋ฅ
- Base ๋ชจ๋ธ์ ์ฌ๋ฌ LoRA ๋ชจ๋์ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์์
- ํ์ต ์ค์
- ํ์ต ์ธ์(args) ์ ์
- Trainer ๊ฐ์ฒด ์์ฑ ๋ฐ ์คํ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/13.transformer(translation_with_finance_classification).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ๊ธ์ต ํ์ ๋ ผ๋ฌธ/๊ณต์์ ๋ณด/๋ด์ค/๊ท์ /๋ณด๊ณ ์ ๋ค๊ตญ์ด ๋ฒ์ญ ๋ฐ์ดํฐ์ ํ์ฉ
- ํ์ต ๋ณด๊ฐ์ ํตํ ๋ฐ์ดํฐ ํ์ง ๊ฐ์
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ชจ๋ธ ๊ตฌ์ฑ
- ์ ๋ ฅ ๋ฌธ์ฅ์ ์ธ์ด ๋ถ๋ฅ
- ๋ฌธ์ฅ ์ ํ ๋ถ๋ฅ: ํ์ ๋ ผ๋ฌธ(0), ๊ณต์์ ๋ณด(1), ๋ด์ค(2), ๊ท์ (3), ๋ณด๊ณ ์(4)
- ํด๋น ์ ํ์ ๋ง๋ ๊ธฐ๊ณ ๋ฒ์ญ ๋ชจ๋ธ ์ ํ ๋ฐ ์ ์ฉ
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ์กฐํฉ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/12.transformer(translation_finance_classification).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ๊ธ์ต ํ์ ๋ ผ๋ฌธ/๊ณต์์ ๋ณด/๋ด์ค/๊ท์ /๋ณด๊ณ ์ ๋ฐ์ดํฐ์ ํ์ฉ
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ณํ
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- Hugging Face ๊ธฐ๋ฐ ๋ค๊ตญ์ด ๋ฒ์ญ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- ํน์ ๋ ์ด์ด์ ์ ์ฐจ์ ํ๋ ฌ(๋ญํฌ r) ์ฝ์ ํ์ฌ ํ์ต
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ๋น ๋ฅธ ํ์ต, ๋๋ฉ์ธ ์ ์ฉ ๊ฐ๋ฅ
- Base ๋ชจ๋ธ์ ์ฌ๋ฌ LoRA ๋ชจ๋์ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์์
- ํ์ต ์ค์ ๋ฐ ์คํ
- ํ์ต ์ธ์(args) ์ ์
- Trainer ๊ฐ์ฒด ์์ฑ ๋ฐ ์คํ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฌธ์ฅ ๋ถ๋ฅ
- ์ ๋ ฅ ๋ฌธ์ฅ์ ํ์ ๋ ผ๋ฌธ(0), ๊ณต์์ ๋ณด(1), ๋ด์ค(2), ๊ท์ (3), ๋ณด๊ณ ์(4)๋ก ๋ถ๋ฅ
- ๋ถ๋ฅ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ํด๋น ๋ฒ์ญ ๋ชจ๋ธ ์ ์ฉ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/11.transformer(translation_finance_disclosure).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ๊ธ์ต ๊ณต์ ์ ๋ณด ๋ฐ์ดํฐ์ ํ์ฉ
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ณํ
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- Hugging Face ๊ธฐ๋ฐ ๋ค๊ตญ์ด ๋ฒ์ญ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- ์์ด โ ํ๊ตญ์ด ๋ฒ์ญ ์ง์
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- ํน์ ๋ ์ด์ด์ ์ ์ฐจ์ ํ๋ ฌ(๋ญํฌ r) ์ฝ์ ํ์ฌ ํ์ต
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ๋น ๋ฅธ ํ์ต, ๋๋ฉ์ธ ์ ์ฉ ๊ฐ๋ฅ
- Base ๋ชจ๋ธ์ ์ฌ๋ฌ LoRA ๋ชจ๋์ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์์
- ํ์ต ์ค์ ๋ฐ ์คํ
- ํ์ต ์ธ์(args) ์ ์
- Trainer ๊ฐ์ฒด ์์ฑ ๋ฐ ์คํ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/10.transformer(translation_finance_news).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ๊ธ์ต ๋ด์ค ๋ฐ์ดํฐ์ ํ์ฉ
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ณํ
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- Hugging Face ๊ธฐ๋ฐ ๋ค๊ตญ์ด ๋ฒ์ญ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- ์์ด โ ํ๊ตญ์ด ๋ฒ์ญ ์ง์
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- ํน์ ๋ ์ด์ด์ ์ ์ฐจ์ ํ๋ ฌ(๋ญํฌ r) ์ฝ์ ํ์ฌ ํ์ต
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ๋น ๋ฅธ ํ์ต, ๋๋ฉ์ธ ์ ์ฉ ๊ฐ๋ฅ
- Base ๋ชจ๋ธ์ ์ฌ๋ฌ LoRA ๋ชจ๋์ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์์
- ํ์ต ์ค์ ๋ฐ ์คํ
- ํ์ต ์ธ์(args) ์ ์
- Trainer ๊ฐ์ฒด ์์ฑ ๋ฐ ์คํ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/09.transformer(translation_finance_report).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- ๋ฐ์ดํฐ์
์ค๋น
- AI HUB ๊ธ์ต ๋ณด๊ณ ์ ๋ฐ์ดํฐ์ ํ์ฉ
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ณํ
- ํ ํฌ๋์ด์ง
- ์ ๋ ฅ ๋ฌธ์ฅ ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- Hugging Face ๊ธฐ๋ฐ ๋ค๊ตญ์ด ๋ฒ์ญ ๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
- ์์ด โ ํ๊ตญ์ด ๋ฒ์ญ ์ง์
- LoRA(Low-Rank Adaptation) ์ ์ฉ
- ํน์ ๋ ์ด์ด์ ์ ์ฐจ์ ํ๋ ฌ(๋ญํฌ r) ์ฝ์ ํ์ฌ ํ์ต
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ๋น ๋ฅธ ํ์ต, ๋๋ฉ์ธ ์ ์ฉ ๊ฐ๋ฅ
- Base ๋ชจ๋ธ์ ์ฌ๋ฌ LoRA ๋ชจ๋์ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์์
- ํ์ต ์ค์ ๋ฐ ์คํ
- ํ์ต ์ธ์(args) ์ ์
- Trainer ๊ฐ์ฒด ์์ฑ ๋ฐ ์คํ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- LoRA ์ ์ฉ๋ ๋ชจ๋ธ ๋ฐ ํ ํฌ๋์ด์ ์ ์ฅ
- ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA ๋ชจ๋ธ + ํ ํฌ๋์ด์ ๋ถ๋ฌ์ค๊ธฐ
- ๋ฐ์ดํฐ์
์ค๋น
- ํ์ผ:
LLM/08.transformer(translation_finance_regulation).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- AI HUB ๊ธ์ต ๊ท์ ์ ๋ณด ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌ
- ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ฐ์ดํฐ์ ๋ณํ
- ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- LoRA ์ ์ฉ ๋ฐ ํ์ต
- Trainer ์คํ
- LoRA ๋ชจ๋ธ/ํ ํฌ๋์ด์ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- ์์ด โ ํ๊ตญ์ด ๋ฒ์ญ ์ง์
- ํ์ผ:
LLM/07.transformer(translation_finance_article).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- AI HUB ๊ธ์ต ํ์ ๋ ผ๋ฌธ ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌ
- ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ฐ์ดํฐ์ ๋ณํ
- ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- LoRA ์ ์ฉ ๋ฐ ํ์ต
- Trainer ์คํ
- LoRA ๋ชจ๋ธ/ํ ํฌ๋์ด์ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- ์์ด โ ํ๊ตญ์ด ๋ฒ์ญ ์ง์
- ํ์ผ:
LLM/06.transformer(translation_broadcast).ipynb - ํ์ต ๋ชฉํ: ๊ตฌ์กฐ ์ต์ ํ ๋ฐ ํ์ดํ๋ผ์ธ ๋จ์ํ
- ๊ตฌ์ฑ ์์:
- AI HUB ๋ฐฉ์ก ๋ค๊ตญ์ด ๋ฒ์ญ ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌ
- ๋ณ๋ ฌ ๋ฌธ์ฅ์ ๋ฐ์ดํฐ์ ๋ณํ
- ํ ํฌ๋์ด์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ก๋
- LoRA ์ ์ฉ ๋ฐ ํ์ต
- Trainer ์คํ
- LoRA ๋ชจ๋ธ/ํ ํฌ๋์ด์ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- ์์ด โ ํ๊ตญ์ด ๋ฒ์ญ ์ง์
- ํ์ผ:
LLM/05_transformer(news_analysis_aihub_news).ipynb - ํ์ต ๋ชฉํ: ๋ด์ค ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- ์ ๋ ฅ ๋ฌธ์ฅ์ ์ ์น/๊ฒฝ์ /์ฌํ/๋ฌธํ/ITยท๊ณผํ/์คํฌ์ธ ์นดํ ๊ณ ๋ฆฌ๋ก ๋ถ๋ฅ
- ๋ค์ํ Transformer ์ํคํ ์ฒ(BERT, RoBERTa, ELECTRA ๋ฑ) ๋น๊ต
- ์ฑ๋ฅ ์งํ: Macro F1, Accuracy, Recall ์ต์ ํ
- Attention ๊ฐ์ค์น ๋ถ์์ ํตํ ๋ชจ๋ธ ํด์
- ํ์ฅ: ๋ฉํฐ๋ ์ด๋ธ ๋ถ๋ฅ, ๋ค๊ตญ์ด ๋ด์ค ๋ถ๋ฅ
- ํ์ผ:
LLM/04_transformer(news_analysis_ag).ipynb - ํ์ต ๋ชฉํ: ๋ด์ค ์นดํ ๊ณ ๋ฆฌ ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- ์ ๋ ฅ ๋ฌธ์ฅ์ ์ ์น/๊ฒฝ์ /๊ณผํยท๊ธฐ์ /์คํฌ์ธ ์นดํ ๊ณ ๋ฆฌ๋ก ๋ถ๋ฅ
- ๋ค์ํ Transformer ์ํคํ ์ฒ ๋น๊ต ๋ฐ ์ฑ๋ฅ ์ต์ ํ
- ๋ฐ์ดํฐ ์ฆ๊ฐ ๋ฐ ์ ๊ทํ ์ ์ฉ
- Attention ๊ฐ์ค์น ๋ถ์์ ํตํ ๋ชจ๋ธ ํด์
- ํ์ฅ: ๋ฉํฐ๋ ์ด๋ธ ๋ถ๋ฅ, ๋ค๊ตญ์ด ๋ด์ค ๋ถ๋ฅ
- ํ์ผ:
LLM/03_transformer(sentiment_analysis_naver_xlm-roberta).ipynb - ํ์ต ๋ชฉํ: ๊ธ์ /๋ถ์ ๊ฐ์ ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- ์ ๋ ฅ ๋ฌธ์ฅ์ ๊ธ์ (Positive) ๋๋ ๋ถ์ (Negative)์ผ๋ก ์๋ ๋ถ๋ฅ
- ๋ฌธ๋งฅ์ ์๋ฏธ์ ๋์์ค๋ฅผ ๊ณ ๋ คํ ๊ฐ์ ํด์
- ์ผ๋ฐํ ์ฑ๋ฅ ํ๋ณด: ์๋ก์ด ๋ฌธ์ฅ์์๋ ์ ํํ ๋ถ๋ฅ ์ํ
- ํ์ผ:
LLM/02_transformer(sentiment_analysis_naver).ipynb - ํ์ต ๋ชฉํ: ํ๊ตญ์ด ์ํ ๋ฆฌ๋ทฐ ๊ธฐ๋ฐ ๊ฐ์ ๋ถ๋ฅ
- ๊ตฌ์ฑ ์์:
- ๊ธ์ /๋ถ์ ์๋ ๋ถ๋ฅ
- ๋ฌธ๋งฅ์ ์๋ฏธ์ ๋์์ค๋ฅผ ๊ณ ๋ คํ ๊ฐ์ ํด์
- ๊ณผ์ ํฉ ๋ฐฉ์ง ๋ฐ ์ผ๋ฐํ ์ฑ๋ฅ ํ๋ณด
- ํ์ผ:
LLM/01_transformer(sentiment_analysis_imdb).ipynb - ํ์ต ๋ชฉํ: ์์ด ์ํ ๋ฆฌ๋ทฐ ๊ธฐ๋ฐ ๊ฐ์ ๋ถ๋ฅ
- ๊ตฌ์ฑ ์์:
- ๊ธ์ /๋ถ์ ์๋ ๋ถ๋ฅ
- ๋ฌธ๋งฅ์ ์๋ฏธ์ ๋์์ค๋ฅผ ๊ณ ๋ คํ ๊ฐ์ ํด์
- ๋ค์ํ ํํ ๋ฐฉ์ ์ดํด ๋ฐ ์ผ๋ฐํ ์ฑ๋ฅ ํ๋ณด
- ํ์ผ:
22_hybrid_coco_attention.ipynb - ํ์ต ๋ชฉํ: Attention ๊ธฐ๋ฐ ์ด๋ฏธ์ง ์บก์ ์์ฑ
- ๊ตฌ์ฑ ์์:
- Encoder: CNN(ResNet-50)์ผ๋ก ์ด๋ฏธ์ง ํน์ง ์ถ์ถ
- Decoder: Attention ๊ธฐ๋ฐ ์ํ์ค ์์ฑ
- ๋งค ์์ ๋ง๋ค ์ด๋ฏธ์ง์ ๋ค๋ฅธ ์์น์ ์ง์คํ์ฌ ๋จ์ด ์์ฑ
- Attention Map ์๊ฐํ๋ก ๋จ์ด-์ด๋ฏธ์ง ์์น ๊ด๊ณ ํ์ธ
- ํ์ผ:
21_hybrid_coco.ipynb - ํ์ต ๋ชฉํ: CNN-RNN ํ์ด๋ธ๋ฆฌ๋ ๊ตฌ์กฐ๋ก ์ด๋ฏธ์ง ์บก์ ์์ฑ
- ๊ตฌ์ฑ ์์:
- Encoder: CNN์ผ๋ก ์ด๋ฏธ์ง ํน์ง ์ถ์ถ
- Decoder: RNN(LSTM/GRU)์ผ๋ก ์ํ์ค ์์ฑ
- ํ์ต ๋ฐ์ดํฐ์ : MS COCO
- ์์ค ํจ์:
nn.CrossEntropyLoss() - ์ตํฐ๋ง์ด์ :
torch.optim.Adam
- ํ์ผ:
20_deep_learning_hybrid_emnist.ipynb - ์น์ฑ ๊ตฌ์กฐ:
hybrid-emnist-streamlit/src/ - ํ์ต ๋ชฉํ: EMNIST ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ CNN+RNN ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ (train, evaluate, test)
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Confusion Matrix ๋ฐ ์ค์ฐจ ๋ถ์
- Streamlit ์น์ฑ ๋ฐ๋ชจ: ๋ฌด์์ ์ด๋ฏธ์ง, ์ ๋ก๋, ์ง์ ๊ทธ๋ฆฌ๊ธฐ ์ ๋ ฅ ์ง์
- ํ์ผ:
19_deep_learning_hybrid.ipynb - ์น์ฑ ๊ตฌ์กฐ:
hybrid-mnist-streamlit/src/ - ํ์ต ๋ชฉํ: MNIST ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ CNN+RNN ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Confusion Matrix ๋ฐ ์ค์ฐจ ๋ถ์
- Streamlit ์น์ฑ ๋ฐ๋ชจ: ๋ฌด์์ ์ด๋ฏธ์ง, ์ ๋ก๋, ์ง์ ๊ทธ๋ฆฌ๊ธฐ ์ ๋ ฅ ์ง์
- ํ์ผ:
18_transfer_learning_gtsrb_traffic_sign_detection.ipynb - ์น์ฑ ๊ตฌ์กฐ:
gtsrb-traffic-sign-detection-streamlit/src/ - ํ์ต ๋ชฉํ: ๊ตํต ํ์งํ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ด๋ฏธ์ง ์ ๋ก๋/์น์บ ์ ๋ ฅ/๋ฉํฐ ์ด๋ฏธ์ง ์ง์
- ํ์ผ:
17_transfer_learning_kaggle_surface_crack_detection.ipynb - ์น์ฑ ๊ตฌ์กฐ:
surface_crack-detection-streamlit/src/ - ํ์ต ๋ชฉํ: ์ฝํฌ๋ฆฌํธ ํ๋ฉด ๊ฒฐํจ ์์ธก ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ด๋ฏธ์ง ์ ๋ก๋/์น์บ ์ ๋ ฅ/๋ฉํฐ ์ด๋ฏธ์ง ์ง์
- ํ์ผ:
16_transfer_learning_kaggle_breast_ultrasound_detection.ipynb - ์น์ฑ ๊ตฌ์กฐ:
breast-detection-streamlit/src/ - ํ์ต ๋ชฉํ: ์ ๋ฐฉ์ ์ด์ํ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ด๋ฏธ์ง ์ ๋ก๋/์น์บ ์ ๋ ฅ/๋ฉํฐ ์ด๋ฏธ์ง ์ง์
- ํ์ผ:
15_transfer_learning_kaggle_covid19_detection.ipynb - ์น์ฑ ๊ตฌ์กฐ:
covid19-detection-streamlit/src/ - ํ์ต ๋ชฉํ: COVID-19 ๊ฐ์ผ ์์ธก ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ด๋ฏธ์ง ์ ๋ก๋/์น์บ ์ ๋ ฅ/๋ฉํฐ ์ด๋ฏธ์ง ์ง์
- ํ์ผ:
14_transfer_learning_kaggle_emotion_detection.ipynb - ์น์ฑ ๊ตฌ์กฐ:
face-emotion-streamlit/src/ - ํ์ต ๋ชฉํ: ์ผ๊ตด ๊ฐ์ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ผ๊ตด ๊ฐ์ ์์ธก ๋ฐ๋ชจ
- ํ์ผ:
13_transfer_learning_kaggle_face_mask_detection.ipynb - ์น์ฑ ๊ตฌ์กฐ:
face-mask-streamlit/src/ - ํ์ต ๋ชฉํ: ์ผ๊ตด ๋ง์คํฌ ์ฐฉ์ฉ ์ฌ๋ถ ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ผ๊ตด ๋ง์คํฌ ์ฐฉ์ฉ ์์ธก ๋ฐ๋ชจ
- ํ์ผ:
12_transfer_learning_kaggle_brain_tumor_mri.ipynb - ์น์ฑ ๊ตฌ์กฐ:
brain-tumor-streamlit/src/ - ํ์ต ๋ชฉํ: ๋์ข ์ MRI ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ๋์ข ์ ์์ธก ๋ฐ๋ชจ
- ํ์ผ:
11_transfer_learning_vit_dog_emotion_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
dogs-image-streamlit/src/ - ํ์ต ๋ชฉํ: ๊ฐ์์ง ๊ฐ์ ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ๊ฐ์์ง ๊ฐ์ ์์ธก ๋ฐ๋ชจ
- ํ์ผ:
10_transfer_learning_vit_custom_image_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
dogs-image-streamlit/src/ - ํ์ต ๋ชฉํ: ๊ฐ์์ง ์ข ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ๊ฐ์์ง ์ข ์์ธก ๋ฐ๋ชจ
- ํ์ผ:
09_transfer_learning_cats_dogs_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
cats-dogs-streamlit/src/ - ํ์ต ๋ชฉํ: ๊ณ ์์ด vs ๊ฐ์์ง ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Pre-trained ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ดํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ๊ณ ์์ด/๊ฐ์์ง ๋ถ๋ฅ ๋ฐ๋ชจ
- ํ์ผ:
07_deep_cnn_cifar10_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_07_deep_cnn_cifar10.py - ํ์ต ๋ชฉํ: CIFAR10 ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- Deep CNN ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ํ์ต/ํ๊ฐ ํจ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: CIFAR10 ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฐ๋ชจ
- ํ์ผ:
06_cnn_cifar10_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_06_cnn_cifar10.py - ํ์ต ๋ชฉํ: CIFAR10 ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- CNN ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- StepLR, EarlyStopping ์ ์ฉ
- ์ฑ๋ฅ ์งํ: Accuracy, Confusion Matrix, Precision, Recall, F1-score
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: CIFAR10 ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฐ๋ชจ
- ํ์ผ:
05_cnn_fashion_mnist_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_05_cnn_fashion_mnist.py - ํ์ต ๋ชฉํ: Fashion-MNIST ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- CNN ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- StepLR, EarlyStopping ์ ์ฉ
- ์ฑ๋ฅ ์งํ: Accuracy, Confusion Matrix, Precision, Recall, F1-score
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: Fashion-MNIST ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฐ๋ชจ
- ํ์ผ:
04_cnn_mnist_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_04_cnn_mnist.py - ํ์ต ๋ชฉํ: MNIST ์๊ธ์จ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- CNN ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- StepLR, EarlyStopping ์ ์ฉ
- ์ฑ๋ฅ ์งํ: Accuracy, Confusion Matrix, Precision, Recall, F1-score
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ๋ฌด์์ ์ด๋ฏธ์ง, ์ ๋ก๋, ์ง์ ๊ทธ๋ฆฌ๊ธฐ ์ ๋ ฅ ์ง์
- ํ์ผ:
03_mlp_fashion_mnist_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_03_mlp_fashion_mnist.py - ํ์ต ๋ชฉํ: Fashion-MNIST ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- MLP ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- StepLR, EarlyStopping ์ ์ฉ
- ์ฑ๋ฅ ์งํ: Accuracy, Confusion Matrix, Precision, Recall, F1-score
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: Fashion-MNIST ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฐ๋ชจ
- ํ์ผ:
02_mlp_mnist_gpu.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_02_mlp_mnist_model.py,app_02_mlp_mnist_model_image_upload.py - ํ์ต ๋ชฉํ: MNIST ์๊ธ์จ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- MLP ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ์ฑ๋ฅ ์งํ: Accuracy, Confusion Matrix, Precision, Recall, F1-score
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ๋ฌด์์ ์ด๋ฏธ์ง, ์ ๋ก๋, ์ง์ ๊ทธ๋ฆฌ๊ธฐ ์ ๋ ฅ ์ง์
- ํ์ผ:
01_mlp.ipynb - ์น์ฑ ๊ตฌ์กฐ:
app_01_mlp_model.py,app_01_mlp_model_csv_upload.py,app_01_mlp_model_csv_upload_download.py - ํ์ต ๋ชฉํ: ๊ธฐ๋ณธ ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ MLP ์ด์ง ๋ถ๋ฅ๊ธฐ ๊ตฌ์ถ
- ๊ตฌ์ฑ ์์:
- MLP ๊ธฐ๋ฐ ํ์ต
- Dataset ๋ฐ DataLoader ํ์ฉ
- ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋
- ์ฑ๋ฅ ์งํ: Accuracy, Confusion Matrix, Precision, Recall, F1-score
- ๋ชจ๋ธ ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ
- Streamlit ์ฑ: ์ซ์ ์ ๋ ฅ, CSV ์ ๋ก๋/๋ค์ด๋ก๋ ์ง์