KR20230087309A - Artificial intelligence cloud learning apparatus and method based on learning cloud type - Google Patents

Artificial intelligence cloud learning apparatus and method based on learning cloud type Download PDF

Info

Publication number
KR20230087309A
KR20230087309A KR1020210176142A KR20210176142A KR20230087309A KR 20230087309 A KR20230087309 A KR 20230087309A KR 1020210176142 A KR1020210176142 A KR 1020210176142A KR 20210176142 A KR20210176142 A KR 20210176142A KR 20230087309 A KR20230087309 A KR 20230087309A
Authority
KR
South Korea
Prior art keywords
learning
cloud
type
code
artificial intelligence
Prior art date
Application number
KR1020210176142A
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 KR1020210176142A priority Critical patent/KR20230087309A/en
Priority to PCT/KR2021/018741 priority patent/WO2023106466A1/en
Publication of KR20230087309A publication Critical patent/KR20230087309A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Abstract

본 발명은 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법에 관한 것으로, 상기 장치는 학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단하는 학습코드 유형 판단부; 상기 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축하는 학습 클라우드 유형 구축부; 및 사용자 학습코드를 수신하여 상기 학습코드의 유형 중 하나를 결정하고 상기 결정된 하나의 학습코드의 유형을 기초로 상기 학습 클라우드 유형 중 하나를 결정하는 클라우드 학습 수행부;를 포함한다.The present invention relates to an artificial intelligence cloud learning apparatus and method based on a learning cloud type, wherein the apparatus determines the type of learning code based on a learning code type model built through preliminary analysis of sample learning codes in a learning code population. Learning code type determination unit to do; a learning cloud type building unit configured to build a learning cloud type by analyzing cloud resource characteristics through learning of the sample learning code; and a cloud learning performing unit that receives a user learning code, determines one of the learning code types, and determines one of the learning cloud types based on the determined one learning code type.

Description

학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법{ARTIFICIAL INTELLIGENCE CLOUD LEARNING APPARATUS AND METHOD BASED ON LEARNING CLOUD TYPE}Artificial intelligence cloud learning device and method based on learning cloud type {ARTIFICIAL INTELLIGENCE CLOUD LEARNING APPARATUS AND METHOD BASED ON LEARNING CLOUD TYPE}

본 발명은 클라우드 자원 활용 기술에 관한 것으로, 보다 상세하게는 인공지능을 활용하여 사용자의 학습코드를 클라우드 상에서 실행하기 위한 최적의 리소스를 구성할 수 있는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법에 관한 것이다.The present invention relates to a cloud resource utilization technology, and more particularly, to an artificial intelligence cloud learning apparatus and method based on a learning cloud type capable of constructing an optimal resource for executing a user's learning code on a cloud by utilizing artificial intelligence. It is about.

최근 딥러닝 알고리즘은 다양한 분야에서 우수한 성능을 보이며 인공지능의 응용 사례를 넓히고 있다. 딥러닝 모델의 학습은 단시간에 많은 컴퓨팅 자원을 필요로 하기 때문에 주로 클라우드 환경 하에서 학습 작업이 이루어지고 있다.Recently, deep learning algorithms have shown excellent performance in various fields and are expanding the application cases of artificial intelligence. Because deep learning model learning requires a lot of computing resources in a short time, learning work is mainly performed in a cloud environment.

하지만, 클라우드 컴퓨팅 서비스를 통해서 제공되는 자원의 종류가 너무 많은 탓에 사용자들은 다양한 서비스를 활용하여 최적의 딥러닝 학습 환경을 구축하는데 큰 어려움을 겪고 있다. 클라우드 인스턴스들 간의 가격 역시 큰 차이를 보이기에 성능 및 비용 측면에서 최적의 효율을 보이는 인스턴스를 선택하여 학습 작업을 진행하는 것은 매우 중요하면서도 어려운 일이다.However, due to the large number of types of resources provided through cloud computing services, users have great difficulty in establishing an optimal deep learning learning environment using various services. Since the price of cloud instances also shows a big difference, it is very important and difficult to select an instance that shows the optimal efficiency in terms of performance and cost and proceed with the learning task.

한편, 딥러닝(인공지능) 플랫폼은 인공지능 기술들, 예를 들어 영상처리, 음성인식, 자연어처리 등을 이용하여 필요에 의해서 사용자가 사용이 가능하게 해주는 제품이나 서비스를 개발하기 위한 도구를 의미할 수 있다. 최근 구현되고 있는 인공지능의 핵심 기술들은 다양한 분야로 응용 가능한 범용적인 특성을 갖고 있으며, 인공지능은 딥러닝 플랫폼의 핵심 기술에 해당할 수 있다.On the other hand, deep learning (artificial intelligence) platform refers to a tool for developing products or services that users can use as needed by using artificial intelligence technologies, such as image processing, voice recognition, and natural language processing. can do. The core technologies of artificial intelligence that are being implemented recently have general-purpose characteristics that can be applied to various fields, and artificial intelligence can correspond to the core technology of a deep learning platform.

한국공개특허 제10-2017-0078012호 (2017.07.07)Korean Patent Publication No. 10-2017-0078012 (2017.07.07)

본 발명의 일 실시예는 인공지능을 활용하여 사용자의 학습코드를 클라우드 상에서 실행하기 위한 최적의 리소스를 구성할 수 있는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an artificial intelligence cloud learning apparatus and method based on a learning cloud type that can configure an optimal resource for executing a user's learning code on a cloud by utilizing artificial intelligence.

실시예들 중에서, 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치는 학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단하는 학습코드 유형 판단부; 상기 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축하는 학습 클라우드 유형 구축부; 및 사용자 학습코드를 수신하여 상기 학습코드의 유형 중 하나를 결정하고 상기 결정된 하나의 학습코드의 유형을 기초로 상기 학습 클라우드 유형 중 하나를 결정하는 클라우드 학습 수행부;를 포함한다.Among the embodiments, the artificial intelligence cloud learning device based on the learning cloud type is a learning code type determination unit that determines the type of learning code based on a learning code type model built through preliminary analysis of sample learning codes in a learning code population. ; a learning cloud type building unit configured to build a learning cloud type by analyzing cloud resource characteristics through learning of the sample learning code; and a cloud learning performing unit that receives a user learning code, determines one of the learning code types, and determines one of the learning cloud types based on the determined one learning code type.

상기 학습코드 유형 판단부는 상기 샘플 학습코드의 인공지능 연산 특징을 분석하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형 중 어느 하나를 상기 학습코드의 유형으로서 결정할 수 있다.The learning code type determination unit analyzes the artificial intelligence operation characteristics of the sample learning code and determines one of a CPU intensive operation type, a GPU intensive operation type, a memory intensive operation type, and an accelerator intensive operation type as the type of the learning code. .

상기 학습코드 유형 판단부는 상기 샘플 학습코드의 인공지능 연산 동안 소정의 시간 간격(time interval)마다 예측된 CPU, GPU, 메모리 및 가속기 중 적어도 하나의 사용량을 기초로 상기 인공지능 연산 특징을 결정할 수 있다.The learning code type determining unit may determine the artificial intelligence operation characteristics based on the predicted usage of at least one of CPU, GPU, memory, and accelerator for every predetermined time interval during artificial intelligence operation of the sample learning code. .

