SK네트웍스 Family AI캠프 10기 3월 회고록 (25.03.03 ~ 25.03.31)
기간: 25.03.03 ~ 25.03.31
본격적인 회고록 작성에 앞선 나의 이야기
이번 달은 어땠지?
- 두 번째 미니 프로젝트에서 좋은 평가를 받았고, 자기 자신에게 큰 동기부여가 되었다고 생각했다.
- NLP와 챗봇 프로젝트에 집중하며 LLM(대형 언어 모델)을 활용하는 경험을 쌓았다. 여러 LLM 제공자(OpenAI, Groq, Ollama)를 사용하며 챗봇 프로젝트의 기본 흐름을 배울 수 있었다.
- 다양한 모델들을 실험하면서 모델 선택과 성능 최적화의 중요성을 실감했다.
- 그러나 어떤 분야를 어떻게 준비해야 할지에 대한 명확한 방향은 여전히 부족하다고 느꼈다. 그렇지만 꾸준한 노력을 통해 부족한 부분을 개선하고, 실력을 키우는 방향으로 나아가고자 한다.
- 두 번째 미니프로젝트
- 프로젝트명: SKN Bank 고객 이탈 예측 및 금융상품 최적화 시스템
- 목표: 머신러닝을 활용해 은행 고객의 이탈 가능성을 예측하고, 맞춤형 금융상품을 적용하여 이탈률 감소 및 수익 최적화를 목표로 했다.
- 기대효과: 고객 이탈 예측을 통해 이탈 가능성이 높은 고객을 식별하고, 맞춤형 금융상품을 통해 이탈률을 낮추며, 수익을 최적화할 수 있었다.
- 모델: RandomForest, XGBoost, LightGBM 등을 사용하여 고객 이탈 예측 모델을 학습하고, 최적화된 모델을 선택하여 분석했다.
- 결과: 최종적으로 RandomForest 모델을 선택하여, 고객 이탈 예측 성능을 최적화하고, 금융상품 추천 전략을 수립할 수 있었다.

