Profile

여상호 | 분산 딥러닝 / 강화학습 엔지니어 입니다

INTRODUCE

안녕하세요! 저는 분산딥러닝과 강화학습에 대해서 대학원 재학기간 동안 연구를 수행했습니다. 분산딥러닝의 경우, 키스티의 슈퍼컴퓨터 클러스터 자원을 무상대여 받아 거대규모 분산딥러닝에 대해 연구를 수행했습니다. 데이터 병렬화 기반 분산 딥러닝에 대해서 주로 연구하였으며 분산딥러닝의 통신스케쥴링과 통신토폴로지에 대한 연구를 수행했습니다. 현재 졸업 논문으로 샤드 데이터 병렬화 기반 분산딥러닝을 위한 통신 스케쥴링 기법을 연구하고 있습니다.

강화학습의 경우, 강화학습을 다양한 도메인에 적용 시키기 위해 연구를 수행했습니다. Atari 게임의 휴먼 데몬스트레이션 데이터의 샘플링 방식을 최적화하여 학습 성능을 높인 연구와 SDN 네트워크나 도시 재난 시뮬레이션에 강화학습을 접목시켜 학습을 수행했습니다. 강화학습 관련하여 2건의 SCI 논문 출판을 하였습니다.

저는 딥러닝을 활용하는 시스템이나 데이터 활용 방식을 개선하여 딥러닝의 학습속도를 향상시키는데 관심이 있습니다!! 아래의 내용들에는 제가 수행한 공동 연구과제나 논문들을 정리했으니 혹시 상세한 내용이 궁금하시면 확인해주시면 감사하겠습니다.

Latest Updated 2022. 01. 26 (D+7)

Sangho Yeo

RESEARCH

Thesis(계획)

Memory-aware Communication Scheduling and Shard Strategy Selection for Data-parallel Distributed Deep Learning
Sangho Yeo
  • Status : Planned
  • Distributed Deep LearningLarge-scale Depp LearningCommunication SchedulingInteger Linear ProgrammingPythonPytorchMPIHorovodByteSchedulerFairScale
코드 및 상세설명 : https://github.com/Yeosangho/mem_aware_dl_comm_schedule

SCI(E)

1저자 : 2공저자 : 1심사중 : 2
Accelerated deep reinforcement learning with efficient demonstration utilization techniques
World Wide Web : Internet and Web Information Systems (Impact factor : 2.716, Q2)
Sangho Yeo, Sangyoon Oh, Minsu Lee
  • Status : Published
  • Reinforcement LearningImitation LearningPythonTensorflowOpenAI Gym
코드 및 상세설명 : https://github.com/Yeosangho/dfs_er

Achieving Balanced Load Distribution with Reinforcement Learning-Based Switch Migration in Distributed SDN Controllers
MDPI Electronics (Impact factor : 2.397, Q3)
Sangho Yeo, Ye Naing, Taeha Kim, Sangyoon Oh
  • Status : Published
  • Reinforcement LearningMulti Agent Reinforcement LearningPythonPytorchOpenAI Gym
코드 및 상세설명 : https://github.com/Yeosangho/sar_lb

Novel data-placement scheme for improving the data locality of Hadoop in heterogeneous environments
Concurrency and Compuation: Practice and Experience (Impact factor : 1.536, Q3)
Minho Bae, Sangho Yeo, Gyudong Park, Sangyoon Oh
  • Status : Published
  • HadoopData LocalityHDFS

Crossover-SGD: A gossip-based communication in distributed deep learning for alleviating large mini-batch problem and enhancing scalability
Concurrency and Compuation: Practice and Experience (Impact factor : 1.536, Q3)
Sangho Yeo, Minho Bae, Minjoong Jeong, Oh-kyoung Kwon, Sangyoon Oh
  • Status : Review
  • Distributed Deep LearningGossip-based CommunicationPythonPytorchMPIHorovod
코드 및 상세설명 : https://github.com/Yeosangho/crossover-sgd

AMBLE: Adjusting Mini-Batch and Local Epoch for Federated Learning with Heterogeneous Devices
Journal of Parallel and Distributed Computing (Impact factor : 3.734, Q1)
Juwon Park, Daegun Yoon, Sangho Yeo, Sangyoon Oh
  • Status : Review
  • Federated LearningLocal SGDJetson Board