상기 학습코드 유형 판단부는 상기 사용자 학습코드를 상기 학습코드 유형 모델에 제공하여 상기 사용자 학습코드에 관한 코드 섹션별 유형을 결정할 수 있다.The learning code type determiner may provide the user learning code to the learning code type model to determine the type of the user learning code for each code section.

상기 학습 클라우드 유형 구축부는 클라우드 시스템을 구성하는 복수의 클라우드 서버들 각각이 상기 샘플 학습코드에 관한 학습을 수행하도록 하여 상기 복수의 클라우드 서버들 각각에 대한 리소스 특성을 분석할 수 있다.The learning cloud type construction unit may analyze resource characteristics of each of the plurality of cloud servers by allowing each of the plurality of cloud servers constituting the cloud system to learn about the sample learning code.

상기 학습 클라우드 유형 구축부는 상기 리소스 특성에 대하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형에 관한 가중치를 부여하여 상기 복수의 클라우드 서버들 각각에 대한 리소스 특성을 결정할 수 있다.The learning cloud type building unit may determine resource characteristics of each of the plurality of cloud servers by assigning weights to CPU intensive operation type, GPU intensive operation type, memory intensive operation type, and accelerator intensive operation type with respect to the resource characteristics. there is.

상기 클라우드 학습 수행부는 상기 사용자 학습코드의 유형에 최적인 리소스 특성을 가지고 특정 기준 이하의 로드가 할당된 클라우드 서버를 선택하여 상기 사용자 학습코드를 제공할 수 있다.The cloud learning execution unit may provide the user learning code by selecting a cloud server having resource characteristics optimal for the type of the user learning code and assigned a load equal to or less than a specific standard.

실시예들 중에서, 학습 클라우드 유형 기반의 인공지능 클라우드 학습방법은 학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단하는 단계; 상기 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축하는 단계; 및 사용자 학습코드를 수신하여 상기 학습코드의 유형 중 하나를 결정하고 상기 결정된 하나의 학습코드의 유형에 기초로 상기 학습 클라우드 유형 중 하나를 결정하는 단계;를 포함한다.Among the embodiments, an artificial intelligence cloud learning method based on a learning cloud type includes: determining a type of learning code based on a learning code type model built through preliminary analysis of sample learning codes in a learning code population; constructing a learning cloud type by analyzing cloud resource characteristics through learning of the sample learning code; and receiving a user learning code, determining one of the learning code types, and determining one of the learning cloud types based on the determined one learning code type.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, it does not mean that a specific embodiment must include all of the following effects or only the following effects, so it should not be understood that the scope of rights of the disclosed technology is limited thereby.

본 발명의 일 실시예에 따른 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법은 인공지능을 활용하여 사용자의 학습코드를 클라우드 상에서 실행하기 위한 최적의 리소스를 구성할 수 있다.An artificial intelligence cloud learning apparatus and method based on a learning cloud type according to an embodiment of the present invention may utilize artificial intelligence to configure an optimal resource for executing a user's learning code in the cloud.

본 발명의 일 실시예에 따른 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법은 인공지능을 활용하여 사용자의 학습코드 유형에 매칭되는 클라우드 유형을 결정하여 클라우드 리소스 구성을 효율적으로 제공할 수 있다.An artificial intelligence cloud learning apparatus and method based on a learning cloud type according to an embodiment of the present invention can efficiently provide a cloud resource configuration by determining a cloud type matching a user's learning code type using artificial intelligence.

도 1은 본 발명에 따른 클라우드 학습 시스템을 설명하는 도면이다.
도 2는 도 1의 클라우드 학습 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 클라우드 학습 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 학습 클라우드 유형 기반의 인공지능 클라우드 학습방법을 설명하는 순서도이다.
도 5는 본 발명에 따른 학습코드의 유형 판단 과정을 설명하는 도면이다.
도 6은 본 발명에 따른 학습코드 유형과 학습 클라우드 유형 간의 매칭 과정을 설명하는 도면이다.
1 is a diagram illustrating a cloud learning system according to the present invention.
FIG. 2 is a diagram explaining the system configuration of the cloud learning device of FIG. 1 .
3 is a diagram explaining the functional configuration of the cloud learning device of FIG. 1 .
4 is a flowchart illustrating an artificial intelligence cloud learning method based on a learning cloud type according to the present invention.
5 is a diagram illustrating a process of determining the type of a learning code according to the present invention.
6 is a diagram illustrating a matching process between a learning code type and a learning cloud type according to the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiment can be changed in various ways and can have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such effects, the scope of the present invention should not be construed as being limited thereto.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in this application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are used to distinguish one component from another, and the scope of rights should not be limited by these terms. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected to the other element, but other elements may exist in the middle. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that no intervening elements exist. Meanwhile, other expressions describing the relationship between components, such as “between” and “immediately between” or “adjacent to” and “directly adjacent to” should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Expressions in the singular number should be understood to include plural expressions unless the context clearly dictates otherwise, and terms such as “comprise” or “having” refer to an embodied feature, number, step, operation, component, part, or these. It should be understood that it is intended to indicate that a combination exists, and does not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (eg, a, b, c, etc.) is used for convenience of explanation, and the identification code does not describe the order of each step, and each step clearly follows a specific order in context. Unless otherwise specified, it may occur in a different order than specified. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be implemented as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all types of recording devices storing data that can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. In addition, the computer-readable recording medium may be distributed to computer systems connected through a network, so that computer-readable codes may be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless defined otherwise. Terms defined in commonly used dictionaries should be interpreted as consistent with meanings in the context of the related art, and cannot be interpreted as having ideal or excessively formal meanings unless explicitly defined in the present application.

도 1은 본 발명에 따른 클라우드 학습 시스템을 설명하는 도면이다.1 is a diagram illustrating a cloud learning system according to the present invention.

도 1을 참조하면, 클라우드 학습 시스템(100)은 사용자 단말(110), 클라우드 학습 장치(130), 클라우드 서버(150) 및 데이터베이스(170)를 포함할 수 있다.Referring to FIG. 1 , the cloud learning system 100 may include a user terminal 110, a cloud learning device 130, a cloud server 150, and a database 170.

사용자 단말(110)은 클라우드 서비스를 이용할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 클라우드 학습 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 클라우드 학습 장치(130)와 동시에 연결될 수 있다. 또한, 사용자 단말(110)은 클라우드 서버(150)와 직접 연결될 수 있으며, 클라우드 서비스 이용을 위한 전용 프로그램 또는 애플리케이션을 설치하여 실행시킬 수 있다.The user terminal 110 may correspond to a computing device capable of using cloud services, and may be implemented as a smart phone, laptop, or computer, but is not necessarily limited thereto, and may be implemented as various devices such as a tablet PC. The user terminal 110 may be connected to the cloud learning device 130 through a network, and a plurality of user terminals 110 may be simultaneously connected to the cloud learning device 130 . In addition, the user terminal 110 may be directly connected to the cloud server 150 and may install and execute a dedicated program or application for using cloud services.

