KR20220045800A - 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 - Google Patents

인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR20220045800A
KR20220045800A KR1020200128876A KR20200128876A KR20220045800A KR 20220045800 A KR20220045800 A KR 20220045800A KR 1020200128876 A KR1020200128876 A KR 1020200128876A KR 20200128876 A KR20200128876 A KR 20200128876A KR 20220045800 A KR20220045800 A KR 20220045800A
Authority
KR
South Korea
Prior art keywords
electronic device
model
processing
artificial intelligence
models
Prior art date
Application number
KR1020200128876A
Other languages
English (en)
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 KR1020200128876A priority Critical patent/KR20220045800A/ko
Priority to PCT/KR2021/013527 priority patent/WO2022075668A1/ko
Priority to CN202180068484.1A priority patent/CN116324808A/zh
Priority to EP21877920.5A priority patent/EP4209966A4/en
Publication of KR20220045800A publication Critical patent/KR20220045800A/ko
Priority to US18/131,723 priority patent/US20230244953A1/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
    • G06N3/098Distributed learning, e.g. federated 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
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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/047Probabilistic or stochastic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 성능 정보에 기초하여, 복수 개의 분할 모델 각각이, 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 예측된 처리 시간에 기초하여, 복수 개의 분할 모델 중에서, 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하고, 적어도 하나의 분할 모델에 대한 처리를 제2 전자 장치에 요청하는, 제1 전자 장치에서, 인공지능 모델을 분산 처리하는 방법이 제공된다.

Description