국외 학술대회

1저자 : 2공저자 : 2
Integrate multi-agent simulation environment and multi-agent reinforcement learning (MARL) for real-world scenario
ICTC 2021
Sangho Yeo, Seungjun Lee, Boreum Choi, Sangyoon Oh
  • Status : Published
  • Reinforcement LearningMulti-agent Reinforcmenet LearningDisaster SimulationPythonPyTorch
코드 및 상세설명 : https://github.com/Yeosangho/rcrs_marl_solution

Accelerating Deep Reinforcement Learning Using Human Demonstration Data Based on Dual Replay Buffer Management and Online Frame Skipping
IEEE Bigcomp 2019
Sangho Yeo, Sangyoon Oh, Minsu Lee
  • Status : Published
  • Deep Reinforcement LearningImitation LearningPythonTensorflow

I/O Performance Evaluation of Large-Scale Deep Learning on an HPC System
The 2019 International Conference on High Performance Computing & Simulation
Minho Bae, Minjoong Jeong, Sangho Yeo, Sangyoon Oh, Oh-kyoung Kwon
  • Status : Published
  • Distributed Deep LearningSingularityLustreCaffe2

Decentralized Message Broker Federation Architecture with Multiple DHT Rings for High Survivability
The 2018 International Conference on Computational Science and Its Applications
Minsub Kim, Minho Bae, Sangho Yeo, Gyudong Park, Sangyoon Oh
  • Status : Published
  • Message BrokerDHT

국내저널

1저자 : 1공저자 : 1
학습 성능 향상을 위한 차원 축소 기법 기반 재난 시뮬레이션강화학습 환경 구성 및 활용
정보처리학회논문지:소프트웨어 및 데이터공학 (KCI 등재 학술지)
여상호, 이승준, 오상윤
  • Status : Published
  • Reinforcement LearningMulti-agent Reinforcmenet LearningDisaster SimulationPythonPyTorch

Active-Active Message Replica Scheme for Enhancing Performance of Distributed Message Broker
정보처리학회논문지: 컴퓨터 및 통신시스템 (KCI 등재 학술지)
서경희, 여상호, 오상윤
  • Status : Published
  • KafkaDistributed Message Broker

국내 컨퍼런스

1저자 : 3공저자 : 2
도시 재난 대응을 위한 Multi Objective 강화학습 모델 설계
2021 한국차세대컴퓨팅학회 춘계학술대회
여상호, 이승준, 오상윤
  • Status : Published
  • Reinforcement LearningMulti-objective OptimizationDisaster SimulationPythonPyTorch

Gossip 네트워크 토폴로지 변화에 따른 Spectral gap 분석을 통한 정보 전파지연 현상 해석
JCCI 2021
여상호, 오상윤
  • Status : Published
  • Distributed Deep LearningGossip-based CommunicationSpectral gapPython

도시 화재 시뮬레이션에서의 효과적인 화재 대응을 위한 강화학습 적용 솔루션의 설계 및 구현
ACK 2021
여상호, 오상윤
  • Status : Published
  • Reinforcement LearningMulti-agent Reinforcement LearningDisaster SimulationPyTorchPython

Edge AI의 추론 과정을 위한 계층적 작업 분할 배치 기법
2021 한국차세대컴퓨팅학회 춘계학술대회
이승준, 여상호, 오상윤
  • Status : Published
  • Edge AIModel PartitioningDeep Learning Model InfereneceDistributed Deep Learning

Embedded GPU 환경에서의 병렬 컴퓨터 비전 라이브러리의 비교: OpenCV와 VisionWorks
한국정보과학회 학술발표논문집, 2017
김민섭, 여상호, 오상윤, 정민중
  • Status : Published
  • VisionWorksOpenCVJetson Board

PROJECT(공동 연구 과제)

2020. 03 ~ 2021. 12

MR-IoT 융합 기반의 인공지능 재난 대응 기술 연구

