KR20210121914A - System and method for operating artificial intelligence and machine learning model - Google Patents

System and method for operating artificial intelligence and machine learning model Download PDF

Info

Publication number
KR20210121914A
KR20210121914A KR1020200039362A KR20200039362A KR20210121914A KR 20210121914 A KR20210121914 A KR 20210121914A KR 1020200039362 A KR1020200039362 A KR 1020200039362A KR 20200039362 A KR20200039362 A KR 20200039362A KR 20210121914 A KR20210121914 A KR 20210121914A
Authority
KR
South Korea
Prior art keywords
model
processing unit
local
storage
updated
Prior art date
Application number
KR1020200039362A
Other languages
Korean (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 KR1020200039362A priority Critical patent/KR20210121914A/en
Publication of KR20210121914A publication Critical patent/KR20210121914A/en

Links

Images

Classifications

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

Abstract

The present invention relates to a method for operating an artificial intelligence and machine learning (AI/ML) model in a federated learning (FL) client including an AI/ML service process unit, a local AI/ML model storage and an FL process unit. An embodiment of the present invention comprises the steps of: the AI/ML service process unit requesting the download of an AI/ML model from the AI/ML model storage; storing the AI/ML model in the local AI/ML model storage after the AI/ML model is downloaded in response to the request of download; the AI/ML service process unit reading and storing the AI/ML model from the local AI/ML model storage to provide a service; the FL process unit determining whether or not performance conditions for federated learning are satisfied; reading and storing the AI/ML model from the local AI/ML model storage to perform federated learning as the performance conditions for FL are satisfied; and providing, to an FL server, the AI/ML model renewed as the performance of the federated learning is finished. Therefore, provided are a system and a method for operating an AI/ML model wherein an AI/ML service and an FL service can be operated efficiently.

Description

인공지능 및 기계학습 모델 운용 시스템 및 방법{SYSTEM AND METHOD FOR OPERATING ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING MODEL}SYSTEM AND METHOD FOR OPERATING ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING MODEL

본 발명은 인공지능 및 기계학습 모델 운용 시스템 및 방법에 관한 것으로서, 보다 구체적으로는 연합학습 프로세서와 타 프로세서 간에 AI/ML 모델을 효과적으로 운용하기 위한 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for operating artificial intelligence and machine learning models, and more particularly, to a system and method for effectively operating an AI/ML model between a federated learning processor and other processors.

최근 클라우드 기술 및 인공지능과 기계학습(이하, AI/ML이라 한다) 기술이 발전함에 따라, 다양한 AI/ML 서비스들이 높은 정확도로 제공되고 있다.Recently, as cloud technology, artificial intelligence, and machine learning (hereinafter referred to as AI/ML) technology develop, various AI/ML services are being provided with high accuracy.

이러한 고도의 정확도를 유지하기 위해서는 학습을 위한 대용량의 데이터와 이를 처리할 수 있는 고성능의 컴퓨팅 자원이 필요하다. In order to maintain such a high degree of accuracy, a large amount of data for learning and high-performance computing resources capable of processing it are required.

이를 위하여 종래에는 고성능의 서버 또는 클라우드 등에 학습용 데이터를 모아두고 이를 통한 학습을 진행하였으나, 최근 개인정보 보호 등의 이슈가 제기되면서 대용량의 학습 데이터를 클라우드 상에 보관하는 것에 대한 문제가 제기되고 있다.To this end, in the prior art, learning data was collected in a high-performance server or cloud, etc. and learning was carried out. However, as issues such as personal information protection have recently been raised, the problem of storing large amounts of learning data in the cloud has been raised.

연합학습(Federated Learning, FL)은 이러한 문제를 해결하기 위하여 데이터를 한 곳에 모아두지 않고 데이터 생성원에만 보관하게 한 후, 데이터 생성원에서 학습을 진행하고 학습 결과만을 독립된 서버에서 취합하여 AI/ML 모델의 성능을 개선하는 방법으로 제시되었다.Federated Learning (FL) does not store data in one place to solve this problem, but stores it only in the data generator, then proceeds with learning in the data generator and collects only the learning results on an independent server to create AI/ML It was presented as a way to improve the performance of the model.

이러한 연합학습은 데이터가 한 곳에 모이지 않고 학습 자체가 데이터 생성원에서 진행되므로 개인정보 유출을 원천적으로 차단하는 효과가 있다.This federated learning has the effect of fundamentally blocking the leakage of personal information because the data is not gathered in one place and the learning itself proceeds from the data generator.

하지만, 연합학습은 아직 클라우드 상에서의 컴퓨팅 자원을 통한 시뮬레이션 수준으로 구현되고 있으며, 실제로 서비스와의 연계에 대해서는 구체적인 방안이 제시되지 않아 구현시 컴퓨팅 자원의 효율적 사용이 어려운 문제가 있다.However, federated learning is still being implemented at the level of simulation through computing resources on the cloud, and there is a problem in that it is difficult to efficiently use computing resources when implementing because no specific method is presented for connection with services.

본 발명의 실시예는 연합학습을 실제 서버와 클라이언트 간에 운용함에 있어, 기존 AI/ML 서비스와의 간섭을 최소화하여 AI/ML 서비스와 연합학습 서비스가 효율적으로 상호 운용 가능하도록 하는 인공지능 및 기계학습 모델 운용 시스템 및 방법을 제공한다.An embodiment of the present invention is artificial intelligence and machine learning that minimizes interference with the existing AI/ML service in operating the federated learning between the real server and the client so that the AI/ML service and the federated learning service can efficiently interoperate. A model operating system and method are provided.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical task to be achieved by the present embodiment is not limited to the technical task as described above, and other technical tasks may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제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 서버로 제공하는 단계를 포함한다.As a technical means for achieving the above technical task, an artificial intelligence and machine learning (AI/ML) service process unit, a local AI/ML model repository, a Federated Learning (FL) process according to the first aspect of the present invention A method of operating an AI/ML model in an FL client including a unit includes: requesting, by the AI/ML service processing unit, to download an AI/ML model from an AI/ML model repository; storing the AI/ML model in the local AI/ML model storage as the AI/ML model is downloaded in response to the download request; providing, by the AI/ML service processing unit, reading and storing the AI/ML model from the local AI/ML model storage and providing a service; determining, by the FL processing unit, whether a federated learning performance condition is satisfied; performing federated learning by reading and storing the AI/ML model from the local AI/ML model storage as the FL performance condition is satisfied; and providing the updated AI/ML model to the FL server as the federated learning is completed.

본 발명의 일부 실시예에서, 상기 로컬 AI/ML 모델 저장소는 상기 FL 클라이언트 내의 AI/ML 서비스 프로세스 유닛과 FL 프로세스 유닛 간에 공유 가능한 볼륨에 저장될 수 있다.In some embodiments of the present invention, the local AI/ML model storage may be stored in a shareable volume between an AI/ML service processing unit in the FL client and a FL processing unit.

본 발명의 일부 실시예에서, 상기 AI/ML 서비스 프로세스 유닛 및 FL 프로세스 유닛이 도커 컨테이너로 구성된 경우 상기 로컬 AI/ML 모델 저장소는 호스트의 공유 볼륨으로 구성될 수 있다.In some embodiments of the present invention, when the AI/ML service processing unit and the FL processing unit are configured as a Docker container, the local AI/ML model storage may be configured as a shared volume of a host.

본 발명의 일부 실시예에서, 상기 FL 프로세스 유닛이 연합학습 수행 조건 만족 여부를 판단하는 단계는, 상기 FL 클라이언트의 전원 공급 여부, 기 설정된 시간동안 휴지 상태인지 여부 및 상기 AI/ML 모델의 갱신을 위한 수집 데이터의 충족 여부 중 하나 이상에 기초하여 판단할 수 있다.In some embodiments of the present invention, the step of determining whether the FL processing unit satisfies the federated learning performance condition includes whether the FL client is powered on, whether it is idle for a preset time, and updating the AI/ML model It may be determined based on at least one of whether or not the collected data is satisfied.

본 발명의 일부 실시예에서, 상기 FL 서버는 적어도 하나의 FL 클라이언트로부터 갱신된 AI/ML 모델을 수집하고, 갱신 조건 충족시 상기 수집된 AI/ML 모델을 기반으로 통합 모델로 갱신할 수 있다.In some embodiments of the present invention, the FL server may collect the updated AI/ML model from at least one FL client, and update it to an integrated model based on the collected AI/ML model when an update condition is satisfied.

본 발명의 일부 실시예에서, 상기 FL 서버는 상기 통합 모델의 갱신이 완료됨에 따라 상기 갱신된 통합 모델을 상기 AI/ML 모델 저장소에 등록할 수 있다.In some embodiments of the present invention, the FL server may register the updated unified model in the AI/ML model repository as the update of the unified model is completed.

본 발명의 일부 실시예에는, 상기 AI/ML 서비스 프로세스 유닛이 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하는 단계를 더 포함할 수 있다. 이때, 상기 AI/ML 서비스 프로세스 유닛이 AI/ML 모델 저장소로부터 AI/ML 모델의 다운로드를 요청하는 단계는, 상기 통합 모델이 갱신된 것으로 확인된 경우, 상기 AI/ML 모델 저장소로부터 상기 통합 모델의 다운로드를 요청할 수 있다.In some embodiments of the present invention, the method may further include the step of checking, by the AI/ML service processing unit, whether the integrated model of the AI/ML model storage is updated every preset period. In this case, the step of the AI/ML service processing unit requesting the download of the AI/ML model from the AI/ML model storage includes: When it is confirmed that the integrated model is updated, the You can request a download.

본 발명의 일부 실시예에서, 상기 AI/ML 서비스 프로세스 유닛이 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하는 단계는, 상기 통합 모델의 버전 정보 및 상기 FL 프로세스 유닛에 의해 갱신된 AI/ML 모델의 버전 정보 중 하나 이상에 기초하여 상기 갱신 여부를 확인할 수 있다.In some embodiments of the present invention, the step of checking, by the AI/ML service processing unit, whether to update the integrated model of the AI/ML model storage every preset period, includes the version information of the integrated model and the FL processing unit. Whether the update is made may be checked based on one or more of the updated version information of the AI/ML model.

또한, 본 발명의 제2측면에 따른 인공지능 및 기계학습(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 서버를 포함한다.In addition, the artificial intelligence and machine learning (AI/ML) model operating system according to the second aspect of the present invention is an AI/ML service processing unit that receives an AI/ML model and provides an AI/ML service, the AI/ML model FL that updates the AI/ML model by performing Federated Learning (FL) by reading and storing the AI/ML model from the local AI/ML model storage and the local AI/ML model storage that stores and provides at least one FL client including a processing unit; an AI/ML model storage that provides the AI/ML model to the local AI/ML model storage according to a request of the AI/ML service processing unit; and a FL server that collects the updated AI/ML model, updates the collected AI/ML model as an integrated model as an update condition is satisfied, and registers it in the AI/ML model repository.

본 발명의 일부 실시예에서, 상기 로컬 AI/ML 모델 저장소는 상기 FL 클라이언트 내의 AI/ML 서비스 프로세스 유닛과 FL 프로세스 유닛 간에 공유 가능한 볼륨에 저장될 수 있다.In some embodiments of the present invention, the local AI/ML model storage may be stored in a shareable volume between an AI/ML service processing unit in the FL client and a FL processing unit.

본 발명의 일부 실시예에서, 상기 AI/ML 서비스 프로세스 유닛은 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하고, 상기 확인 결과 상기 통합 모델이 갱신된 경우 상기 통합 모델에 대한 다운로드를 요청할 수 있다.In some embodiments of the present invention, the AI/ML service processing unit checks whether the integrated model of the AI/ML model storage is updated at every preset period, and when the integrated model is updated as a result of the check, the information on the integrated model is updated. You can request a download.

또한, 본 발명의 제3측면에 따른 인공지능 및 기계학습(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 프로세스 유닛을 포함한다.In addition, the Federated Learning (FL) client for artificial intelligence and machine learning (AI/ML) model operation according to the third aspect of the present invention is based on the AI/ML model provided from the AI/ML model repository. AI/ML service processing unit that provides ML service, local AI that receives the AI/ML model requested from the AI/ML service processing unit, stores it, and provides it to the AI/ML service processing unit Based on whether the /ML model storage and federated learning performance conditions are satisfied, federated learning is performed by reading and storing the AI/ML model from the local AI/ML model storage, and the updated AI/ML model is transferred to the FL server FL processing unit provided by

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method may be further provided.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, FL 서버와 FL 클라이언트 간에서의 연합학습 운용에 있어,서버-클라이언트 간 AI/ML 모델 등의 전송을 위한 데이터 대역폭을 감소시킴으로써 통신 효율화를 달성할 수 있다.According to any one of the above-described problem solving means of the present invention, in the joint learning operation between the FL server and the FL client, communication efficiency is achieved by reducing the data bandwidth for transmission of AI/ML models between the server and the client. can do.

또한, 연합학습 운용에 있어 기존 AI/ML 서비스와의 간섭을 최소화함으로써, AI/ML 서비스와 FL 서비스가 효율적으로 상호 운용되도록 할 수 있다.In addition, by minimizing the interference with the existing AI/ML service in the operation of federated learning, the AI/ML service and the FL service can be efficiently interoperated.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 종래 기술에서의 AI/ML 프로세스 및 연합학습 프로세스 간의 관계를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 AI/ML 모델 운용 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 AI/ML 모델 운용 시스템의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 AI/ML 모델 운용 방법의 순서도이다.
1 is a diagram for explaining a relationship between an AI/ML process and a federated learning process in the prior art.
2 is a diagram for explaining an AI/ML model operating system according to an embodiment of the present invention.
3 is a block diagram of an AI/ML model operating system according to an embodiment of the present invention.
4 is a flowchart of an AI/ML model operating method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the entire specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.

도 1은 종래 기술에서의 AI/ML 서비스 프로세스(11) 및 연합학습 프로세스(12) 간의 관계를 설명하기 위한 도면이다.1 is a diagram for explaining the relationship between the AI/ML service process 11 and the federated learning process 12 in the prior art.

연합학습(Federated Learning, FL)은 기존의 대용량 데이터의 학습 과정에서 생기는 개인정보 유출 등의 문제를 방지하고 컴퓨팅 자원의 효율적 활용을 위해 제안된 학습기법이다.Federated Learning (FL) is a learning technique proposed to prevent problems such as leakage of personal information that occurs in the existing large data learning process and to efficiently utilize computing resources.

연합학습은 FL 서버(20)와 FL 클라이언트(10)가 존재하는 환경에서 운용되며, 다음과 같은 과정에 따라 수행된다.The federated learning is operated in an environment in which the FL server 20 and the FL client 10 exist, and is performed according to the following process.

먼저, FL 서버(20)는 1차로 생성된 AI/ML 모델과 함께, FL 클라이언트(10)에서 사용될 학습 기법을 FL 클라이언트(10)로 전송한다.First, the FL server 20 transmits to the FL client 10 a learning technique to be used in the FL client 10 together with the AI/ML model generated primarily.

FL 클라이언트(10)는 해당 AI/ML 모델과 학습 기법을 수신함과 동시에 로컬 데이터를 수집하고, 수집된 데이터의 양이 학습을 위해 충분한 경우 해당 데이터를 전달받은 AI/ML 모델과 함께 학습 기법에 적용하여 AI/ML 모델을 갱신한다.The FL client 10 collects local data at the same time as receiving the corresponding AI/ML model and learning technique, and if the amount of collected data is sufficient for training, it is applied to the learning technique together with the AI/ML model that has received the data. to update the AI/ML model.

그 다음 FL 클라이언트(10)는 AI/ML 모델의 갱신이 완료되면 갱신된 AI/ML 모델을 다시 FL 서버(20)에 전달하며, FL 서버(20)는 복수의 FL 클라이언트(10)들로부터 수신한 갱신된 AI/ML 모델들을 합산(aggregation)하여 통합 모델을 생성한다.Then, when the update of the AI/ML model is completed, the FL client 10 transmits the updated AI/ML model to the FL server 20 again, and the FL server 20 receives from the plurality of FL clients 10 . An integrated model is generated by aggregating the updated AI/ML models.

이와 같이 생성된 통합 모델은 다시 FL 클라이언트(10)로 배포되며, 위 과정이 반복 수행된다.The integrated model generated in this way is again distributed to the FL client 10, and the above process is repeated.

이러한 연합학습은 분산학습을 통한 모델 갱신 방법으로, 개인정보 보호 및 모델 성능 개선, 컴퓨팅 자원의 최적 활용이 가능하다는 장점을 가지고 있다. 하지만 연합학습은 아직까지 그 구현이 시뮬레이션 수준으로 실제 컴퓨팅 자원을 활용한 구성은 아직 확인되지 않고 있다.This federated learning is a model update method through distributed learning, and has the advantage of protecting personal information, improving model performance, and making optimal use of computing resources. However, the implementation of federated learning has not yet been confirmed at the level of simulation using actual computing resources.

또한, 연합학습은 실제 AI/ML 서비스와 병렬로 존재하게 되어 연합학습의 운용시 기존 AI/ML 서비스 운용에 대한 연계 및 접근에 대한 플로우가 정의되지 않을 경우 프로세스 간 충돌이 일어날 수 있다.In addition, since federated learning exists in parallel with the actual AI/ML service, conflicts between processes may occur if the flow for connection and access to the existing AI/ML service operation is not defined when operating federated learning.

일 예로, FL 클라이언트(10)가 FL 서버(20)로부터 배포된 AI/ML 모델을 기반으로 분석 서비스를 제공하고 있는 상태에서, 갱신된 AI/ML 모델이 FL 서버(20)로부터 재배포될 경우, 운용 중인 AI/ML 서비스의 안정성에 문제가 생길 수 있다.For example, when the updated AI/ML model is redistributed from the FL server 20 while the FL client 10 is providing an analysis service based on the AI/ML model distributed from the FL server 20, There may be problems with the stability of the AI/ML service in operation.

이와 더불어, 두 개의 프로세스(11, 12)가 독립적으로 운용되고 있는 경우, AI/ML 모델은 FL 클라이언트(10) 내에 중복적으로 존재하게 된다. 다시 말해, 각 FL 클라이언트(10)가 AI/ML 서비스와 연합학습 서비스를 동시에 운용하는 경우, 각각이 독립된 서비스 혹은 프로세스(11, 12)로 구성됨에 따라 AI/ML 모델 관리의 효율성에 문제가 생기게 된다. 예를 들어, AI/ML 서비스를 위한 프로세스 유닛(11)은 해당 서비스의 운용을 위하여 AI/ML 모델을 보유하고, FL 서비스를 위한 프로세스 유닛(12) 또한 독립적인 AI/ML 모델을 운용할 경우, 해당 FL 클라이언트(10)에는 단일 AI/ML 모델이 중복 저장되는바, 네트워크 및 스토리지의 자원이 낭비되게 된다.In addition, when the two processes 11 and 12 are independently operated, the AI/ML model is redundantly present in the FL client 10 . In other words, when each FL client 10 operates the AI/ML service and the federated learning service at the same time, as each is composed of an independent service or process 11, 12, there is a problem in the efficiency of AI/ML model management. do. For example, when the process unit 11 for AI/ML service holds an AI/ML model for operation of the corresponding service, and the process unit 12 for FL service also operates an independent AI/ML model , a single AI/ML model is redundantly stored in the corresponding FL client 10, and network and storage resources are wasted.

또한, FL 서버(20)에서 통합 모델에 대한 갱신이 수행된 후 다시 갱신된 통합 모델을 배포하기 위해서는 별도의 프로세스가 필요하다. 그리고 각 모델에 대한 갱신 작업에 있어서도 불필요한 네트워크 부하가 요구되며, 서비스 간 자원 활용에 대한 충돌이 발생할 가능성이 있다.In addition, a separate process is required to distribute the updated integrated model again after the update of the integrated model is performed in the FL server 20 . In addition, an unnecessary network load is required in the update operation of each model, and there is a possibility that a conflict in resource utilization between services may occur.

이러한 문제점을 해소하기 위하여, 본 발명의 일 실시예는 FL 클라이언트(100) 내에 로컬 AI/ML 모델 저장소(120)를 구비하도록 하고, 동시에 FL 클라이언트(100)와 FL 서버(300) 사이에는 별도의 AI/ML 모델 저장소(200)를 구비하는 구조를 통해, AI/ML 기반 서비스와 연합학습 기반 서비스가 상호 독립적이면서도 유기적으로 연계될 수 있도록 할 수 있다.In order to solve this problem, an embodiment of the present invention provides a local AI/ML model storage 120 in the FL client 100, and at the same time, a separate space between the FL client 100 and the FL server 300 is provided. Through the structure provided with the AI/ML model storage 200, AI/ML-based services and federated learning-based services can be mutually independent and organically linked.

이하에서는 도 2 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 AI/ML 모델 운용 시스템(1)에 대해 설명하도록 한다.Hereinafter, the AI/ML model operating system 1 according to an embodiment of the present invention will be described with reference to FIGS. 2 to 3 .

도 2는 본 발명의 일 실시예에 따른 AI/ML 모델 운용 시스템(1)을 설명하기 위한 도면이다. 도 3은 본 발명의 일 실시예에 따른 AI/ML 모델 운용 시스템(1)의 블록도이다.2 is a diagram for explaining the AI/ML model operating system 1 according to an embodiment of the present invention. 3 is a block diagram of an AI/ML model operating system 1 according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 AI/ML 모델 운용 시스템(1)은 적어도 하나의 FL 클라이언트(100)와, AI/ML 모델 저장소(200), 그리고 FL 서버(300)를 포함한다.Referring to FIG. 2 , the AI/ML model operating system 1 according to an embodiment of the present invention includes at least one FL client 100 , an AI/ML model storage 200 , and a FL server 300 . include

FL 클라이언트(100)는 AI/ML 서비스 프로세스 유닛(110), 로컬 AI/ML 모델 저장소(120) 및 FL 프로세스 유닛(130)을 포함한다. The FL client 100 includes an AI/ML service processing unit 110 , a local AI/ML model store 120 , and a FL processing unit 130 .

AI/ML 서비스 프로세스 유닛(110)은 AI/ML 모델 저장소(200)로부터 제공된 AI/ML 모델에 기초하여 AI/ML 서비스를 제공한다.The AI/ML service processing unit 110 provides AI/ML services based on the AI/ML model provided from the AI/ML model storage 200 .

로컬 AI/ML 모델 저장소(120)는 AI/ML 서비스 프로세스 유닛(110)으로부터 요청된 AI/ML 모델을 AI/ML 모델 저장소(200)로부터 제공받아 저장하고, AI/ML 서비스 프로세스 유닛(110)으로 이를 제공한다. The local AI / ML model storage 120 receives the AI / ML model requested from the AI / ML service processing unit 110 from the AI / ML model storage 200 and stores it, and the AI / ML service processing unit 110 . provides this with

일 실시예로, 로컬 AI/ML 모델 저장소(120)는 FL 클라이언트(100) 내의 AI/ML 서비스 프로세스 유닛(110)과 FL 프로세스 유닛(130) 간에 공유 가능한 볼륨에 저장될 수 있다. 예를 들어, 각각의 프로세스 유닛(110, 130)이 도커 컨테이너(Docker Container)로 구성될 경우, 로컬 AI/ML 모델 저장소(120)는 호스트의 공유 볼륨으로 구성될 수 있다.In an embodiment, the local AI/ML model storage 120 may be stored in a shareable volume between the AI/ML service processing unit 110 and the FL processing unit 130 in the FL client 100 . For example, when each of the process units 110 and 130 is configured as a Docker container, the local AI/ML model storage 120 may be configured as a shared volume of the host.

FL 프로세스 유닛(130)은 연합학습 수행 조건을 만족하는지 여부를 판단하여, 수행 조건을 만족한 경우 로컬 AI/ML 모델 저장소(120)로부터 AI/ML 모델을 독출하여 저장한 후 연합학습을 수행한다. 그리고 연합학습을 수행한 결과에 따라 갱신된 AI/ML 모델을 FL 서버(300)로 제공한다.The FL processing unit 130 determines whether or not the federated learning execution condition is satisfied, and when the execution condition is satisfied, the AI/ML model is read from the local AI/ML model storage 120 and stored, and then federated learning is performed. . And the AI/ML model updated according to the result of performing the federated learning is provided to the FL server 300 .

AI/ML 모델 저장소(200)는 AI/ML 서비스 프로세스 유닛(110)의 요청에 따라 AI/ML 모델을 로컬 AI/ML 모델 저장소(120)로 제공한다. 이러한 요청에 따라 AI/ML 모델이 로컬 AI/ML 모델 저장소(120)에 저장되면, AI/ML 서비스 프로세스 유닛(110)은 AI/ML 모델을 독출하여 메모리에 저장한 후 AI/ML 서비스를 제공한다.The AI/ML model storage 200 provides the AI/ML model to the local AI/ML model storage 120 according to the request of the AI/ML service processing unit 110 . When the AI/ML model is stored in the local AI/ML model storage 120 according to such a request, the AI/ML service processing unit 110 reads the AI/ML model, stores it in memory, and provides AI/ML service. do.

FL 서버(300)는 FL 클라이언트(100)들로부터 갱신된 AI/ML 모델을 수집하고, 갱신 조건이 충족됨에 따라 수집된 AI/ML 모델을 통합 모델로 갱신하여 AI/ML 모델 저장소(200)에 등록시킨다. The FL server 300 collects the updated AI/ML model from the FL clients 100, updates the collected AI/ML model as an integrated model as the update condition is satisfied, and stores it in the AI/ML model storage 200. register

이에 따라, AI/ML 모델 저장소(200)에는 통합 모델이 새로운 버전의 AI/ML 모델로 갱신된다.Accordingly, the integrated model is updated with a new version of the AI/ML model in the AI/ML model repository 200 .

그리고 AI/ML 서비스 프로세스 유닛(110)은 기 설정된 주기마다 AI/ML 모델 저장소(200)의 통합 모델 갱신 여부를 확인하고, 확인 결과 통합 모델이 갱신된 경우 통합 모델에 대한 다운로드를 요청하여 AI/ML 모델 저장소(200)에 저장된 새로운 버전의 AI/ML 모델을 제공받게 된다.In addition, the AI/ML service process unit 110 checks whether the integrated model of the AI/ML model storage 200 is updated every preset cycle, and when the integrated model is updated as a result of the check, the AI/ML service process unit 110 requests a download for the integrated model. A new version of the AI/ML model stored in the ML model storage 200 is provided.

한편, 본 발명의 일 실시예에서 FL 클라이언트(100), AI/ML 모델 저장소(200) 및 FL 서버(300)는 도 3과 같이 통신모듈(410), 메모리(420) 및 상기 메모리(420)에 저장된 프로그램을 실행시키는 프로세서(430)를 포함하도록 구성될 수 있다.On the other hand, in an embodiment of the present invention, the FL client 100, the AI/ML model storage 200 and the FL server 300 are the communication module 410, the memory 420 and the memory 420 as shown in FIG. It may be configured to include a processor 430 that executes a program stored in the .

통신 모듈(410)은 무선 통신 모듈로 구성됨이 바람직하나 이는 유선 통신 모듈을 배제하는 것은 아니다. 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술 등으로 구현될 수 있다. 또한, 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다. The communication module 410 is preferably configured as a wireless communication module, but this does not exclude a wired communication module. The wireless communication module may be implemented by wireless LAN (WLAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, wireless USB technology, wireless HDMI technology, and the like. In addition, the wired communication module may be implemented as a power line communication device, a telephone line communication device, a cable home (MoCA), Ethernet, IEEE1294, an integrated wired home network, and an RS-485 control device.

메모리(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) 등을 포함할 수 있다.The memory 420 collectively refers to a non-volatile storage device and a volatile storage device that continuously maintain stored information even when power is not supplied. For example, the memory 420 may include a compact flash (CF) card, a secure digital (SD) card, a memory stick, a solid-state drive (SSD), and a micro SD card. NAND flash memory such as cards, magnetic computer storage devices such as hard disk drives (HDDs), etc., and optical disc drives such as CD-ROMs and DVD-ROMs. can

참고로, 본 발명의 실시예서 설명한 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.For reference, the components described in the embodiment of the present invention may be implemented in the form of software or hardware such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), and may perform predetermined roles.

그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.However, 'components' are not limited to software or hardware, and each component may be configured to reside in an addressable storage medium or to reproduce one or more processors.

따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.Thus, as an example, a component includes components such as software components, object-oriented software components, class components and task components, and processes, functions, properties, procedures, sub It includes routines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.Components and functions provided within the components may be combined into a smaller number of components or further divided into additional components.

이하에서는 도 4를 참조하여 FL 클라이언트(100)에서의 AI/ML 모델 운용 방법에 대하여 설명하도록 한다.Hereinafter, an AI/ML model operating method in the FL client 100 will be described with reference to FIG. 4 .

도 4는 본 발명의 일 실시예에 따른 AI/ML 모델 운용 방법의 순서도이다.4 is a flowchart of an AI/ML model operating method according to an embodiment of the present invention.

이때, 본 발명의 일 실시예에 따른 AI/ML 모델 운용 방법은, FL 클라이언트(100)에서 AI 서비스를 제공하기 위한 AI/ML 서비스 프로세스 유닛(110)과 AI/ML 모델 갱신을 위한 FL 프로세스 유닛(130)이 운용되고 있다. At this time, in the AI/ML model operating method according to an embodiment of the present invention, the AI/ML service processing unit 110 for providing the AI service in the FL client 100 and the FL processing unit for updating the AI/ML model (130) is in operation.

또한, 초기 AI/ML 모델은 별도의 AI/ML 모델 저장소(200)에 저장되어 있으며, FL 클라이언트(100) 내 각 프로세스 유닛(110, 130)에는 아직 AI/ML 모델을 다운로드 받거나 메모리에 로드하지 않은 상태인 것으로 가정한다.In addition, the initial AI/ML model is stored in a separate AI/ML model storage 200, and AI/ML models are not yet downloaded or loaded into memory in each of the processing units 110 and 130 in the FL client 100. Assume that it is not

먼저, AI/ML 서비스 프로세스 유닛(110)은 AI/ML 모델 저장소(200)로부터 초기 AI/ML 모델의 다운로드를 요청한다(S110).First, the AI/ML service processing unit 110 requests the download of the initial AI/ML model from the AI/ML model storage 200 (S110).

다음으로, 다운로드 요청에 대응하여 AI/ML 모델은 AI/ML 모델 저장소(200)로부터 로컬 AI/ML 모델 저장소(120)로 다운로드되어 저장된다(S120). Next, in response to the download request, the AI/ML model is downloaded and stored from the AI/ML model storage 200 to the local AI/ML model storage 120 ( S120 ).

다음으로, AI/ML 서비스 프로세스 유닛(110)은 로컬 AI/ML 모델 저장소(120)로부터 AI/ML 모델을 독출하여 메모리 상에 저장한 후, AI/ML 서비스를 제공한다(S130).Next, the AI/ML service processing unit 110 reads the AI/ML model from the local AI/ML model storage 120 and stores it in a memory, and then provides the AI/ML service (S130).

이후, FL 프로세스 유닛(130)은 연합학습 수행 조건을 만족하는지 여부를 주기적으로 판단하게 되며(S140), 판단 결과 연합학습 수행 조건을 만족함에 따라 로컬 AI/ML 모델 저장소(120)로부터 AI/ML 모델을 독출하여 메모리 상에 저장한 후 연합학습을 수행한다(S150). 이 과정에서 본 발명의 일 실시예는 AI/ML 서비스 프로세스 유닛(110)과 FL 프로세스 유닛(130)이 동일하게 저장된 AI/ML 모델을 공유하게 된다.Thereafter, the FL processing unit 130 periodically determines whether or not the federated learning execution condition is satisfied ( S140 ), and as a result of the determination, the AI/ML from the local AI/ML model storage 120 satisfies the federated learning execution condition. After reading the model and storing it in the memory, federated learning is performed (S150). In this process, in an embodiment of the present invention, the AI/ML service processing unit 110 and the FL processing unit 130 share the same stored AI/ML model.

일 실시예로, 연합학습 수행 조건으로는 FL 클라이언트(100)의 전원 공급 여부, 기 설정된 시간동안의 휴지 상태(idle)인지 여부 및 AI/ML 모델의 갱신을 위한 수집 데이터의 양이 충족되었는지 여부 중 하나 이상이 조합되어 적용될 수 있다.In one embodiment, the federated learning performance condition is whether the power of the FL client 100 is supplied, whether it is idle for a preset time, and whether the amount of collected data for updating the AI/ML model is satisfied One or more of them may be applied in combination.

다음으로, 연합학습 수행이 완료됨에 따라 갱신된 AI/ML 모델은 FL 서버(300)로 제공된다(S160).Next, as the federated learning is completed, the updated AI/ML model is provided to the FL server 300 (S160).

한편, FL 서버(300)는 적어도 하나의 FL 클라이언트(100)로부터 갱신된 AI/ML 모델을 수집한다. 그리고 갱신 조건을 충족하는지 여부를 판단하여 갱신 조건 충족시, 수집된 AI/ML 모델을 기반으로 통합 모델로 갱신한다.Meanwhile, the FL server 300 collects updated AI/ML models from at least one FL client 100 . Then, it is determined whether the update condition is satisfied, and when the update condition is satisfied, the integrated model is updated based on the collected AI/ML model.

FL 서버(300)는 통합 모델로의 갱신이 완료되면 갱신된 통합 모델을 AI/ML 모델 저장소(200)에 등록한다. When the update to the integrated model is completed, the FL server 300 registers the updated integrated model in the AI/ML model storage 200 .

이에 따라, AI/ML 서비스 프로세스 유닛(110)은 기 설정된 주기마다 AI/ML 모델 저장소(200)의 통합 모델로의 갱신 여부를 확인하게 되며, 확인 결과 통합 모델이 갱신된 경우 AI/ML 모델 저장소(200)로부터 통합 모델의 다운로드를 요청하여 기 저장하고 있는 AI/ML 모델을 갱신하게 된다.Accordingly, the AI/ML service process unit 110 checks whether the AI/ML model storage 200 is updated to the integrated model at every preset cycle, and when the integrated model is updated as a result of the check, the AI/ML model storage The AI/ML model stored in advance is updated by requesting the download of the integrated model from (200).

이때, 본 발명의 일 실시예는 전 과정에 걸쳐 AI/ML 모델은 각 갱신 정보를 확인할 수 있는 추가적인 정보를 포함하고 있어야 하며, 이러한 추가정보로 통합 모델에 대한 버전 정보, FL 프로세스 유닛(130)에 의해 갱신된 AI/ML 모델의 버전 정보 중 적어도 하나를 반드시 포함하고 있어야 한다.At this time, according to an embodiment of the present invention, the AI/ML model should include additional information that can confirm each update information throughout the entire process, and version information for the integrated model as such additional information, the FL process unit 130 It must contain at least one of the version information of the AI/ML model updated by .

한편, 상술한 설명에서, 단계 S110 내지 S160은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 전술한 도 2 내지 도 3에서의 내용은 도 4의 AI/ML 모델 운용 방법에도 적용될 수 있다.Meanwhile, in the above description, steps S110 to S160 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed. In addition, even if other contents are omitted, the contents of FIGS. 2 to 3 may be applied to the AI/ML model operating method of FIG. 4 .

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. An embodiment of the present invention may also be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by the computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism, and includes any information delivery media.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described with reference to specific embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

1: AI/ML 모델 운용 시스템
100: FL 클라이언트
110: AI/ML 서비스 프로세스 유닛
120: 로컬 AI/ML 모델 저장소
130: FL 프로세스 유닛
200: AI/ML 모델 저장소
300: FL 서버
410: 통신모듈,
420: 메모리
430: 프로세서
1: AI/ML model operating system
100: FL client
110: AI/ML service processing unit
120: Local AI/ML Model Repository
130: FL process unit
200: AI/ML Model Repository
300: FL Server
410: communication module,
420: memory
430: processor

Claims (12)

인공지능 및 기계학습(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 모델 운용 방법.
In an AI/ML model operation method in an FL client including an artificial intelligence and machine learning (AI/ML) service process unit, a local AI/ML model repository, and a federated learning (FL) process unit,
requesting, by the AI/ML service processing unit, to download the AI/ML model from the AI/ML model repository;
storing the AI/ML model in the local AI/ML model storage as the AI/ML model is downloaded in response to the download request;
providing, by the AI/ML service processing unit, reading and storing the AI/ML model from the local AI/ML model storage and providing a service;
determining, by the FL processing unit, whether a federated learning performance condition is satisfied;
performing federated learning by reading and storing the AI/ML model from the local AI/ML model storage as the FL performance condition is satisfied; and
AI/ML model operating method comprising the step of providing the updated AI/ML model to the FL server as the federated learning is completed.
제1항에 있어서,
상기 로컬 AI/ML 모델 저장소는 상기 FL 클라이언트 내의 AI/ML 서비스 프로세스 유닛과 FL 프로세스 유닛 간에 공유 가능한 볼륨에 저장되는 것인 AI/ML 모델 운용 방법.
According to claim 1,
wherein the local AI/ML model storage is stored in a shareable volume between the AI/ML service processing unit in the FL client and the FL processing unit.
제2항에 있어서,
상기 AI/ML 서비스 프로세스 유닛 및 FL 프로세스 유닛이 도커 컨테이너로 구성된 경우 상기 로컬 AI/ML 모델 저장소는 호스트의 공유 볼륨으로 구성되는 것인 AI/ML 모델 운용 방법.
3. The method of claim 2,
When the AI/ML service processing unit and the FL processing unit are configured as a Docker container, the local AI/ML model storage is configured as a shared volume of a host.
제1항에 있어서,
상기 FL 프로세스 유닛이 연합학습 수행 조건 만족 여부를 판단하는 단계는,
상기 FL 클라이언트의 전원 공급 여부, 기 설정된 시간동안 휴지 상태인지 여부 및 상기 AI/ML 모델의 갱신을 위한 수집 데이터의 충족 여부 중 하나 이상에 기초하여 판단하는 것인 AI/ML 모델 운용 방법.
According to claim 1,
The step of determining whether the FL processing unit satisfies the federated learning performance condition includes:
The AI/ML model operating method is determined based on at least one of whether the FL client is powered on, whether it is idle for a preset time, and whether collection data for updating the AI/ML model is satisfied.
제1항에 있어서,
상기 FL 서버는 적어도 하나의 FL 클라이언트로부터 갱신된 AI/ML 모델을 수집하고, 갱신 조건 충족시 상기 수집된 AI/ML 모델을 기반으로 통합 모델로 갱신하는 것인 AI/ML 모델 운용 방법.
According to claim 1,
The FL server collects the updated AI/ML model from at least one FL client, and when the update condition is satisfied, the AI/ML model operating method is updated to an integrated model based on the collected AI/ML model.
제5항에 있어서,
상기 FL 서버는 상기 통합 모델의 갱신이 완료됨에 따라 상기 갱신된 통합 모델을 상기 AI/ML 모델 저장소에 등록하는 것인 AI/ML 모델 운용 방법.
6. The method of claim 5,
The FL server is an AI/ML model operating method that registers the updated integrated model in the AI/ML model storage as the update of the integrated model is completed.
제5항에 있어서,
상기 AI/ML 서비스 프로세스 유닛이 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하는 단계를 더 포함하되,
상기 AI/ML 서비스 프로세스 유닛이 AI/ML 모델 저장소로부터 AI/ML 모델의 다운로드를 요청하는 단계는,
상기 통합 모델이 갱신된 것으로 확인된 경우, 상기 AI/ML 모델 저장소로부터 상기 통합 모델의 다운로드를 요청하는 것인 AI/ML 모델 운용 방법.
6. The method of claim 5,
The method further comprising the step of confirming, by the AI/ML service processing unit, whether the integrated model of the AI/ML model storage is updated every preset period,
The step of the AI/ML service processing unit requesting the download of the AI/ML model from the AI/ML model storage comprises:
When it is confirmed that the integrated model has been updated, the AI/ML model operating method of requesting the download of the integrated model from the AI/ML model repository.
제7항에 있어서,
상기 AI/ML 서비스 프로세스 유닛이 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하는 단계는,
상기 통합 모델의 버전 정보 및 상기 FL 프로세스 유닛에 의해 갱신된 AI/ML 모델의 버전 정보 중 하나 이상에 기초하여 상기 갱신 여부를 확인하는 것인 AI/ML 모델 운용 방법.
8. The method of claim 7,
The step of the AI/ML service processing unit confirming whether to update the integrated model of the AI/ML model storage every preset period comprises:
The AI/ML model operating method of confirming whether the update is made based on at least one of the version information of the integrated model and the version information of the AI/ML model updated by the FL processing unit.
인공지능 및 기계학습(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 모델 운용 시스템.
In the artificial intelligence and machine learning (AI/ML) model operating system,
An AI/ML service processing unit that receives an AI/ML model and provides an AI/ML service, a local AI/ML model repository that stores and provides the AI/ML model, and the AI/ML from the local AI/ML model repository At least one FL client including a FL processing unit that reads and stores the model to perform Federated Learning (FL) to update the AI/ML model;
an AI/ML model storage that provides the AI/ML model to the local AI/ML model storage according to the request of the AI/ML service processing unit;
AI/ML comprising a FL server that collects the updated AI/ML model from the FL client, updates the collected AI/ML model as an integrated model as an update condition is satisfied, and registers it in the AI/ML model repository model operating system.
제9항에 있어서,
상기 로컬 AI/ML 모델 저장소는 상기 FL 클라이언트 내의 AI/ML 서비스 프로세스 유닛과 FL 프로세스 유닛 간에 공유 가능한 볼륨에 저장되는 것인 AI/ML 모델 운용 시스템.
10. The method of claim 9,
and the local AI/ML model storage is stored in a shareable volume between the AI/ML service processing unit and the FL processing unit in the FL client.
제9항에 있어서,
상기 AI/ML 서비스 프로세스 유닛은 기 설정된 주기마다 상기 AI/ML 모델 저장소의 통합 모델 갱신 여부를 확인하고, 상기 확인 결과 상기 통합 모델이 갱신된 경우 상기 통합 모델에 대한 다운로드를 요청하는 것인 AI/ML 모델 운용 시스템.
10. The method of claim 9,
The AI/ML service processing unit checks whether the integrated model of the AI/ML model storage is updated every preset period, and requests a download for the integrated model when the integrated model is updated as a result of the check. ML model operating system.
인공지능 및 기계학습(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 클라이언트.
In a Federated Learning (FL) client for artificial intelligence and machine learning (AI/ML) model operation,
an AI/ML service processing unit that provides AI/ML services based on AI/ML models provided from the AI/ML model repository;
A local AI/ML model storage that receives and stores the AI/ML model requested from the AI/ML service processing unit from the AI/ML model storage and provides it to the AI/ML service processing unit;
FL process for performing federated learning by reading and storing the AI/ML model from the local AI/ML model storage based on whether the federated learning performance condition is satisfied, and providing the updated AI/ML model to the FL server FL clients with units.
KR1020200039362A 2020-03-31 2020-03-31 System and method for operating artificial intelligence and machine learning model KR20210121914A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200039362A KR20210121914A (en) 2020-03-31 2020-03-31 System and method for operating artificial intelligence and machine learning model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200039362A KR20210121914A (en) 2020-03-31 2020-03-31 System and method for operating artificial intelligence and machine learning model

Publications (1)

Publication Number Publication Date
KR20210121914A true KR20210121914A (en) 2021-10-08

Family

ID=78610290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200039362A KR20210121914A (en) 2020-03-31 2020-03-31 System and method for operating artificial intelligence and machine learning model

Country Status (1)

Country Link
KR (1) KR20210121914A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024058465A1 (en) * 2022-09-14 2024-03-21 디어젠 주식회사 Method for training local neural network model for federated learning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024058465A1 (en) * 2022-09-14 2024-03-21 디어젠 주식회사 Method for training local neural network model for federated learning

Similar Documents

Publication Publication Date Title
US11687423B2 (en) Prioritizing highly performant storage systems for servicing a synchronously replicated dataset
US11112989B2 (en) Utilizing a decentralized storage network for data storage
US20230013314A1 (en) Unlocking Data Stored In A Group Of Storage Systems
DE112019005770T5 (en) Storage management for a cloud-based storage system
US9936019B2 (en) Efficient live-migration of remotely accessed data
DE112019000841T5 (en) Handle I / O operations in a cloud-based storage system
JP6618614B2 (en) Distributed stream-based database trigger
US8429097B1 (en) Resource isolation using reinforcement learning and domain-specific constraints
US8429096B1 (en) Resource isolation through reinforcement learning
KR102567565B1 (en) Apparatus and system for managing federated learning resource, and resource efficiency method thereof
US9170852B2 (en) Self-updating functionality in a distributed system
US10542073B2 (en) File transfer to a distributed file system
US20210232331A1 (en) System having modular accelerators
US10915813B2 (en) Search acceleration for artificial intelligence
US11296944B2 (en) Updating path selection as paths between a computing device and a storage system change
US11481261B1 (en) Preventing extended latency in a storage system
US20220206910A1 (en) Dual class of service for unified file and object messaging
US10521151B1 (en) Determining effective space utilization in a storage system
US11886922B2 (en) Scheduling input/output operations for a storage system
US20210349657A1 (en) Providing data management as-a-service
DE112020003277T5 (en) GENERATION OF TAGS FOR DATA ASSIGNMENT
US10467115B1 (en) Data consistency management in large computing clusters
US20210326047A1 (en) Application-Aware Management of a Storage System
US20220317912A1 (en) Non-Disruptively Moving A Storage Fleet Control Plane
KR20210121914A (en) System and method for operating artificial intelligence and machine learning model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application