인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 {System and operating method for distributed processing an AI model}
본 개시는, 복수 개의 장치를 이용하여, 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법에 관한 것이다.
온 디바이스(on-device) AI 기술에 따라서, 클라우드 서버와의 데이터 송수신 없이, 전자 장치에 구비된 인공지능 모델에 기초하여 다양한 데이터들이 처리될 수 있다. 예를 들면, 전자 장치는 클라우드 서버를 이용할 필요없이, 실시간으로 전자 장치에 포함된 인공지능 모델과 전자 장치의 하드웨어 구성에 의하여 다양한 동작이 수행될 수 있다. 따라서, 온 디바이스 AI 기술에 의하면, 전자 장치에서 수집된 사용자와 관련된 데이터를 외부로 전달하지 않고, 스스로 운용하므로, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서, 장점이 존재한다.
그러나, 온 디바이스 AI 기술에 따라서, 전자 장치 내에서 인공지능 모델이 처리되는 경우, 전자 장치에 구비된 하드웨어에 따라 처리 성능이 제한되는 문제점이 존재한다.
따라서, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서의 온 디바이스 AI 기술의 장점을 유지하면서, 전자 장치의 하드웨어에 따른 처리 성능의 제한을 최소화할 수 있는, 인공지능 모델의 처리 방법이 필요하다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 인공지능 모델을 분산 처리하는 시스템을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 제1 전자 장치에서, 인공지능 모델을 분산 처리하는 방법에 있어서, 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하는 단계; 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하는 단계; 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하는 단계; 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는 단계; 및 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함하는, 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 제2 전자 장치에서, 인공지능 모델을 분산 처리하는 방법에 있어서, 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 단계; 상기 적어도 하나의 분할 모델을 처리하는 단계; 및 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함하는, 방법을 제공할 수 있다.
또한, 본 개시의 제3 측면은, 인공지능 모델을 복수 개의 전자 장치를 이용하여 분산 처리하는 시스템에 있어서, 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하고, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는, 제1 전자 장치; 및 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하고, 상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는, 제2 전자 장치를 포함하는, 시스템을 제공할 수 있다.
또한, 본 개시의 제4 측면은, 제1 측면 및 제2 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 제공할 수 있다.
또한, 본 개시의 제5 측면은, 인공지능 모델을 분산 처리하는 제1 전자 장치에 있어서, 상기 인공지능 모델을 저장하는 메모리; 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는, 적어도 하나의 프로세서; 및 상기 인공지능 모델을 분산 처리하기 위해, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청하는, 통신부를 포함하는, 제1 전자 장치를 제공할 수 있다.
또한, 본 개시의 제6 측면은, 인공지능 모델을 분산 처리하는 제2 전자 장치에 있어서, 상기 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제1 전자 장치로부터, 상기 복수 개의 분할 모델 중 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 통신부; 상기 적어도 하나의 분할 모델을 저장하는 메모리; 및 상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송하도록 상기 통신부를 제어함으로써, 상기 인공지능 모델을 분산 처리하는, 적어도 하나의 프로세서를 포함하는, 제2 전자 장치를 제공할 수 있다.
도 1은 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에 의해, 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 2 는 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시 예에 의한 제1 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 4는 일 실시 예에 의한 제2 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 제1 전자 장치에서 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 6은 일 실시 예에 의한 제2 전자 장치에 의해 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 7은 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 8은 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 피드백을 고려하여 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 9는 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 10은 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 11은 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 12는 일 실시 예에 의한 제1 전자 장치, 제2 전자 장치 및 제3 전자 장치에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의해, 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 1을 참조하면, 일 실시 예에 의한 인공지능 모델을 분산 처리하는 시스템(3000)은, 제1 전자 장치(1000) 및 제2 전자 장치(2000)를 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 처리하여, 다양한 동작을 수행할 수 있는 장치이다. 예를 들어, 제1 전자 장치(1000)는, 사용자의 입력에 따라 인공지능 모델을 처리하여 동작을 수행함으로써, 사용자에게 다양한 서비스를 제공할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 요청에 따라서, 인공지능 모델의 일부를, 제1 전자 장치(1000) 대신 처리하고, 처리 결과를 제1 전자 장치(1000)에 전달할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)로부터 수신된 데이터에 기초하여, 인공지능 모델을 처리할 수 있다.
따라서, 일 실시 예에 의한 인공지능 모델은, 제1 전자 장치(1000)뿐만 아니라, 제2 전자 장치(2000)에 의해, 분산 처리될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 차량(vehicle), TV, 냉장고, 로봇 청소기, 스마트 스피커 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 본 명세서에서 기술되는 제1 전자 장치(1000) 및 제2 전자 장치(2000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 시스템(3000)에서 처리될 수 있는, 인공지능 모델은, 온 디바이스 AI 기술에 따라서, 제1 전자 장치(1000) 내부에서 처리될 수 있는, 다양한 종류의 모델을 포함할 수 있다. 예를 들면, 인공지능 모델은, CNN, RNN, DNN 등의 다양한 종류의 모델을 포함할 수 있다. 또한, 일 실시 예에 의한 인공지능 모델은, 복수 개의 인공지능 모델들의 결합(ex. CNN+CNN)일 수도 있다. 상술한 예에 한하지 않고, 인공지능 모델은, 다양한 동작을 수행하기 위한, 다양한 종류의 모델을 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 분산 처리하기 위한, 제2 전자 장치(2000)를 식별하고, 식별된 제2 전자 장치(2000)를 이용하여, 인공지능 모델을 분산 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 식별된 제2 전자 장치(2000)에 인공지능 모델의 일부에 대한 처리를 요청함으로써, 인공지능 모델을 분산 처리할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 이하 단계 110 내지 155에 따라서, 제2 전자 장치(2000)를 이용하여, 인공지능 모델을 분산 처리하는 동작을 수행할 수 있다.
단계 110에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 일 실시 예에 따라서 분산 처리될 인공지능 모델을 획득할 수 있다. 일 실시 예에 의한 인공지능 모델은, 제2 전자 장치(2000)에 의해 분산 처리될 수 있도록, 복수 개의 분할 모델들로 분할될 수 있는, 인공지능 모델일 수 있다. 예를 들면, 인공지능 모델은, 복수 개의 레이어로 구성되어, 레이어 단위로 분할될 수 있는 인공지능 모델일 수 있다. 상술한 예에 한하지 않고, 인공지능 모델은, 다양하게 분할될 수 있다.
단계 115에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 분산 처리하기 위한 제2 전자 장치(2000)를 식별할 수 있다.
예를 들면, 제1 전자 장치(1000)와, 외부의 접근이 제한될 수 있는, 내부의 네트워크를 공유하거나, 물리적으로 가까운 위치에 존재하는 장치들 중에서, 제2 전자 장치(2000)가 식별될 수 있다. 일 예로, 제1 전자 장치(1000)가 집안에 위치하며, 홈 네트워크에 연결되어 있는 경우, 제2 전자 장치(2000)는, 제1 전자 장치(1000)와 동일하게, 집안에 위치하면서, 홈 네트워크에 연결된, 가전 제품(ex. TV, 냉장고, 세탁기, 로봇청소기)이나, 전자 장치(ex. 데스크탑 컴퓨터, 스마트 스피커, 스마트폰, 태블릿) 중에서 식별될 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)는, 인공지능 모델의 일부를 제1 전자 장치(1000)보다 더 빠르게 처리할 수 있는 능력을 가진 장치 중에서 식별될 수 있다. 예를 들어, 제1 전자 장치(1000)에서 처리되는 인공지능 모델 중 일부가 특정한 하드웨어 장치, 예를 들어, GPU에 의하여 가속 처리될 수 있는 경우, GPU를 포함하고 있는 장치가, 상기 인공지능 모델 중 일부를 분산 처리할 제2 전자 장치(2000)로 식별될 수 있다. 또 다른 예로, 현재 처리 중인 프로세스의 연산량이 제1 전자 장치(1000)에 비해 더 적어, 인공지능 모델의 일부를 제1 전자 장치(1000)보다 더 빠르게 처리할 수 있는 능력을 가진 장치가 제2 전자 장치(2000)로 식별될 수 있다.
상술한 예에 한하지 않고, 다양한 기준에 따라서, 인공지능 모델을 분산 처리하는데 적합한 장치가 제2 전자 장치(2000)로 식별될 수 있다.
단계 120에서, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 예를 들면, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를, 제2 전자 장치(2000)에 요청하여 제2 전자 장치(2000)로부터 수신함으로써, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 또 다른 예로, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 저장한 다른 외부 장치(ex. 서버 장치)로부터 제2 전자 장치(2000)의 성능 정보를 획득할 수도 있다. 또 다른 예로, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 메모리에 미리 저장해두고, 메모리로부터 제2 전자 장치(2000)의 성능 정보를 획득할 수도 있다.
상술한 예에 한하지 않고, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 다양한 방법으로 획득할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 성능 정보는, 제2 전자 장치(2000)가 각 분할 모델을 처리할 수 있는 능력과 관련된 정보로서, 예를 들면, 제2 전자 장치(2000)의 프로세서(ex. CPU, GPU 등)의 성능, 현재 처리 중인 프로세스 개수, 처리 속도, 배터리 잔량, 메모리 크기 등을 포함할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)의 성능 정보는, 인공지능 모델을 처리하는 제2 전자 장치(2000)의 처리 속도, 성능, 상태 등과 관련된 다양한 정보를 포함할 수 있다.단계 125에서, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보에 기초하여, 인공지능 모델을 분할함으로써, 복수 개의 분할 모델을 획득할 수 있다.
일 실시 예에 의한 인공지능 모델이 복수 개의 레이어들로 구성된 경우, 분할 모델은, 레이어 단위로 인공지능 모델이 분할됨으로써, 획득될 수 있다. 일 실시 예에 의한 레이어는, 적어도 하나의 노드를 포함할 수 있고, 각 노드에 할당된, 바이어스 및 가중치 값에 따라, 연산된 데이터를 출력할 수 있다.
예를 들어, 인공지능 모델이, 제1 레이어 내지 제10 레이어를 포함하는 경우, 제1 레이어 내지 제10 레이어 중 적어도 하나를 포함하는, 분할 모델이 획득될 수 있다.
또한, 일 실시 예에 의한 인공지능 모델이, 복수 개의 인공지능 모델의 결합으로 구성된 경우, 복수 개의 인공지능 모델에 포함된 레이어들 중 적어도 하나의 레이어를 포함하는, 분할 모델이 획득될 수도 있다.
일 실시 예에 의한 분할 모델은, 상술한 예에 한하지 않고, 인공지능 모델이 다양한 단위로 분할됨에 따라서, 획득될 수 있다.
일 실시 예에 의한 분할 모델은, 인공지능 모델을 구성하는 각 레이어가, 제2 전자 장치(2000)의 성능 정보에 따라서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는지 여부에 따라서, 획득될 수 있다. 예를 들면, 인공지능 모델을 구성하는 각각의 레이어 중에서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는지 여부에 따라서, 레이어가 식별될 수 있고, 식별된 레이어를 기준으로 인공지능 모델이 분할됨으로써, 분할 모델이 획득될 수 있다. 예를 들면, 적어도 하나의 식별된 레이어를 포함하는 분할 모델이 획득될 수 있다.
또한, 일 실시 예에 의한 분할 모델은, 제2 전자 장치(2000)의 성능 정보에 한하지 않고, 각 레이어에서 출력되는 데이터의 크기에 따라서, 획득될 수도 있다. 예를 들면, 인공지능 모델을 구성하는 각각의 레이어 중에서, 출력 데이터의 크기가 작은 순서에 따라, 미리 설정된 비율만큼의 레이어가 식별될 수 있고, 식별된 레이어를 기준으로 인공지능 모델이 분할됨으로써, 분할 모델이 획득될 수 있다. 예를 들면, 적어도 하나의 식별된 레이어가 각각의 분할 모델의 출력 레이어로 포함된 적어도 하나의 분할 모델이 획득될 수 있다.
일 실시 예에 의한 분할 모델은, 각 분할 모델에서 출력되는 데이터의 크기가 최소화되도록, 획득됨에 따라서, 제1 전자 장치(1000)에서 제2 전자 장치(2000)로 전송되는 데이터의 양이 최소화될 수 있다. 따라서, 데이터 전송 시의 지연이 최소화됨에 따라, 일 실시 예에 의한 인공지능 모델의 분산 처리가 더욱 빠르게 수행될 수 있다.
일 실시 예에 의한 분할 모델은, 상술한 예에 한하지 않고, 다양한 방법에 따라서, 인공지능 모델로부터 획득될 수 있다.
단계 130에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간을 예측할 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)의 성능 정보에 기초하여, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간이 예측될 수 있다.
다만, 일 실시 예에 의한 제1 전자 장치(1000)가, 제2 전자 장치(2000)에 인공지능 모델에 대한 분산 처리를 요청한 후, 처리 결과를 수신하기까지, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간뿐만 아니라, 네트워크를 통해, 제1 전자 장치(1000)와 제2 전자 장치(2000)간 데이터가 송수신되는 데에도 시간이 소요될 수 있다.
따라서, 일 실시 예에 의하면, 단계 130에서, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간에 더하여, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크를 통해, 데이터가 송수신되는데 걸리는 시간이 더 예측될 수 있다. 예를 들면, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간에 더하여, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)로 분할 모델의 처리를 요청하기 위한 데이터가 전송되는데 소요되는 시간 및 제2 전자 장치(2000)에서, 제1 전자 장치(1000)로, 분할 모델의 처리 결과가 전송되는데 소요되는 시간이 더 예측될 수 있다. 일 실시 예에 의하면, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간 데이터가 송수신되는 네트워크의 현재 상태와, 송수신되는 데이터의 크기 중 적어도 하나에 기초하여, 데이터 송수신에 걸리는 시간이 예측될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간 및 데이터 송수신에 걸리는 시간을 더한 값을 기준으로, 이하 단계 140에서, 제2 전자 장치(2000)에 처리를 요청할 분할 모델을 결정할 수 있다.
단계 135에서, 일 실시 예에 의한 제1 전자 장치(1000)는 단계 130에서, 예측된 시간에 기초하여, 제2 전자 장치(2000)에 처리를 요청할 적어도 하나의 분할 모델을 결정할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 제1 전자 장치(1000)에 의하여, 각 분할 모델이 처리되는데 소요되는 시간에 대한 예측값과, 단계 130에서, 예측된 시간 값을 비교함으로써, 제2 전자 장치(2000)에 처리를 요청할 적어도 하나의 분할 모델을 결정할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 복수 개의 분할 모델들 중에서, 제1 전자 장치(1000)에 대해 예측된 처리 시간보다, 단계 130에서 예측된 처리 시간이 더 짧은 분할 모델을, 제2 전자 장치(2000)에 처리를 요청할 분할 모델로 결정할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)에 의하여, 각 분할 모델이 처리되는데 소요되는 시간은, 제2 전자 장치(2000)와 동일하게, 제1 전자 장치(1000)의 프로세서(ex. CPU, GPU 등)의 성능, 현재 처리 중인 프로세스 개수 등을 포함하는, 제1 전자 장치(1000)에 대한 성능 정보에 기초하여, 예측될 수 있다.
상술한 예에 한하지 않고, 제1 전자 장치(1000)는, 단계 130에서 예측된 처리 시간에 기초한, 다양한 방법에 따라서, 제2 전자 장치(2000)에 처리를 요청할, 적어도 하나의 분할 모델을 결정할 수 있다.
단계 140에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 135에서 결정된 분할 모델에 대한 처리를 요청하기 위한 데이터를 제2 전자 장치(2000)로 전송할 수 있다.
일 실시 예에 의한 단계 140에서 제2 전자 장치(2000)로 전송되는 데이터는, 제2 전자 장치(2000)가 단계 135에서 결정된 분할 모델을 처리하는데 필요한 데이터를 포함할 수 있다. 예를 들면, 상기 데이터는, 상기 단계 135에서 결정된 분할 모델에 입력될 데이터를 포함할 수 있다. 또한, 상기 데이터는, 제2 전자 장치(2000)에서 상기 단계 135에서 결정된 분할 모델을 획득하기 위한 정보를 더 포함할 수 있다.
일 실시 예에 의한 분할 모델에 입력될 데이터는, 복수 개의 분할 모델 중 선행하는 분할 모델에서 출력된 데이터로부터 획득될 수 있다. 일 실시 예에 의하면, 복수 개의 분할 모델들 중에서, 제2 전자 장치(2000)로 처리 요청되지 않는, 나머지 분할 모델들은, 제1 전자 장치(1000)에 의해 처리될 수 있다. 또한, 일 실시 예에 의한 복수 개의 분할 모델들은, 각 분할 모델들의 처리 순서에 따라, 먼저 처리된 분할 모델에서 출력된 데이터에 기초하여, 각각의 분할 모델들이 순차적으로 처리될 수 있다.
따라서, 일 실시 예에 의한, 제2 전자 장치(2000)로 요청되는 분할 모델에 대한 입력 데이터는, 제1 전자 장치(1000)에서 먼저 처리된 분할 모델의 출력 데이터로부터, 획득될 수 있다. 다만, 제2 전자 장치(2000)로 처리 요청되는 분할 모델이 복수 개의 분할 모델들 중 가장 먼저 처리되는 경우에는, 사용자 입력에 따라서, 인공지능 모델에 입력되는 데이터가, 제2 전자 장치(2000)로 요청되는 분할 모델에 대한 입력 데이터로서 획득될 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)에 요청되는 적어도 하나의 분할 모델보다 우선하여 처리되는, 분할 모델이 제1 전자 장치(1000)에서 먼저 처리되어야, 제2 전자 장치(2000)로 전달될 입력 데이터가 획득될 수 있다. 따라서, 제2 전자 장치(2000)로 요청되는 적어도 하나의 분할 모델보다 앞선 처리 순서의, 분할 모델이 제1 전자 장치(1000)에서 먼저 처리된 후, 단계 140의 동작에 따른 처리 요청이 전송될 수 있다.
일 실시 예에 의한 복수 개의 분할 모델들은 순차적으로 처리되므로, 각각의 분할 모델이 처리될 순서가 될 때마다, 단계 140에서, 각 분할 모델에 대한 처리 요청이 하나씩 전송될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)에서 분할 모델을 획득하기 위한 정보는, 분할 모델을 나타내는 식별 정보를 포함할 수 있다. 예를 들면, 상기 식별 정보는, 상기 분할 모델을 구성하는, 모델 데이터를 포함하거나, 상기 분할 모델을 구성하는 데이터를 외부로부터 획득하기 위한 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)는 다양한 방법에 따라서, 단계 140에서 처리 요청받은 분할 모델을 획득할 수 있다.
단계 145에서, 제2 전자 장치(2000)는, 단계 140에서 수신된 제1 전자 장치(1000)의 요청에 따라서, 적어도 하나의 분할 모델을 처리할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)의 요청이 수신될 때마다, 분할 모델을 처리하고, 그 결과를 단계 150에서, 전송할 수 있다.
일 실시 예에 의한 인공지능 모델의 분산 처리는, 빠른 처리를 위한 것이므로, 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)로부터 요청을 받자마자, 분할 모델의 처리를 수행함이 바람직하다. 따라서, 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)로부터 요청이 수신되기 전에, 단계 135에서 결정되는, 적어도 하나의 분할 모델을 구성하기 위한 모델 데이터를 미리 획득할 수 있다. 예를 들면, 단계 135에서, 제1 전자 장치(1000)가 적어도 하나의 분할 모델을 결정함에 따라, 제1 전자 장치(1000)는 제2 전자 장치(2000)에서, 상기 결정된 적어도 하나의 분할 모델을 획득하기 위한 정보를 제2 전자 장치(2000)로 미리 전송할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)로부터 각 분할 모델에 대한 처리 요청이 수신되기 전에, 다양한 방법에 따라서, 분할 모델을 미리 획득해 둘 수 있다.
단계 150에서, 제2 전자 장치(2000)는, 분할 모델을 처리한 결과를 제1 전자 장치(1000)로 전송할 수 있다. 이때, 제2 전자 장치(2000)는, 분할 모델을 처리하는데 소요된 시간에 관한 정보를 함께 제1 전자 장치(1000)로 전송할 수 있다. 제2 전자 장치(2000)로부터 전달된 처리 시간에 대한 정보는, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)의 성능 정보를 갱신하는데 이용될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 150에서 제2 전자 장치(2000)로부터 전달된 처리 시간에 대한 정보가 수신될 때마다, 제2 전자 장치(2000)의 성능 정보를 갱신할 수 있다. 또한, 제1 전자 장치(1000)는, 아직 처리되지 않은 분할 모델에 대하여, 갱신된 성능 정보에 기초하여, 단계 130 및 단계 135의 동작을 다시 수행할 수 있다. 따라서, 제1 전자 장치(1000)는, 실시간으로 갱신되는 제2 전자 장치(2000)의 성능 정보에 따라서, 제2 전자 장치(2000)에 분할 모델의 처리를 요청할 지 여부를 다시 결정할 수 있다.
단계 155에서, 일 실시 예에 의한 제1 전자 장치(1000)는 단계 150에서 수신된 분할 모델을 처리한 결과에 기초하여, 인공지능 모델을 처리할 수 있다. 일 실시 예에 의하면, 인공지능 모델이 분할된 분할 모델들 중에서, 제1 전자 장치(1000)에 비해, 처리 시간이 더 빠를 것으로 예측되는, 제2 전자 장치(2000)에 의하여, 분할 모델이 처리됨에 따라, 인공지능 모델의 처리 시간이 단축될 수 있다. 또한, 인공지능 모델을 처리하는데, 제1 전자 장치(1000)의 자원에 한하지 않고, 제2 전자 장치(2000)의 자원을 추가적으로 이용할 수 있으므로, 제1 전자 장치(1000)의 자원, 예를 들면, 배터리, 연산량 등을 절약할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 하나의 제2 전자 장치(2000)에 한하지 않고, 복수 개의 제2 전자 장치들을 식별하여, 인공지능 모델을 분산 처리하는데 이용할 수도 있다. 일 실시 예에 의하면, 제1 전자 장치(1000)는, 복수 개의 제2 전자 장치들 각각의 성능 정보에 기초하여, 각 분할 모델에 대한 처리 시간을 예측함으로써, 분할 모델에 대한 처리 요청을 복수 개의 제2 전자 장치들로 전송할 수 있다.
도 2는 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시 예에 의한 제1 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 4는 일 실시 예에 의한 제2 전자 장치(2000)의 내부 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 프로세서(1300, 2300), 통신부(1500, 2500) 및 메모리(1700, 2700)를 포함할 수 있다. 그러나, 도 2에 도시된 구성 요소 모두가 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 제1 전자 장치(1000) 또는 제2 전자 장치(2000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 제1 전자 장치(1000) 또는 제2 전자 장치(2000)가 구현될 수도 있다.
예를 들면, 제1 전자 장치(1000)는 도 3에 도시된 바와 같이, 일 실시예에 따른 제1 전자 장치(1000)는, 프로세서(1300), 통신부(1500) 및 메모리(1700) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 및 A/V 입력부(1600)를 더 포함할 수도 있다.
또한, 제2 전자 장치(2000)는 도 4에 도시된 바와 같이, 일 실시예에 따른 제2 전자 장치(2000)는, 프로세서(2300), 통신부(2500) 및 메모리(2700) 이외에 사용자 입력부(2100), 출력부(2200), 센싱부(2400), 및 A/V 입력부(2600)를 더 포함할 수도 있다.
사용자 입력부(1100, 2100)는, 사용자가 제1 전자 장치(1000) 또는 제2 전자 장치(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100, 2100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 제1 전자 장치(1000)의 사용자 입력부(1100)는, 인공지능 모델을 처리하여 동작을 수행하기 위한 요청을 포함하는, 사용자의 입력을 수신할 수 있다. 일 실시 예에 의하면, 동작 요청을 포함하는 사용자의 입력이 사용자 입력부(1100)를 통해 수신됨에 따라서, 제1 전자 장치 및 제2 전자 장치에 의한 인공지능 모델의 분산 처리가 수행될 수 있다.
또한, 제2 전자 장치(2000)의 사용자 입력부(2100)는, 인공지능 모델을 분산 처리하는 동작과 관련된 사용자 입력을 수신할 수 있다. 예를 들면, 사용자 입력부(2100)는, 제1 전자 장치(1000)의 요청에 따라, 인공지능 모델의 분산 처리를 수행하기 위한, 사용자 입력을 수신할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리는, 사용자 입력 없이도, 제1 전자 장치(1000)의 요청에 따라서, 수행될 수 있다.
출력부(1200, 2200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200, 2200)는 디스플레이부(1210, 2210), 음향 출력부(1220, 2220), 및 진동 모터(1230, 2230)를 포함할 수 있다.
일 실시 예에 의한 출력부(1200, 2200)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리가 수행된 결과를 출력할 수 있다.
디스플레이부(1210, 2210)는 제1 전자 장치(1000) 또는 제2 전자 장치(2000)에서 처리되는 정보를 표시 출력한다. 일 실시 예에 의하면, 제1 전자 장치(1000)의 디스플레이부(1210)는 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리가 수행된 결과를 표시할 수 있다. 또한, 제2 전자 장치(2000)의 디스플레이부(2210)는, 제2 전자 장치(2000)에서 수행되는 인공지능 모델의 분산 처리와 관련된 정보를 표시할 수 있다.
예를 들어, 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 디스플레이부(1201, 2201)는, 현재 인공지능 모델의 분산 처리가 진행되고 있음을 나타내는 정보를 표시할 수 있다. 또한, 디스플레이부(1201, 2201)는, 현재 수행 중인 분산 처리 동작과 관련하여, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)에서 소모되는 전류량, 처리에 소요된 시간, 현재 연결된 전자 장치 등의 정보를 표시할 수 있다. 상술한 예에 한하지 않고, 인공지능 모델의 분산 처리와 관련한 다양한 종류의 정보들이 디스플레이부(1201, 2201)에 표시될 수 있다.
한편, 디스플레이부(1210, 2210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210, 2210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210, 2210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 구현 형태에 따라 제1 전자 장치(1000) 또는 제2 전자 장치(2000)는 디스플레이부(1210, 2210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220, 2220)는 통신부(1500, 2500)로부터 수신되거나 메모리(1700, 2700)에 저장된 오디오 데이터를 출력한다.
진동 모터(1230, 2230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
일 실시 예에 의한 음향 출력부(1220, 2220) 및 진동 모터(1230, 2230)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리 동작과 관련된 정보를 다양한 형태(ex. 음성, 진동 신호 등)로 출력할 수 있다.
프로세서(1300, 2300)는, 통상적으로 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300, 2300)는, 메모리(1700, 2700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100, 2200), 출력부(1200, 2200), 센싱부(1400, 2400), 통신부(1500, 2500), A/V 입력부(1600, 2600) 등을 전반적으로 제어할 수 있다.
제1 전자 장치(1000) 및 제2 전자 장치(2000)는 적어도 하나의 프로세서(1300, 2300)를 포함할 수 있다. 예를 들면, 제1 전자 장치(1000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(1300, 2300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700, 2700)로부터 프로세서(1300, 2300)에 제공되거나, 통신부(1500, 2500)를 통해 수신되어 프로세서(1300, 2300)로 제공될 수 있다. 예를 들면 프로세서(1300, 2300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)의 프로세서(1300)는 인공지능 모델을 분할하여, 복수 개의 분할 모델을 획득하고, 적어도 하나의 분할 모델이 처리될 제2 전자 장치(2000)를 식별할 수 있다. 일 실시 예에 의하면, 인공지능 모델이 분산 처리될, 제2 전자 장치(2000)의 성능 정보에 기초하여, 인공지능 모델이 분할될 수 있다.
예를 들면, 프로세서(1300)는, 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어를 분할을 위한 레이어로 식별하고, 식별된 레이어를 출력 레이어로서 각각 포함하는 복수 개의 분할 모델을 획득함으로써, 인공지능 모델을 분할할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델이 제2 전자 장치(2000)에 의해 처리되는데 소요되는 처리 시간을 예측할 수 있다. 또한, 상기 예측된 처리 시간에 기초하여, 제2 전자 장치(2000)에 처리를 요청할, 적어도 하나의 분할 모델이 결정될 수 있다. 일 실시 예에 의한 프로세서(1300)는, 상기 결정된 적어도 하나의 분할 모델의 처리를 제2 전자 장치(2000)에 요청함으로써, 인공지능 모델을 분산 처리할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제2 전자 장치(2000)로부터 적어도 하나의 분할 모델의 처리 결과가 수신되면, 상기 처리 결과에 포함된, 제2 전자 장치(2000)가 적어도 하나의 분할 모델을 처리하는데 소요된 시간에 관한 정보에 기초하여, 제2 전자 장치(2000)의 성능 정보를 갱신할 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)의 프로세서(2300)는, 제1 전자 장치(1000)로부터, 분산처리되는 인공지능 모델의 분할 모델 중 적어도 하나의 분할 모델에 대한 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델을 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)의 분할 모델에 대한 처리 요청은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델에 대한 제2 전자 장치(2000)의 처리 시간이 예측됨에 따라서, 제2 전자 장치(2000)로 전송될 수 있다.
일 실시 예에 의한 프로세서(2300)는, 적어도 하나의 분할 모델이 처리된 결과를 제1 전자 장치(1000)로 전송하도록, 통신부(1500)를 제어함으로써, 제2 전자 장치(2000)에서, 인공지능 모델이 분산 처리될 수 있다.
센싱부(1400, 2400)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 상태 또는 제1 전자 장치(1000) 및 제2 전자 장치(2000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300, 2300)로 전달할 수 있다.
센싱부(1400, 2400)는, 지자기 센서(Geomagnetic sensor)(1410, 2410), 가속도 센서(Acceleration sensor)(1420, 2420), 온/습도 센서(1430, 2430), 적외선 센서(1440, 2440), 자이로스코프 센서(1450, 2450), 위치 센서(예컨대, GPS)(1460, 2460), 기압 센서(1470, 2470), 근접 센서(1480, 2480), 및 RGB 센서(illuminance sensor)(1490, 2490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 센싱부(1400, 2400)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서, 인공지능 모델이 처리되는데 이용될 수 있는 다양한 종류의 센싱 정보를 감지할 수 있다. 예를 들면, 제1 전자 장치(1000)의 센싱부(1400)에 의해 감지된 정보는, 인공지능 모델의 입력 정보로서 이용될 수 있다. 상술한 예에 한하지 않고, 센싱부(1400, 2400)에 의해 감지된 정보는, 인공지능 모델이 처리되는데, 다양한 방법으로 이용될 수 있다.
통신부(1500, 2500)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 통신 또는, 다른 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500, 2500)는, 근거리 통신부(1510, 2510), 이동 통신부(1520, 2520), 방송 수신부(1530, 2530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510, 2510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520, 2520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530, 2530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 제1 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 제1 전자 장치(1000)의 통신부(1500)는 인공지능 모델을 분산 처리하기 위한 제2 전자 장치(2000)와 데이터를 송수신할 수 있다. 예를 들면, 통신부(1500)는, 제2 전자 장치(2000)로부터 제2 전자 장치(2000)의 성능 정보를 수신할 수 있다. 또한, 통신부(1500)는, 제2 전자 장치(2000)로, 인공지능 모델이 분할된 모델 중, 적어도 하나의 분할 모델에 대한 처리 요청을 전송할 수 있다. 상술한 예에 한하지 않고, 통신부(1500)는, 일 실시 예에 의한 인공지능 모델을 분산 처리하는데 필요한 데이터를 송수신할 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)의 통신부(2500)는, 인공지능 모델을 분산 처리하기 위한 제1 전자 장치(1000)와 데이터를 송수신할 수 있다. 예를 들면, 통신부(2500)는, 제1 전자 장치(1000)로 제2 전자 장치(2000)의 성능 정보를 전송할 수 있다. 또한, 통신부(2500)는, 제1 전자 장치(1000)로부터, 인공지능 모델이 분할된 모델 중, 적어도 하나의 분할 모델에 대한 처리 요청을 수신할 수 있다. 상술한 예에 한하지 않고, 통신부(2500)는, 일 실시 예에 의한 인공지능 모델을 분산 처리하는데 필요한 데이터를 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600, 2600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610, 2610)와 마이크로폰(1620, 2620) 등이 포함될 수 있다. 카메라(1610, 2610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300, 2300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
마이크로폰(1620, 2620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
일 실시 예에 의한 A/V 입력부(1600, 2600)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서, 인공지능 모델이 처리되는데 이용될 수 있는 다양한 종류의 데이터를 획득할 수 있다. 예를 들면, 제1 전자 장치(1000)의 A/V 입력부(1600)에 의해 획득된 음성 데이터 또는 영상 데이터는, 인공지능 모델의 입력 정보로서 이용될 수 있다. 상술한 예에 한하지 않고, A/V 입력부(1600, 2600)에 의해 획득된 데이터는, 인공지능 모델이 처리되는데, 다양한 방법으로 이용될 수 있다.
메모리(1700, 2700)는, 프로세서(1300, 2300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)로 입력되거나 제1 전자 장치(1000) 또는 제2 전자 장치(2000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 제1 전자 장치(1000)의 메모리(1700)는 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 분산 처리되는, 인공지능 모델을 저장할 수 있다. 또한, 메모리(1700)는, 인공지능 모델이 분할된, 적어도 하나의 분할 모델을 저장할 수 있다. 또한, 메모리(1700)는, 인공지능 모델을 처리하는데 이용될 수 있는, 엔진, 알고리즘, 프로그램 등의 데이터를 저장할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 메모리(2700)는, 제2 전자 장치(2000)에서, 처리되는, 인공지능 모델의, 적어도 하나의 분할 모델을 저장할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청에 따라서, 메모리(2700)에 저장된 적어도 하나의 분할 모델을 처리함으로써, 인공지능 모델을 분산 처리할 수 있다.
일 실시 예에 의한 메모리(1700, 2700)는, 상술한 예에 한하지 않고, 인공지능 모델을 처리하는데 필요한, 다양한 종류의 데이터를 저장할 수 있다.
메모리(1700, 2700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700, 2700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710, 2710), 터치 스크린 모듈(1720, 2720), 알림 모듈(1730, 2730) 등으로 분류될 수 있다.
UI 모듈(1710, 2710)은, 애플리케이션 별로 제1 전자 장치(1000) 및 제2 전자 장치(2000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720, 2720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300, 2300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720, 2720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720, 2720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730, 2730)은 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 5는 일 실시 예에 의한 제1 전자 장치(1000)에서 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
일 실시 예에 의하면, 사용자 입력에 따라, 인공지능 모델이 처리될 때, 제1 전자 장치(1000)는, 제2 전자 장치(2000)를 이용하여, 더 빠르게 인공지능 모델을 처리할 수 있다.
도 5를 참조하면, 단계 510에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)를 이용하여 인공지능 모델을 분산 처리하기 위해, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는 제2 전자 장치(2000)를 이용하여 인공지능 모델을 분산 처리하기 위하여, 제2 전자 장치(2000)에 제2 전자 장치(2000)의 성능 정보를 요청함으로써, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 상술한 예에 한하지 않고, 제1 전자 장치(1000)는, 다른 외부 장치로부터 제2 전자 장치(2000)의 성능 정보를 획득할 수도 있다.
단계 520에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 분할하여, 복수 개의 분할 모델을 획득할 수 있다.
일 실시 예에 의하면, 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어가 분할을 위한 레이어로 식별되고, 식별된 레이어를 출력 레이어로서 각각 포함하는, 복수 개의 분할 모델이 획득됨으로써, 인공지능 모델이 복수 개의 분할 모델로 분할될 수 있다.
또한, 일 실시 예에 의한 인공지능 모델을 분할하기 위한 레이어는, 각 레이어에서 출력되는 데이터의 크기, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 데이터 전송 속도 및 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부 중 적어도 하나에 기초하여, 식별될 수 있다.
일 실시 예에 의하면, 인공지능 모델을 구성하는 복수 개의 레이어 중 각 레이어에서 출력되는 데이터의 크기에 따라서, 인공지능 모델이 분할될 수 있다. 예를 들면, 출력 데이터의 크기가 가장 작은 상위 N%의 레이어들이 식별되고, 식별된 레이어를 기준으로 인공지능 모델이 분할될 수 있다. 일 예로, 인공지능 모델에 포함된, 전체 레이어 개수가 100개이고, N이 20으로 미리 설정된 경우, 출력 데이터의 크기가 가장 작은 상위 20개의 레이어가 각 분할 모델의 출력 레이어가 되도록, 인공지능 모델이 분할될 수 있다.
또 다른 예로, 각 레이어의 연산 순서에 따라서, 각 레이어에 대해 결정된 가중치에 기초하여, 각각의 레이어가, 각 분할 모델의 출력 레이어로서 식별될 수 있다. 예를 들어, 인공지능 모델에 포함된, 전체 레이어 개수가 100개이고, N이 20으로 미리 설정된 경우, 각 레이어의 출력 데이터의 크기와 각 레이어의 연산 순서에 따라 결정된 가중치의 곱이 가장 작은 상위 20개의 레이어가 각 분할 모델의 출력 레이어로서 식별될 수 있다. 일 실시 예에 의하면, 상기 식별된 레이어가 각 분할 모델의 출력 레이어가 되도록, 인공지능 모델이 분할될 수 있다.
연산 순서에 따라 각 레이어에 대하여 결정되는 가중치는, 연산 처리 순서상 앞쪽에 위치한 레이어에 대해, 더 작은 값을 가지도록 결정될 수 있다. 따라서, 연산 처리 순서 상 앞쪽에 위치한 레이어일수록, 출력 레이어로서 식별될 가능성이 크도록, 가중치 값이 결정될 수 있다. 예를 들어 전체 102개의 레이어가 있을 때, 첫번째 레이어와 가장 마지막 레이어를 제외한 100개의 레이어 중에서, 1번째 순서로 처리되는 레이어는 1, 100번째 순서로 처리되는 레이어는 100 의 가중치 값을 가질 수 있다. 연산 순서에 따라 결정되는 가중치는 각 레이어의 순서 에 따라 다르게 설정 될 수 있으나, 이에 한하지 않고, 모두 같은 값으로 설정될 수 도 있다.
일 실시 예에 의하면, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 데이터 전송 속도에 따라서, 미리 설정된 시간 안에, 인공지능 모델의 분할 처리를 위한 데이터 전송이 수행될 수 있도록, 인공지능 모델이 분할될 수도 있다. 예를 들면, 초당 100MB를 전송할 수 있는 네트워크에서, 0.1초 이내로, 인공지능 모델의 분산 처리를 위한 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 데이터 전송 시간이 제한되는 경우, 각 레이어의 출력 데이터들의 총 합이 10MB가 되도록, 각 분할 모델의 출력 레이어가 식별될 수 있다. 일 예로, 출력 데이터의 크기가 작은 레이어 순서대로, 각각 식별된 레이어의 출력 데이터의 총 합이 10MB가 될 때까지 분할을 위한 레이어가 식별될 수 있고, 식별된 레이어가 각 분할 모델의 출력 레이어가 되도록, 인공지능 모델이 분할될 수 있다.
일 실시 예에 의한 인공지능 모델은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 분할될 수 있다. 예를 들면, 인공지능 모델을 구성하는 복수 개의 레이어 중 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부에 따라서, 인공지능 모델이 분할될 수 있다.
일 실시 예에 의하면, 인공지능 모델을 구성하는 복수 개의 레이어가 차례대로 처리되는 경우, 상위 R%의 범위 내에서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부가 식별되고, 식별된 레이어를 기준으로 인공지능 모델이 분할될 수 있다. 가속 처리될 수 있는 레이어인지 여부는, 제1 전자 장치(1000)에 비해 제2 전자 장치(2000)에서 더 빠르게 처리될 수 있는 레이어인지에 따라서, 식별될 수 있다.
예를 들어, 인공지능 모델에 포함된, 전체 레이어 개수가 100개이고, R이 25로 미리 설정된 경우, 맨 처음에 처리되는 레이어부터 25번째 처리되는 레이어 중에서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부가 식별되고, 식별된 레이어가 각 분할 모델의 출력 레이어가 되도록 인공지능 모델이 분할될 수 있다.
일 실시 예에 의하면, 이하 수학식 1에 따라서, 복수 개의 레이어 중 적어도 하나의 레이어가, 각 분할 모델의 출력 레이어로서 식별될 수 있다.
Figure pat00001
Figure pat00002
수학식 1에서, S(m)은, 각 분할 모델의 출력 레이어로서 식별된 레이어들을 나타낸다. 또한, Sort (A)는, 상위 R%의 범위 내에서, 제2 전자 장치(2000)에 의해 빠르게 처리될 수 있는 레이어로서 식별된, 적어도 하나의 레이어를 나타낼 수 있다. 또한, Sort (S0)는, 출력 데이터의 크기가 가장 작은 상위 N%의 레이어로서 식별된, 적어도 하나의 레이어를 나타낼 수 있다. 또한, Sort (B x t)는, 미리 설정된 시간 안에, 인공지능 모델의 분할 처리를 위한 데이터 전송이 수행될 수 있도록, 식별된 적어도 하나의 레이어를 나타낼 수 있다. 또한, C 및 D는, 인공지능 모델이 분산 처리될 수 있도록, 미리 설정된 값일 수 있다.
일 실시 예에 의하면, 수학식 1에 따른 방법에 한하지 않고, 이하 수학식 2에 따라서, 복수 개의 레이어 중 적어도 하나의 레이어가, 각 분할 모델의 출력 레이어로서 식별될 수도 있다.
Figure pat00003
수학식 2에서, S(m)은 각 분할 모델의 출력 레이어로서 식별된 레이어들을 나타낸다.
수학식 2에 의하면, 앞서 수학식 1과 관련하여 언급된, Sort(A), Sort(SO) 및, Sort(B x t)에서, 각각 적어도 하나의 레이어가 식별될 수 있다. Sort(A), Sort(SO) 및, Sort(B x t)에서 각각 식별되는 레이어들은, 각각의 Sort에서 중복으로 식별되는 횟수에 따라, 적어도 하나의 그룹으로 나뉘어질 수 있다. 예를 들어, 제1 그룹은, 3개의 Sort에서 모두 식별되는 레이어를 포함할 수 있고, 제2 그룹은, 3개의 Sort 중 2개의 Sort에서 식별되는 레이어를 포함할 수 있고, 제3 그룹은, 1개의 Sort에서만 식별되는 레이어를 포함할 수 있다.
상술한 3개의 Sort 에 한하지 않고, 레이어를 식별하기 위한 적어도 하나의 Sort에 기초하여, 레이어가 식별됨에 따라, 적어도 하나의 레이어가 다양한 개수의 그룹으로 분류될 수 있다.
일 실시 예에 의하면, 각각의 Sort에서 중복으로 식별되는 횟수가 많은 순서대로, 각각의 그룹이 정렬될 수 있다. 예를 들면, 중복 식별되는 횟수가 가장 많은 제1 그룹부터, 제2 그룹 및 제3 그룹의 순서대로 정렬될 수 있다.
일 실시 예에 의하면, 각 그룹내에서는, a, b, 및 c 의 가중치에 따라서, 적어도 하나의 레이어가 정렬될 수 있다. 일 실시 예에 의하면, 각각의 레이어들이 각 Sort에서 정렬되는데 이용된 값과 a, b, 및 c의 가중치를 곱한 값에 기초하여, 적어도 하나의 레이어가 정렬될 수 있다. 예를 들면, Sort(S0) 또는 Sort(B x t)에서 식별된 레이어는, 각 레이어의 출력 데이터의 크기와 b 또는 c가 각각 연산된 값(ex. 곱셈)에 기초하여, 정렬될 수 있다. 다만, Sort(A)에서는, 가속 처리 여부에 따라 레이어가 식별됨에 따라, Sort(A)에서 식별된 레이어들은 동일한 순위를 가지므로, 다른 값과의 연산 없이 a값에 기초하여, 적어도 하나의 레이어가 정렬될 수 있다. 이에 한하지 않고, Sort(A)에서, 가속 처리되는 속도에 따라, 각 레이어들이 정렬됨으로써, 레이어가 식별되는 경우에는, 각 레이어가 제2 전자 장치(2000)에 의해 가속처리되는 속도(또는, 속도의 역수값) 및 a가 연산된 값에 기초하여, 정렬될 수도 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)에 의한 가속 처리되는 속도가 빠르거나, 출력 데이터가 작은 레이어일수록, 각 그룹 내에서, 높은 순위로 정렬될 수 있도록, 상기 a, b, c 등의 가중치 값에 기초하여 연산된 값이 획득될 수 있다.
또한, 일 실시 예에 의하면, 상술한 가중치 값에 기초하여 획득된 값이 작은 순서대로, 적어도 하나의 레이어가 정렬될 수 있으나, 이에 한하지 않고, 다양한 방법 및 기준에 따라서, 적어도 하나의 레이어가 정렬될 수 있다.
일 예로, 제2 그룹의 레이어 중, Sort(A) 및 Sort(S0)에서 중복으로 식별된 레이어는, 상기 레이어의 출력 데이터의 크기와 b를 곱한 값과, a를 더한 값에 기초하여, 제2 그룹 내에서, 정렬될 수 있다. 상술한 예에 한하지 않고, 가중치 값에 기초하여 다양한 방법으로 획득된 값에 기초하여, 동일 그룹 내에서 레이어가 정렬될 수 있다.
일 실시 예에 의하면, 상기 수학식 2에 따라서, 적어도 하나의 레이어가 정렬된 순서에 기초하여, 인공지능 모델을 구성하는 복수 개의 레이어 중 상위 N%의 레이어가, 분할을 위한 레이어로서, 최종적으로 식별될 수 있다. 예를 들어, 인공지능 모델을 구성하는 100개의 레이어들은, Sort(A), Sort(S0) 및 Sort(B x t) 및 각각의 가중치 값인, a, b, c에 기초하여, 순서대로 정렬될 수 있고, 상위 N개의 레이어가 최종적으로 식별될 수 있다.
상기 수학식 2에서, N, a, b, c 의 값은, 인공지능 모델이 분산 처리될 수 있도록, 미리 설정된 값일 수 있다.
상술한 예에 한하지 않고, 인공지능 모델을 구성하는 각 레이어의 특성에 따라서, 분산 처리를 위한 분할이 적절한 위치의 레이어를 기준으로 하여, 인공지능 모델이 분할될 수 있다.
단계 530에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델이 제2 전자 장치(2000)에 의해 처리되는데 소요되는, 처리 시간을 예측할 수 있다.
일 실시 예에 의한 처리 시간은, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간뿐만 아니라, 제2 전자 장치(2000)가 제1 전자 장치(1000)로부터, 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는데 소요되는 시간 및 제1 전자 장치(1000)가, 제2 전자 장치(2000)로부터 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는데 소요되는 시간에 대해 예측된 시간을 더 포함하여 예측될 수 있다.
일 실시 예에 의한 각 분할 모델이 처리된 결과가 전송되는데 소요되는 시간은, 네트워크의 전송 속도, 직전 N 시간까지의 평균 데이터 송수신 양 등의 네트워크와 관련된 다양한 정보에 기초하여, 예측될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 성능 정보는, 제2 전자 장치(2000)가 구비한 하드웨어 정보 및 제2 전자 장치(2000)의 연산 처리 능력과 관련된 제2 전자 장치(2000)의 상태에 관한 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 성능 정보는, 가용 메모리, 가용 저장공간, 배터리 잔량, 제2 전자 장치(2000)에 구비된 연산 처리 장치(ex. CPU, NPU, GPU)의 성능 정보 및 상태 정보(ex. 사용률, 동작 모드, 연산 속도, 동작 가능한 상태인지 여부), 현재 제2 전자 장치(2000)에서 처리 중인 프로세서의 개수 등을 포함할 수 있다.
단계 540에서, 일 실시 예에 의한 제1 전자 장치(1000)는 단계 530에서, 결정된 처리 시간에 기초하여, 제2 전자 장치(2000)에 처리를 요청할 분할 모델을 결정할 수 있다.
일 실시 예에 의한 단계 530 및 단계 540은, 제1 전자 장치(1000)에서, 인공지능 모델을 구성하는 각각의 분할 모델을 처리할 때마다, 각 분할 모델에 대하여 수행될 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 530에서, 현재 분할 모델에 대하여 예측되는 처리 시간이 제1 전자 장치(1000)에서 처리되는 경우 소요되는 처리 시간보다 짧은 경우, 현재 분할 모델에 대하여, 제2 전자 장치(2000)에 처리를 요청할 분할 모델로 결정할 수 있다.
단계 550에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 540에서 결정된 분할 모델에 대해 제2 전자 장치(2000)에 처리 요청함으로써, 인공지능 모델을 분산 처리하는 동작을 수행할 수 있다.
일 실시 예에 의하면 현재의 분할 모델이 제2 전자 장치(2000)에 처리를 요청할 분할 모델로 결정되더라도, 제1 전자 장치(1000)에서, 현재의 분할 모델을 처리하는 동작이 수행될 수 있다. 일 실시 예에 의하면, 네트워크 환경에 따라서, 제2 전자 장치(2000)에서, 제1 전자 장치(1000)의 처리 요청을 수신받지 못하거나, 네트워크, 또는 제2 전자 장치(2000)의 상태 변화로 인해, 예측된 처리 시간보다 더 늦게 분할 모델의 처리 결과가 수신되거나, 제1 전자 장치(1000)의 상태 변화로 인해, 제2 전자 장치(2000)보다 빠르게, 제1 전자 장치(1000)에 의해 분할 모델이 처리될 수 있다. 일 실시 예에 의하면, 네트워크 환경, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 상태가 변화하더라도, 안정적으로 인공지능 모델의 처리가 가능하도록, 제2 전자 장치(2000)로 처리를 요청하는 분할 모델도 제1 전자 장치(1000)에서 동시에 처리될 수 있다.
도 6은 일 실시 예에 의한 제2 전자 장치(2000)에 의해 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
일 실시 예에 의하면, 제1 전자 장치(1000)가 인공지능 모델의 분산 처리를 위한 제2 전자 장치(2000)를 식별함에 따라, 제1 전자 장치(1000) 및 제2 전자 장치(2000)가 서로 네트워크로 연결될 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)는, 이하 단계 610에서, 제1 전자 장치(1000)로부터 적어도 하나의 분할 모델에 처리 요청을 수신하기 전에, 상기 적어도 하나의 분할 모델에 대한 모델 데이터를 미리 획득할 수 있다. 예를 들면, 제2 전자 장치(2000)는 제1 전자 장치(1000)로부터 분산 처리되는 인공지능 모델에 관한 식별 정보를 획득하여, 인공지능 모델의 모델 데이터를 획득함으로써, 적어도 하나의 분할 모델의 모델 데이터를 획득할 수 있다.
따라서, 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 분할 모델에 대한 처리 요청을 수신하자마자, 분할 모델에 대한 처리를 빠르게 시작할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)는, 다양한 방법에 따라서, 제2 전자 장치(2000)로 처리 요청될 적어도 하나의 분할 모델에 대한 모델 데이터를 미리 획득해 둘 수 있다.
도 6을 참조하면, 단계 610에서, 일 실시 예에 의한 제2 전자 장치(2000)는 제1 전자 장치(1000)로부터 적어도 하나의 분할 모델에 대한 처리 요청을 수신함에 따라서, 단계 620에서, 처리 요청이 수신된 적어도 하나의 분할 모델을 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)로부터 처리 요청되는 적어도 하나의 분할 모델은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델에 대한 제2 전자 장치(2000)에 의한 처리 시간이 예측됨으로써, 결정될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 성능 정보는, 제2 전자 장치(2000)가 구비한 하드웨어 정보 및 제2 전자 장치(2000)의 연산 처리 능력과 관련된 제2 전자 장치(2000)의 상태에 관한 정보 중 적어도 하나를 포함할 수 있다.
또한, 일 실시 예에 의한 처리 시간은, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간뿐만 아니라, 제2 전자 장치(2000)가 제1 전자 장치(1000)로부터, 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는데 소요되는 시간 및 제1 전자 장치(1000)가, 제2 전자 장치(2000)로부터 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는데 소요되는 시간에 대해 예측된 시간을 더 포함하여 예측될 수 있다.
단계 630에서, 일 실시 예에 의한 제2 전자 장치(2000)는, 단계 620에서 적어도 하나의 분할 모델이 처리된 결과를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)와 동일하게, 제1 전자 장치(1000)로부터 처리 요청된 분할 모델을 처리한 후, 다음 순서의 분할 모델도, 제1 전자 장치(1000)로부터 처리 요청된 분할 모델이 아님에도, 순차적으로 처리하는 동작을 수행할 수 있다.
일 실시 예에 의하면, 네트워크 환경에 따라서, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)의 처리 결과를 수신받지 못하거나, 네트워크, 또는 제2 전자 장치(2000)의 상태 변화로 인해, 예측된 처리 시간보다 더 빠르게 분할 모델이 처리되거나, 제1 전자 장치(1000)의 상태 변화로 인해, 제2 전자 장치(2000)보다 더 느리게, 제1 전자 장치(1000)에 의해 분할 모델이 처리될 수 있다. 일 실시 예에 의하면, 네트워크 환경, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 상태가 변화하더라도, 안정적으로 인공지능 모델의 처리가 가능하도록, 제2 전자 장치(2000)로 처리 요청되지 않은 분할 모델도 제2 전자 장치(2000)에서 순차적으로 처리될 수 있다.
도 7은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 7을 참조하면, 700은, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 분산처리되는 인공지능 모델(700)이 분할된 일 예를 나타낸다. 일 실시 예에 의하면, 인공지능 모델(700)을 구성하는, 레이어 1 내지 레이어 9 중에서, 레이어 2, 3, 5, 9가 분할 모델의 출력 레이어로서 식별될 수 있다. 일 실시 예에 의하면, 인공지능 모델(700)을 구성하는 레이어들 중에서, 각 레이어에서 출력되는 데이터의 크기, 데이터 전송 속도 및 제2 전자 장치(2000)에 의해 빠른 연산이 가능한 레이어인지 여부 등의 여러 기준에 따라서, 적어도 하나의 레이어가 분할 모델의 출력 레이어로서 식별될 수 있다.
일 실시 예에 의한 인공지능 모델(700)은, 레이어 1, 2를 포함한 분할 모델 1(701), 레이어 3을 포함한 분할 모델 2(702), 레이어 4, 5를 포함한 분할 모델 3(703), 레이어 6, 7, 8, 9를 포함한 분할 모델 4(704)로 분할될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 710에서, 인공지능 모델의 분산 처리를 수행하기 전에, 분산 처리를 요청할 제2 전자 장치(2000)를 식별하고, 각각의 분할 모델 별로, 제2 전자 장치(2000)에 처리를 요청할지 여부를 결정할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)에 처리를 요청할지 여부의 결정은, 제1 전자 장치(1000)에서, 순차적으로 각각의 분할 모델이 처리됨에 따라서, 각 분할 모델이 처리될 순서가 되기 전에, 미리 수행될 수 있다. 따라서, 일 실시 예에 의하면, 각 분할 모델에 대한 입력 정보가 획득되자 마자 제2 전자 장치(2000)로 처리 요청이 전송됨으로써, 빠른 처리 결과가 제1 전자 장치(1000)에서 수신될 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)에 처리를 요청할지 여부의 결정은, 제1 전자 장치(1000)에 의해, 다양한 시점에서, 수행될 수 있다.
단계 710에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 720에서, 처리 요청을 전송할 수 있다.
단계 720에서 전송되는 처리 요청은, 분할 모델 2(702)가 제2 전자 장치(2000)에서 처리되는데 필요한 정보를 포함할 수 있다. 예를 들면, 상기 처리 요청은, 분할 모델 2(702)를 나타내는 식별 정보 및 분할 모델 2(702)에 입력될 정보로서, 분할 모델 1(701)의 처리 결과에 관한 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 상기 처리 요청은, 분할 모델 2(702)가 제2 전자 장치(2000)에서 처리되는데 이용될 수 있는 다양한 종류의 정보를 포함할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 처리 요청을 수신함에 따라, 단계 730에서, 분할 모델 2(702)를 처리하기 시작할 수 있다.
단계 740에서, 제2 전자 장치(2000)는, 분할 모델 2(702)를 처리함에 따라, 분할 모델 2(702)의 처리 결과에 관한 정보를, 제1 전자 장치(1000)로 전송할 수 있다.
단계 740에서 전송되는 분할 모델 2(702)의 처리 결과에 관한 정보는, 분할 모델 2(702)를 나타내는 식별 정보, 분할 모델 2(702)의 출력 정보, 및 상기 분할 모델 2(702)가 제2 전자 장치(2000)에 의해 처리되는데 소요된 시간에 관한 정보를 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 상기 시간에 관한 정보에 기초하여, 제2 전자 장치(2000)의 연산 속도를 판단함으로써, 제2 전자 장치(2000)의 성능 정보를 갱신할 수 있다. 따라서, 일 실시 예에 의한 제1 전자 장치(1000)는, 아직 처리되지 않은 분할 모델에 대하여, 상기 갱신된 제2 전자 장치(2000)의 성능 정보에 기초하여, 제2 전자 장치(2000)로 처리 요청을 전송할 지 여부를 결정할 수 있다.
상술한 예에 한하지 않고, 분할 모델 2(702)의 처리 결과에 관한 정보는, 제1 전자 장치(1000)에서 인공지능 모델이 분산 처리되는데 이용될 수 있는 다양한 종류의 정보를 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 720에서, 분할 모델 2에 대한 처리 요청을 전송하는 동작과는 별개로, 인공지능 모델을 구성하는 분할 모델 1 내지 분할 모델 4(701, 702, 703, 704)를 순차적으로 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 복수 개의 분할 모델을 순차적으로 처리하는 중에, 아직 처리가 완료되지 않은 분할 모델에 대하여, 제2 전자 장치(2000)로부터 처리 결과를 수신하는 경우, 상기 수신된 처리 결과를 입력 받는 분할 모델부터 순차적으로 처리할 수 있다.
예를 들어, 제1 전자 장치(1000)에 의해 분할 모델 2(702)의 출력 정보가 획득되기 전에, 제2 전자 장치(2000)로부터 분할 모델 2(702)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 2(702)의 출력 정보에 기초하여, 레이어 4, 5를 포함하는 분할 모델 3(703)을 처리할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)를 이용하지 않고 인공지능 모델을 처리하는 경우, 분할 모델 3(703)이 처리되기 시작하는 시점(740-1)보다, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 분할 모델 3(703)이 처리되기 시작하는 시점(740-2)이 더 빠를 수 있다.
도 7에서, 제1 전자 장치(1000)를 기준으로, 왼쪽에 표시된 분할 모델들은, 제2 전자 장치(2000)를 이용하지 않는 경우에, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이고, 오른쪽에 표시된 분할 모델들은, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이다. 일 실시 예에 의하면, 오른쪽에 표시된 바와 같이, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 각 분할 모델들이 처리될 수 있으므로, 인공지능 모델의 분산 처리가 가속화될 수 있다.
이하 도 8 내지 도 12에서도, 각 전자 장치에서 처리되는 분할 모델들은, 도 7과 동일하게 각 분할 모델들이 처리되는 시점에 따라 표시되었다.
일 실시 예에 의한 제1 전자 장치(1000)는, 레이어 6, 7, 8, 9를 포함하는 분할 모델 4(704)에 대해, 제2 전자 장치(2000)로 처리 요청할 것을 결정함에 따라서, 단계 750에서, 제2 전자 장치(2000)로 분할 모델 4(704)에 대한 처리 요청을 전송할 수 있다. 일 실시 예에 의한 분할 모델 4(704)에 대한 처리 요청은, 분할 모델 3(703)이 처리된 후, 분할 모델 3(703)의 출력 정보에 기초하여, 전송될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)도, 제1 전자 장치(1000)와 동일하게, 분할 모델 2(702)를 처리한 후, 분할 모델 3(703) 및 분할 모델 4(704)도 순차적으로 처리할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 적어도 하나의 분할 모델에 대하여, 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델부터, 인공지능 모델에 포함된 분할 모델들을 순차적으로 처리할 수 있다. 또한, 제2 전자 장치(2000)에서, 순차적으로 상기 분할 모델들이 처리되는 중에, 아직 처리가 시작 되지 않은 분할 모델에 대하여, 제1 전자 장치(1000)로부터 처리 요청이 수신되는 경우, 제2 전자 장치(2000)는 상기 처리 요청에 기초하여, 상기 처리 요청된 분할 모델부터 순차적으로 처리할 수 있다.
예를 들면, 제2 전자 장치(2000)는, 제2 전자 장치(2000)에 의해 분할 모델 3(703)의 출력 정보가 획득되기 전에, 제1 전자 장치(1000)로부터, 아직 처리가 시작되지 않은 분할 모델 4(704)에 대한 처리 요청이 먼저 수신되는 경우, 제2 전자 장치(2000)는, 처리 요청에 포함된, 분할 모델 4(704)의 입력 정보에 기초하여, 분할 모델 4(704)를 처리할 수 있다.
따라서, 일 실시 예에 의하면, 제1 전자 장치(1000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)에서, 제1 전자 장치(1000)로부터 처리 요청을 이용하지 않는 경우, 분할 모델 4(704)가 처리되기 시작하는 시점(750-1)보다, 제1 전자 장치(1000)로부터 수신된 처리 요청에 기초하여, 분할 모델 4(704)가 처리되는 시점(750-2)이 더 빠를 수 있다. 반면에, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제1 전자 장치(1000)로부터 분할 모델 4(704)에 대한 처리 요청을 수신하기 전에, 분할 모델 4(704)가 이미 제2 전자 장치(2000)에서, 처리 중인 경우, 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 수신된 처리 요청을 이용하지 않고 버릴 수 있다.
도 7에서, 제2 전자 장치(2000)를 기준으로, 오른쪽에 표시된 분할 모델들은, 제1 전자 장치(1000)로부터 수신된 처리 요청에 포함된 분할 모델의 입력 정보를 이용하지 않는 경우에, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이고, 왼쪽에 표시된 분할 모델들은, 제1 전자 장치(1000)로부터 수신된 처리 요청에 기초하여, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이다. 일 실시 예에 의하면, 왼쪽에 표시된 바와 같이, 제1 전자 장치(1000)로부터 수신된 처리 요청에 기초하여, 각 분할 모델들이 처리될 수 있으므로, 인공지능 모델의 분산 처리가 가속화될 수 있다.
이하 도 8 내지 도 12에서도, 각 전자 장치에서 처리되는 분할 모델들은, 도 7과 동일하게 각 분할 모델들이 처리되는 시점에 따라 표시되었다.
일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 4(704)를 처리함으로써, 단계 760에서, 분할 모델 4(704)의 처리 결과를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)에 의해 분할 모델 4(704)의 처리 결과가 획득되기 전에, 제2 전자 장치(2000)로부터 분할 모델 4(704)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 4(704)의 출력 정보를 인공지능 모델의 출력 정보로서 획득할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(760-1, 760-2)보다, 제2 전자 장치(2000)에 의해 분할 모델 4(704)가 빠르게 처리됨에 따라서, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 더 빠르게 획득될 수 있다.
도 8은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 피드백을 고려하여 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 8을 참조하면, 800은, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 분산처리되는 인공지능 모델(800)이 분할된 일 예를 나타낸다. 일 실시 예에 의하면, 인공지능 모델(800)을 구성하는, 레이어 1 내지 레이어 9 중에서, 레이어 2, 3, 5, 9가 분할 모델의 출력 레이어로서 식별될 수 있다.
도 8의 인공지능 모델(800)은, 도 7의 인공지능 모델(700)과는 달리, 레이어의 출력 정보가 피드백 정보로서 입력되는 동작과 관련된, 레이어 1 및 6이 추가적으로 식별될 수 있다.
일 실시 예에 의한 레이어 1은, 레이어 6의 출력 정보를 피드백 정보로서 수신받는 레이어로서 미리 식별될 수 있다. 예를 들어, 인공지능 모델(800)에 복수의 입력 정보들이 순차적으로 입력되어 처리될 수 있는 경우, 현재의 입력 정보가 처리됨에 따라 획득된 레이어 6의 출력 정보는, 다음 순서의 입력 정보가 레이어 1에 의해 처리될 때, 피드백 정보로서 레이어 1에 입력될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 피드백과 관련된 레이어 1 및 6을 미리 식별해두고, 레이어 6의 출력 정보가 레이어 1로 피드백 정보로서 입력될 수 있도록, 동작할 수 있다.
일 실시 예에 의한 인공지능 모델(800)은, 레이어 1, 2를 포함한 분할 모델 1, 레이어 3을 포함한 분할 모델 2, 레이어 4, 5를 포함한 분할 모델 3, 레이어 6, 7, 8, 9를 포함한 분할 모델 4로 분할될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 810에서, 인공지능 모델의 분산 처리를 수행하기 전에, 분산 처리를 요청할 제2 전자 장치(2000)를 식별하고, 각각의 분할 모델 별로, 제2 전자 장치(2000)에 처리를 요청할지 여부를 결정할 수 있다.
단계 810에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(801)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(801)을 처리한 후, 레이어 3을 포함한 분할 모델 2(802)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 820에서, 처리 요청을 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 처리 요청을 수신함에 따라, 단계 830에서, 분할 모델 2(802)를 처리하기 시작할 수 있다.
단계 840에서, 제2 전자 장치(2000)는, 분할 모델 2(802)를 처리함에 따라, 획득된 분할 모델 2(802)의 처리 결과를, 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)를 이용하지 않고 분할 모델 3(803)이 처리되는 시점(840-1)보다, 제2 전자 장치(2000)로부터 수신된 처리 결과에 기초하여, 분할 모델 3(803)이 처리되는 시점(840-2)이 더 빠를 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 레이어 6, 7, 8, 9를 포함하는 분할 모델 4(804)에 대해, 제2 전자 장치(2000)로 처리 요청할 것을 결정함에 따라서, 단계 850에서, 제2 전자 장치(2000)로 분할 모델 4(804)에 대한 처리 요청을 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)의 연산 처리 능력에 따라, 제2 전자 장치(2000)에서, 제1 전자 장치(1000)의 처리 요청을 이용하지 않고, 분할 모델 4(804)가 처리되기 시작하는 시점(850-1)보다, 제1 전자 장치(1000)의 처리 요청에 따라, 분할 모델 4(804)가 처리되는 시점(850-2)이 더 빠를 수 있다. 따라서, 일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청에 따라, 더 빠른 시점부터 분할 모델 4(804)를 처리하기 시작함으로써, 인공지능 모델의 분산 처리가 가속화될 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 4(804)를 처리하는 동작 중에, 피드백과 관련된 레이어 6의 출력 정보가 획득됨에 따라서, 단계 860-1에서, 레이어 6의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 제1 전자 장치(1000)에서 레이어 6의 출력 정보가 먼저 획득되는 경우, 단계 860-2에서, 레이어 1의 입력 정보로서, 레이어 6의 출력 정보를 전달할 수 있다. 반면에, 제2 전자 장치(2000)로부터 레이어 6의 출력 정보가 먼저 수신되는 경우, 단계 870-1에서, 레이어 1의 입력 정보로서, 레이어 6의 출력 정보를 전달할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 860-1 및 단계 860-2에서 각각 획득되는 출력 정보 중 먼저 수신된 출력 정보에 기초하여, 다음 순서의 입력 데이터에 대한 인공지능 모델을 레이어 1부터 순차적으로 처리할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 4(804)를 처리함으로써, 단계 870에서, 분할 모델 4(804)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4의 처리 결과가 획득되는 시점(870-1, 870-2)보다, 제2 전자 장치(2000)로부터 수신된 처리 결과에 기초하여, 분할 모델 4(804)의 처리 결과가 더 빠르게 획득될 수 있다. 따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)로부터 수신된 처리 결과가 제1 전자 장치(1000)에서 수신됨에 따라, 인공지능 모델의 분산 처리가 가속화될 수 있다.
도 9는 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 9를 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 910에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 920에서, 처리 요청을 전송할 수 있다.
그러나, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크의 문제로 인해, 단계 920에서, 처리 요청의 전송이 실패하는 경우, 제2 전자 장치(2000)가 제1 전자 장치(1000)의 처리 요청을 수신하지 못함에 따라, 제2 전자 장치(2000)에서 분할 모델 2(702)에 대한 처리가 수행되지 않을 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)로 분할 모델 2에 대한 처리 요청이 전송되는 동작과는 별개로, 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후 순차적으로 분할 모델 2(702)를 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 분할 모델 2(702)의 처리가 완료될 때까지 제2 전자 장치(2000)로부터 분할 모델 2(702)의 출력 정보가 수신되지 않음에 따라, 분할 모델 2의 처리가 완료된 후, 분할 모델 3(703)을 순차적으로 처리할 수 있다. 또한, 제1 전자 장치(1000)는, 제1 전자 장치(1000)에서 분할 모델 3(703)을 처리하는 동작과는 별개로, 분할 모델 3(703)을 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 930에서, 처리 요청을 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 단계 930에서 전송된 처리 요청을 수신함에 따라, 단계 940에서, 레이어 4, 5를 포함하는 분할 모델 3(703)에 대하여 처리를 수행할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 3(703)의 처리가 완료되면, 분할 모델 3에 대한 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 네트워크를 통한 처리 요청의 전송이 실패하거나, 제2 전자 장치(2000)에 의해 분할 모델이 처리되는 시간이 제1 전자 장치(1000)에 의해 예측된 시간보다 상당히 더 늦어지게 되는 경우를 대비하여, 제2 전자 장치(2000)로 처리 요청된 분할 모델을 포함한, 인공지능 모델의 복수 개의 분할 모델들을 순차적으로 처리할 수 있다. 따라서, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)로부터 분할 모델에 대한 처리 결과가 수신되지 않거나 늦게 수신되는 경우에도, 제1 전자 장치(1000)에 의해 먼저 처리된 분할 모델의 처리 결과에 기초하여, 인공지능 모델이 빠르게 처리될 수 있다.
도 10은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 10을 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 1010에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 1020에서, 처리 요청을 전송할 수 있다.
단계 1030에서, 제2 전자 장치(2000)는, 단계 1020에서 전송된 처리 요청을 수신함에 따라서, 분할 모델 2(702)부터 순차적으로 처리할 수 있다. 단계 1040에서, 제2 전자 장치(2000)는, 분할 모델 2(702)의 처리가 완료됨에 따라, 분할 모델 2(702)의 처리 결과를 제1 전자 장치(1000)로 전송할 수 있다.
그러나, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크의 문제로 인해, 단계 1040에서, 분할 모델 2(702)의 처리 결과의 전송이 실패하는 경우, 제1 전자 장치(1000)는, 제2 전자 장치(2000)에서 처리된 분할 모델 2(702)의 출력 정보 없이, 제1 전자 장치(1000)에서 처리된 분할 모델 2(702)의 처리 결과에 기초하여, 분할 모델 3(703)을 순차적으로 처리할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)는, 단계 1020에서 전송되는 처리 요청과는 별개로, 제1 전자 장치(1000)에서, 분할 모델 2(702)에 대한 처리를 순차적으로 수행할 수 있다. 따라서, 단계 1040의 전송이 실패하여, 제1 전자 장치(1000)가 제2 전자 장치(2000)로부터 분할 모델 2(702)의 처리 결과를 수신하지 못하는 경우에도, 제1 전자 장치(1000)에서 처리된 분할 모델 2(702)의 처리 결과에 기초하여 분할 모델 3(703)을 순차적으로 처리할 수 있다.
단계 1050에서, 제1 전자 장치(1000)는, 순차적으로 분할 모델 3(703)을 처리하는 동작과는 별개로, 제2 전자 장치(2000)의 성능 정보에 기초하여 분할 모델 3(703)에 대해 예측된 처리 시간에 기초하여, 제2 전자 장치(2000)로 분할 모델 3(703)에 대한 처리 요청을 전송할 수 있다.
또한, 단계 1060에서, 제2 전자 장치(2000)는 분할 모델 3(703)의 처리 결과를 제1 전자 장치(1000)로 전송할 수 있다. 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(740)가 처리되기 시작하는 시점(1060-1)보다, 제2 전자 장치(2000)로부터 수신된 분할 모델 3(703)의 처리 결과에 기초하여, 더 빠른 시점(1060-2)부터 분할 모델 4(704)가 처리될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청이 수신되지 않은 분할 모델 4(704)에 대하여도, 분할 모델 3(703)을 처리한 후, 순차적으로 처리할 수 있다. 일 실시 예에 의한 단계 1060의 전송이 네트워크 상태로 인해 실패하거나, 제1 전자 장치(1000)보다 제2 전자 장치(2000)에서 분할 모델 4(704)를 더 빨리 처리할 수 있는 경우를 대비하여, 제2 전자 장치(2000)는, 제1 전자 장치(1000의 처리 요청이 수신되지 않은 분할 모델인, 분할 모델 4(704)도 분할 모델 3(703)이 처리 완료됨에 따라 순차적으로 처리할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 단계 1070에서, 분할 모델 4(704)에 대한 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(1070-1, 1070-2)보다, 제2 전자 장치(2000)에 의해 처리된 분할 모델 4(704)의 처리 결과에 기초하여, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 더 빠르게 획득될 수 있다.
도 11은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 11을 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 1010에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 1120에서, 처리 요청을 전송할 수 있다.
단계 1130에서, 제2 전자 장치(2000)는, 단계 1120에서 전송된 처리 요청을 수신함에 따라서, 분할 모델 2(702)부터 순차적으로 처리할 수 있다. 단계 1140에서, 제2 전자 장치(2000)는, 분할 모델 2(702)의 처리가 완료됨에 따라, 분할 모델 2(702)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
또한, 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청이 수신되지 않은 분할 모델 3(703)도 순차적으로 처리할 수 있다. 제2 전자 장치(2000)에서, 분할 모델 3(703)에 대한 처리 요청이 분할 모델 2(702)에 대한 처리가 완료되기 전에 수신되는 경우, 제2 전자 장치(2000)는, 분할 모델 3(703)에 대한 입력 정보를, 상기 수신된 처리 요청으로부터, 분할 모델 2에 대한 처리가 완료되기 전에 먼저 획득할 수 있으므로, 더 빠른 처리가 가능하다. 그러나, 분할 모델 2(702)에 대한 처리가 완료되기까지, 분할 모델 3(703)에 대한 처리 요청이 수신되지 않는 경우, 제2 전자 장치(2000)는, 분할 모델 2(702)가 처리 완료된 후에 분할 모델 3(703)를 처리할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 3(703)에 대한 처리가 완료되면, 제1 전자 장치(1000)로, 단계 1150에서, 분할 모델 3(703)의 출력 정보를 전송할 수 있다.
그러나, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크의 문제로 인해, 단계 1150에서, 분할 모델 3(703)의 출력 정보의 전송이 실패하는 경우, 제1 전자 장치(1000)는, 제2 전자 장치(2000)에서 처리된 분할 모델 3(703)의 출력 정보를 제공받지 못하고, 제1 전자 장치(1000)는, 분할 모델 2(702)를 제2 전자 장치(2000)보다 늦게 처리 완료함에 따라, 단계 1160에서, 제2 전자 장치(2000)로, 분할 모델 3(703)에 대한 처리 요청을 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 단계 1150에서, 분할 모델 3(703)에 대한 출력 정보를 제공하였음에도, 제1 전자 장치(1000)로부터 분할 모델 3(703)에 대한 처리 요청을 수신함에 따라서, 분할 모델 3(703)에 대한 출력 정보가 제1 전자 장치(1000)에 제공되지 않은 것으로 판단할 수 있다. 따라서, 단계 1170에서, 제2 전자 장치(2000)는, 분할 모델 3(703)에 대한 출력 정보를 다시 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 단계 1170에서, 분할 모델 3(703)에 대한 출력 정보가 다시 제1 전자 장치(1000)로 전송됨에 따라, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리되기 시작하는 시점(1170-1)보다, 더 빠른 시점(1170-2)부터, 분할 모델 4(704)가 제1 전자 장치(1000)에서 처리될 수 있다.
또한, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(1180-1)보다, 단계 1170에서, 전송된 분할 모델 3(703)에 대한 출력 정보에 기초하여, 제1 전자 장치(1000)에서 분할 모델 4(704)가 더 빠른 시점(1180-2)에서 처리 완료될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 1180-3 시점에서, 분할 모델 4(704)가 처리된 결과인, 분할 모델 4(704)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다. 다만, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 수신된 시점이, 제1 전자 장치(1000)에서 분할 모델 4(704)가 처리 완료된 시점(1180-2)보다 늦음에 따라서, 제1 전자 장치(1000)는, 제2 전자 장치(2000)로부터 수신된 분할 모델 4(704)의 출력 정보를 이용하지 않고 버릴 수 있다.
도 12는 일 실시 예에 의한 제1 전자 장치(1000), 제2 전자 장치(2000) 및 제3 전자 장치(2000-1)에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 12를 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 1201에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 1202에서, 처리 요청을 전송할 수 있다.
단계 1203에서, 제2 전자 장치(2000)는, 단계 1202에서 전송된 처리 요청을 수신함에 따라서, 분할 모델 2(702)부터 순차적으로 처리할 수 있다. 단계 1204에서, 제2 전자 장치(2000)는, 분할 모델 2(702)의 처리가 완료됨에 따라, 분할 모델 2(702)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)에 의해 분할 모델 2(702)의 출력 정보가 획득되기 전에, 제2 전자 장치(2000)로부터 분할 모델 2(702)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 2(702)의 출력 정보에 기초하여, 단계 1205에서, 레이어 4, 5를 포함하는 분할 모델 3(703)을 처리할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 분할 모델 3(703)이 처리되기 시작하는 시점(1205-1)보다, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 분할 모델 3(703)이 처리되기 시작하는 시점(1205-2)이 더 빠를 수 있다.
다만, 단계 1206에서, 제2 전자 장치(2000)로부터 전송된 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)에서 수신되는 경우, 제1 전자 장치(1000)는, 단계 1207에서, 인공지능 모델(700)을 분산 처리하기 위한 제3 전자 장치(2000-1)를 식별할 수 있다.일 실시 예에 의한 제2 전자 장치(2000)는 제2 전자 장치(2000)에서 수신된 사용자 입력에 기초하여, 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)로 전송될 수 있다. 또는, 제2 전자 장치(2000)의 상태가 인공지능 모델(700)에 대한 분산 처리를 수행하기에 적합하지 않도록 변화됨에 따라, 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)로 전송될 수 있다. 상술한 예에 한하지 않고, 다양한 경우에, 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제2 전자 장치(2000)에서 제1 전자 장치(1000)로 전송될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는 식별된 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 제3 전자 장치(2000-1)에 분할 모델 4(704)에 대한 처리 요청할 것을 결정함에 따라서, 단계 1208에서, 분할 모델 4(704)에 대한 처리 요청을 제3 전자 장치(2000-1)로 전송할 수 있다. 일 실시 예에 의한 분할 모델 4(704)에 대한 처리 요청은, 분할 모델 3(703)의 처리 결과에 기초하여 획득된, 분할 모델 4(704)에 대한 입력 정보를 포함할 수 있다.
일 실시 예에 의한 제3 전자 장치(2000-1)는, 단계 1206에서 제2 전자 장치(2000)로부터 전송된 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)에서 수신되기 전에, 미리 제1 전자 장치(1000)에 의해 식별될 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)에 의한 분산 처리가 종료될 수 있는 경우를 대비하여, 미리 제3 전자 장치(2000-1)을 식별해 둠으로써, 제2 전자 장치(2000)에 의한 분산 처리가 종료됨에 따라, 제3 전자 장치(2000-1)에 의한 분산 처리가 더 빠르게 시작될 수 있다. 일 실시 예에 의한 제3 전자 장치(2000-1)는, 제2 전자 장치(2000)가 식별될 때 함께 식별될 수 있으나, 제2 전자 장치(2000)가 식별된 이후, 제2 전자 장치(2000)에 의해 분산 처리가 수행중인 동안에, 식별될 수도 있다. 상술한 예에 한하지 않고, 제3 전자 장치(2000-1)는, 다양한 시점에서, 제1 전자 장치(1000)에 의해 식별될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 식별된 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 인공지능 모델(700)을 복수 개의 분할 모델로 분할하고, 복수 개의 분할 모델 중 적어도 하나의 분할 모델에 대해, 제3 전자 장치(2000-1)에 처리 요청을 전달할지 여부를 결정할 수 있다.
일 실시 예에 의한, 인공지능 모델(700)의 분할은, 제2 전자 장치(2000)에 의한 분산 처리 동작에서 이용되는 분할 모델과는 다르게, 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 수행될 수 있다. 일 실시 예에 의하면, 제3 전자 장치(2000-1)에 의한 인공지능 모델(700)의 분산 처리에 적합하도록, 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 인공지능 모델(700)이 복수 개의 분할 모델로 분할될 수 있다. 상술한 제3 전자 장치(2000-1)의 성능 정보에 한하지 않고, 인공지능 모델(700)은, 다양한 정보에 기초하여, 복수 개의 분할 모델로 분할될 수 있다. 일 실시 예에 의한 제3 전자 장치(2000-1)의 성능 정보에 기초한, 인공지능 모델(700)의 분할은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 인공지능 모델(700)이 분할될 때 함께 수행될 수 있으나, 이에 한하지 않고, 제2 전자 장치(2000)에 의해 분산 처리가 수행중인 동안에, 수행될 수도 있다. 상술한 예에 한하지 않고, 제3 전자 장치(2000-1)의 성능 정보에 기초한, 인공지능 모델(700)의 분할은 다양한 시점에서, 제1 전자 장치(1000)에 의해 수행될 수 있다.
일 실시 예에 의한 각 분할 모델에 대한 제3 전자 장치(2000-1)에 대한 처리 요청을 전달할지 여부의 결정은, 단계 1206에서 제2 전자 장치(2000)로부터 전송된 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)에서 수신됨에 따라서 수행될 수 있다. 다만, 이에 한하지 않고, 일 실시 예에 의한 각 분할 모델에 대한 제3 전자 장치(2000-1)에 대한 처리 요청을 전달할지 여부의 결정은, 제3 전자 장치(2000-1)의 성능 정보에 기초한, 인공지능 모델(700)의 분할이 수행된 후, 제2 전자 장치(2000)에 의해 분산 처리가 수행중인 동안에, 수행될 수도 있다.
또한, 일 실시 예에 의하면, 각 분할 모델에 대한 제3 전자 장치(2000-1)에 대한 처리 요청을 전달할지 여부의 결정은, 상기 결정이 수행되는 시점을 기준으로, 제1 전자 장치(1000)에서, 아직 처리되지 않은 레이어 또는 아직 처리 결과가 획득되지 않은 레이어를 포함하는 분할 모델에 대하여, 수행될 수 있다. 상술한 예에 한하지 않고, 상기 결정은, 다양한 시점을 기준으로 식별된 분할 모델에 대해, 수행될 수도 있다.
일 실시 예에 의한 제3 전자 장치(2000-1)는, 분할 모델 4(704)를 처리함으로써, 단계 1209에서, 분할 모델 4(704)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)에 의해 분할 모델 4(704)의 출력 정보가 획득되기 전에, 제3 전자 장치(2000-1)로부터 분할 모델 4(704)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 4(704)의 출력 정보를 인공지능 모델의 출력 정보로서 획득할 수 있다.
따라서, 일 실시 예에 의하면, 제3 전자 장치(2000-1)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(1209-1, 1209-2)보다, 더 빠른 시점(1209-3)에서, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 더 빠르게 획득될 수 있다.
일 실시 예에 의하면, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서의 온 디바이스 AI 기술의 장점을 유지하면서, 전자 장치의 하드웨어에 따른 처리 성능의 제한을 최소화할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (19)

  1. 제1 전자 장치에서, 인공지능 모델을 분산 처리하는 방법에 있어서,
    상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하는 단계;
    상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하는 단계;
    상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하는 단계;
    상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는 단계; 및
    상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 복수 개의 분할 모델은,
    상기 성능 정보에 기초하여, 상기 인공지능 모델이 분할됨으로써, 획득되는, 방법.
  3. 제1항에 있어서, 상기 복수 개의 분할 모델을 획득하는 단계는
    상기 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어를 분할을 위한 레이어로 식별하는 단계; 및
    상기 식별된 레이어를 출력 레이어로서 각각 포함하는 상기 복수 개의 분할 모델을 획득하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 분할을 위한 레이어는,
    각 레이어에서 출력되는 데이터의 크기, 상기 제1 전자 장치 및 상기 제2 전자 장치 간의 데이터 전송 속도 및 상기 제2 전자 장치에 의해 가속 처리될 수 있는 레이어인지 여부 중 적어도 하나에 기초하여, 식별되는, 방법.
  5. 제1항에 있어서,
    상기 제2 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는 단계; 및
    상기 처리 결과에 포함된, 상기 제2 전자 장치가 상기 적어도 하나의 분할 모델을 처리하는데 소요된 시간에 관한 정보에 기초하여, 상기 제2 전자 장치의 성능 정보를 갱신하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 제1 전자 장치는, 상기 제2 전자 장치로 처리 요청된 상기 적어도 하나의 분할 모델을 포함한, 상기 복수 개의 분할 모델을 순차적으로 처리하는, 방법.
  7. 제6항에 있어서,
    상기 제1 전자 장치에서, 상기 복수 개의 분할 모델이 처리되는 중에, 아직 처리 완료되지 않은 분할 모델에 대하여, 상기 제2 전자 장치로부터 처리 결과가 수신되는 경우, 상기 수신된 처리 결과에 기초하여, 상기 복수 개의 분할 모델 중 상기 처리 결과를 입력 받는 분할 모델부터 순차적으로 처리되는, 방법.
  8. 제2 전자 장치에서, 인공지능 모델을 분산 처리하는 방법에 있어서,
    제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 단계;
    상기 적어도 하나의 분할 모델을 처리하는 단계; 및
    상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, 상기 제2 전자 장치의 처리 시간은,
    상기 제2 전자 장치가 상기 복수 개의 분할 모델을 처리하는데 소요되는 시간에 더해, 상기 제2 전자 장치가 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는데 소요되는 시간 및 상기 제1 전자 장치가, 상기 제2 전자 장치로부터 상기 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는데 소요되는 시간에 대해 예측된 시간을 더 포함하는, 방법.
  10. 제8항에 있어서, 상기 제2 전자 장치의 성능 정보는,
    상기 제2 전자 장치가 구비한 하드웨어 정보 및 상기 제2 전자 장치의 연산 처리 능력과 관련된 상기 제2 전자 장치의 상태에 관한 정보 중 적어도 하나를 포함하는, 방법.
  11. 제8항에 있어서, 상기 제2 전자 장치는
    상기 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델부터, 상기 제1 전자 장치로부터 처리 요청이 수신되지 않은 분할 모델을 포함한, 상기 인공지능 모델의 분할 모델들을 순차적으로 처리하는, 방법.
  12. 제11항에 있어서, 상기 제2 전자 장치에서, 순차적으로 상기 분할 모델들이 처리되는 중에, 아직 처리가 시작 되지 않은 분할 모델에 대하여, 상기 제1 전자 장치로부터 처리 요청이 수신되는 경우, 상기 처리 요청에 기초하여, 상기 처리 요청된 분할 모델부터 순차적으로 처리되는, 방법.
  13. 제8항에 있어서, 상기 제2 전자 장치는
    상기 제1 전자 장치에 가장 최근에 처리 결과가 제공된 분할 모델 또는, 상기 분할 모델보다 앞서 처리되는 분할 모델에 대한 처리 요청을 상기 제1 전자 장치로부터 수신하는 경우, 가장 최근에 상기 제1 전자 장치로 전송된 분할 모델의 처리 결과를 다시 상기 제1 전자 장치로 전송하는, 방법.
  14. 인공지능 모델을 복수 개의 전자 장치를 이용하여 분산 처리하는 시스템에 있어서,
    상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하고, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는, 제1 전자 장치; 및
    제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하고, 상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는, 제2 전자 장치를 포함하는, 시스템.
  15. 제1항 내지 제7항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
  16. 인공지능 모델을 분산 처리하는 제1 전자 장치에 있어서,
    상기 인공지능 모델을 저장하는 메모리;
    상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고,
    상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고,
    상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고,
    상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는, 적어도 하나의 프로세서; 및
    상기 인공지능 모델을 분산 처리하기 위해, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청하는, 통신부를 포함하는, 제1 전자 장치.
  17. 제16항에 있어서, 상기 제1 전자 장치는, 상기 복수 개의 분할 모델을 순차적으로 처리하고,
    상기 적어도 하나의 분할 모델이, 상기 제1 전자 장치에 의해 상기 복수 개의 분할 모델이 순차적으로 처리됨에 따라서, 획득된 결과 및 상기 제2 전자 장치에 의해 상기 적어도 하나의 분할 모델이 처리된 결과 중, 상기 제1 전자 장치에서 먼저 획득된 처리 결과에 기초하여, 상기 인공지능 모델이 분산 처리되는, 제1 전자 장치.
  18. 인공지능 모델을 분산 처리하는 제2 전자 장치에 있어서,
    상기 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 제1 전자 장치로부터, 상기 복수 개의 분할 모델 중 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 통신부;
    상기 적어도 하나의 분할 모델을 저장하는 메모리; 및
    상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송하도록 상기 통신부를 제어함으로써, 상기 인공지능 모델을 분산 처리하는, 적어도 하나의 프로세서를 포함하는, 제2 전자 장치.
  19. 제18항에 있어서, 상기 제2 전자 장치는
    상기 제1 전자 장치에 가장 최근에 처리 결과가 제공된 분할 모델 또는, 상기 분할 모델보다 앞서 처리되는 분할 모델에 대한 처리 요청을 상기 제1 전자 장치로부터 수신하는 경우, 가장 최근에 상기 제1 전자 장치로 전송된 분할 모델의 처리 결과를 다시 상기 제1 전자 장치로 전송하는, 제2 전자 장치.
