About 본문

About

Introduction

  • 안녕하세요 꾸준히 성장하는 개발자가 되고 싶은 최재강입니다.

Contact

Career

  • 국민대학교 분산 데이터 처리 시스템 연구실 연구 조교 (2020/03 ~ )
    • 클라우드 컴퓨팅, 서버리스 컴퓨팅, 딥러닝 추론 최적화 연구 진행
    • 쿠버네티스 기반 컨테이너 환경에서 머신러닝 모델 배포 시스템 개발
  • 국민대학교 비이공계 학생 대상 프로그래밍 교육 조교 (2021/9 ~ 2022/12)
    • 비이공계 학생을 대상으로 석사 과정 매 학기 프로그래밍 교육 수업 진행
      • 파이썬 기초 실습
      • Orange 툴을 활용한 인공지능 모델 기초 실습
      • Scikit-learn을 활용한 데이터 분석 및 머신러닝 기초 실습
  • 삼성전자 클라우드 아키텍트 특강 교육 조교 (2022/05 ~ 2022/07)
    • 삼성 개발자분들을 대상으로 하는 4일간의 특강에 교육 조교로 참여
      • 클라우드 기반 딥러닝 추론 애플리케이션을 Traditional, Container, Serverless 버전 별로 개발, 각 환경의 장단점을 고가용성 및 확장성 측면에서 비교
  • Viaduct 인턴 (2019/12 ~ 2020/02)
    • Django를 이용한 백엔드 개발
    • AWS 클라우드 서버 구축 및 유지보수
    • Github Action 과 AWS Pipeline을 이용한 개발 자동 배포 CI/CD 구축
  • 아몽(Among) 인턴 (2019/02 ~ 2019/11)
    • Vue.js를 이용한 프론트엔드 개발
    • AWS 클라우드 서버 구축 및 유지보수

Main Project

  • 연구실 내 쿠버네티스 실험을 위한 인프라 구축 자동화 오픈소스 제공 (2023.04 ~ 2023.06)
    • Terraform을 사용해 다음의 구성 자동화 진행
      • AWS VPC, Subnet, EKS 등 클라우드 서비스를 사용해 쿠버네티스 클러스터 구성
      • AWS ALB를 Load Balancer 및 Ingress Controller로 사용하여 Pod 라우팅
      • Karpenter를 사용해 Node Auto Scaling을 진행
      • Prometheus, Grafana에 대한 ServiceMonitor를 구성해 인프라 모니터링
    • Karpenter Provisioner를 yaml파일로 배포하여 사용자가 원하는 Auto Scaling 규칙 설정
    • BentoML 등의 머신러닝 Service 배포를 위한 샘플 yaml파일 정의
  • 서버리스 기반 딥러닝 추론 시스템 (2022/08 ~ 2022/11)
    • 목표
      • 서버리스 컴퓨팅을 활용한 딥러닝 추론 워크로드를 수행하는 시스템 제공 및 최적 옵션 탐색
    • 기여내용
      • Pytorch로 사전학습된 DNN 모델을 Onnx, TVM로 컴파일하는 AWS Lambda 환경 구성 및 컴파일 시간 측정
      • Pytorch, Onnx, TVM을 활용한 DNN 추론 작업을 하는 AWS Lambda 환경 구성 추론 시간 측정
      • 구성된 AWS Lambda를 AWS Step Function을 사용해 병렬 처리가 가능한 딥러닝 컴파일, 추론 환경 구성
      • AWS Step Function 환경을 Json format으로 설정, Shell Script, AWS CLI 기반 환경 구성 자동화
    • 결과
      • 서버리스에서의 ARM CPU, 배치 사이즈, 효율적인 메모리 구성, 컴파일러 적용 등 다양한 구성에서의 성능 효율성을 파악할 수 있는 서비스 제공, 최적화 옵션 탐색
      • 시스템의 최적화 옵션을 통해 ARM, Intel 하드웨어에서 기존의 추론 성능보다 각각 1.5배, 1.7배 향상된 결과를 얻음
      • “All-you-can-inference: serverless DNN model inference suite”라는 논문으로 발전하여, 8th International Workshop on Serverless Computing에 게재함
      • 캐나다, 퀘벡에 가서 해당 학회에 참석했으며 논문 발표를 진행함
    • 주사용기술
      • Pytorch, TVM, ONNX, AWS (Step Function, Lambda, API Gateway, Cloudwatch, S3)
    • 관련링크
  • 서버리스 기반 딥러닝 모델 앙상블 시스템 (2021/10 ~ 2021/12)
  • 클라우드 기반의 딥러닝 추론 애플리케이션 (2022/05 ~ 2022/07)
    • 목표
      • 삼성전자에서 진행하는 클라우드 아키텍트 특강의 교육 조교로 참여함으로써, 수강생분들의 실습 환경을 구축
    • 기여 내용
      • Cloudformation을 사용해 VPC, Subnet, Internet Gateway, Route Table, NAT Gateway를 구성함으로써, 실습 환경 구축
      • 고가용성 및 확장성을 만족하는 클라우드 네이티브 딥러닝 추론 애플리케이션을 VM, Container, Serverless 버전 별로 구현
        • VM : EC2, Load Balancer, Auto Scaling 사용
        • Container : ECR, ECS, Load Balancer 사용
        • Serverless : S3, API Gateway, Lambda, EFS 사용
      • 버전 별 애플리케이션의 대규모 트래픽 처리 성능을 확인하기 위해, 오픈소스 로드테스트 툴인 Locust를 사용하여, 로드테스트 애플리케이션을 구현
    • 결과
      • 해당 실습 환경을 기반으로 클라우드 아키텍트 특강을 성공적으로 마침
    • 주사용기술
      • Docker, Tensorflow, AWS (EC2, Cloudformation, ECR, ECS, API Gateway, Lambda, EFS)
  • 퍼스널컬러 진단 웹 애플리케이션 (2021/02 ~ 2021/07)
    • 목표
      • 사용자의 퍼스널컬러를 진단하고 해당 퍼스널컬러에 맞는 화장품을 추천하는 서비스 제공
    • 기여내용
      • 프로젝트 팀장을 맡아 전반적인 팀원들의 업무 파악 및 스케줄 관리, 발표 등을 진행
      • python dlib과 OpenCV를 사용해 사용자의 사진에서 얼굴 부분만 추출하는 기능 구현, Node.js 기반 Backend 서버에서 동작하도록 코드 구현
      • BeautifulSoup을 사용해 화장품 사이트에서 화장품 이미지 및 정보를 크롤링, OpenCV를 사용해 해당 화장품의 퍼스널 컬러 라벨링
      • AWS EC2, ELB, Route53을 사용해 탄력적인 Frontend, Backend 웹 서버 구성 및 배포
    • 결과
      • 졸업 프로젝트로 진행했으며, 성공적으로 완성했으나 수상은 하지 못함
    • 주사용기술
      • OpenCV, dlib, AWS (EC2, ELB, Route53)
    • 관련링크
  • 서버리스 컴퓨팅에서 다양한 저장소 효율성 파악 (2020/07 ~ 2020/10)
    • 목표
      • 서버리스 컴퓨팅에서 사용할 수 있는 다양한 저장소별 효율성 파악
    • 기여내용
      • AWS Lambda에서 python을 사용해 linux dd, 파일을 랜덤 읽기 및 쓰기 작업, 순차적인 읽기 작업, 파일 업로드 및 다운로드 워크로드 구현
      • AWS Lambda의 로컬 저장소인 layers와 AWS EFS에 작업한 워크로드에 대한 성능 측정 및 비교
      • AWS S3, EFS에서 각각 파일 업로드 및 다운로드 성능 측정 및 비교
      • Shell Script와 CLI를 통한 AWS Lambda 환경 구현 자동화 및 실험 자동화
    • 결과
      • “Evaluation of Network File System as a Shared Data Storage in Serverless Computing”라는 논문으로 발전하여 6th International Workshop on Serverless Computing에 게재함
      • 코로나 기간으로 해당 학회에 Zoom을 통한 온라인 발표를 성공적으로 마침
    • 주사용기술
      • AWS (Lambda, EFS, S3, CLI ), Shell Script
    • 관련링크

