KR20210121915A - 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법 - Google Patents

연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법 Download PDF

Info

Publication number
KR20210121915A
KR20210121915A KR1020200039363A KR20200039363A KR20210121915A KR 20210121915 A KR20210121915 A KR 20210121915A KR 1020200039363 A KR1020200039363 A KR 1020200039363A KR 20200039363 A KR20200039363 A KR 20200039363A KR 20210121915 A KR20210121915 A KR 20210121915A
Authority
KR
South Korea
Prior art keywords
model
processing unit
client
updated
local
Prior art date
Application number
KR1020200039363A
Other languages
English (en)
Other versions
KR102567565B1 (ko
Inventor
금승우
문재원
김영기
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020200039363A priority Critical patent/KR102567565B1/ko
Priority to PCT/KR2020/017156 priority patent/WO2021201370A1/ko
Publication of KR20210121915A publication Critical patent/KR20210121915A/ko
Application granted granted Critical
Publication of KR102567565B1 publication Critical patent/KR102567565B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 연합학습(Federated Learning, FL) 자원 관리장치에 의해 수행되는 방법에 관한 것이다. 본 발명의 일 실시예는 FL 서버로부터 복수의 FL 클라이언트의 운용을 위한 요청 정보를 수신하는 단계; 상기 요청 정보에 기초하여 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하는 단계; 상기 선정된 FL 클라이언트로 기초모델 및 학습도구를 배포하는 단계; 및 상기 FL 서버가 갱신모델을 기반으로 통합모델을 생성함에 따라, 상기 FL 서버로부터 상기 통합모델의 배포 요청을 수신하는 단계를 포함한다.

Description

연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법{APPARATUS AND SYSTEM FOR MANAGING FEDERATED LEARNING RESOURCE, AND RESOURCE EFFICIENCY METHOD THEREOF}
본 발명은 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법에 관한 것으로서, 보다 구체적으로는 컴퓨팅 자원을 고려하여 복수의 FL 클라이언트를 선별적으로 운용함으로써 자원을 효율적으로 관리할 수 있는 시스템 및 방법에 관한 것이다.
최근 클라우드 기술 및 인공지능과 기계학습(이하, AI/ML이라 한다) 기술이 발전함에 따라, 다양한 AI/ML 서비스들이 높은 정확도로 제공되고 있다.
이러한 고도의 정확도를 유지하기 위해서는 학습을 위한 대용량의 데이터와 이를 처리할 수 있는 고성능의 컴퓨팅 자원이 필요하다.
이를 위하여 종래에는 고성능의 서버 또는 클라우드 등에 학습용 데이터를 모아두고 이를 통한 학습을 진행하였으나, 최근 개인정보 보호 등의 이슈가 제기되면서 대용량의 학습 데이터를 클라우드 상에 보관하는 것에 대한 문제가 제기되고 있다.
연합학습(Federated Learning, FL)은 이러한 문제를 해결하기 위하여 데이터를 한 곳에 모아두지 않고 데이터 생성원에만 보관하게 한 후, 데이터 생성원에서 학습을 진행하고 학습 결과만을 독립된 서버에서 취합하여 AI/ML 모델의 성능을 개선하는 방법으로 제시되었다.
이러한 연합학습은 데이터가 한 곳에 모이지 않고 학습 자체가 데이터 생성원에서 진행되므로 개인정보 유출을 원천적으로 차단하는 효과가 있다.
하지만, 연합학습의 구현은 FL 클라이언트가 FL 서버에 자신이 해당 기능을 수행하고자 함을 알리는 레지스터(register) 형태로 구현되어 있어 효율적인 자원의 관리가 어려운 문제점을 가지고 있다.
현재 FL 클라이언트는 FL 어플리케이션이 설치되면 자신의 능력치에 관계없이 FL 서버에 자신을 FL 클라이언트로 등록하는 구조를 가지고 있다. 만약, 메모리가 부족하거나 프로세서 성능이 낮은 경우와 같이, 자신의 능력치가 연합학습을 수행할 수 없을 경우, FL 클라이언트는 운용될 수 없는 어플리케이션을 저장하고 있어 스토리지의 낭비가 발생한다.
또한 FL 클라이언트는 시간 내 종료되지 않는 프로세스를 반복적으로 운용해야 하므로 CPU 및 메모리와 같은 컴퓨팅 자원의 낭비가 발생하게 된다.
본 발명의 실시예는 FL 클라이언트의 컴퓨팅 자원을 고려하여 복수의 FL 클라이언트를 선별적으로 운용함으로써 자원을 효율적으로 관리할 수 있는 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1측면에 따른 연합학습(Federated Learning, FL) 자원 관리장치에 의해 수행되는 방법은 FL 서버로부터 복수의 FL 클라이언트의 운용을 위한 요청 정보를 수신하는 단계; 상기 요청 정보에 기초하여 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하는 단계; 상기 선정된 FL 클라이언트로 기초모델 및 학습도구를 배포하는 단계; 및 상기 FL 서버가 갱신모델을 기반으로 통합모델을 생성함에 따라, 상기 FL 서버로부터 상기 통합모델의 배포 요청을 수신하는 단계를 포함한다.
본 발명의 일부 실시예에서, 상기 FL 서버로부터 복수의 FL 클라이언트의 운용을 위한 요청 정보를 수신하는 단계는, 상기 요청 정보로 상기 복수의 FL 클라이언트에 대한 컴퓨팅 요구사항 정보, 기초 모델 정보 및 학습 도구 정보 중 하나 이상을 포함하여 전달할 수 있다.
본 발명의 일부 실시예에서, 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하는 단계는, 상기 복수의 FL 클라이언트의 컴퓨팅 자원 정보, 연관 서비스 운용 정보 및 로컬 데이터 수집 여부 정보 중 하나 이상에 기초하여 하나 이상의 FL 클라이언트를 선정할 수 있다.
본 발명의 일부 실시예에서, 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하는 단계는, 상기 연관 서비스 운용 정보에 기초하여 상기 복수의 FL 클라이언트 중 연관 서비스가 운용되고 있는 FL 클라이언트를 1차 선정하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하는 단계는, 상기 1차 선정된 FL 클라이언트 중 상기 컴퓨팅 자원 정보에 기초하여 가용한 FL 클라이언트를 최종 선정하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에는, 상기 선정된 FL 클라이언트만을 대상으로 연합학습을 위한 소프트웨어가 설치 및 실행될 수 있다.
본 발명의 일부 실시예에서, 상기 선정된 FL 클라이언트는 상기 학습도구를 기반으로 상기 기초모델을 갱신하고, 상기 기초모델의 갱신이 완료됨에 따라 상기 FL 서버로 상기 갱신모델을 전송할 수 있다.
본 발명의 일부 실시예에서, 상기 FL 서버는 기 설정된 개수 이상의 상기 갱신모델을 복수의 FL 클라이언트로부터 수신함에 따라 FL 서버에 저장된 상기 기초모델을 통합모델로 갱신하고, 상기 FL 자원 관리장치로 상기 복수의 FL 클라이언트로의 상기 통합모델의 배포를 요청할 수 있다.
본 발명의 일부 실시예에서는 상기 FL 클라이언트의 관리를 위하여 상기 복수의 FL 클라이언트를 등록하는 단계를 더 포함할 수 있다.
또한, 본 발명의 제2측면에 따른 연합학습(Federated Learning, FL) 자원 관리를 위한 장치는 FL 서버 및 복수의 FL 클라이언트에 데이터를 송수신하는 통신모듈, 상기 복수의 FL 클라이언트의 자원 관리를 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시키는 프로세서를 포함하되, 상기 프로세서는 상기 프로그램을 실행시킴에 따라, 상기 통신모듈을 통해 FL 서버로부터 복수의 FL 클라이언트의 운용을 위한 요청 정보를 수신하면, 상기 요청정보에 기초하여 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하여 기초모델 정보 및 학습도구 정보를 배포한다.
본 발명의 일부 실시예에서, 상기 프로세서는 상기 복수의 FL 클라이언트의 컴퓨팅 자원 정보, 연관 서비스 운용 정보 및 로컬 데이터 수집 여부 정보 중 하나 이상에 기초하여 하나 이상의 FL 클라이언트를 선정할 수 있다.
또한, 본 발명의 제3측면에 따른 연합학습(Federated Learning, FL) 수행 및 관리를 위한 시스템은 선정된 적어도 하나가 운용되어 연합학습을 수행하여 기초모델을 갱신하는 복수의 FL 클라이언트, 상기 갱신된 갱신모델을 기 설정된 개수 이상 수신함에 따라 통합모델로 갱신하여 상기 복수의 FL 클라이언트로의 상기 통합모델 배포를 요청하는 FL 서버 및 상기 FL 서버로부터 복수의 FL 클라이언트의 운용을 위한 요청 정보를 수신하면, 상기 요청정보에 기초하여 상기 복수의 FL 클라이언트 중 운용할 하나 이상의 FL 클라이언트를 선정하여 기초모델 정보 및 학습도구 정보를 배포하며, 상기 FL 서버의 요청에 따라 통합모델을 상기 FL 클라이언트로 배포하는 FL 자원 관리장치를 포함한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 다수의 FL 클라이언트에 일방적으로 연합학습을 위한 소프트웨어가 설치 및 운용되는 것이 아닌, FL 클라이언트의 컴퓨팅 자원을 고려하여 선정된 FL 클라이언트만을 운용되도록 함으로써 자원의 효율적 운용을 지원할 수 있다.
또한, 선정된 FL 클라이언트에만 소프트웨어가 설치 및 운용되는바, FL 클라이언트 자원 활용의 효율성을 증대시킬 수 있으며, 타 단말의 유휴 자원을 증대시킬 수 있다.
이와 더불어, 연합학습 운용을 위한 FL 클라이언트의 모델 갱신 성공확률을 높일 수 있어 연합학습을 안정적으로 동작시킬 수 있으며, 이를 기반으로 갱신된 모델을 타 FL 클라이언트로 재배포되도록 하여 갱신된 모델의 기능을 안정적으로 제공할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래 기술에 따른 연합학습 프로토콜을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 연합학습 수행 및 관리 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 연합학습 수행 및 관리 시스템의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 연합학습 프로세스방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 종래 기술에 따른 연합학습 프로토콜을 설명하기 위한 도면이다.
연합학습(Federated Learning, FL)을 수행하기 위한 환경은, 로컬 데이터를 수집하고 로컬 모델의 갱신을 수행하는 FL 클라이언트와, 로컬 갱신 모델을 취합하여 통합 모델의 갱신 및 배포를 수행하는 FL 서버로 구성된다.
먼저, FL 클라이언트는 FL 서버에 자신이 해당되는 FL 클라이언트임을 등록한다.
이후, FL 서버는 통합 모델과 로컬 학습 기법을 등록된 FL 클라이언트로 전달한다.
FL 클라이언트는 상황 조건이 만족하면, 로컬 데이터에 대하여 로컬 학습 기법을 적용하여 로컬 모델의 갱신을 시도한다.
이후, FL 클라이언트는 해당 모델의 갱신이 완료되면 갱신된 모델을 FL 서버에 전달하고, FL 서버는 충분한 수의 갱신 모델이 확보되면 이를 기반으로 통합 모델로 갱신한다.
이후, 통합 모델이 갱신됨에 따라 위 과정이 반복 수행된다.
이와 같은 종래 기술은 FL 클라이언트의 컴퓨팅 자원에 대하여 고려하지 않고, FL 클라이언트가 자의적으로 등록을 진행한다는 문제가 있다.
즉, 종래기술은 FL 클라이언트의 메모리나 스토리지 자원이 부족하여 정상적인 FL 클라이언트로의 역할 수행을 할 수 없는 등의 자원 관리에 대한 고려가 전혀 되고 있지 않다.
이는 FL 클라이언트의 자원 활용도를 낮추는 결과를 초래하게 되고, 또한 FL 클라이언트로부터의 갱신 성공률을 낮추는 요인으로 동작하여, 전체 통합 모델의 갱신 성능에도 문제를 야기하게 된다.
이와 달리 본 발명의 일 실시예는, 전술한 문제를 해결하기 위하여 FL 자원 관리장치(300)를 추가적으로 도입하는 것을 특징으로 한다.
본 발명의 일 실시예에서 FL 자원 관리장치(300)는 일종의 자원 관리 도구로서, 등록되어 있는 다양한 자원들 중 FL 클라이언트(100)의 역할을 수행할 수 있는 자원, 즉 실제 해당 연합학습 서비스가 운용되고 있으며 충분한 가용 자원을 가지고 있는 경우만을 FL 클라이언트(100)로 선정함으로써, 자원의 효율적 운용 및 FL 프로세스의 효율성을 제고할 수 있다.
이하에서는 도 2 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 연합학습 수행 및 관리 시스템(1)에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 연합학습 수행 및 관리 시스템(1)을 설명하기 위한 도면이다. 도 3은 본 발명의 일 실시예에 따른 연합학습 수행 및 관리 시스템(1)의 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 연합학습 수행 및 관리 시스템(1)은 복수의 FL 클라이언트(100), FL 서버(200) 및 FL 자원 관리장치(300)를 포함한다.
FL 클라이언트(100)는 FL 자원 관리장치(300)에 의해 선정된 적어도 하나가 운용되며, 선정된 FL 클라이언트(100)는 연합학습을 수행하여 기초모델을 갱신한다. 즉, 본 발명의 일 실시예는 등록된 모든 FL 클라이언트(100)가 운용되는 것이 아니라, FL 클라이언트(100)의 컴퓨팅 자원 상태에 기반하여, 운용 가능한 상태의 FL 클라이언트(100)를 선별적으로 선택 및 운용하는 것을 특징으로 한다.
FL 서버(200)는 FL 클라이언트(100)로부터 갱신된 갱신모델을 기 설정된 개수 이상 수신함에 따라, 갱신모델을 취합하여 통합모델로 갱신한 후 복수의 FL 클라이언트(100)로의 통합모델 배포를 FL 자원 관리장치(300)로 요청한다.
FL 자원 관리장치(300)는 FL 서버(200)로부터 복수의 FL 클라이언트(100)의 운용을 위한 요청 정보를 수신하면, 요청정보에 기초하여 복수의 FL 클라이언트(100) 중 운용할 하나 이상의 FL 클라이언트(100)를 선정하여 기초모델 정보 및 학습도구 정보를 배포한다.
이때, FL 자원 관리장치(300)는 복수의 FL 클라이언트(100)의 컴퓨팅 자원 정보, 연관 서비스 운용 정보 및 로컬 데이터 수집 여부 정보 중 하나 이상에 기초하여 하나 이상의 FL 클라이언트(100)를 선정할 수 있다.
한편, 본 발명의 일 실시예에서 FL 클라이언트(100), FL 서버(300) 및 FL 자원 관리장치(300)는 도 3과 같이 통신모듈(410), 메모리(420) 및 상기 메모리(420)에 저장된 프로그램을 실행시키는 프로세서(430)를 포함하도록 구성될 수 있다.
통신 모듈(410)은 무선 통신 모듈로 구성됨이 바람직하나 이는 유선 통신 모듈을 배제하는 것은 아니다. 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술 등으로 구현될 수 있다. 또한, 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다.
메모리(420)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다. 예를 들어, 메모리(420)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
참고로, 본 발명의 실시예서 설명한 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
이하에서는 도 4를 참조하여 FL 자원 관리장치(300)에 의해 수행되는 연합학습 프로세스 자원 효율화 방법에 대하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 연합학습 프로세스방법의 순서도이다.
먼저, FL 자원 관리장치(300)는 FL 서버(200)로부터 FL 클라이언트(100)의 운용을 위한 요청 정보를 수신한다(S110).
이때, 본 발명의 일 실시예는 FL 클라이언트(100)의 선정을 위하여 FL 자원 관리장치(300)는 관리하고자 하는 복수의 FL 클라이언트(100)의 자원을 등록하는 과정을 수행할 수 있다. 즉, 등록되지 않은 FL 클라이언트(100)에 대해서는 별도의 등록 절차가 수행되지 않는 한 본 발명의 일 실시예에서 자원으로 활용이 불가하다.
일 실시예로, FL 서버(200)는 상기 요청 정보로 복수의 FL 클라이언트(100)에 대한 컴퓨팅 요구사항 정보, 기초 모델 정보 및 학습 도구 정보 중 하나 이상을 포함하여 FL 자원 관리장치(300)로 전달할 수 있다.
다음으로, FL 자원 관리장치(300)는 상기 요청 정보에 기초하여 복수의 FL 클라이언트(100) 중 운용할 하나 이상의 FL 클라이언트(100)를 선정한다(S120).
일 실시예로, FL 자원 관리장치(300)는 FL 클라이언트(100)의 컴퓨팅 자원 정보, 연관서비스 운용 정보 및 로컬 데이터 수집 여부 정보 중 하나 이상에 기초하여 복수의 FL 클라이언트(100) 중 하나 이상의 FL 클라이언트(100)를 선정할 수 있다.
일 예로, FL 자원 관리장치(300)는 연관 서비스 운용 정보에 기초하여 복수의 FL 클라이언트(100) 중 연관 서비스가 운용되고 있는 FL 클라이언트(100)를 1차 선정할 수 있다.
그 다음 FL 자원 관리장치(300)는 1차 선정된 FL 클라이언트(100) 중 컴퓨팅 자원 정보에 기초하여 가용한 FL 클라이언트(100)를 최종 선정할 수 있다.
예를 들어, 이미지 분류(Image Classification) 서비스를 연합학습을 통해 개선하고자 할 경우, FL 자원 관리장치(300)는 이미 이미지 분류 서비스를 수행할 수 있는 프로그램이 설치되어 있는 FL 클라이언트(100)를 먼저 선정한다. 그리고 선정된 FL 클라이언트(100)들로부터 충분한 가용 자원이 있는지 여부를 판단하여, 해당 조건을 만족하는 FL 클라이언트(100)를 다시 선정하게 된다. 이때, 전술한 과정은 Kubernetes 등의 도구로부터 특정 어플리케이션이 실행되고 있는 Pod를 검색하는 과정으로도 수행될 수 있다.
다음으로, FL 자원 관리장치(300)는 선정된 FL 클라이언트(100)로 기초모델 및 학습도구를 배포한다(S130).
이와 같이 선정된 FL 클라이언트(100)만이 연합학습을 위한 소프트웨어가 설치 및 실행된다.
이후, 선정된 FL 클라이언트(100)는 학습을 위한 환경이 충족될 경우, 학습도구를 기반으로 기초모델을 갱신하고, 기초모델의 갱신이 완료됨에 따라 FL 서버(200)로 갱신모델을 전송한다.
FL 서버(200)는 복수의 FL 클라이언트(100)로부터 기 설정된 개수 이상의 갱신모델을 수신함에 따라, FL 서버(200)에 저장된 기초모델을 통합모델로 갱신한다.
다음으로, FL 서버(200)가 갱신모델을 기반으로 통합모델을 생성함에 따라, FL 서버(200)는 FL 자원 관리장치(300)로 통합모델의 배포를 요청한다 (S140).
예를 들어, 이미지 분류 서비스를 운용하고 있는 FL 클라이언트(100)가 있고, 해당 FL 클라이언트(100)에서 사용하는 모델이 연합학습을 통해 갱신된 경우, FL 서버(200)는 갱신된 모델을 수집하여 통합모델로 갱신한 후, 통합모델의 배포를 FL 자원 관리장치(300)로 요청할 수 있다. 이때, 이 과정은 kubernetes 등의 도구로부터 특정 어플리케이션이실행되고 있는 Pod를 검색하거나, 또는 별도의 CRD(Custom Resource Definition)를 정의함으로써 구현될 수 있다.
FL 서버(200)는 통합모델이 FL 클라이언트(100)로의 배포가 완료되면 다시 전술한 과정을 반복하여 FL 클라이언트(100)의 운용을 위한 요청 정보를 FL 자원 관리장치(300)로 전달하게 된다.
한편, 상술한 설명에서, 단계 S110 내지 S140은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 전술한 도 2 내지 도 3에서의 내용은 도 4의 연합학습 프로세스 자원 효율화 방법에도 적용될 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: FL 클라이언트
200: AI/ML 모델 저장소
200: FL 서버
300: FL 자원 관리장치
410: 통신모듈,
420: 메모리
430: 프로세서

Claims (12)

  1. 인공지능 및 기계학습(AI/ML) 서비스 프로세스 유닛, 로컬 AI/ML 모델 저장소, 연합학습(Federated Learning, FL) 프로세스 유닛을 포함하는 FL 클라이언트에서의 AI/ML 모델 운용 방법에 있어서,
    상기 AI/ML 서비스 프로세스 유닛이 AI/ML 모델 저장소로부터 AI/ML 모델의 다운로드를 요청하는 단계;
    상기 다운로드 요청에 대응하여 AI/ML 모델이 다운로드됨에 따라 상기 로컬 AI/ML 모델 저장소에 저장하는 단계;
    상기 AI/ML 서비스 프로세스 유닛이 상기 로컬 AI/ML 모델 저장소로부터 상기 AI/ML 모델을 독출 및 저장하여 서비스를 제공하는 단계;
    상기 FL 프로세스 유닛이 연합학습 수행 조건 만족 여부를 판단하는 단계;
    상기 FL 수행 조건을 만족함에 따라 상기 로컬 AI/ML 모델 저장소로부터 상기 AI/ML 모델을 독출 및 저장하여 연합학습을 수행하는 단계; 및
    상기 연합학습 수행이 완료됨에 따라 갱신된 AI/ML 모델을 FL 서버로 제공하는 단계를 포함하는 AI/ML 모델 운용 방법.
  2. 제1항에 있어서,
    상기 로컬 AI/ML 모델 저장소는 상기 FL 클라이언트 내의 AI/ML 서비스 프로세스 유닛과 FL 프로세스 유닛 간에 공유 가능한 볼륨에 저장되는 것인 AI/ML 모델 운용 방법.
  3. 제2항에 있어서,
    상기 AI/ML 서비스 프로세스 유닛 및 FL 프로세스 유닛이 도커 컨테이너로 구성된 경우 상기 로컬 AI/ML 모델 저장소는 호스트의 공유 볼륨으로 구성되는 것인 AI/ML 모델 운용 방법.
  4. 제1항에 있어서,
    상기 FL 프로세스 유닛이 연합학습 수행 조건 만족 여부를 판단하는 단계는,
    상기 FL 클라이언트의 전원 공급 여부, 기 설정된 시간동안 휴지 상태인지 여부 및 상기 AI/ML 모델의 갱신을 위한 수집 데이터의 충족 여부 중 하나 이상에 기초하여 판단하는 것인 AI/ML 모델 운용 방법.
  5. 제1항에 있어서,
    상기 FL 서버는 적어도 하나의 FL 클라이언트로부터 갱신된 AI/ML 모델을 수집하고, 갱신 조건 충족시 상기 수집된 AI/ML 모델을 기반으로 통합 모델로 갱신하는 것인 AI/ML 모델 운용 방법.
  6. 제5항에 있어서,
    상기 FL 서버는 상기 통합 모델의 갱신이 완료됨에 따라 상기 갱신된 통합 모델을 상기 AI/ML 모델 저장소에 등록하는 것인 AI/ML 모델 운용 방법.
  7. 제5항에 있어서,
    상기 AI/ML 서비스 프로세스 유닛이 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하는 단계를 더 포함하되,
    상기 AI/ML 서비스 프로세스 유닛이 AI/ML 모델 저장소로부터 AI/ML 모델의 다운로드를 요청하는 단계는,
    상기 통합 모델이 갱신된 것으로 확인된 경우, 상기 AI/ML 모델 저장소로부터 상기 통합 모델의 다운로드를 요청하는 것인 AI/ML 모델 운용 방법.
  8. 제7항에 있어서,
    상기 AI/ML 서비스 프로세스 유닛이 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하는 단계는,
    상기 통합 모델의 버전 정보 및 상기 FL 프로세스 유닛에 의해 갱신된 AI/ML 모델의 버전 정보 중 하나 이상에 기초하여 상기 갱신 여부를 확인하는 것인 AI/ML 모델 운용 방법.
  9. 인공지능 및 기계학습(AI/ML) 모델 운용 시스템에 있어서,
    AI/ML 모델을 제공받아 AI/ML 서비스를 제공하는 AI/ML 서비스 프로세스 유닛, 상기 AI/ML 모델을 저장 및 제공하는 로컬 AI/ML 모델 저장소 및 상기 로컬 AI/ML 모델 저장소로부터 상기 AI/ML 모델을 독출 및 저장하여 연합학습(Federated Learning, FL)을 수행하여 상기 AI/ML 모델을 갱신하는 FL 프로세스 유닛을 포함하는 적어도 하나의 FL 클라이언트와,
    상기 AI/ML 서비스 프로세스 유닛의 요청에 따라 상기 AI/ML 모델을 상기 로컬 AI/ML 모델 저장소로 제공하는 AI/ML 모델 저장소와,
    상기 FL 클라이언트로부터 갱신된 AI/ML 모델을 수집하고, 갱신 조건이 충족됨에 따라 상기 수집된 AI/ML 모델을 통합 모델로 갱신하여 상기 AI/ML 모델 저장소에 등록하는 FL 서버를 포함하는 AI/ML 모델 운용 시스템.
  10. 제9항에 있어서,
    상기 로컬 AI/ML 모델 저장소는 상기 FL 클라이언트 내의 AI/ML 서비스 프로세스 유닛과 FL 프로세스 유닛 간에 공유 가능한 볼륨에 저장되는 것인 AI/ML 모델 운용 시스템.
  11. 제9항에 있어서,
    상기 AI/ML 서비스 프로세스 유닛은 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하고, 상기 확인 결과 상기 통합 모델이 갱신된 경우 상기 통합 모델에 대한 다운로드를 요청하는 것인 AI/ML 모델 운용 시스템.
  12. 인공지능 및 기계학습(AI/ML) 모델 운용을 위한 연합학습(Federated Learning, FL) 클라이언트에 있어서,
    AI/ML 모델 저장소로부터 제공된 AI/ML 모델에 기초하여 AI/ML 서비스를 제공하는 AI/ML 서비스 프로세스 유닛,
    상기 AI/ML 서비스 프로세스 유닛으로부터 요청된 AI/ML 모델을 상기 AI/ML 모델 저장소로부터 제공받아 저장 및 상기 AI/ML 서비스 프로세스 유닛으로 제공하는 로컬 AI/ML 모델 저장소 및
    연합학습 수행 조건을 만족하는지 여부에 기초하여, 상기 로컬 AI/ML 모델 저장소로부터 상기 AI/ML 모델을 독출 및 저장하여 연합학습을 수행하며, 갱신된 AI/ML 모델을 FL 서버로 제공하는 FL 프로세스 유닛을 포함하는 FL 클라이언트.
KR1020200039363A 2020-03-31 2020-03-31 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법 KR102567565B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200039363A KR102567565B1 (ko) 2020-03-31 2020-03-31 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법
PCT/KR2020/017156 WO2021201370A1 (ko) 2020-03-31 2020-11-27 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200039363A KR102567565B1 (ko) 2020-03-31 2020-03-31 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법

Publications (2)

Publication Number Publication Date
KR20210121915A true KR20210121915A (ko) 2021-10-08
KR102567565B1 KR102567565B1 (ko) 2023-08-21

Family

ID=77929609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200039363A KR102567565B1 (ko) 2020-03-31 2020-03-31 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법

Country Status (2)

Country Link
KR (1) KR102567565B1 (ko)
WO (1) WO2021201370A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102523699B1 (ko) * 2022-12-16 2023-04-21 (주)임픽스 제조 환경을 위한 연합학습 시스템
KR20230105472A (ko) 2022-01-04 2023-07-11 숭실대학교산학협력단 로컬 그룹 기반의 연합학습 시스템 및 연합학습 제어방법
KR20230126908A (ko) 2022-02-24 2023-08-31 명지대학교 산학협력단 대규모 연합학습을 위한 효율적 분산 클러스터링 방법 및 시스템
KR102573880B1 (ko) 2022-07-21 2023-09-06 고려대학교 산학협력단 다중-너비 인공신경망에 기반한 연합 학습 시스템 및 연합 학습 방법
KR20240017623A (ko) 2022-08-01 2024-02-08 이화여자대학교 산학협력단 분산화된 연합학습 시스템 및 연합학습 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138517B2 (en) * 2017-08-11 2021-10-05 Google Llc On-device machine learning platform
KR20190096872A (ko) * 2019-07-31 2019-08-20 엘지전자 주식회사 연합학습(Federated learning)을 통한 필기체 인식방법 및 이를 위한 장치
CN110598870B (zh) * 2019-09-02 2024-04-30 深圳前海微众银行股份有限公司 一种联邦学习方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sawsan AbdulRahman et al. "FedMCCS: Multicriteria Client Selection Model for Optimal IoT Federated Learning" IEEE INTERNET OF THINGS JOURNAL, VOL. 8, NO. 6, 2021.03.15. *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230105472A (ko) 2022-01-04 2023-07-11 숭실대학교산학협력단 로컬 그룹 기반의 연합학습 시스템 및 연합학습 제어방법
KR20230126908A (ko) 2022-02-24 2023-08-31 명지대학교 산학협력단 대규모 연합학습을 위한 효율적 분산 클러스터링 방법 및 시스템
KR102573880B1 (ko) 2022-07-21 2023-09-06 고려대학교 산학협력단 다중-너비 인공신경망에 기반한 연합 학습 시스템 및 연합 학습 방법
KR20240017623A (ko) 2022-08-01 2024-02-08 이화여자대학교 산학협력단 분산화된 연합학습 시스템 및 연합학습 방법
KR102523699B1 (ko) * 2022-12-16 2023-04-21 (주)임픽스 제조 환경을 위한 연합학습 시스템

Also Published As

Publication number Publication date
KR102567565B1 (ko) 2023-08-21
WO2021201370A1 (ko) 2021-10-07

Similar Documents

Publication Publication Date Title
KR20210121915A (ko) 연합학습 자원 관리장치, 시스템 및 이의 자원 효율화 방법
US10700991B2 (en) Multi-cluster resource management
US11630706B2 (en) Adaptive limited-duration edge resource management
US10657061B1 (en) Resource distribution using attributes of versioned hash rings
US11775569B2 (en) Object-backed block-based distributed storage
US9971823B2 (en) Dynamic replica failure detection and healing
US11429893B1 (en) Massively parallel real-time database-integrated machine learning inference engine
US9882985B1 (en) Data storage path optimization for internet of things computing system
US20190065278A1 (en) Tenant-specific policy generation and enforcement within containers
DE112019000841T5 (de) Handhaben von E/A-Operationen in einem cloudbasierten Speichersystem
DE112019005770T5 (de) Speicherverwaltung für ein cloudbasiertes Speichersystem
US10601871B2 (en) Reconfiguration of security requirements for deployed components of applications
US10419528B2 (en) Dynamically instantiating and terminating data queues
US9954728B2 (en) Management of mobile devices in a network environment
US20120179778A1 (en) Applying networking protocols to image file management
US11373119B1 (en) Framework for building, orchestrating and deploying large-scale machine learning applications
CN103607428A (zh) 一种访问共享内存的方法和装置
US20200344325A1 (en) Systems, methods, and computer program products to implement changes in a converged infrastructure system
US10587533B2 (en) Facilitating management of resources
KR20230043693A (ko) 정보 중심 네트워크에서의 스토리지 노드 모집
US11290396B1 (en) Dynamic determination of parity packets for data transmissions
US20210067599A1 (en) Cloud resource marketplace
CN114846480A (zh) 支持多种量子计算技术的量子计算服务
KR102310515B1 (ko) 지능형 컴포넌트를 위한 컨테이너 기반 관리 방법
KR20210121914A (ko) 인공지능 및 기계학습 모델 운용 시스템 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right