KR1020200128876A 2020-10-06 2020-10-06 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 KR20220045800A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200128876A KR20220045800A (ko) 2020-10-06 2020-10-06 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법
PCT/KR2021/013527 WO2022075668A1 (ko) 2020-10-06 2021-10-01 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법
CN202180068484.1A CN116324808A (zh) 2020-10-06 2021-10-01 人工智能模型分布式处理系统及其操作方法
EP21877920.5A EP4209966A4 (en) 2020-10-06 2021-10-01 DISTRIBUTED PROCESSING SYSTEM FOR ARTIFICIAL INTELLIGENCE MODEL AND METHOD FOR OPERATION THEREOF
US18/131,723 US20230244953A1 (en) 2020-10-06 2023-04-06 Artificial intelligence model distributed processing system, and method for operating same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200128876A KR20220045800A (ko) 2020-10-06 2020-10-06 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20220045800A true KR20220045800A (ko) 2022-04-13

Family

ID=81125841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200128876A KR20220045800A (ko) 2020-10-06 2020-10-06 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법

Country Status (5)

Country Link
US (1) US20230244953A1 (ko)
EP (1) EP4209966A4 (ko)
KR (1) KR20220045800A (ko)
CN (1) CN116324808A (ko)
WO (1) WO2022075668A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063437A1 (ko) * 2022-09-22 2024-03-28 쿠팡 주식회사 인공지능 모델을 관리하기 위한 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240062045A1 (en) * 2022-08-22 2024-02-22 Tata Consultancy Services Limited Method and system for latency optimized heterogeneous deployment of convolutional neural network
CN116781147B (zh) * 2023-08-09 2023-10-27 银河航天(北京)通信技术有限公司 基于卫星通信分布式运算系统的人工智能方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003709A (ja) * 2006-06-20 2008-01-10 Mitsubishi Electric Corp 管理装置及びタスク管理方法及びプログラム
EP3559868A1 (en) * 2017-03-24 2019-10-30 Google LLC Device placement optimization with reinforcement learning
CN110795228B (zh) * 2018-08-03 2023-08-25 伊姆西Ip控股有限责任公司 用于训练深度学习模型的方法和制品、以及计算系统
CN112585624A (zh) * 2018-08-23 2021-03-30 三星电子株式会社 使用多个处理器处理神经网络模型的电子装置及其操作方法
US11625640B2 (en) * 2018-10-05 2023-04-11 Cisco Technology, Inc. Distributed random forest training with a predictor trained to balance tasks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063437A1 (ko) * 2022-09-22 2024-03-28 쿠팡 주식회사 인공지능 모델을 관리하기 위한 방법 및 장치