클라우드 학습 장치(130)는 클라우드 컴퓨팅 환경에서 사용자 학습코드를 기반으로 하는 딥러닝 관련 작업 시 최적의 환경을 구성하도록 리소스의 효율적 관리를 수행하는 시스템, 또는 이에 해당하는 서버로 구현될 수 있다. 클라우드 학습 장치(130)는 사용자 단말(110)과 네트워크를 통해 연결될 수 있고 관련 데이터를 주고받을 수 있다.The cloud learning device 130 may be implemented as a system that efficiently manages resources to configure an optimal environment for deep learning-related tasks based on user learning codes in a cloud computing environment, or a server corresponding thereto. The cloud learning device 130 may be connected to the user terminal 110 through a network and may exchange related data.

또한, 클라우드 학습 장치(130)는 적어도 하나의 외부 시스템과 연동하여 동작할 수 있다. 예를 들어, 외부 시스템은 클라우드 서비스를 위한 클라우드 서버(150), 딥러닝 학습을 위한 인공지능 서버, 서비스 결제를 위한 결제 서버 또는 사용자 인증을 위한 인증 서버 등을 포함할 수 있다.In addition, the cloud learning device 130 may operate in conjunction with at least one external system. For example, the external system may include the cloud server 150 for cloud service, an artificial intelligence server for deep learning learning, a payment server for service payment, or an authentication server for user authentication.

일 실시예에서, 클라우드 학습 장치(130)는 데이터베이스(170)와 연동하여 클라우드 컴퓨팅 환경에서 딥러닝 작업을 위해 작성된 사용자 학습코드의 유형을 결정하고 결정된 하나의 학습코드의 유형을 기초로 기 구축된 학습 클라우드 유형 중 하나를 결정하는 과정에서 학습 클라우드 유형에 따라 클라우드 리소스를 구성하기 위해 필요한 데이터를 저장할 수 있다. 또한, 클라우드 학습 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.In one embodiment, the cloud learning device 130 interworks with the database 170 to determine the type of user learning code written for the deep learning task in the cloud computing environment, and based on the type of the determined one learning code, a pre-built In the process of determining one of the learning cloud types, you can store the necessary data to configure cloud resources according to the learning cloud type. In addition, the cloud learning device 130 may be implemented by including a processor, a memory, a user input/output unit, and a network input/output unit, which will be described in more detail with reference to FIG. 2 .

클라우드 서버(150)는 클라우드 서비스를 제공하는 서버에 해당할 수 있다. 클라우드 서버(150)는 사용자 환경에 적합한 다양한 클라우드 리소스를 제공할 수 있으며, 클라우드 리소스들의 조합을 다양한 인스턴스로 구현하여 제공할 수 있다. 이를 위해, 클라우드 서버(150)는 복수의 자원풀(resource pool)들과 연결되어 구현될 수 있다. 클라우드 서버(150)는 클라우드 학습 장치(130)와 네트워크를 통해 연결될 수 있으며, 사용자 단말(110)과도 직접 연결될 수 있다. 클라우드 서버(150)는 클라우드 학습 장치(130)에서 수행되는 딥러닝 학습을 위한 다양한 클라우드 인스턴스들을 제공할 수 있으며, 일 실시예에서 클라우드 서버(150)는 딥러닝 플랫폼을 제공하는 서버의 역할을 수행할 수 있다. 다른 실시예에서, 클라우드 서버(150)는 복수개로 구현될 수 있으며, 이 경우 각 클라우드 서버(150)는 클라우드 학습 장치(130)와 독립적으로 연결될 수 있다.The cloud server 150 may correspond to a server providing cloud services. The cloud server 150 may provide various cloud resources suitable for user environments, and may implement and provide combinations of cloud resources in various instances. To this end, the cloud server 150 may be implemented in connection with a plurality of resource pools. The cloud server 150 may be connected to the cloud learning device 130 through a network, and may also be directly connected to the user terminal 110 . The cloud server 150 may provide various cloud instances for deep learning learning performed in the cloud learning device 130, and in one embodiment, the cloud server 150 serves as a server providing a deep learning platform. can do. In another embodiment, a plurality of cloud servers 150 may be implemented, and in this case, each cloud server 150 may be independently connected to the cloud learning device 130 .

데이터베이스(170)는 클라우드 학습 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(170)는 딥러닝 알고리즘 및 이에 관한 사용자 학습코드에 관한 정보를 저장할 수 있고, 학습코드 유형에 관한 정보와 학습 클라우드 유형에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 학습 클라우드 유형 기반의 인공지능 클라우드 학습 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 170 may correspond to a storage device that stores various pieces of information necessary for the operation of the cloud learning device 130 . The database 170 may store information about a deep learning algorithm and a user learning code related thereto, and may store information about a learning code type and information about a learning cloud type, but is not limited thereto, and is based on a learning cloud type. Information collected or processed in various forms during the AI cloud learning process can be stored.

도 2는 도 1의 클라우드 학습 장치의 시스템 구성을 설명하는 도면이다.FIG. 2 is a diagram explaining the system configuration of the cloud learning device of FIG. 1 .

도 2를 참조하면, 클라우드 학습 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.Referring to FIG. 2 , the cloud learning device 130 may be implemented by including a processor 210, a memory 230, a user input/output unit 250, and a network input/output unit 270.

프로세서(210)는 클라우드 학습 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 클라우드 학습 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 클라우드 학습 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor 210 may execute a procedure for processing each step in the process of operating the cloud learning device 130, manage the memory 230 that is read or written throughout the process, and the memory 230 ), you can schedule the synchronization time between volatile memory and non-volatile memory. The processor 210 may control the overall operation of the cloud learning device 130, and is electrically connected to the memory 230, the user input/output unit 250, and the network input/output unit 270 to control data flow between them. can The processor 210 may be implemented as a central processing unit (CPU) of the cloud learning device 130 .

메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 클라우드 학습 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The memory 230 may include a secondary storage device implemented as a non-volatile memory such as a solid state drive (SSD) or a hard disk drive (HDD) and used to store all data required for the cloud learning device 130, It may include a main memory implemented as a volatile memory such as RAM (Random Access Memory).

사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 클라우드 학습 장치(130)는 서버로서 수행될 수 있다.The user input/output unit 250 may include an environment for receiving user input and an environment for outputting specific information to the user. For example, the user input/output unit 250 may include an input device including an adapter such as a touch pad, a touch screen, an on-screen keyboard, or a pointing device, and an output device including an adapter such as a monitor or touch screen. In one embodiment, the user input/output unit 250 may correspond to a computing device connected through a remote connection, and in such a case, the cloud learning device 130 may be implemented as a server.

네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.The network input/output unit 270 includes an environment for connecting to an external device or system through a network, and includes, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a VAN ( An adapter for communication such as Value Added Network) may be included.

도 3은 도 1의 클라우드 학습 장치의 기능적 구성을 설명하는 도면이다.3 is a diagram explaining the functional configuration of the cloud learning device of FIG. 1 .

