[플레이데이터 SK네트웍스 Family AI 캠프 10기] 3월 회고록

문승기·2025년 3월 31일
0

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 LayerRNN, CNN, LSTM 등의 모델을 활용해 텍스트 데이터를 처리하고, 감정 분석, 분류 문제 등을 실험했다.
  • NLP 관련 주요 개념단어 임베딩, 시퀀스 모델링, 텍스트 전처리 등을 다루며, 기본적인 텍스트 처리와 모델 학습에 필요한 기법들을 이해했다.

LLM 제공자(OpenAI, Groq, Ollama) API 사용 실습

  • LLM 제공자OpenAI, Groq, OllamaAPI 사용 방법을 실습했다.
  • 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 (잘한 점)

  1. 두 번째 미니 프로젝트에서 좋은 평가를 받으며 자기 자신에게 동기부여가 되었다.
  2. 다양한 LLM 제공자모델 실험을 통해 실제 환경에서 모델 운영 경험을 쌓았다.
  3. 챗봇 프로젝트벡터 임베딩 저장소 연동을 통해 실무적인 경험을 쌓았다.
  4. 자기계발을 위한 운동과 블로그 회고록 작성을 꾸준히 진행했다.

Problem (개선할 점)

  1. 딥러닝 모델 설계하이퍼파라미터 튜닝에 대한 이해가 부족해, 이 부분에 대한 추가 학습이 필요하다.
  2. 모델 선택최적화에서 더 심화된 실험이 필요하다.
  3. 어떤 분야를 어떻게 준비할지에 대한 명확한 방향을 아직 잡지 못했다.

Try (4월에 시도할 점)

  1. 딥러닝 모델 설계최적화 기술을 심화 학습하고 HuggingFace에 있는 모델들을 사용하며, 서비스에 적용할 수 있는 방법을 알아볼 것이다.
  2. 알고리즘 문제 풀이데이터 분석 실습을 통해 문제 해결 능력을 강화할 것이다.
  3. 챗봇 프로젝트를 놓치지 않고 이해하도록 노력하며, 강사님이 가지고 계신 실무 역량을 배워볼 것이다.

마무리 & 4월 목표

  • 3월은 NLP, 챗봇 프로젝트를 통해 많은 경험을 얻었고, 이를 바탕으로 하이퍼파라미터 튜닝모델 최적화의 중요성을 실감했다.
  • 그러나 여전히 딥러닝 설계하이퍼파라미터 조정에 대한 깊은 이해가 부족했다. 4월에는 이 부분을 더 심화하고, 알고리즘 문제 풀이데이터 분석 실습을 통해 문제 해결 능력을 키울 것이다.
  • 또한, 챗봇 프로젝트에서 강사님의 스타일을 배우고, 코드를 작성하는 방법을 실습하며 실무역량을 더욱 키우기 위해 노력할 것이다.
profile
AI 모델을 개발하여 이를 활용한 서비스를 개발하고 운영하는 개발자가 되기 위해 꾸준히 노력하겠습니다!

0개의 댓글