Contact.
Email. [email protected]
Introduce.
안녕하세요, 저는 2년 차 머신러닝 엔지니어이자 5년 차 소프트웨어 엔지니어인 김형석입니다.
저는 Machine Vision 분야에서 이미지 처리 기반 검사 알고리즘을 개발하며 소프트웨어 엔지니어로 활동하다가 AI 검사 솔루션을 접하면서 AI 기술에 관심을 갖게 되었습니다. 그 결과 네이버 커넥트 재단의 Boostcamp AI Tech 프로그램을 수료하고, 현재 영상 화질 개선 AI를 연구하는 팀에서 머신러닝 엔지니어로 활동하고 있습니다.
Skill.
Programing Language
ML
- PyTorch
- TensorRT, Tirton, ONNX-Runtime
- AWS Inferentia, Furiosa Warboy
Multi-Processing
MLOps, CI/CD
- MLFlow
- Docker & Docker-Compose
- Github & Github Action
Computer Vision
ect.
- Poetry, pipenv, pyenv
- FastAPI
- WPF, Streamlit
Work Experience.
Pixell Lab Manager / Video Enhance AI
ML Engineer
2023.04-현재
(1년 2개월)
Python / Asyncio / TensorRT, ONNX-Runtime, Furiosa, Inferentia /
Docker, Docker-Compose / MLFlow / Github Action
Pixell Management System v3.0 Project(진행중)
- ML
- 자사 SR 모델 변환 및 배포(torch → onnx → trt)
- MLOps
- Local Cluster 구성
- 사내 Server, IDC Server등을 통합하여 Ray Cluster 구성
- Prometheus 및 Grafana 연동
- Inference Service의 각 모듈 패키지화, unittest 및 PyPI 배포 자동화
- pms-inference-engine
- pms-tensorrt, pms-nvidia-processor, pms-furiosa-processor
- pms-model-manager, pms-ray-cluster
- 모델 변환 및 배포 자동화
- Cluster에 등록된 gpu type별로 서비스하는 모든 모델을 TensorRT 모델로 변환하고, 자사 mlflow model registry에 upload 하도록 자동화
Pixell Management System v2.0 Project
- ML
- Inference Pipeline 재설계
- 기존 PMS의 문제점인 I/O 부하를 개선하기 위해 Inference Pipeline 전체를 다시 설계
- Image에 대한 I/O(528MBps)를 모두 제거하여 성능 개선
- 30fps FHD 비디오 기준 필요 분당 Disk 용량을 373 MBps 단축
- Inference Engine 개발
- 기존 Pipe방식의 통신 방식을 Ray기반 RPC로 변경하여 개발 편의성 향상
- Inference Processor에 대한 가상화로 개발 확장성 증대
- Async IO를 사용하여 비동기 처리를 수행할 수 있도록 하여 자원 사용 최적화
- Model Manager 개발
- Worker node가 MLFlow와 연동하여 항상 최신버전의 모델을 사용 할 수 있도록 자동화, 배포 시간 단축
- MLOps
- AWS Auto Scaling Cluster 구성
- Ray를 기반으로 사용 요청 시 동적으로 AWS GPU Instance 생성, 사용이 없을 시 자동으로 중지하여 비용 최적화
- Runtime 환경이 구성된 Docker Image 배포, Cluster Worker Node 생성 시간 단축
AWS-Inferentia2 평가 Project
- ML
- 자사 Denoise 모델 변환
- Inference Pipeling 구성, NPU Utilization 100% 기준 성능 평가
PMS On-Premise ver Project
- MLOps
- 기존 PMS 관련 모든 Service들을 병합하기 위해 개별 Docker Image 생성
- Docker Compose를 사용하여 8개의 Micro Service를 Integration
- Business
- Video Enhance AI를 On-Premise로 사용하길 고객이 원함, 고객과 소통을 통해 SaaS형 솔루션인 PMS를 On-Premise로 사용하기를 제안
- 미국 고객사 Server에 배포하는 방식으로 납품 완료
Pixell Management System v1.0 Project
- ML
- DPIR, AnimeSR 모델 코드 해석 및 변환(torch → onnx → trt)
- GPU용 Denoise & Super Resolution Inference Pipeline 개발
- 실시간 처리를 위한 속도 최적화
- 총 I/O가 약 528 MBps로 너무 높아 Disk Interface가 변경 되야 함을 제시, 검증, 적용
- Python의 GIL로 인해 Multi-Processing으로 Inference Engine의 Architecture가 변경되야 함을 제시, 검증, 적용
- Heap Memory Allocation을 통해 DPIR 기준 56ms의 전/후처리 시간을 21ms로 줄여 64%의 성능 개선
- GIL의 문제를 회피하기 위해 GPU 당 Process를 2로 증가시켜 DPIR 기준 44% 성능 개선
- TensorRT를 추가로 적용하여 DPIR 기준 Inference Time 770% 가속
- MLOps
- GPU, NPU용 개별 Docker Runtime Image 생성, 배포 시간 단축
- Inference Service 배포(IDC Server, Local NPU Server, Kakao Cloud NPU Server)
AI Image Editor 개발 Project
- Cooperation
- 사내 타 부서 서비스 팀과 협업, AI Image Editor 기획
- 인력 구성, 스케줄 등을 고려해 Segment Anything 및 LaMa 모델 선정
- ML
- Object Selection을 위해 Meta AI의 Segment Anything 구조 해석
- Object Remove를 위해 LaMa 구조 해석
- SW
- FastAPI로 Inference를 위한 Backend 개발
AWS MLFlow Service 구축
- MLOps
- MLFlow를 이용하여 Metric tracking 및 버전 관리
- github의 source가 update 되었을 시, AWS에 배포한 시스템이 자동으로 update 되도록 자동화
Education.
- 2017.03 ~ 2019.02 강원대학교 일반대학원, 기계융합공학과 - 공학 석사
- 2013.03 ~ 2017.02 강원대학교,기계메카트로닉스공학과 - 공학 학사
Other Experience.