정보통신 기획 평가원
Multi-agent Reinforcement LearningPyTorchJavaPython
  • 역할 : 연구과제의 세부 프로젝트 중 "재난 대응 협업을 위한 지능형 의사 결정 지원 기술"에 대한 연구를 진행함.
  • 과제 내 창의자율프로젝트와 연계하여 재난 상황에서의 효과적인 인명구조를 위한 강화학습 활용방안 연구 (2020)
    • What : 기존 도시 화재 재난 시뮬레이션과 강화학습 에이전트를 연동하는 방안을 연구함.
    • Challenge : 기존 도시 화재 재난 시뮬레이션의 경우, 자바로 구성된반면, 강화학습 모델을 파이썬으로 구성됨. 또한, 화재 재난 시뮬레이션의 데이터 포맷을 해석해야함.
    • Result : 기존 대비 더 효과적인 방식으로 시뮬레이션 데이터를 활용하는 방안을 제시하여 기존 기법 대비 가장 낮은 건물 피해도를 기록함.
    • Limitation : 소규모 환경의 예시환경에서 수행하였으며, 행위 공간에 대한 최적화를 수행하지 못함.
  • 실제 도시 지도 데이터를 활용한 도시 화재 시뮬레이션 환경 구성 및 멀티에이전트 강화학습 수행(2021)
    • What : 시 규모의 도시 화재 재난 대응을 위해 시뮬레이션을 분석하여 최적화하고, 강화학습의 복잡도를 낮추기 위해 상태정보와 행위정보를 변환하는 솔루션 구성
    • How : 화재 시뮬레이션의 특정과정에서 불필요한 연산이 발생함을 확인하고 이부분을 제거함. 또한, 강화학습의 복잡도를 낮추기 위해 상태정보는 이미지로, 행위공간는 건물의 수와 관계없는 값으로 정의함.
    • Result : 시 규모(건물 수 : 16184)와 동 규모(건물 수 : 3355)에서 강화학습 적용 시 학습이 수행됨을 확인함.
      • 동 규모에서 기존 거리 기반 탐욕정책의 화재대응도(77.2 %) 대비 높은 화재 대응도(99.2 %) 달성함.
      • 시 규모에서 학습이 수행됨을 확인함(학습 이전 화재 대응도: 43.7%, 학습 이후 화재 대응도 46.46%)
    • Limitation : 기존 강화학습 모델을 그대로 활용하여 연구적 측면에서 새로운 측면을 제시하지 못함.

2018. 05 ~ 2019. 10

분산 딥러닝 관련 KISTI 용역과제 수행

한국과학기술정보연구원(KISTI)
SinglularityCaffe2Distributed Deep Learning
  • 역할 : 키스티 5호기 클러스터(누리온)에서의 분산 딥러닝 확장성 연구 수행을 위하여 분산학습 환경 구성을 지원함.
  • 인공지능 응용 연구 지원을 위한 Many Core 환경 머신러닝 플랫폼 최적화 연구(2018)
    • What : 키스티 5호기 클러스터에서 분산딥러닝을 구동시키기 위한 환경 설정 방안에 대해 분석함.
    • Challenge : CPU 환경에서의 효과적인 구동을 위해 Caffe2를 환경에 맞추어 컴파일하고 이를 싱귤라리티 이미지로 구성해야함. 그러나, 싱귤라리티 이미지가 실제 클러스터 환경에서 잘 구동되지않음.
    • Result : 싱귤라리티 이미지 구성 후, 클러스터 환경에서 실제로 분산 딥러닝을 구동하여 HPCS 학회에 공저자로 논문을 제출함.
    • Limitation : 구동을 수행하였으나, 새로운 기술 요소의 적용을 수행하지 못함. 특히, 거대환경에서 분산딥러닝 수행시 발생하는 Large mini-batch 문제의 해결이 필수적임.
  • 초거대규모 CPU 기반 환경에서 딥러닝 응용의 12페타플롭스 병렬확장성 연구(2019)
    • What : Caffe2의 분산 딥러닝 코드에 대해 분석을 수행하여, 거대규모(2048머신) 환경에서의 분산딥러닝 실험을 지원함.
    • Challenge : Caffe2의 경우, PyTorch 대비 코드의 구성이 복잡하여 이해 및 해석이 어려웠음.
    • Result : Caffe2 싱귤라리티 이미지를 활용한 2048 머신에서 ResNet50의 분산 딥러닝 실험을 지원함.
    • Limitation : Large mini-batch 문제를 해결할 수 있는 기존 기술들을 적용하였으나, 새로운 기술 요소를 발굴하지 못함.