도 3을 참조하면, 클라우드 학습 장치(130)는 학습코드 유형 판단부(310), 학습 클라우드 유형 구축부(330), 클라우드 학습 수행부(350) 및 제어부(370)를 포함할 수 있다.Referring to FIG. 3 , the cloud learning device 130 may include a learning code type determination unit 310, a learning cloud type construction unit 330, a cloud learning execution unit 350, and a control unit 370.

학습코드 유형 판단부(310)는 학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단할 수 있다. 여기에서, 학습코드 유형 모델은 학습코드를 입력으로 수신하여 해당 학습코드의 유형을 출력으로 생성하도록 구축된 딥러닝 모델에 해당할 수 있다. 학습코드 유형 모델은 샘플 학습코드에 관한 데이터셋에 해당하는 학습코드 모집단을 기초로 사전 학습을 통해 구축될 수 있으며, 학습코드의 유형 정보는 사전에 정의되어 활용될 수 있다.The learning code type determination unit 310 may determine the type of learning code based on a learning code type model built through preliminary analysis of sample learning codes in the learning code population. Here, the learning code type model may correspond to a deep learning model built to receive a learning code as an input and generate a corresponding learning code type as an output. The learning code type model may be built through prior learning based on a learning code population corresponding to a dataset of sample learning codes, and type information of learning codes may be defined in advance and used.

예를 들어, 학습코드의 유형 정보는 학습코드의 실행에 의해 구현되는 딥러닝 알고리즘의 인공지능 연산 특징을 유형화하여 정의될 수 있으며, 인공지능 연산 특징은 딥러닝 알고리즘의 특성 메트릭들에 관한 조합으로 표현될 수 있다. 즉, 학습코드 유형 모델은 샘플 학습코드의 메타데이터에서 추출되는 학습코드 파라미터와 딥러닝 알고리즘의 인공지능 연산 특징들 간의 상관관계를 학습한 결과로서 구축될 수 있으며, 학습코드 유형 판단부(310)는 학습코드 유형 모델을 이용하여 학습코드에 대응되는 유형 정보를 결정할 수 있다.For example, the type information of the learning code can be defined by categorizing the artificial intelligence operation characteristics of the deep learning algorithm implemented by the execution of the learning code, and the artificial intelligence operation characteristics are a combination of characteristic metrics of the deep learning algorithm. can be expressed That is, the learning code type model can be built as a result of learning the correlation between the learning code parameter extracted from the metadata of the sample learning code and the artificial intelligence operation characteristics of the deep learning algorithm, and the learning code type determination unit 310 may determine type information corresponding to a learning code using a learning code type model.

한편, 학습코드 유형 판단부(310)는 샘플 학습코드의 사전 분석을 위한 소정의 학습 시뮬레이터(learning simulator)를 포함할 수 있다. 즉, 학습 시뮬레이터는 샘플 학습코드에 대한 컴파일(compile) 및 빌드(build) 과정을 통해 딥러닝 알고리즘을 구현하고, 소정의 테스트 데이터셋을 기초로 딥러닝 알고리즘에 의한 학습 동작을 시뮬레이션(simulation)할 수 있다. 또한, 학습 시뮬레이터는 학습 과정에 대한 모니터링을 통해 딥러닝 학습에 관한 다양한 성능 메트릭(metric)을 수집할 수 있다.Meanwhile, the learning code type determination unit 310 may include a predetermined learning simulator for prior analysis of the sample learning code. That is, the learning simulator implements the deep learning algorithm through the process of compiling and building the sample learning code, and simulates the learning operation by the deep learning algorithm based on a predetermined test dataset. can In addition, the learning simulator may collect various performance metrics related to deep learning learning through monitoring of the learning process.

일 실시예에서, 학습코드 유형 판단부(310)는 샘플 학습코드의 인공지능 연산 특징을 분석하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형 중 어느 하나를 사용자 학습코드의 유형으로서 결정할 수 있다. 보다 구체적으로, CPU 집중 연산 유형은 샘플 학습코드의 실행에 의해 구현되는 인공지능 연산이 GPU 보다는 CPU를 주로 활용하여 수행되는 것에 적합한 유형에 해당할 수 있고, GPU 집중 연산 유형은 해당 인공지능 연산이 GPU를 주로 활용하여 수행되는 것에 적합한 유형에 해당할 수 있으며, 메모리 집중 연산 유형은 해당 인공지능 연산의 수행 과정에서 연산 자원보다는 메모리를 주요 자원으로 활용하여 수행되는 것에 적합한 유형에 해당할 수 있다.In one embodiment, the learning code type determination unit 310 analyzes the artificial intelligence operation characteristics of the sample learning code and selects one of a CPU intensive operation type, a GPU intensive operation type, a memory intensive operation type, and an accelerator intensive operation type for user learning. It can be determined as the type of code. More specifically, the CPU intensive operation type may correspond to a type suitable for the AI operation implemented by the execution of the sample learning code to be performed by mainly utilizing the CPU rather than the GPU, and the GPU intensive operation type is the artificial intelligence operation It may correspond to a type suitable for being performed mainly using GPU, and a memory intensive operation type may correspond to a type suitable for performing using memory as a main resource rather than computational resources in the course of performing a corresponding artificial intelligence operation.

또한, 가속기 집중 연산 유형은 사용자 학습코드의 실행에 관한 동작이 클라우드 환경에서 데이터 처리의 향상을 위한 가속기를 주로 활용하여 수행되는 것에 적합한 유형에 해당할 수 있다. 여기에서, 가속기는 하드웨어 및 소프트웨어 기반의 가속기를 포함할 수 있으며, 특히 사용자 학습코드의 실행으로 구현되는 딥러닝 알고리즘의 학습을 향상시키는데 활용될 수 있다. 예를 들어, 가속기는 TPU(Tensor Processing Unit), NPU(Neural Processing Unit), FPGA(Field Programmable Gate Array) 등을 포함할 수 있으며, 딥러닝 학습 과정에서 전력 요구량을 줄임으로써 비용(cost)을 감소시키거나 또는 연산 처리 능력을 높임으로써 성능(latency)을 개선시킬 수 있다. 한편, 학습코드 유형 판단부(310)는 사용자 학습코드의 유형으로서 대표적인 유형들을 추가로 정의하여 선택적으로 활용할 수 있음은 물론이다.In addition, the accelerator-intensive operation type may correspond to a type suitable for an operation related to the execution of user learning code to be performed mainly by utilizing an accelerator for improving data processing in a cloud environment. Here, the accelerator may include a hardware- and software-based accelerator, and may be particularly used to improve learning of a deep learning algorithm implemented by executing a user learning code. For example, the accelerator may include a Tensor Processing Unit (TPU), Neural Processing Unit (NPU), Field Programmable Gate Array (FPGA), etc., and reduce cost by reducing power requirements during deep learning training. The performance (latency) can be improved by increasing the computational processing power. On the other hand, it goes without saying that the learning code type determining unit 310 can additionally define and selectively utilize representative types as types of user learning codes.

