2023년 하반기에 했던 업무와 배운점들을 정리해 보았습니다.
키워드별 회고
FinOps
기존 클라우드 인프라의 비용을 최적화하거나 저비용 인프라로 이전하는 FinOps 업무를 수행했습니다. 회사 매출을 늘리는 것에는 영향이 없지만, 비용을 많이 줄인 업무라 회사 런웨이를 늘리는데 기여했습니다. FinOps 진행 방식은 1) 비용 순으로 인프라 리소스를 정렬하고, 2) 삭제 가능한 리소스는 삭제, 3) 비용 효율적으로 고도화가 가능한 리소스는 변경 (ex> 온디맨드 → 스팟) , 4) 크레딧 지급받은 클라우드 서비스가 있으면 무료 사용을 위해 인프라를 이전했습니다. 클라우드 인프라 서비스를 비용 모니터링으로 모두 전수 검사해서 작업 했습니다.
인프라 이전에서 가장 힘들었던 작업은 쿠버네티스 클러스터 이전이었습니다. 클라우드 서비스 제공자별 쿠버네티스 클러스터 설정이 달라서 할 일이 많았습니다.
DevOps
FinOps를 포함하여, 하반기에도 DevOps 관련 업무가 많았습니다. 상반기와 차이점은 온프레미스 인프라 업무가 줄고, GCP 인프라 업무가 늘었다는 점 입니다. (여전히 AWS 인프라 업무가 가장 많았습니다.) 몇몇 CI/CD 워크플로우는 Github Action에서 GCP Cloud Build로 변경했습니다. 신규 프로젝트 인프라 아키텍처링도 몇개 했었구요.
상반기와 마찬가지로 IaC를 적극 활용하는 것은 잘 안 되네요. 처음 인프라 프로비저닝에만 코드로 하고, 운영은 여전히 웹 콘솔에서 많이 하고 있습니다.
RAG
ChatGPT와 같은 LLM 모델을 활용하는 RAG(Retrieval-Augmented Generation)에 대해 배우고 공부하였습니다. LangChian과 LlamaIndex 사용법을 익히고, ChatGPT와 연동하는 법을 익혔는대요. Google의 Gemini나 Llama 2 계열의 오픈 소스 모델 (mistral, mixtral, …)과 연동해서 RAG 만드는 것도 해볼 생각 입니다. 요즘 사이드 프로젝트로 RAG 어플리케이션을 만들고 있습니다. ()
e-sports-semantic-search
Taehun • Updated Dec 16, 2023
딥러닝
딥러닝 기술이 필요한 연구 과제가 있어서, 오랜만에 GPU 머신에서 딥러닝 모델 학습도 돌려보고 Jupyter 노트북 환경에서 딥러닝 실험을 했습니다. 과제와 관련된 연구를 조사하면서 ViT (Vision Transformer)도 공부하고, 이미지/비디오 분류, OCR, 영상 요약등 여러 딥러닝 모델이 조합되어야 하는 연구 과제라 흥미로웠습니다.
Gradio로 ML 모델 출력 결과를 입력하면, ffmpeg으로 영상을 생성해주는 간단한 인하우스 웹 앱도 만들었습니다.
소프트웨어 개발
특정 마이크로서비스를 담당해서 개발했습니다. 제가 담당한 마이크로서비스는 Python으로 개발하였고, 다음과 같은 패키지를 사용 했네요:
- Kafka
- MongoDB
- Redis
- FastAPI
- MySQL
Saga 패턴을 구현해본것이 처음이라 개발은 나름 재밌었지만, 서비스가 유저를 모으는데 실패해서 성과가 없는게 아쉬웠습니다.
AWS 자격증
회사 업무가 한가한 기간동안 AWS 자격증을 취득했습니다. (SAA-C03, MLS-C01)
알고리즘 공부
글또 소모임으로 22주 알고리즘 챌린지 모임에 참가하여 매주 화/목/토마다 알고리즘 문제를 하나씩 풀었습니다. 22주 동안 총 137 문제를 풀었네요. 특히, 9월은 하루도 빠짐없이 매일 한 문제씩 풀었던 퍼펙트달이라 뿌듯했습니다. 8~10월에 가장 재미있게 열심히 했습니다.
Jira Task
회사 Jira 기준으로 2023년 하반기에는 총 106 Task를 처리했네요. 1~2시간내 완료한 Task도 있고, 몇주씩 진행한 Task도 있네요. 업무 예상 시간 기준으로 Task와 SubTask 생성 기준이 있습니다만, 모든 일이 예상대로 되는게 아니므로… (물론, Jira Task 없이 그냥 처리한 일도 많습니다.)
KPT (Keep, Problem, Try)
Keep
- 업무 생산성 - 연구/개발 관련된 업무 생산성을 현재 수준으로 유지
- 블로깅, 업무 관련 공부등의 자기계발
- 프롬프트 엔지니어링, RAG등의 LLM 활용법 공부 및 숙달
- 알고리즘 문제 풀이 꾸준히 하면서 두뇌 기름칠
Problem
- 업무 퀄리티 - 여러 프로젝트, 다양한 분야 (연구/개발, DevOps, DataOps, MLOps)의 일을 하다보니 퀄리티가 떨어지는 일이 많음.
- 성과 - 여러 프로젝트를 진행 하였지만, 회사 캐시카우를 만들어준 프로젝트는 거의 없음
- 전문성 - 여러 분야의 일을 하고 있지만, 머신러닝 엔지니어라는 담당 직무의 전문성은 제자리 걸음
Try
- 참여 프로젝트와 담당 분야를 줄이고, 개별 업무 퀄리티를 높이기
- How? 는 고민해볼것!
- 성과 나지 않고 공수만 낭비하는 프로젝트를 줄이기 위한 방법을 고민해보기
- 머신러닝 엔지니어 전문성은 회사 업무로 충족할 수 없으면, 자기계발로 키워 나가기
- 도파민: 웹툰과 유투브 → 독서