Skip to content

statlove/NetChallenge10_FeDMeC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduce

안녕하세요, 저희는 한국의 네트워크챌린지 줄여서 넷챌린지 캠프 시즌10 경진대회에 참가했던 숭실대학교 DCN 연구실의 FedMec팀입니다. 이 넷챌린지는 다양한 네트워크 및 AI 등 기술들을 가지고 참가자들이 자신들의 아이디어를 펼치고 선보이는 대회입니다. 저희팀은 "분산 엣지 컴퓨팅 환경에서의 연합학습 머신러닝 서비스의 오케스트레이션 기능 개발"이란 주제로 참여하게 되었으며 6개월 간의 팀원과의 협업으로 대회에서 은상을 수상하는 영광을 갖게 되었습니다.

Hello. We are the project team "FedMec" of Soongsil Univ. DCN Lab that attended the south korea contest called NetChallenge season10. Every Participant teams can show themselves idea in this NetChallenge contest. Our team attended this contest with project "Orchestration feature of Federated Learning services in Distributed Edge Computing". And we've glad to get the third winner title in this contest.

Project Introduce(1)

분산학습이란 중앙서버에서 각 단말들로부터 데이터를 받아 학습을 진행하여 새로운 모델을 만들어내는 학습 방식을 의미한다. 하지만 이러한 분산학습에는 여러가지 문제점들이 있다.

  1. 중앙서버에서 모든 데이터를 취합받고 있기에 서버에 대한 부하가 크다.(이로 인해 성능 저하의 이슈가 생길 수 있다)
  2. 데이터의 직접 전달로 인해 데이터 보안의 위험성이 있다.

반면, 연합학습은 중앙집중식 학습 방식이 아닌 모델을 각 단말로 전달하여 각 단말에서 로컬 데이터를 가지고 모델을 학습하여 생성한 학습 파라미터들을 중앙서버에서 취합을 받아 새로운 모델을 만들어내는 학습 방식을 의미한다. 이러한 연합학습의 방식은 분산학습에서 단점이라고 꼽히는 부분들에 대한 커버가 가능하다.

하지만, 저희 연구팀은 연합학습을 공부하면서 연합학습 역시 단점들이 존재함을 발견할 수 있었다. 연합학습에서의 단점:

  1. 일반적인 상황: 연합학습은 중앙서버에서 각 단말들로부터 학습이 완료된 학습 파라미터들을 취합한다고 이전에서 말했었는데 이때 각 단말마다의 스펙차이, 네트워크 환경의 차이 등등으로 인해 학습시간이 제각각일 경우가 있을 수 있다. 그러면 중앙서버에서 파라미터 취합을 진행할 때 어느 단말에서는 빨리 보내고 어느 단말에서는 느리게 보낸다면 중앙서버는 모든 파라미터들을 취합하려면 가장 느리게 학습시키고 파라미터를 올려보내는 단말이 완료될 때까지 대기해야 한다. 이는 전체 학습 시간에 영향을 미치는 이슈가 발생할 수 있다.
  2. 학습시간을 줄이려는 상황: 만약에 연합학습의 학습 시간을 줄이려고 할 때 학습시간을 정해놓을 수 있겠죠. 그렇게되면 정해놓은 학습 시간 안에 도착한 학습 파라미터들은 취합되는데 문제없겠지만 학습이 늦어 정해진 학습 시간을 초과하여 보내오게 되면 그 학습 파라미터는 중앙서버에서 취합하지 않고 버리게 된다. 이때의 단점은 학습 결과의 편향성 이슈가 발생할 수 있다는 것이다.

Distributed learning refers to a learning method that receives data from each device on a centralized server and learns to create a new model. However, there are several problems with distributed learning.

  1. Since all data is collected from the central server, the load on the server is large (this can cause performance issues).
  2. There is a risk of data security due to the direct transmission of data.

On the other hand, federated learning is not a centralized learning method, but a learning method that delivers the model to each terminal, and each terminal learns the model with local data, and the learning parameters generated by learning the model are collected from the central server to create a new model. This method of federated learning can cover the shortcomings of distributed learning.

However, as our research team studied federated learning, we found that it also has its drawbacks. Disadvantages of federated learning:

  1. Common situation: In the previous section, we mentioned that the central server collects the training parameters that have been trained from each terminal, but there may be cases where the training time is different due to the difference in the specification of each terminal, the difference in the network environment, etc. Then, when the central server aggregates the parameters, if some devices send fast and some devices send slow, the central server must wait for the slowest device to finish learning and uploading parameters to aggregate all the parameters. This can cause issues that affect the overall learning time.
  2. You want to reduce the learning time: If you want to reduce the learning time of federated learning, you can set a learning time. In that case, the learning parameters that arrive within the set learning time can be aggregated, but if the learning is late and the learning time exceeds the set learning time, the learning parameters will be discarded without being aggregated by the central server. The disadvantage of this is that it can cause bias in the learning results.