일 실시예에서, 학습코드 유형 판단부(310)는 샘플 학습코드의 인공지능 연산 동안 소정의 시간 간격(time interval)마다 예측된 CPU, GPU, 메모리 및 가속기 중 적어도 하나의 사용량을 기초로 인공지능 연산 특징을 결정할 수 있다. 학습코드의 실행에 의해 구현되는 딥러닝 알고리즘의 인공지능 연산 특징은 연산 과정에 사용되는 리소스들의 특성 메트릭에 관한 조합으로 표현될 수 있다. 이때, 특성 메트릭들에는 CPU, GPU, 메모리 및 가속기의 사용량에 관한 통계적 메트릭(예를 들어, 평균, 메디안, 분산, 표준편차 등)이 포함될 수 있으며, 필요에 따라 각 리소스에 관한 비용(cost) 및 시간(latency), 그리고 각 리소스들 사이의 사용 비율(use ratio) 등의 메트릭들이 포함될 수 있다. 학습코드 유형 판단부(310)는 특성 메트릭을 조합하여 인공지능 연산 특징을 정의하고 각 샘플 학습코드의 사전 분석을 통해 인공지능 연산 특징에 관한 학습 데이터를 수집할 수 있으며, 학습 데이터들은 학습코드 유형 모델의 구축 과정에서 활용될 수 있다.In one embodiment, the learning code type determining unit 310 is based on the predicted usage of at least one of CPU, GPU, memory, and accelerator for every predetermined time interval during artificial intelligence operation of the sample learning code. operation characteristics can be determined. The artificial intelligence calculation characteristics of the deep learning algorithm implemented by the execution of the learning code can be expressed as a combination of characteristic metrics of resources used in the calculation process. At this time, the characteristic metrics may include statistical metrics (eg, average, median, variance, standard deviation, etc.) related to the usage of CPU, GPU, memory, and accelerator, and cost for each resource as needed. And metrics such as latency and use ratio between each resource may be included. The learning code type determining unit 310 may combine characteristic metrics to define artificial intelligence operation characteristics and collect learning data related to artificial intelligence operation characteristics through preliminary analysis of each sample learning code. It can be used in the process of building a model.

일 실시예에서, 학습코드 유형 판단부(310)는 사용자 학습코드를 학습코드 유형 모델에 제공하여 사용자 학습코드에 관한 코드 섹션별 유형을 결정할 수 있다. 이때, 학습코드 유형 모델은 사용자 학습코드를 입력으로 수신하여 사용자 학습코드를 복수의 코드 섹션들로 분할하고 각 코드 섹션에 대한 유형을 출력으로 생성하도록 사전 학습을 통해 구축될 수 있다. 즉, 학습코드 유형 판단부(310)는 학습코드 유형 모델에 따라 사용자 학습코드 전체에 대한 유형을 판단하거나 또는 사용자 학습코드 부분들에 대한 유형들을 독립적으로 판단할 수도 있다.In one embodiment, the learning code type determiner 310 may provide the user learning code to a learning code type model to determine the type of the user learning code for each code section. At this time, the learning code type model may be built through prior learning to receive a user learning code as an input, divide the user learning code into a plurality of code sections, and generate a type for each code section as an output. That is, the learning code type determination unit 310 may determine the type of the entire user learning code or independently determine the types of parts of the user learning code according to the learning code type model.

학습 클라우드 유형 구축부(330)는 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축할 수 있다. 여기에서, 학습 클라우드 유형은 클라우드 환경을 구현하는 클라우드의 리소스 구성에 관한 템플릿(template) 정보에 해당할 수 있다. 즉, 클라우드 서버(150)는 기 정의된 학습 클라우드 유형에 따라 리소스 구성을 빠르게 처리할 수 있다.The learning cloud type construction unit 330 may build a learning cloud type by analyzing cloud resource characteristics through learning of sample learning codes. Here, the learning cloud type may correspond to template information about a resource configuration of a cloud implementing a cloud environment. That is, the cloud server 150 can quickly process resource configuration according to a predefined learning cloud type.

또한, 학습 클라우드 유형 구축부(330)는 사전 분석 과정에서 샘플 학습코드의 실행에 따른 딥러닝 알고리즘의 학습 동작에 관한 모니터링 정보를 수신할 수 있고, 이를 기초로 클라우드 리소스 특성을 분석할 수 있다. 여기에서, 클라우드 리소스 특성은 학습 수행을 위한 클라우드 환경을 제공하는 클라우드 서버(150)마다 독립적으로 결정될 수 있으며, 각 서버의 운영 환경이 상이한 경우 클라우드 리소스 특성 역시 상이하게 결정될 수 있다. 특히, 클라우드 리소스 특성은 딥러닝 알고리즘의 학습 동안 해당 클라우드 서버(150)에 의해 관리되는 리소스들에 대한 특성 메트릭의 조합으로 표현될 수 있다. 이때, 특성 메트릭들에는 CPU, GPU, 메모리 및 가속기 등을 포함하는 각 리소스들의 사용량, 비용 및 점유 시간에 관한 통계적 메트릭이 포함될 수 있다.In addition, the learning cloud type construction unit 330 may receive monitoring information about the learning operation of the deep learning algorithm according to the execution of the sample learning code in the pre-analysis process, and may analyze cloud resource characteristics based on this. Here, cloud resource characteristics may be independently determined for each cloud server 150 providing a cloud environment for learning, and cloud resource characteristics may also be determined differently when each server has a different operating environment. In particular, cloud resource characteristics may be expressed as a combination of characteristic metrics for resources managed by the corresponding cloud server 150 during training of a deep learning algorithm. In this case, the characteristic metrics may include statistical metrics related to usage, cost, and occupancy time of each resource including CPU, GPU, memory, and accelerator.

일 실시예에서, 학습 클라우드 유형 구축부(330)는 클라우드 시스템을 구성하는 복수의 클라우드 서버(150)들 각각이 샘플 학습코드에 관한 학습을 수행하도록 하여 복수의 클라우드 서버들 각각에 대한 리소스 특성을 분석할 수 있다. 즉, 학습 클라우드 유형 구축부(330)는 복수의 클라우드 서버(150)들과 상호 연결되어 각 서버들에서 샘플 학습코드의 실행 동작을 개별 실행하고 이에 관한 분석 정보를 수집하여 리소스 특성을 독립적으로 결정할 수 있다.In one embodiment, the learning cloud type construction unit 330 allows each of the plurality of cloud servers 150 constituting the cloud system to learn about the sample learning code, thereby determining the resource characteristics of each of the plurality of cloud servers. can be analyzed. That is, the learning cloud type construction unit 330 is interconnected with the plurality of cloud servers 150 to individually execute the execution operation of the sample learning code in each server, collects analysis information about it, and independently determines resource characteristics. can

일 실시예에서, 학습 클라우드 유형 구축부(330)는 리소스 특성에 대하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형에 관한 가중치를 부여하여 복수의 클라우드 서버(150)들 각각에 대한 리소스 특성을 결정할 수 있다. 학습 클라우드 유형 구축부(330)는 클라우드 서버(150)마다 결정된 리소스 특성에 대해 학습코드의 유형에 관한 가중치를 부여할 수 있으며, 이를 통해 각 클라우드 서버(150)에 대한 리소스 특성을 갱신할 수 있다.In one embodiment, the learning cloud type construction unit 330 assigns weights to the CPU intensive operation type, GPU intensive operation type, memory intensive operation type, and accelerator intensive operation type with respect to resource characteristics, thereby forming a plurality of cloud servers 150. A resource characteristic for each of them may be determined. The learning cloud type construction unit 330 may assign a weight for the type of learning code to the resource characteristics determined for each cloud server 150, and through this, the resource characteristics for each cloud server 150 may be updated. .