나의 계획
- 앞으로는 딥러닝 개념과 모델 설계에 더 집중하여 고급 튜닝 및 최적화 기술을 익힐 예정이다.
- 자기계발과 함께 알고리즘 문제 풀이를 병행하여 문제 해결 능력을 키우고, 더 나아가 AI 기술을 실무에 접목할 수 있도록 준비할 것이다.
- 또한, 챗봇 프로젝트를 더 발전시켜 실제 사용자가 동작하는 환경에서 예외 처리와 세션 관리를 개선하는 데 집중할 예정이다.
3월 학습 내용 정리
하이퍼파라미터 튜닝 및 모델 최적화
- LightGBM 모델에서 예측 확률 중복 문제를 해결하기 위해 하이퍼파라미터 조정(num_leaves, min_data_in_leaf, learning_rate 등) 실험을 진행했다.
- Grid Search를 적용하여 최적의 하이퍼파라미터를 찾기 위한 실험을 했고, 예측 확률의 다양성을 증가시키는 데 성공했다.
- 그러나 과적합 문제를 해결하려면 추가 실험이 필요함을 깨달았다.
- 딥러닝 모델을 적용한 분류 및 회귀 문제 실험도 진행하며, CNN, RNN, LSTM 모델을 다뤘다. 각 모델을 실제 데이터셋에 적용하여 성능을 비교하고, 모델 특성에 맞게 최적화 실험을 했다.
NLP 학습 내용
- 자연어 처리(NLP)에 대한 기초부터 시작하여 어휘집(Vocabulary)을 생성할 때 훈련 데이터만 사용하는 이유와 그 중요성을 학습했다.
- Embedding Layer와 RNN, CNN, LSTM 등의 모델을 활용해 텍스트 데이터를 처리하고, 감정 분석, 분류 문제 등을 실험했다.
- NLP 관련 주요 개념인 단어 임베딩, 시퀀스 모델링, 텍스트 전처리 등을 다루며, 기본적인 텍스트 처리와 모델 학습에 필요한 기법들을 이해했다.
LLM 제공자(OpenAI, Groq, Ollama) API 사용 실습
- LLM 제공자인 OpenAI, Groq, Ollama의 API 사용 방법을 실습했다.
- OpenAI API를 사용하여 GPT 모델을 통해 대화형 인터페이스를 구현하고, 실시간 응답을 받는 방식으로 챗봇을 개발해봤다.
- Groq API를 활용하여 LLama 모델 기반의 대화형 시스템을 실습하며 모델 호출과 응답 처리에 대한 이해를 높였다.
- Ollama API는 로컬에서 모델을 실행할 수 있도록 Ollama 클라이언트를 설정하고, chatbot.py에서 API를 활용하여 모델을 실행하고 응답을 얻는 흐름을 구현했다.
- 각 API에서 모델 선택, 파라미터 설정, 응답 스트리밍 방식 등을 비교하며 실습을 진행했다. 이를 통해 각 API의 차이점과 사용법을 명확히 이해할 수 있었다.
챗봇 프로젝트
- 챗봇 시스템 설계 및 LLM 모델을 활용한 실습을 진행했다. 다양한 LLM 제공자(OpenAI, Groq, Ollama) 모델을 활용하여 Streamlit 기반의 챗봇 인터페이스를 구축했다.
- Provider 클래스와 Enum 클래스를 활용하여 모델 선택을 안전하게 처리하고, Provider와 모델 이름을 기반으로 챗봇 응답을 생성하는 구조로 개발했다.
- 벡터 임베딩 저장소로 PostgreSQL + pgvector를 활용하여 도커 환경에서 데이터베이스 연동 실습을 진행했다. 이를 통해 유사도 기반 검색과 기존 대화 내용 추적 등의 기능을 구현할 수 있었다.
자기계발 및 추가 실습
- 운동을 꾸준히 하며 체력 관리와 학습 집중력을 향상시키는 데 집중했다.
- 블로그 회고록 작성을 통해 매일 학습 내용을 정리하고 복습하는 습관을 지속적으로 유지했다.
- UV 가상환경을 설치하고 세팅하여 파이썬 프로젝트 관리 및 패키지 관리를 효율적으로 할 수 있는 환경을 구축했다. 이를 통해 다양한 라이브러리 버전 관리와 패키지 설치가 용이해졌다.
- Ollama를 설치하고 로컬 LLM 모델 실행 환경을 설정하여 모델을 구동하고, 이 과정을 통해 로컬 환경에서 LLM 모델을 활용하는 경험을 쌓았다.
KPT 회고 (3월 전체)
Keep (잘한 점)
- 두 번째 미니 프로젝트에서 좋은 평가를 받으며 자기 자신에게 동기부여가 되었다.
- 다양한 LLM 제공자와 모델 실험을 통해 실제 환경에서 모델 운영 경험을 쌓았다.
- 챗봇 프로젝트와 벡터 임베딩 저장소 연동을 통해 실무적인 경험을 쌓았다.
- 자기계발을 위한 운동과 블로그 회고록 작성을 꾸준히 진행했다.
Problem (개선할 점)
- 딥러닝 모델 설계와 하이퍼파라미터 튜닝에 대한 이해가 부족해, 이 부분에 대한 추가 학습이 필요하다.
- 모델 선택과 최적화에서 더 심화된 실험이 필요하다.
- 어떤 분야를 어떻게 준비할지에 대한 명확한 방향을 아직 잡지 못했다.
Try (4월에 시도할 점)
- 딥러닝 모델 설계와 최적화 기술을 심화 학습하고 HuggingFace에 있는 모델들을 사용하며, 서비스에 적용할 수 있는 방법을 알아볼 것이다.
- 알고리즘 문제 풀이와 데이터 분석 실습을 통해 문제 해결 능력을 강화할 것이다.
- 챗봇 프로젝트를 놓치지 않고 이해하도록 노력하며, 강사님이 가지고 계신 실무 역량을 배워볼 것이다.
마무리 & 4월 목표
- 3월은 NLP, 챗봇 프로젝트를 통해 많은 경험을 얻었고, 이를 바탕으로 하이퍼파라미터 튜닝과 모델 최적화의 중요성을 실감했다.
- 그러나 여전히 딥러닝 설계와 하이퍼파라미터 조정에 대한 깊은 이해가 부족했다. 4월에는 이 부분을 더 심화하고, 알고리즘 문제 풀이와 데이터 분석 실습을 통해 문제 해결 능력을 키울 것이다.
- 또한, 챗봇 프로젝트에서 강사님의 스타일을 배우고, 코드를 작성하는 방법을 실습하며 실무역량을 더욱 키우기 위해 노력할 것이다.