Developer's Development
[플레이데이터 SK네트웍스 Family AI 캠프 17기] 10주차 회고 본문
Hello World 👋🏻
어느덧 8월의 무더위가 한풀 꺾이고, 아침저녁으로 느껴지는 신선한 공기에 괜히 마음이 설레는 요즘이에요 🍃
지난주에는 기계가 사람의 말을 '이해'하는 것을 넘어, 스스로 말을 '생성'하고 특정 목적을 위해 '행동'하도록 만드는 과정을 배웠어요.
📅 공부 기록
- 2025.08.26 - [LLM] - 3.3.7 [NLP] 자연어 딥러닝(신경망 기계 번역)
- 2025.08.27 - [LLM] - 3.3.8 [NLP] 자연어 딥러닝(전이학습)
- 2025.09.01 - [LLM] - 3.3.9 [LLM] 기초 및 응용
이번 주 공부의 모든 것은 트랜스포머라는 한 단어로 요약할 수 있겠네요.
단어의 순서대로 정보를 처리하던 이전 방식에서 벗어나, 셀프 어텐션으로 문장 전체의 관계를 한 번에 파악하는 혁신적인 아이디어를 배웠습니다.
이 개념이 BERT와 GPT 같은 현대 언어 모델의 근간이 된다는 사실을 깨달으며, 드디어 NLP의 심장부에 다가선 듯한 긴장감을 느낄 수 있었어요.
📝 실습 기록
- Seq2Seq QnA Chatbot
https://github.com/mylee99125/Seq2Seq_QNA_Chatbot
GitHub - mylee99125/Seq2Seq_QNA_Chatbot
Contribute to mylee99125/Seq2Seq_QNA_Chatbot development by creating an account on GitHub.
github.com
간단한 Q&A 쌍으로 구성된 데이터셋으로, Tensorflow/Keras를 활용하여 Seq2Seq (Encoder-Decoder) 모델을 구현한 간단한 한국어 Q&A 챗봇이에요.
사용자의 질문 문장이 인코더로 들어가 문맥을 압축한 벡터로 변환되고, 디코더는 이 벡터를 바탕으로 답변 문장을 한 단어 한 단어 생성해 내는 과정을 코드로 완성했습니다.
❌ 발견했던 오류와 해결 과정
가장 큰 문제점은 학습 초기에 챗봇이 의미 없는 단어를 반복하거나, 문법에 맞지 않는 엉뚱한 문장을 생성하는 현상이었습니다.
예를 들어 "사랑 사랑 사랑 사랑" 처럼 똑같은 단어만 뱉어내거나, 도무지 이해할 수 없는 답변을 내놓았어요.
원인을 찾기 위해 여러 가설을 세웠습니다.
학습률이 너무 높아서 안정적인 학습이 어려운 것일 수도 있고, 데이터 전처리 과정에 문제가 있었을 수도 있었죠.
오랜 시간의 재학습과 기다림 끝에 의미 있는 문장을 생성하기 시작했고, 이 과정을 통해 생성 모델의 학습이 얼마나 섬세하고 어려운 과정인지 절실히 느낄 수 있었어요.

- 야구 경기 채팅방 클린봇
https://github.com/mylee99125/HF-PL_Cleanbot
GitHub - mylee99125/HF-PL_Cleanbot
Contribute to mylee99125/HF-PL_Cleanbot development by creating an account on GitHub.
github.com
지난번 야구 댓글 감성 분석 프로젝트를 진행하며, 팬들의 즐거운 소통을 방해하는 악성 댓글들을 발견하고 안타까웠던 경험이 이번 프로젝트의 시작이었습니다.
Hugging Face의 사전 학습된 NLP 모델을 통해 댓글의 감성(긍정/부정), 악플 여부, 세부 감정을 동시에 분석하고, 자체적으로 설계한 '부정 점수' 시스템을 도입하여, 일정 기준을 넘는 악성 댓글은 '클린봇'에 의해 자동으로 가려지도록 구현한 프로젝트예요.
👉🏻 최종 결과
: 클린봇이 가려야 할 메시지 입력 시 결과 (입력 메시지: '돈 받고 저따위로 뛰는 쓰레기들')

: 정상적으로 표시되어야 할 메시지 입력 시 결과 (입력 메시지: '마! 함 해보자! 끝까지 응원한다!)

💭 KPT
Keep
지난번 감성 분석 프로젝트에서 멈추지 않고, '클린봇'이라는 실용적인 아이템으로 발전시켜 아이디어를 구체화한 점이 좋았어요.
또한, 두 프로젝트 모두에서 문제가 발생했을 때, 명확한 가설을 세우고 해결하려 노력했던 문제 해결 과정 역시 앞으로 큰 자산이 될 것 같아요.
Problem
Seq2Seq 챗봇이 학습 초기에 의미 없는 말을 반복할 때, 원인을 명확히 파악하기보다는 여러 방법을 시도해 보는 것에 그쳤던 점이 아쉬워요.
생성 모델의 학습이 왜 불안정했는지에 대한 근본적인 이해가 아직 부족하다는 것을 느꼈습니다.
Try
다음 생성 모델 프로젝트에서는 단순히 결과만 보는 것을 넘어, 학습 과정에서 손실 변화나 특정 지표들을 더 체계적으로 추적하고 기록하여 문제의 원인을 더 논리적으로 분석하는 습관을 들여야겠어요.
이렇게 한 주간의 회고를 정리하고 나니, 정말 특별한 경험을 한 주였다는 생각이 들어요.
단순히 코드를 짜고 모델을 학습시키는 것을 넘어, 제가 만든 결과물과 대화를 나누고, 제가 아끼는 커뮤니티에 기여하는 상상을 하며 가슴 벅찬 순간들이 많았어요.
기술이 단지 기술로만 머무는 것이 아니라, 사람과 소통하고 긍정적인 영향을 줄 수 있는 도구가 될 수 있다는 사실을 온몸으로 체감한 시간이었어요.
물론 아직은 서툴고 부족한 점이 많지만, 이번 주에 얻은 자신감과 교훈을 바탕으로 앞으로 더 재미있는 도전들을 계속해 나갈 수 있을 것 같아요.
그럼 저는 다음 주에 또 다른 성장 이야기로 찾아올게요!
'회고' 카테고리의 다른 글
| [플레이데이터 SK네트웍스 Family AI 캠프 17기] 12주차 회고 (3) | 2025.09.14 |
|---|---|
| [플레이데이터 SK네트웍스 Family AI 캠프 17기] 11주차 회고 (0) | 2025.09.14 |
| [플레이데이터 SK네트웍스 Family AI 캠프 17기] 9주차 회고 (6) | 2025.08.24 |
| [플레이데이터 SK네트웍스 Family AI 캠프 17기] 8주차 회고 (1) | 2025.08.21 |
| [플레이데이터 SK네트웍스 Family AI 캠프 17기] 7주차 회고 (10) | 2025.08.12 |