클라우드 학습 수행부(350)는 사용자 학습코드를 수신하여 학습코드의 유형 중 하나를 결정하고 결정된 하나의 학습코드의 유형을 기초로 학습 클라우드 유형 중 하나를 결정할 수 있다. 즉, 클라우드 학습 수행부(350)는 사전 구축된 학습코드의 유형 정보와 학습 클라우드 유형 정보를 활용하여 사용자 학습코드의 실행에 적합한 클라우드 환경을 효과적으로 제공할 수 있다. 클라우드 학습 수행부(350)는 학습 클라우드 유형에 매칭되는 클라우드 서버(150)에 사용자 학습코드를 전달하여 관련 딥러닝 학습이 이루어지도록 할 수 있다.The cloud learning performer 350 may receive a user learning code, determine one of the learning code types, and determine one of the learning cloud types based on the determined one learning code type. That is, the cloud learning execution unit 350 can effectively provide a cloud environment suitable for the execution of the user's learning code by utilizing the type information of the pre-built learning code and the learning cloud type information. The cloud learning execution unit 350 may deliver a user learning code to the cloud server 150 that matches the learning cloud type so that related deep learning learning can be performed.

일 실시예에서, 클라우드 학습 수행부(350)는 사용자 학습코드의 유형에 최적인 리소스 특성을 가지고 특정 기준 이하의 로드가 할당된 클라우드 서버를 선택하여 사용자 학습코드를 제공할 수 있다. 클라우드 학습 수행부(350)는 학습코드의 유형에 매칭되는 학습 클라우드 유형을 결정할 수 있으며, 학습 클라우드 유형에 대응되는 클라우드 서버(150)가 복수인 경우 소정의 기준을 적용하여 최적의 클라우드 서버(150)를 선택할 수 있다. 예를 들어, 클라우드 학습 수행부(350)는 현재 서버의 연산 로드(computation load) 또는 리소스 로드(resource load)의 최소값을 기준으로 매칭된 학습 클라우드 유형에 대응되는 클라우드 서버(150)들 중 어느 하나를 결정할 수 있다.In one embodiment, the cloud learning performer 350 may provide the user learning code by selecting a cloud server having resource characteristics optimal for the type of user learning code and assigned a load equal to or less than a specific standard. The cloud learning execution unit 350 may determine a learning cloud type that matches the type of learning code, and if there are a plurality of cloud servers 150 corresponding to the learning cloud type, a predetermined criterion is applied to optimize the cloud server 150. ) can be selected. For example, the cloud learning performer 350 may use one of the cloud servers 150 corresponding to the learning cloud type matched based on the minimum value of the current server's computation load or resource load. can decide

제어부(370)는 클라우드 학습 장치(130)의 전체적인 동작을 제어하고, 학습코드 유형 판단부(310), 학습 클라우드 유형 구축부(330) 및 클라우드 학습 수행부(350) 간의 제어 흐름 및 데이터 흐름을 관리할 수 있다.The control unit 370 controls the overall operation of the cloud learning device 130 and controls the control flow and data flow between the learning code type determination unit 310, the learning cloud type construction unit 330, and the cloud learning execution unit 350. can manage

도 4는 본 발명에 따른 인공지능 기반 리소스 활용패턴예측을 통한 클라우드 학습방법을 설명하는 순서도이다.4 is a flowchart illustrating a cloud learning method through artificial intelligence-based resource utilization pattern prediction according to the present invention.

도 4를 참조하면, 클라우드 학습 장치(130)는 학습코드 유형 판단부(310)를 통해 학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단할 수 있다(단계 S410). 클라우드 학습 장치(130)는 학습 클라우드 유형 구축부(330)를 통해 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축할 수 있다(단계 S430).Referring to FIG. 4, the cloud learning device 130 determines the type of the learning code based on the learning code type model built through the preliminary analysis of sample learning codes in the learning code population through the learning code type determination unit 310. It can be determined (step S410). The cloud learning device 130 may build a learning cloud type by analyzing cloud resource characteristics through learning of a sample learning code through the learning cloud type building unit 330 (step S430).

또한, 클라우드 학습 장치(130)는 클라우드 학습 수행부(350)를 통해 사용자 학습코드를 수신하여 학습코드의 유형 중 하나를 결정하고 결정된 하나의 학습코드의 유형을 기초로 학습 클라우드 유형 중 하나를 결정할 수 있다(단계 S450).In addition, the cloud learning device 130 receives a user learning code through the cloud learning execution unit 350, determines one of the learning code types, and determines one of the learning cloud types based on the determined one learning code type. It can (step S450).

한편, 클라우드 학습 장치(130)는 학습코드 유형 판단부(310)를 통해 결정된 학습코드의 유형에 맞춰 생성된 클라우드 리소스 활용맵에 따라 클라우드 서버(150)의 리소스를 활용하도록 제어할 수 있다. 즉, 클라우드 학습 장치(130)는 클라우드 리소스 활용맵에 따라 학습 클라우드 유형을 결정한 다음 학습 클라우드 유형에 최적인 리소스 특성을 갖는 클라우드 서버(150)를 선택할 수 있으며, 해당 클라우드 서버(150)의 리소스를 활용하도록 제어할 수 있다. 결과적으로, 클라우드 학습 장치(130)는 학습코드 및 클라우드의 독립된 유형화를 전제로 학습코드와 클라우드 간의 연계성을 이용하여 사용자에게 최적의 클라우드 환경을 효과적으로 제공할 수 있다.Meanwhile, the cloud learning device 130 may control to utilize resources of the cloud server 150 according to a cloud resource utilization map generated according to the type of learning code determined through the learning code type determination unit 310 . That is, the cloud learning device 130 determines the learning cloud type according to the cloud resource utilization map, selects the cloud server 150 having resource characteristics optimal for the learning cloud type, and uses the resources of the cloud server 150. You can control how to use it. As a result, the cloud learning device 130 can effectively provide an optimal cloud environment to the user by using the linkage between the learning code and the cloud on the premise of independently tying the learning code and the cloud.

도 5는 본 발명에 따른 학습코드의 유형 판단 과정을 설명하는 도면이다.5 is a diagram illustrating a process of determining the type of a learning code according to the present invention.