Side Project

  • 논문 제목 추천 웹 서비스 개발 및 배포
    • CS 논문을 특정해 논문의 Abstract을 기반으로 제목을 추천하는 웹 사이트
    • Arxiv 논문 Dataset 중 CS 카테고리의 데이터셋 총 40782개 중 90%를 학습에 사용
    • 사전 학습된 GPT3.5, Simple T5 모델을 Fine-Tuning 진행
    • 모델을 여러 Epoch로 학습 시킨 후 사용해 여러개의 제목 결과를 제공
    • API Gateway에 연결된 AWS Lambda에 모델을 업로드 후 API 요청 시 추론 작업을 진행하도록 구성
    • AWS API Gateway의 분당 요청 수를 50으로 제한해 과도한 트래픽 및 요금 부과 방지
    • AWS WAF를 이용해 API에 5분당 요청수를 200으로 제한해 과도한 요청 시 해당 IP를 밴하여 Ddos 공격 방지
  • 국민대학교 사물함 신청 웹 애플리케이션
    • 목표
      • 국민대학교 사물함 신청 시 네이버 카페를 사용하는 불편함을 없애기 위해 사물함 신청 사이트를 제작
    • 기여내용
      • 학교 사물함 위치를 고려한 페이지 디자인
      • Vue.js를 이용한 사물함 페이지 구성
      • AWS EC2 Auto Scaling, ELB, Route53을 이용한 탄력적인 Frontend, Backend 서버 구성 및 배포
    • 결과
      • 실제 2019년도 2학기에 국민대학교 소프트웨어학부 1~4학년을 대상으로 사물함 신청시 사용되었으며 성공적으로 마무리함
      • 약 1시간 동안 T2.medium 인스턴스 최대 5개의 scale out으로 약 400명의 트래픽을 감당함
    • 주사용기술
      • Vue.js, AWS (EC2 Auto Scaling, ELB, Route53)
    • 관련링크
  • 연구실 소개 웹 애플리케이션
    • 목표
      • 국민대학교 DDPS 연구실 소개 웹페이지 구현
    • 기여내용
      • Github Page를 통한 페이지 구현 및 유지 보수
      • Github Action 및 AWS Cloudfront를 사용해 웹 배포
    • 결과
      • 연구실 소개 페이지 제작을 성공적으로 마무리함
    • 주사용기술
      • Github Action, AWS Cloudfront
    • 관련링크

Publication

Certification

  • AWS Certified Cloud Practitioner
    • AWS 각 서비스의 고가용성, 확장성, 보안성을 이해, 활용 가능한 역량 증명
    • 취득일 : 2020년 6월 16일

Education

  • 국민대학교 컴퓨터공학과 컴퓨터공학전공 석사 재학 (2021.09 ~ )
  • 국민대학교 소프트웨어학과 소프트웨어전공 학사 졸업 (2017.03 ~ 2021.08)