미리보기
기본 정보
안녕하세요. 머신러닝 엔지니어 이영섭입니다. - Diffusion, GAN, style transfer ,Unpaired Image-to-Image translation을 주로 연구합니다. - on/offline 배포를 진행하는 mlops에 관심이 있습니다. - 수집된 비정형 이미지 데이터를 정제하기 위한 metric learning, knn에 관심이 있습니다. - 최근 pytorch-lightning을 사용해 학습 코드에서 진행하는 단위테스트에 많은 관심이 있습니다.
기술 스택
python3, PyTorch, Tensorflow, CUDA, Airflow, GitHub, AWS, Docker, OpenCV, FastAPI, MySQL, PostgreSQL, Celery, Redis, SQLAlchemy
경력
주식회사디자이노블
Research engineer | 개발팀 | 재직 중
2022.05. ~ 재직 중 (2년 5개월)
사내 IDC 인프라 모니터링 및 자원 관리
GPU 서버 자원 관리 최적화: 사내 10대의 GPU 서버에 대한 자원 관리 정책을 수립하고, 효율적인 자원 배분을 통해 전체 시스템 성능을 최적화.
컨테이너 기반 개발 환경 구축: Proxmox 하이퍼바이저 도입을 검토했으나, 인력 부족 문제를 해결하기 위해 컨테이너 기반의 개발 환경으로 전환하여 관리 효율성을 극대화.
데이터 통합 및 자원 절감: 8대의 분산된 학습 및 원본 데이터를 통합하고 최적화하여 기존 대비 75% 자원을 절감. 이로 인해 리소스 사용을 효율화하고 비용 절감을 달성.
Object Storage 구축 및 학습 파이프라인 개선: 공용 NFS와 MinIO를 활용해 IDC 내에 오브젝트 스토리지를 구축, 연구자들이 메타데이터만으로 학습을 진행할 수 있도록 파이프라인을 개선. 이를 통해 20TB 이상의 스토리지를 확보하고 학습 준비 시간을 크게 단축.
사내 데모 및 서비스 관리 구조 개선
Docker-Swarm 클러스터 및 컨테이너 관리: IDC 내부에 Docker-Swarm 클러스터를 구축하고, Portainer를 사용하여 모든 데모 및 GPU 기반 API를 컨테이너화해 관리. 연구자들이 사용하던 screen 및 tmux 프로세스를 제거해 관리 효율성을 크게 향상.
네트워크 보안 및 구조 개선: 기존의 IP 기반 네트워크 구성을 traefik과 nginx 기반의 리버스 프록시로 전환하여 보안성을 강화하고 관리 부담을 줄임.
클라우드 서비스 활용 및 관리: GPU 자원이 필요하지 않은 서비스는 AWS ECS로 이관해 IDC 자원의 사용률을 최적화. 웹사이트 및 프론트 페이지는 S3 정적 웹 호스팅과 CloudFront를 사용해 관리.
백엔드 및 모델 서빙
FastAPI 통합: Django와 Flask로 분리되어 있던 API를 FastAPI로 통합하는 작업을 주도하여 API의 일관성 및 성능을 개선. ORM으로는 SQLAlchemy(2.0)를 사용하여 효율적인 데이터 관리 구현.
모델 서빙 개선: 단일 배치로 운영되던 Flask 기반 서빙 API를 "MicroBatching" 기능을 가진 FastAPI로 개선. 필요한 경우 "Jina"를 활용해 서빙 모델의 스케일링 및 배포를 개선함. 비동기 처리가 필요한 작업(예: Diffusion)은 Celery를 도입하여 트래픽 급증 시 서버의 안정성을 확보.
데이터 엔지니어링
Airflow 도입으로 ETL 프로세스 개선: 기존 Cron + Python 기반의 ETL 프로세스를 Airflow로 전환하여 모니터링, 자동 재시작, 동적 작업 스케줄링을 구현. 비동기 처리를 통해 기존 대비 80% 이상의 시간 절감 효과를 달성하고, Slack 알림을 통해 장애 발생 시 즉각 대응이 가능하게 개선.
MongoDB를 활용한 ETL 멱등성 확보: ETL 과정에서 발생하는 API 호출 오류를 줄이기 위해 AWS DocumentDB를 통해 API 응답을 캐싱하는 전략을 도입. 이를 통해 작업 재시작 시 불필요한 API 호출을 줄이고, 클라우드 자원과 프록시 비용을 절감함.
프로젝트
이미지 Color Search 서비스
디자이노블
2023.11. ~ 2023.12.
프로젝트 설명: 이미지 색상 기반 유사도 검색 기능 추가
사용 기술 스택: AWS Lambda (Python Container), CIELAB, Async Semaphore, Color Space Search
주요 문제: Color Space의 차이, API 대역폭 제약, 비동기 작업 관리 (Async Semaphore)
프로젝트 목표: 기존 이미지 검색 서비스에 색상 기반 유사도 검색 기능을 추가
초기에는 RGB Color Space 기반의 코사인 유사도 계산 방식을 테스트했으나, RGB와 인간이 인식하는 색 공간의 차이를 발견하여 CIELAB(Color Space)로 전환.
기술 구현 및 성과:
기존 CDN에 저장된 2억 장 이상의 이미지를 빠르게 분석하기 위해 AWS Lambda를 사용한 서버리스 아키텍처를 도입, 이미지 데이터를 병렬로 처리하여 분석 시간을 크게 단축.
비동기 호출을 적극 활용하여 이미지 분석의 대역폭을 최대화하고, Async Semaphore를 사용해 비동기 작업의 배압을 효율적으로 조절함으로써 안정적인 성능을 확보.
이미지 생성 서비스
디자이노블
2023.03. ~ 2023.05.
프로젝트 설명: Diffusion을 활용한 이미지 생성 서비스
사용 기술 스택: FastAPI, Celery, AWS ECS, Diffusion, LoRA (Low-Rank Adaptation)
주요 문제: Celery를 활용한 Diffusion 부하 분산 처리
프로젝트 목표: Diffusion 모델을 기반으로 이미지를 생성하는 서비스를 구축. 사용자 요구에 따라 모델을 동적으로 변경할 수 있는 기능을 제공하여 다양한 이미지 스타일을 생성하는 서비스 구현을 목표로 함.
기술 구현 및 성과:
Diffusion 및 LoRA 통합: 다양한 이미지를 생성할 수 있도록 Diffusion 모델을 서비스에 적용하고, LoRA(Low-Rank Adaptation) 기술을 통해 모델을 동적으로 변경할 수 있는 기능을 구현. 이를 통해 사용자는 다양한 스타일의 이미지 생성이 가능하게 됨.
Diffusion 커스텀 파이프라인 생성: 기존 Text2Image, Image2Image, Inpaint등 각각의 별도의 객체로 관리되는 Huggingface 파이프라인을 하나의 객체에서 가능하도록 기능을 개선, 생성모 모델을 변경할때 U-Net과 같이 필요한 컴포넌트만 변경가능하도록 기능을 개선함.
이미지 검색: 생성된 이미지의 프롬프트 및 이미지에 대한 유사도 검색 기능을 구현에 필요한 Embedding API를 구현 Jina(GRPC)를 사용해 CLIP모델을 사용, Text 또는 Image 임베딩 추출을 진행함.
Celery를 통한 비동기 작업 관리 및 부하 분산: 이미지 생성은 고성능 연산을 요구하는 작업이므로, Celery를 활용하여 작업을 비동기적으로 처리하고, 부하를 분산. 작업량이 증가할 때도 IDC에서 GPU 워커를 투입하여 안정적인 서비스 제공이 가능하게끔 설계함.
AWS ECS 활용: AWS ECS를 사용해 컨테이너화된 서비스를 배포하여 확장성과 유연성을 확보. 이를 통해 대규모 트래픽에도 자동 확장 기능을 통해 안정적인 이미지 생성 서비스를 운영.
성과: 이 프로젝트를 통해 사용자 요청에 맞게 모델을 동적으로 조정할 수 있는 확장 가능한 이미지 생성 서비스를 완성. Celery 기반의 작업 분산 및 AWS ECS를 활용한 인프라 확장으로 대규모 트래픽 처리 능력을 확보하고, 높은 성능과 안정성을 달성.
고객리뷰 분석 서비스
디자이노블
2023.08. ~ 진행 중
프로젝트 설명: 패션몰 상품 데이터에 대한 고객 리뷰 분석 서비스
사용 기술 스택: FastAPI, AWS ECS, Redis, Langchain, Airflow, Mongodb(AWS DocumentDB)
주요 문제: DB 인덱스 튜닝, Langchain 캐시 최적화
프로젝트 목표: 패션몰에서 판매되는 상품에 대한 사용자 리뷰 데이터를 수집하고, LLM(대규모 언어 모델)을 통해 분석하여 유의미한 인사이트와 분석 결과를 제공하는 서비스 구축.
기술 구현:
FastAPI를 사용한 리뷰 분석 API 개발: FastAPI를 기반으로 사용자 리뷰 데이터를 실시간으로 수집하고 처리할 수 있는 RESTful API를 개발. 이를 통해 다양한 분석 요청을 신속하게 처리하며, 사용자가 원하는 형태의 인사이트를 제공하는 API 구조를 완성.
DB 인덱스 튜닝: 1000만 건 이상의 리뷰 데이터와 1억 건 이상의 분석 결과(Aspect)를 다루기 위해 스키마 변경 및 데이터베이스 인덱스 튜닝을 진행. 대용량 데이터 처리 중 성능 저하를 방지하고, 쿼리 응답 시간을 16초에서 2초 이내로 크게 단축하여 분석 프로세스의 전반적인 성능을 향상.
Langchain 캐시 최적화: OpenAI GPT 기반의 LLM 리뷰 분석 과정에서 발생하는 비용을 관리하기 위해 MongoDB를 활용한 영속성 캐시를 구현. 입력 프롬프트를 직렬화해 인덱스를 구성하는 Langchain 캐싱 정책에서 인덱스 사이즈 초과 문제가 발생했으나, 직렬화된 인덱스 문자열을 해싱하여 저장하는 방식으로 문제를 해결. 이를 통해 중복된 API 호출을 방지하고, 리뷰당 분석 비용을 효율적으로 관리할 수 있도록 시스템을 최적화함.
Airflow 파이프라인 구축: 리뷰 데이터를 주기적으로 수집하고 처리하는 작업을 Airflow를 통해 자동화. 데이터 수집부터 분석까지의 과정을 간소화하여 효율적으로 관리할 수 있는 파이프라인을 구축.
성과:
이 프로젝트를 통해 상품 리뷰 데이터를 바탕으로 유의미한 고객 인사이트를 도출할 수 있는 서비스를 완성.
DB 및 Langchain 캐시 최적화를 통해 데이터 처리 속도를 크게 향상시키고, 비용 효율성을 확보.
Airflow를 사용한 자동화된 데이터 파이프라인 구축으로 전체 데이터 분석 프로세스의 효율을 극대화함.
포트폴리오
URL
교육
경상국립대학교 대학원
대학원(석사) | AI융합공학전공
2020.03. ~ 2022.02. | 졸업
경상국립대학교
대학교(학사) | 항공우주및소프트웨어공학전공
2012.03. ~ 2020.02. | 졸업
대외활동
경남소프트웨어경진대회 대상
개인
주관: 경남 ict 협회
성과: 대상(경남 ICT 협회 회장)
석사 기간 연구로 진행한 선화 자동채색 모델을 웹 서비스로 고도화 하여 제출
- aws를 사용해 S3에서 프론트 페이지를 호스팅
- onnxruntime을 사용해 개인 서버에서 추론 서버를 구축, 도메인을 연결해 서비스를 진행
- jenkins를 사용해 프론트 페이지의 CI/CD를 구축
- 추론 서버의 경우 s3에 학습된 모델을 보관, jenkins에서 배포작업을 진행할 때 모델을 가져와 배포를 진행하는 방식으로 CI/CD를 진행
실리콘밸리 기업가정신 프로그램
개인
중기부·한국청년기업과정신재단 주관으로 산호세 지역의 현지에서 피칭을 진행, Adobe, Airbnb, SAP 등 다양한 기업을 탐방하고 개발자들을 연결시켜 각 예비 창업자들이 가지고 있는 문제를 해결할 수 있는 기회를 얻을 수 있었음.
Adobe의 연구자 및 개발자를 만나 데이터관리와 Adobe CC의 plugin관련 SDK를 사용하기 위한 조건과 등의 내용을 질문하고 확인 할 수 있었음.
비지니스 모델과 고객발굴의 중요성의 이해
고객 인터뷰 및 피칭경험을 통해 기업가정신 함양을 위한 프로젝트
15일간의 🌉 새너제이, 샌프란시스코지역의 기업 탐방 기회
탐방기업
KISA
Unity
SAP
Adobe
AirBnB
현지 VC를 대상으로 2회의 피칭 (영어)
Plug and Play
Telos Ventures
강의 - 경남예술고등학교
경상대학교
경남예술고등학교 의뢰, 인공지능관련 특강 요청
예술고등학교 특징과 이미지 생성을 연구하는 전공을 살려
“미디어아트와 인공지능” 이라는 주제로 1시간 2회 강연을 진행
도전! K-스타트업 2019 창업리그 왕중왕전
개인
주관: 중기부, 교육부, 과기정통부, 국방부
성과: 장려상(중기부 장관)
주제: 선화 자동채색 서비스
외국어
일본어
일상 회화 가능