본문 바로가기
[SKN Family AI Camp]/회고록

[SK Networks Family AI Camp 3기 회고록] 12-16주차 회고록 (24.09.30~ 24.11.01)

by seom-j 2025. 1. 22.

 

 본 게시글은 12에서 16주차까지의, 약 한달(5주)간의 이야기를 담아보고자 한다.

 

💡 The four Fs란?
- FACTS (사실, 객관) : 있었던 일, 내가 한 일
- FEELINGS (느낌, 주관) : 나의 감정적인 반응, 느낌
- FINDINGS (배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것
- FUTURE (미래) : 배운 것을 미래에는 어떻게 적용할 지

 

 

 

🗃️ FACTS : 사실, 객관

 

[ 🤖 LLM ]

 막연하게 인지하고만 있었던 LLM에 대해 자세히 배우고 활용하는 시간을 가졌다.

 

 관련 용어 및 종류와 활용법을 접하며 개념을 다잡았고, 학습 과정을 보며 흐름을 파악할 수 있었다. 이후 Fine Tuning의 다양한 방법론과 LangChain, RAG의 실습을 통해 LLM 활용 역량을 강화했다.

 

[ 🔖 Fourth Mini Prj ]

 이번 네번째(마지막) 미니 프로젝트의 주제는 “LLM과 RAG를 활용한 응용 챗봇 개발”였다. 매니저님이 정해주신 새로운 팀원들과 수행하게 되었고, 각자 Django를 활용하여 원하는 분야의 Chatbot을 만든 후 페이지 형식으로 합치기로 하였다.

 

 나는 RAG를 활용하여 강사님의 강의 자료를 효율적으로 활용하기 위한 챗봇 개발을 목표로, 특정 부분을 물어보면 해당 내용과 그 내용이 담긴 파일의 경로를 제공하는 챗봇을 기획하고 개발하였다.

 

 이를 기반으로 5명의 팀원들과 내용을 합쳐 발표를 진행하였고, 긍정적으로 마무리할 수 있었다.

 

[ 🧸 Toy Prj ]

 "SeoulPOT (📍서울의 진짜 SPOT📍을 추천해주는 서비스)"라는 주제의 프로젝트를 지난 7월부터 개발하기 시작하여 완결지었다. 총 3번의 agile 과정을 거쳤고, 이번 3rd agile에는 웹 UI/UX 강화 및 모델 강화, 데이터 수집 자동화를 진행하였다. 나는 PL을 맡았으며, 동시에 데이터 수집 자동화를 진행하였다.

 

 나는 AWS와 Airflow, PySpark를 활용하여 1st~2nd agile간 진행한 내용들을 적용한 리뷰 업데이트 배치 프로세스를 개발하였다. 이를 통해 총 8단계의 프로세스의 실행시간을 약 70% 단축하는 경험을 할 수 있었다.

 

 또한 인원이 점차 늘어나며 회의시간이 점점 길어지는 문제를 겪었는데, 주변의 도움을 받아 효율적인 회의 진행법을 터득하여 회의 시간을 단축할 수 있었다.

 

 최종적으로 각 파트의 개발을 성황리에 마칠 수 있었고, CI/CD를 통한 배포 및 게시판을 통한 사용자 피드백 수렴을 수행할 수 있었다.

 

 

💘 FEELINGS : 느낌, 주관

 

[ 🤖 LLM ]

 LLM을 사용하기 위해서는 GPU 혹은 API 비용이 들기에 비용적인 문제에 마주해왔는데, 해당 부분을 지원해주어 마음껏 활용하며 실습적으로 배워볼 수 있어 감사한 시간들이었다.

 

 특히나 단순히 LLM을 활용하는 것이 아닌 Fine Tuning을 수행하거나 LangChain을 활용한 RAG 설계를 통해 답변을 강화하는 경험을 통해, 주어진 미션에 fit한 모델을 만들어보는 경험을 가질 수 있는 점이 좋았다.

 

[ 🔖 Fourth Mini Prj ]

 항상 강사님께서는 “저의 강의자료를 사전처럼 사용하세요.”라고 말씀하시곤 하셨다. 실제로 강사님의 강의자료는 강사님의 숙달된 서치를 기반으로 손수 완성되었기에 퀄리티와 가독성이 높아 자주 찾아보곤 했는데, 내용이 많고 다양한 주제를 다루고 있어 해당 부분이 어느 레포지토리에 있는지 찾기 힘들다는 문제에 직면하였다.

 

 이런 평소 겪었던 문제를 기반으로 강사님의 강의 자료에서부터 내용과 파일경로를 찾는 챗봇을 개발하였기에 더욱이 재미있게 청크화 방식이나 프롬프트를 고민해보며 결정할 수 있었던 것 같다.

 

[ 🧸 Toy Prj ]

 이번 3rd agile때는 데이터 수집(업데이트) 자동화 배치 프로세스를 개발하였다. 단순히 업데이트가 되는 것 뿐만 아니라 우리 웹에 필요했던 긍/부정 감정분석과 광고성 분석, 번역 등의 과정을 수행해야 하였기에 시간적, 비용적인 부분을 생각하며 개발해야 하였다.

 

 해당 과정의 특징이 무엇이고, 데이터를 어떻게 쪼개서 수행해야 효율적인 배치 프로세스가 될지 고민하고 설계하는 과정을 거칠 수 있어 재미있었고 추후 시간을 계산해보며 실질적으로 줄인 시간을 보며 큰 뿌듯함을 얻을 수 있었다.

 

 또한 약 3개월간의 프로젝트를 마무리하며 시간을 되돌아보니, 개발 뿐만 아니라 팀 프로젝트에 대해 배우고 느낀 부분이 참 많았다. 5명으로 시작하여 8명으로 마무리된 프로젝트로써, 많은 인원들이 팀원으로써 최선을 다해주어 감사했고 모두가 만들어낸 값진 경험이라 더욱 뿌듯한 경험이라고 생각된다.

 

 

🔍 FINDINGS : 배운 것

 

[ 🤖 LLM ]

 LLM은 똑똑하기에 프롬프트만 잘 주면 충분히 활용할 수 있을 줄 알았으나, 태스크마다 요구되는 부분이 생각보다 많이 달라 LLM의 단점(Hallucination)이 큰 타격으로 다가올 수 있다는 것을 깨달았다. 이 경우 Fine Tuning, LangChain, RAG 등 추가적인 설계를 통해 Task에 맞는 방향으로 모델을 진화시킬 수 있는 방향이 있다는 점을 배웠다.

 

 해당 배움을 통해 더욱 넓은 시야를 가질 필요성새로 나오는 기술의 동향을 파악할 필요성을 느꼈다.

 

[ 🔖 Fourth Mini Prj ]

 문제를 정의하고 이를 해결하는 과정에서, 확실히 해당 문제를 경험하고 필요성을 느낀 경우 해결에 대한 접근이 쉽다는 점을 깨달았다. Pain Point를 명확히 이해할 수 있기 때문이다. 앞으로의 문제 해결시에도 해당 Pain Point를 충분히 이해해보는 시간이 필요하겠다고 느꼈다.

 

[ 🧸 Toy Prj ]

 배치 프로세스 설계시, 설계에 대한 충분한 고민과 시간투자가 필요하다고 느꼈다. 해당 고민에 따라 눈에 보이는 시간과 비용 절감이 생기기에, 설계에 대한 사고방식과 시간투자가 많이 익숙해지기를 바란다.

 

 팀 운영에 대한 배운점 또한 존재한다. 지속적으로 아이디어를 디벨롭하는 것은 좋으나, 구체적인 계획과 충분한 검토가 필요하다는 것을 배웠고, 작은 업무에도 담당과 마감 시간이 필요하다는 것을 배웠다. 또한 인원이 많을 경우 작은 파트를 만들어 파트장을 부여하는 편이 좋으며, 큰 회의 주제가 없더라도 주기적으로 각 파트간의 현황 공유 및 마감일 검토를 하는 편이 좋을 것 같다고 느꼈다.

 

 이러한 작은 하나하나가 더 좋은 팀을 만들고 프로젝트의 퀄리티를 높일 수 있다는 점을 느끼며, 현재 많은 공동체들이 조직과 체계를 형성하고 문서화 및 공유를 수행하는 방식을 이해해볼 수 있는 경험이었다.

 

 

✨ FUTURE : 미래

 이번 기간을 통해 느낀 점들을 기반으로, 아래 내용들을 다짐하며 더 나은 다음주를 보내고자 한다.

 

  • 문제에 대한 Pain Point를 분석하고 이해하는 시간을 가지자
  • 충분한 설계 시간을 통해 탄탄한 개발을 수행하자
  • 넓은 시야와 받아들이는 자세를 가지자
  • 혼자 할 수 있는 건 매우 적다는 것을 인지하고, 주변 사람들에게 감사하자
  • 모든 경험은 배움을 동반한다는 것을 잊지 말자

 

 비록 매 주차 올라오는 꾸준한 회고록은 아니지만, 시간 날 때마다 틈틈히 작성하여 사유하고 마음을 다잡는 시간을 가져보고자 한다.

 

화이팅 ! 🍀