Project Introduce(2)

그래서 저희 FedMec팀은 연합학습 내부의 학습전략을 개선하기로 결정했습니다. ("AI 모델 연합학습 학습전략")

  1. 우선순위에 따른 엣지 선택 학습전략 코어 클라우드에서 동작하고 해당 학습전략의 구성단계는 1라운드 학습과 n라운드 학습 별로 상이한 점이 있다. 우선 1라운드 학습 시 랜덤 엣지 선택, 초기 모델 배포 및 학습, 학습 파라미터 취합 및 모델 업데이트, 엣지 우선순위 설정, 업데이트 모델 재배포 단계로 나눌 수 있다. 1라운드 학습 단계별로 살펴보면 랜덤한 엣지 선택은 갓 연합학습을 시작한 시스템은 어떤 엣지들이 성능이 좋은지에 대한 정보가 없기에 랜덤으로 엣지들을 사전에 정해놓은 수만큼 선택하게 된다. 그리고 초기 모델 배포 및 학습 단계를 진행하여 랜덤으로 선택했던 엣지들에서 학습을 돌리게 된다. 정해진 시간 내에 학습을 마무리하여 파라미터들을 취합하여 모델을 업데이트하여 공용 스토리지에 저장하게 된다. 이때 학습 시간에 지연이 생겨 늦게 도착할 엣지의 파라미터는 우선 해당 단계에서 취합되지 않는다. 마지막으로 업데이트 모델 재배포 단계를 거쳐 새로운 라운드를 시작한다. 단, 새로운 라운드 시작 전에 도착한 파라미터를 토대로 엣지들의 우선순위를 결정하는 엣지 우선순위 결정 단계가 있다. 우선순위는 ‘참여 가능한 엣지(Participant)’와 ‘straggler’, 두 그룹으로 구성되며 학습시간과 엣지의 학습 상태가 우선순위 그룹의 기준이 될 것이며 이 중의 조건에 하나라도 미흡한 엣지가 있으면 우선순위는 ‘straggler’로 부여되면서 이후 일정 수의 라운드를 학습에 참여하지 못하는 패널티를 받게 한다. 하지만 우선순위를 낮게 결정된 엣지는 이후 계속 학습의 기회가 없게 되면 자원의 낭비가 우려되어 페널티(학습에 참여하지 못함)가 지나면 우선순위를 다시 올리게 된다. 이것이 1라운드 학습 시의 ‘우선순위에 따른 엣지 선택 학습전략’의 구성이다. n 라운드 학습 시의 ‘우선순위에 따른 엣지 선택 학습전략’은 2가지 특이점이 있으며 첫 번째는 학습 단계에 있어서 1라운드 학습과는 큰 차이점이 없지만 랜덤한 엣지 선택 단계만 우선순위에 따른 엣지 선택 단계로 변한다는 것이다.
  2. Semi-Synchronous 전략 이전 라운드에서 취합되지 않았던 파라미터들이 해당 라운드에서는 취합된다.

서비스의 제공을 위한 "AI 모델 서비스 추론 파이프라인" 추가로 구성: 연합학습의 라운드마다 업데이트된 글로벌 모델을 엣지 클러스터로 배포하면 그 모델을 이용하여 추론을 진행하는 파이프라인이다. 그리고 해당 파이프라인은 엣지의 저장소에 웹사이트에서 업로드된 이미지가 저장되는 시점을 기준으로 트리거되도록 설정한다. 사용자의 로컬 환경에서 웹사이트를 접속하여 피부 사진을 업로드하게 되면 엣지로 이미지를 보내게 된다. 엣지 클러스터의 특정 폴더에 이미지가 저장되면 그 폴더에 변화가 생기므로 이벤트를 발생하게 되면서 이 이벤트를 감지해서 추론 코드를 실행하는 워크플로우가 트리거가 되면서 업로드한 이미지에 대한 추론이 진행되어 결과를 도출하게 된다. 해당 결과는 또한 다시 웹사이트로 전달이 되어 사용자에게 출력되어 보이게 된다. 흑색종 피부암 예측 진단 결과를 빠르게 받아볼 수 있다는 것이 사용자에게 있어 서비스 사용의 편의성이 증가하는 효과가 있다.

위 파일들은 서비스를 제공하기 위한 "AI 모델 서비스 추론 파이프라인"에 관련된 웹페이지 서비스의 코드이다.

Bugs and Issues

현재 프로젝트는 오케스트레이션 기능을 구현하기 전이며 경진대회에서 선보였던 것은 연합학습 내부적인 학습전략의 개선에 관한 것이기에 추후에 기회되면 해당 개선된 학습전략의 연합학습을 클라우드 환경에 적용해보는 작업을 할 것이다.

Creator

The project team "FedMec" of Soongsil Univ. DCN Lab

Copyright and License

The project team "FedMec" of Soongsil Univ. DCN Lab

About

Website of NetChallenge Season10 Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published