Also Published As

Publication number Publication date
EP4209966A1 (en) 2023-07-12
EP4209966A4 (en) 2024-02-21
WO2022075668A1 (ko) 2022-04-14
CN116324808A (zh) 2023-06-23
US20230244953A1 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
KR20220045800A (ko) 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법
US11699213B2 (en) Image-capturing device and method for controlling same
US20190279345A1 (en) Method for correcting image by device and device therefor
CN111552888A (zh) 内容推荐方法、装置、设备及存储介质
US20200065671A1 (en) Electronic device and operating method thereof of processing neural network model by using plurality of processors
US20200082244A1 (en) Computing apparatus using convolutional neural network and method of operating the same
KR20190089628A (ko) 복수 개의 전자 디바이스를 이용하여 신경망 모델을 처리하는 방법 및 시스템
KR20200120557A (ko) 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
CN113505256B (zh) 特征提取网络训练方法、图像处理方法及装置
US20200005784A1 (en) Electronic device and operating method thereof for outputting response to user input, by using application
CN112585624A (zh) 使用多个处理器处理神经网络模型的电子装置及其操作方法
US20230359541A1 (en) Electronic device for identifying force touch and method for operating same
US11908175B2 (en) Electronic device training image recognition model and operation method for same
CN113918767A (zh) 视频片段定位方法、装置、设备及存储介质
KR20200120469A (ko) 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
US11106913B2 (en) Method and electronic device for providing object recognition result
CN114282035A (zh) 图像检索模型的训练和检索方法、装置、设备及介质
KR20190078222A (ko) 패션 상품을 추천하는 전자 장치, 서버 및 그 동작 방법
CN112527104A (zh) 确定参数确定方法、装置、设备及存储介质
KR20220064665A (ko) 인공지능 모델을 분산 처리하는 전자 장치 및 그 동작 방법
US11617957B2 (en) Electronic device for providing interactive game and operating method therefor
US20200327433A1 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
US20200327451A1 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
KR20220088169A (ko) 인공지능 모델을 변환하는 전자 장치 및 그 동작 방법
KR20220023212A (ko) 단말의 모델을 갱신하는 서버 및 그 동작 방법