2020. 08 ~ 2022. 08

KISTI 클러스터 무상 대여 프로그램(R&D 혁신지원 프로그램) 수행

한국과학기술정보연구원(KISTI)
SinglularitySlurmPyTorchDistributed Deep Learning
  • 요약 : KISTI의 클러스터 무상 대여 프로그램(R&D 혁신지원 프로그램)에 2년 연속 통과 및 총 8천만원의 활용시간을 무상대여
  • 분산딥러닝의 large minibatch 문제 완화 및 성능 향상을 위한 GPU 클러스터 환경에서의 탈중앙화 통신 확장성 향상 연구(2020-2021)
    • What : large-minibatch problem 문제를 완화시킬 수 있는 가십 기반 탈중앙화 통신 방안에 대해 연구를 수행함.
    • Challenge : 실험의 가치를 높이기 위해 정확도를 유지할 수 있는 현존 ResNet50의 최대 미니배치사이즈(86,016)을 도달하는 것이 매우 어려웠음. 또한, 미니배치를 높여감에 따라 가장 정확도를 높일 수 있는 러닝레이트를 찾는데 시간이 매우 오래걸림.
    • Result : ResNet50에서 정확도를 유지할 수 있는 최대 미니배치 사이즈에 도달함. 기존 가십 기반 탈중앙화 통신방식 대비 수렴정확도가 더 높음을 확인하였으며, 제안기법을 SCI 논문지에 제출함.
    • Limitation : Cifar10 데이터셋을 활용한 실험에서는 실제로 가십기반 통신이 정확도가 더 높았으나, 이미지넷 데이터를 활용한 경우 AllReduce를 활용한 방식이 더 높은 정확도를 가지게됨. 또한, Large mini-batch 문제가 왜 완화되는지에 대한 원인 정의에 실패함.
  • 고급 네트워크 환경을 가지는 슈퍼컴퓨터에서의 분산 딥러닝 학습 속도 향상을 위한 통신 스케쥴링 기법 연구(2021-2022)
    • What : 네트워크 대역폭이 충분한 환경에서 멀티 쓰레드 통신을 활용한 분산딥러닝 통신 스케쥴링
    • Challenge : 제안서 작성 후, 동일 아이디어의 연구를 확인하였으며, 따라서 아이디어를 전면 수정함.
    • Result : 데이터 병렬화 기반 분산딥러닝의 메모리 활용 문제를 고려할 수 있는 새로운 통신 스케쥴링 기법을 제안하고 졸업논문으로 작성 예정

2021. 06 ~ 2024. 02

클라우드 transient 자원 기반의 고성능 분산 딥러닝을 위한 학습 기법 연구