도 5를 참조하면, 클라우드 학습 장치(130)는 학습코드 유형 판단부(310)를 통해 학습코드 유형 모델을 기초로 학습코드(550)의 유형을 판단할 수 있다. 이때, 학습코드(550)의 유형은 학습코드의 실행을 통해 구현되는 딥러닝 알고리즘(530)의 인공지능 연산 특징을 기초로 결정될 수 있다. 예를 들어, 클라우드 학습 장치(130)는 사용자 학습코드(550)의 인공지능 연산 특징을 분석하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형 중 어느 하나를 학습코드(550)의 유형으로서 결정할 수 있다. 도 5에서, 학습코드 (a)의 경우 CPU 집중 연산 유형으로 분류될 수 있고, (b)의 경우 GPU 집중 연산 유형으로 분류될 수 있다. 또한, (c)의 경우 메모리 집중 연산 유형으로 분류될 수 있고, (d)의 경우 가속기 집중 연산 유형으로 분류될 수 있다. 이때, 사용자 학습코드(550)의 유형은 클라우드의 자원풀(510)에 의해 관리하는 리소스들 중 특정 유형의 리소스에 따라 인공지능 연산 성능이 결정될 수 있음을 나타낼 수 있다.Referring to FIG. 5 , the cloud learning device 130 may determine the type of the learning code 550 based on the learning code type model through the learning code type determination unit 310 . At this time, the type of the learning code 550 may be determined based on the artificial intelligence operation characteristics of the deep learning algorithm 530 implemented through the execution of the learning code. For example, the cloud learning device 130 analyzes the artificial intelligence operation characteristics of the user learning code 550 and selects one of a CPU intensive operation type, a GPU intensive operation type, a memory intensive operation type, and an accelerator intensive operation type. (550) can be determined as the type. In FIG. 5, the learning code (a) can be classified as a CPU intensive operation type, and the case of (b) can be classified as a GPU intensive operation type. In case of (c), it can be classified as a memory intensive operation type, and in case of (d), it can be classified as an accelerator intensive operation type. At this time, the type of user learning code 550 may indicate that artificial intelligence calculation performance may be determined according to a specific type of resource among resources managed by the resource pool 510 of the cloud.

도 6은 본 발명에 따른 학습코드 유형과 학습 클라우드 유형 간의 매칭 과정을 설명하는 도면이다.6 is a diagram illustrating a matching process between a learning code type and a learning cloud type according to the present invention.

도 6을 참조하면, 클라우드 학습 장치(130)는 학습코드 유형 판단부(310) 및 학습 클라우드 유형 구축부(330)를 통해 각각 학습코드의 유형과 학습 클라우드 유형에 관한 데이터를 사전에 구축할 수 있다. 이때, 학습코드의 유형과 학습 클라우드 유형에 대한 데이터는 사전(dictionary) 형태로 구축될 수 있으며, 클라우드 학습 장치(130)는 사전 내에서 가장 매칭도 높은 데이터를 선택함으로써 해당 유형에 관한 결정 동작을 수행할 수 있다.Referring to FIG. 6 , the cloud learning device 130 may construct data on the type of learning code and the type of learning cloud in advance through a learning code type determining unit 310 and a learning cloud type building unit 330, respectively. there is. At this time, data on the type of learning code and the type of learning cloud may be built in the form of a dictionary, and the cloud learning device 130 selects the data with the highest matching in the dictionary to perform a decision operation on the corresponding type. can be done

또한, 클라우드 학습 장치(130)는 사용자 학습코드(610)를 수신하면 기 정의된 복수의 학습코드의 유형들(630) 중에서 하나를 결정할 수 있고, 기 정의된 복수의 학습 클라우드 유형들(650) 중에서 결정된 학습코드의 유형에 가장 적합한 학습 클라우드 유형을 결정할 수 있다. 이후, 클라우드 학습 장치(130)는 학습 클라우드 유형에 따른 클라우드 서버(150)와 연동하여 사용자 학습코드(610)의 실행을 위한 클라우드 환경을 구성할 수 있다.In addition, upon receiving the user learning code 610, the cloud learning device 130 may determine one of a plurality of predefined learning code types 630, and select a plurality of predefined learning cloud types 650. It is possible to determine the most suitable learning cloud type for the determined learning code type. Thereafter, the cloud learning device 130 may configure a cloud environment for executing the user learning code 610 by interworking with the cloud server 150 according to the learning cloud type.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. You will understand that it can be done.

100: 클라우드 학습 시스템
110: 사용자 단말 130: 클라우드 학습 장치
150: 클라우드 서버 170: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 학습코드 유형 판단부 330: 학습 클라우드 유형 구축부
350: 클라우드 학습 수행부 370: 제어부
100: cloud learning system
110: user terminal 130: cloud learning device
150: cloud server 170: database
210: processor 230: memory
250: user input/output unit 270: network input/output unit
310: learning code type determination unit 330: learning cloud type construction unit
350: cloud learning execution unit 370: control unit

Claims (8)