한국연구재단 기초연구과제
Cloud Transient ResourceGossip based Distributed Deep LearningDistributed Deep Learning
  • 요약 : 클라우드 transient 자원(예: AWS 스팟 인스턴스)를 활용한 분산 딥러닝을 주제로 주도적으로 연구 아이디어를 제안하고 제안서를 통과시켜, 총 1억 5천만원의 과제비 충당.
  • 연구주제 1 : Large mini-batch 문제 해결을 위한 pipeline 기반 Local SGD 기법
    • What : 미니배치가 증가함에 따라 최종 수렴 정확도가 감소하는 large mini-batch 문제를 해결하기 위해 local SGD를 활용함
    • Challenge : local SGD는 미니배치를 나눈 마이크로 미니배치마다 학습을 반복하여 진행하여 GPU 활용률이 낮아질 수 있음.
    • Result : local SGD 방식과 파이프라인 병렬화를 병합하여 멀티 스트림를 활용한 파이프라인 local SGD를 제시함.
  • 연구주제 2 : 탄력적인 가십 네트워크 토폴로지의 spectral gap에 기반한 적응형 가십 피어 수 조정 기법
    • What : 클라우드 인스턴스는 HPC 클러스터 대비 네트워크 대역폭이 낮아 분산 딥러닝 학습에서 가십 기반 통신 토롤로지의 활용이 필요함.
    • Challenge : 클라우드 trasient 자원 환경에서는 네트워크 토폴로지가 고정되지 않으며, 매 반복마다 통신되는 피어의 수마다 학습 효율이 달라지므로 피어 수와 토폴로지를 적절하게 조정해야함
    • Result : 가십 통신 토롤로지의 spectral gap 값을 모니터링하며 가십 통신에 의한 모델 업데이트의 오차를 적응형으로 조정하는 방안 제시
  • 연구주제 3 : 클라우드 transient 자원 환경에서의 멤버쉽 관리 및 segment checkpoint 기법
    • What : 분산 학습 과정에서 인스턴스의 점유 이탈 과정에 효과적으로 대응할 수 있는 방안이 필요함.
    • Challenge : 각 인스턴스의 Liveness를 주기적으로 탐색해야하는 비용이 추가 요구되며, 새로운 인스턴스 참여로 인한 학습 중단이 발생
    • Result : Liveness 탐색 부하를 줄이기 위한 Piggy backing 방식의 멤버쉽 관리 및 Segment checkpoint 방식을 통한 부분적 학습 중단

2017. 03 ~ 2017. 10

구조건전성평가 응용을 위한 영상데이터 패턴인식 초고속 병렬화 연구

한국과학기술정보연구원(KISTI)
JetsonImage ClassificationUnified Memory
  • What : GPU 임베디드 보드(Jetson TX1)을 활용한 저전력 환경에서의 이미지 분류 기법 연구
  • Challenge : 서버 환경 대비 설치 가능한 프레임워크에 제약이 많아 생각대로 할 수 없는 부분이 많았음.
  • Result : GPU 임베디드 보드(Jetson TX1)의 Unified Memory를 활용한 이미지 처리 방안을 제시함.

SKILL

Deep Learning

  • 3 Distributed Deep Learning
  • 2 Deep Reinforcement Learning
  • 2 Multi-agent Reinforcement Learning
  • 1 Deep Learning Model for Image Classification

Optimization algorithm

  • 1 (Integer) Linear Programming
  • 1 Genetic Algorithm

Language

  • 3 Java
  • 2 Node.js
  • 2 javascript
  • 2 HTML/CSS

Framework

  • Tensorflow
  • PyTorch
  • Hadoop
  • Spark
  • AWS EC2
  • AWS S3

EDUCATION

2017. 03 ~

아주대학교 일반대학원

인공지능학과 석박사통합과정 수료 (GPA 4.22/4.5)

2012. 03 ~

아주대학교

소프트웨어 학사 (GPA 3.91/4.5)

ETC

특허 및 지적재산권
  • 국내 특허 등록 3건
    • 분산 SDN 컨트롤러의 부하 분산을 위한 스위치 마이그레이션 장치 및 방법
    • 레이어 오버래핑 기반의 분산 딥러닝 수행 장치 및 방법
    • 심층 강화 학습을 위한 데이터 처리 장치 및 방법
  • 프로그램 등록 4건
    • RCRS(RoboCup Resque Simulation) 기반 화재 재난 대응을 위한 강화학습 적용 솔루션
    • RCRS(RoboCup Resque Simulation) 기반 화재 재난 대응 강화 학습 환경
    • 심층 강화 학습 가속화를 위해 Atari 게임 환경에서의 효율적인 human demonstration data 관리 시스템
    • OpenCV를 위한 CUDA Unified Memory 할당 프로그램

TA
  • 대학원 재학기간 동안 다수의 실습 TA 수행
    • 객체지향프로그래밍 : 자바, 2017년 1학기부터 2020년 1학기까지 1학기마다 매년 조교업무 수행.
    • 웹 프로그래밍 : HTML,Node.js,Javascript, 2017년 2학기, 2020년 2학기 조교업무 수행.
v.1.1.0 / Github / Thanks for Outsider
Next.js v10.2.3 / React.js v17.0.2 / Bootstrap v4.6.0