학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단하는 학습코드 유형 판단부;
상기 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축하는 학습 클라우드 유형 구축부; 및
사용자 학습코드를 수신하여 상기 학습코드의 유형 중 하나를 결정하고 상기 결정된 하나의 학습코드의 유형을 기초로 상기 학습 클라우드 유형 중 하나를 결정하는 클라우드 학습 수행부;를 포함하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
a learning code type determination unit for determining a type of a learning code based on a learning code type model built through preliminary analysis of sample learning codes in a population of learning codes;
a learning cloud type building unit configured to build a learning cloud type by analyzing cloud resource characteristics through learning of the sample learning code; and
A learning cloud type-based artificial intelligence system comprising a cloud learning performing unit that receives a user learning code, determines one of the learning code types, and determines one of the learning cloud types based on the determined one learning code type. Intelligent cloud learning device.
제1항에 있어서, 상기 학습코드 유형 판단부는
상기 샘플 학습코드의 인공지능 연산 특징을 분석하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형 중 어느 하나를 상기 학습코드의 유형으로서 결정하는 것을 특징으로 하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
The method of claim 1, wherein the learning code type determining unit
A learning cloud type characterized by analyzing the AI operation characteristics of the sample learning code and determining one of a CPU intensive operation type, a GPU intensive operation type, a memory intensive operation type, and an accelerator intensive operation type as the type of the learning code. based artificial intelligence cloud learning device.
제2항에 있어서, 상기 학습코드 유형 판단부는
상기 샘플 학습코드의 인공지능 연산 동안 소정의 시간 간격(time interval)마다 예측된 CPU, GPU, 메모리 및 가속기 중 적어도 하나의 사용량을 기초로 상기 인공지능 연산 특징을 결정하는 것을 특징으로 하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
The method of claim 2, wherein the learning code type determining unit
A type of learning cloud characterized in that the artificial intelligence operation characteristic is determined based on the predicted usage of at least one of CPU, GPU, memory, and accelerator at a predetermined time interval during artificial intelligence operation of the sample learning code. based artificial intelligence cloud learning device.
제1항에 있어서, 상기 학습코드 유형 판단부는
상기 사용자 학습코드를 상기 학습코드 유형 모델에 제공하여 상기 사용자 학습코드에 관한 코드 섹션별 유형을 결정하는 것을 특징으로 하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
The method of claim 1, wherein the learning code type determining unit
An artificial intelligence cloud learning device based on a learning cloud type, characterized in that by providing the user learning code to the learning code type model to determine the type of each code section for the user learning code.
제1항에 있어서, 상기 학습 클라우드 유형 구축부는
클라우드 시스템을 구성하는 복수의 클라우드 서버들 각각이 상기 샘플 학습코드에 관한 학습을 수행하도록 하여 상기 복수의 클라우드 서버들 각각에 대한 리소스 특성을 분석하는 것을 특징으로 하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
The method of claim 1, wherein the learning cloud type building unit
Artificial intelligence cloud learning based on learning cloud type, characterized in that each of a plurality of cloud servers constituting the cloud system performs learning on the sample learning code and analyzes resource characteristics for each of the plurality of cloud servers. Device.
제5항에 있어서, 상기 학습 클라우드 유형 구축부는
상기 리소스 특성에 대하여 CPU 집중 연산 유형, GPU 집중 연산 유형, 메모리 집중 연산 유형 및 가속기 집중 연산 유형에 관한 가중치를 부여하여 상기 복수의 클라우드 서버들 각각에 대한 리소스 특성을 결정하는 것을 특징으로 하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
The method of claim 5, wherein the learning cloud type building unit
Learning cloud, characterized in that determining the resource characteristics of each of the plurality of cloud servers by assigning a weight to a CPU intensive operation type, a GPU intensive operation type, a memory intensive operation type, and an accelerator intensive operation type with respect to the resource characteristics. Type-based artificial intelligence cloud learning device.
제1항에 있어서, 상기 클라우드 학습 수행부는
상기 사용자 학습코드의 유형에 최적인 리소스 특성을 가지고 특정 기준 이하의 로드가 할당된 클라우드 서버를 선택하여 상기 사용자 학습코드를 제공하는 것을 특징으로 하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치.
The method of claim 1, wherein the cloud learning performing unit
An artificial intelligence cloud learning device based on a learning cloud type, characterized in that for providing the user learning code by selecting a cloud server having resource characteristics optimal for the type of user learning code and to which a load of less than a certain standard is allocated.
학습코드 모집단에 있는 샘플 학습코드의 사전 분석을 통해 구축된 학습코드 유형 모델을 기초로 학습코드의 유형을 판단하는 단계;
상기 샘플 학습코드의 학습 수행을 통해 클라우드 리소스 특성을 분석하여 학습 클라우드 유형을 구축하는 단계; 및
사용자 학습코드를 수신하여 상기 학습코드의 유형 중 하나를 결정하고 상기 결정된 하나의 학습코드의 유형에 기초로 상기 학습 클라우드 유형 중 하나를 결정하는 단계;를 포함하는 학습 클라우드 유형 기반의 인공지능 클라우드 학습방법.
Determining the type of learning code based on a learning code type model built through preliminary analysis of sample learning codes in the learning code population;
constructing a learning cloud type by analyzing cloud resource characteristics through learning of the sample learning code; and
Receiving a user learning code, determining one of the learning code types, and determining one of the learning cloud types based on the determined one learning code type; artificial intelligence cloud learning based on a learning cloud type, including method.
KR1020210176142A 2021-12-09 2021-12-09 Artificial intelligence cloud learning apparatus and method based on learning cloud type KR20230087309A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210176142A KR20230087309A (en) 2021-12-09 2021-12-09 Artificial intelligence cloud learning apparatus and method based on learning cloud type
PCT/KR2021/018741 WO2023106466A1 (en) 2021-12-09 2021-12-10 Learning cloud type-based artificial intelligence cloud learning device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210176142A KR20230087309A (en) 2021-12-09 2021-12-09 Artificial intelligence cloud learning apparatus and method based on learning cloud type

Publications (1)

Publication Number Publication Date
KR20230087309A true KR20230087309A (en) 2023-06-16

Family

ID=86730741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210176142A KR20230087309A (en) 2021-12-09 2021-12-09 Artificial intelligence cloud learning apparatus and method based on learning cloud type

Country Status (2)

Country Link
KR (1) KR20230087309A (en)
WO (1) WO2023106466A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170078012A (en) 2015-12-29 2017-07-07 전자부품연구원 Method and System for Optimizing Resource Allocation with Cloud Resources Monitoring and Estimating

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920259B (en) * 2018-03-30 2022-06-24 华为云计算技术有限公司 Deep learning job scheduling method, system and related equipment
US11829849B2 (en) * 2019-01-09 2023-11-28 Cisco Technology, Inc. Dynamic orchestration of machine learning functions on a distributed network
US11616839B2 (en) * 2019-04-09 2023-03-28 Johnson Controls Tyco IP Holdings LLP Intelligent edge computing platform with machine learning capability
KR20200122589A (en) * 2019-04-18 2020-10-28 한국전자통신연구원 Apparatus and method for allocating cloud resources
JP7075440B2 (en) * 2020-05-13 2022-05-25 株式会社日立製作所 Job placement support system and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170078012A (en) 2015-12-29 2017-07-07 전자부품연구원 Method and System for Optimizing Resource Allocation with Cloud Resources Monitoring and Estimating

Also Published As

Publication number Publication date
WO2023106466A1 (en) 2023-06-15

Similar Documents

Publication Publication Date Title
KR101966557B1 (en) Repairing-part-demand forecasting system and method using big data and machine learning
US8954309B2 (en) Techniques for application tuning
US8775338B2 (en) Computer-implemented systems and methods for constructing a reduced input space utilizing the rejected variable space
CN110852421A (en) Model generation method and device
US11521076B2 (en) Architecture-independent approximation discovery
CN111008693A (en) Network model construction method, system and medium based on data compression
WO2023150912A1 (en) Operator scheduling operation time comparison method and device, and storage medium
CN111340221A (en) Method and device for sampling neural network structure
US9852390B2 (en) Methods and systems for intelligent evolutionary optimization of workflows using big data infrastructure
KR102142943B1 (en) Cloud based artificial intelligence operation service method and apparatus performing the same
KR20200114233A (en) Apparatus and Method of managing Mobile device memory for analyzing a user utilization pattern by a neural network algorithm to predict a next application
KR102293791B1 (en) Electronic device, method, and computer readable medium for simulation of semiconductor device
KR102452206B1 (en) Cloud optimization device and method for big data analysis based on artificial intelligence
KR101976689B1 (en) Method and apparatus for automatically generating variables for data modeling
KR102613365B1 (en) Apparatus and method for determining ai-based cloud service server
Zhang et al. A genetic-algorithm-based approach for task migration in pervasive clouds
CN117170685A (en) Data processing method, device, equipment and medium
KR102504939B1 (en) Cloud-based deep learning task execution time prediction system and method
KR20230087309A (en) Artificial intelligence cloud learning apparatus and method based on learning cloud type
KR102613367B1 (en) Method and apparatus for automatically reducing model weight for deep learning model serving optimization, and a method for providing cloud inference services usin the same
KR102610431B1 (en) Apparatus and method for generating summary of program source code based on ai analysis
KR20230087308A (en) Cloud learning device and method through artificial intelligence-based resource utilization pattern prediction
KR20230087316A (en) Apparatus and method for determining ai-based cloud service server
CN116848580A (en) Structural self-aware model for utterance parsing for multiparty conversations
JP2022092604A (en) Computer-implemented method, system and computer program (automated extension of program data storage)