KR20220024718A - 머신 러닝 서비스를 제공하기 위한 방법 및 시스템 - Google Patents

머신 러닝 서비스를 제공하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20220024718A
KR20220024718A KR1020227001854A KR20227001854A KR20220024718A KR 20220024718 A KR20220024718 A KR 20220024718A KR 1020227001854 A KR1020227001854 A KR 1020227001854A KR 20227001854 A KR20227001854 A KR 20227001854A KR 20220024718 A KR20220024718 A KR 20220024718A
Authority
KR
South Korea
Prior art keywords
machine learning
data
learning model
model
consumer
Prior art date
Application number
KR1020227001854A
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 몰로코, 인크.
Publication of KR20220024718A publication Critical patent/KR20220024718A/ko

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/088Non-supervised learning, e.g. competitive learning
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • G06N3/0445
    • 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
    • G06N3/0472
    • 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/096Transfer learning
    • 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
    • G06N5/003
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • 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/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/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시는, 머신 러닝 모델 서비스를 제공하기 위한 방법 및 시스템을 제공한다. 방법은, (a) 제1 컴퓨팅 시스템에 의해, 제1 머신 러닝 모델을 사용하여 제1 출력 데이터를 생성하는 단계 - 제1 머신 러닝 모델은 제1 트레이닝 데이터세트에 대해 트레이닝됨 - ; (b) 제1 출력 데이터를 제2 컴퓨팅 시스템에 송신하는 단계 - 제1 트레이닝 데이터세트 및 제1 머신 러닝 모델은 제2 컴퓨팅 시스템에서 액세스불가능함 - ; (c) 제2 컴퓨팅 시스템에서 액세스가능한 입력 특징의 선택된 세트와 제1 출력 데이터를 결합함으로써 입력 데이터를 생성하는 단계; 및 (d) 입력 데이터를 프로세싱하기 위해 제2 머신 러닝 모델을 사용하여 제2 출력 데이터를 생성하는 단계를 포함할 수 있다.

Description

머신 러닝 서비스를 제공하기 위한 방법 및 시스템
[관련 출원에 대한 상호 참조]
본 출원은, 2019년 6월 18일에 출원된 미국 가출원 제62/862,986호 및 2019년 8월 29일에 출원된 미국 가출원 제62/893,725호의 우선권 및 이익을 청구하며, 이들 미국 가출원의 전체 내용은 본 명세서에 참조로서 통합된다.
매우 쉽게 액세스가능하고 비용 효과적인 머신 러닝 플랫폼(예컨대, TensorFlow, Amazon의 Machine Learning, Microsoft의 Azure Machine Learning, OpenAI, SciKit-Learn, Matlab 등)의 최근의 성장과 함께, 사용자는 대규모 데이터 세트의 자동화된 분석을 수행하기 위해 사용가능한 다수의 상용 옵션을 가지고 있다. 딥 러닝 기법의 성공은 트레이닝을 위해 사용가능한 데이터의 양 정비례하므로, 머신 러닝 서비스 제공자는 보통, 대규모로 사용자 데이터를 수집한다. 그러나 그러한 대규모 데이터 수집 및/또는 머신 러닝 모델의 서빙은 프라이버시 문제를 겪는다.
사용자가 모델 트레이닝 및 예측과 상호작용하도록 하기 위한 기존의 접근법 및 방법이 존재하지만, 여기서 그러한 방법 및 시스템과 연관된 제한이 인식된다. 예컨대, 연합 학습은, 모바일 전화가, 모든 트레이닝 데이터를 디바이스 상에 유지하면서, 공유된 예측 모델을 협업적으로 학습하는 것을 가능케 하여, 머신 러닝을 수행할 수 있는 능력을, 클라우드 내에 데이터를 저장해야 할 필요로부터 디커플링시킨다. 연합 학습에서, 중앙 시스템 및 분산 디바이스는 공통 모델을 공유하며, 분산 디바이스는 비공개 트레이닝 데이터세트로 모델의 가중치를 로컬로 업데이트할 수 있고, 업데이트된 가중치를 중앙 시스템에 전송할 수 있다. 중앙 시스템은 분산 디바이스로부터의 업데이트를 통합하고, 공통 모델의 가중치를 업데이트하며, 이는 이어서 분산 시스템에 전송될 수 있다. 그러나, 그러한 연합 접근법에서, 중앙 모델은 분산 디바이스에 가시적이고 노출되며, 각 디바이스로부터의 업데이트된 모델 또한 중앙 시스템에 노출된다. 또 다른 예로서, 전이 학습은, 트레이닝된 심층 신경망의 아키텍처 및 가중치의 부분(또는 전체)을 제2 심층 신경망의 시작점으로서 사용함으로써 하나의 심층 신경망으로부터 또 다른 네트워크에 정보를 전이시키기 위한 기법이다. 전이 학습에서, 기저 데이터세트 및 태스크에 대해 기저 네트워크가 먼저 트레이닝된 후, 학습된 특징은, 타겟 데이터세트 및 태스크에 대해 트레이닝되도록 재목적화되거나 제2 타겟 네트워크에 전이된다. 그러나, 그러한 전이 학습에서, 특징은 보통, 일반적이도록, 즉, 기저 태스크에 특유한 것이 아니라, 기저 태스크와 타겟 태스크 둘 다에 적합하도록 요구되며, 기저 모델은 또한 제2 네트워크에 노출되고 가시적이다.
여기서, 머신 러닝 서비스의 제공에 있어서 개선된 프라이버시 보존 능력을 갖는 방법 및 시스템에 대한 필요가 인식된다. 본 개시는, 필드 내 데이터, 로컬 모델, 및 제공자 모델이 비공개되고 보안된 상태로 유지되도록 하면서, 필드 내 데이터와 또 다른 모델(제공자 모델)로부터 전이되는 데이터 둘 다를 사용하여 예측을 생성할 수 있는 머신 러닝 모델을 개인/소비자가 구축, 개발, 및 구현할 수 있게 하는 방법 및 시스템을 제공한다. 로컬 입력 데이터 및 모델 콘텐츠를 다수의(예컨대, 둘 이상의) 분리된 시스템 내에 격리된 상태로 유지하면서 또 다른 기저/제공자 머신 러닝 모델을 사용하여 머신 러닝 모델에 대한 개선을 달성할 수 있는 방법 및 시스템이 제공된다.
한 양상에서, 머신 러닝 모델 서비스를 제공하기 위한 방법이 제공된다. 방법은, (a) 제1 컴퓨팅 시스템에 의해, 제1 머신 러닝 모델을 사용하여 제1 출력 데이터를 생성하는 단계 - 제1 머신 러닝 모델은 제1 트레이닝 데이터세트에 대해 트레이닝됨 - ; (b) 제1 출력 데이터를 제2 컴퓨팅 시스템에 송신하는 단계 - 제1 트레이닝 데이터세트 및 제1 머신 러닝 모델은 제2 컴퓨팅 시스템에서 액세스불가능함 - ; (c) 제2 컴퓨팅 시스템에서 액세스가능한 입력 특징의 선택된 세트와 제1 출력 데이터를 결합함으로써 입력 데이터를 생성하는 단계; 및 (d) 입력 데이터를 프로세싱하기 위해 제2 머신 러닝 모델을 사용하여 제2 출력 데이터를 생성하는 단계 - 입력 특징의 선택된 세트 및 제2 머신 러닝 모델은 제1 컴퓨팅 시스템에서 액세스불가능함 - 를 포함한다.
일부 실시예에서, 제1 출력 데이터는 예측 값을 포함한다. 일부 실시예에서, 제1 출력 데이터는 하나 이상의 공통 특징에 따라서 입력 특징의 선택된 세트와 결합된다. 일부 경우, 하나 이상의 공통 특징은 공통 특징 식별자를 포함한다. 일부 실시예에서, 제2 머신 러닝 모델은 감독형 학습을 사용하여 트레이닝되고, 제2 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터세트는, 제1 머신 러닝 모델에 의해 생성되는 데이터를 포함한다. 일부 경우, 제1 머신 러닝 모델은 컨볼루션 신경망이고, 제1 머신 러닝 모델에 의해 생성되는 데이터는 컨볼루션 신경망의 상단층의 출력을 포함한다.
일부 실시예에서, 입력 특징의 선택된 세트는, 제2 머신 러닝 모델의 성능을 평가함으로써 결정된다. 일부 경우, 제2 머신 러닝 모델의 성능 메트릭이 문턱치보다 더 나을 때까지 입력 특징의 상이한 세트가 선택된다. 일부 실시예에서, 방법은, 제1 출력 데이터를 생성하기 위한 요청을 제1 컴퓨팅 시스템에 의해 수신하는 단계를 더 포함한다. 일부 경우, 요청은, 예측 서비스와 관련된 하나 이상의 공통 특징을 포함한다.
별도의 양상에서, 직렬화된 머신 러닝 시스템이 제공된다. 시스템은, (a) 제1 머신 러닝 모델을 사용하여 제1 출력 데이터를 생성하도록 구성되는 제1 컴퓨팅 시스템 - 제1 머신 러닝 모델은 제1 트레이닝 데이터세트에 대해 트레이닝됨 - ; (b) 입력 데이터를 프로세싱하기 위해 제2 머신 러닝 모델을 사용하여 제2 출력 데이터를 생성하도록 구성되는 제2 컴퓨팅 시스템; (c) 제2 컴퓨팅 시스템에서 액세스가능한 입력 특징의 선택된 세트와 제1 출력 데이터를 결합함으로써 입력 데이터를 생성하도록 구성되는 통합 컴포넌트를 포함하며, 제1 트레이닝 데이터세트 및 제1 머신 러닝 모델은 제2 컴퓨팅 시스템에서 액세스불가능하고, 제2 머신 러닝 모델 및 입력 특징의 선택된 세트는 제1 컴퓨팅 시스템에서 액세스불가능하다.
일부 실시예에서, 제1 출력 데이터는 예측 값을 포함한다. 일부 실시예에서, 제1 출력 데이터는 하나 이상의 공통 특징에 따라서 입력 특징의 선택된 세트와 결합된다. 일부 경우, 하나 이상의 공통 특징은 공통 특징 식별자를 포함한다.
일부 실시예에서, 제2 머신 러닝 모델은 감독형 학습을 사용하여 트레이닝되고, 제2 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터세트는, 제1 머신 러닝 모델에 의해 생성되는 데이터를 포함한다. 일부 경우, 제1 머신 러닝 모델은 컨볼루션 신경망이고, 제1 머신 러닝 모델에 의해 생성되는 데이터는 컨볼루션 신경망의 상단층의 출력을 포함한다.
일부 실시예에서, 입력 특징의 선택된 세트는, 제2 머신 러닝 모델의 성능을 평가함으로써 결정된다. 일부 경우, 제2 머신 러닝 모델의 성능 메트릭이 문턱치보다 더 나을 때까지 입력 특징의 상이한 세트가 선택된다. 일부 실시예에서, 제1 컴퓨팅 시스템은 또한, 제1 출력 데이터를 생성하기 위한 요청을 수신하도록 구성된다. 일부 경우, 요청은, 예측 서비스와 관련된 하나 이상의 공통 특징을 포함한다.
본 개시의 오직 예시적인 실시예가 제시 및 설명되는 다음의 상세한 설명으로부터 본 개시의 추가적인 양상 및 장점이 당업자에게 수월하게 명백해질 것이다. 인식될 바와 같이, 본 개시는 다른 실시예 및 상이한 실시예가 가능하며, 그 여러 세부사항은 다양한 명백한 점에서 수정이 가능하고, 그 모두는 본 개시로부터 벗어나지 않는다. 따라서, 도면 및 설명은 사실상 예시적인 것으로서 간주되어야 하며, 제한하는 것으로서 간주되어서는 안 된다.
[참조에 의한 통합]
본 명세서에서 언급되는 모든 공보, 특허, 및 특허 출원은, 마치 각 개별 공보, 특허, 또는 특허 출원이 참조에 의해 통합되도록 구체적으로 그리고 개별적으로 표시된 것과 같이, 동일한 정도로 본 명세서에 참조로서 통합된다. 참조로서 통합되는 공보 및 특허 또는 특허 출원이, 본 명세서에 포함되는 개시와 모순되는 경우, 본 명세서는 임의의 그러한 모순되는 내용을 대체하고 그리고/또는 그러한 모순되는 내용보다 우선되도록 의도된다.
첨부되는 청구범위 내의 세부사항을 사용하여 본 발명의 신규 특징이 진술된다. 본 발명의 원리가 이용되는 예시적인 실시예를 제시하는 다음의 상세한 설명 및 첨부 도면(또한, 본 명세서에서, "도면" 및 "도"로서 지칭됨)을 참조함으로써 본 발명의 특징 및 장점의 더 나은 이해가 획득될 것이다.
도 1은, 두 엔티티(예컨대, 제공자와 소비자) 사이의 데이터를 활용하는 종래의 아키텍처를 도시한다.
도 2는, 일부 실시예에 따른, 제공자 시스템과 소비자 시스템 사이의 데이터를 활용하는 방법을 개략적으로 도시한다.
도 3은, 실시예에 따른, 직렬화된 머신 러닝 시스템을 개략적으로 도시한다.
도 4는, 본 명세서에서 제공되는 바와 같은 직렬화된 머신 러닝 시스템에서 수행되는 예시적인 트레이닝 프로세스를 도시한다.
도 5는 예시적인 예측 프로세스를 도시한다.
도 6은, 실시예에 따른, 직렬화된 머신 러닝 시스템의 예를 도시한다.
도 7은, 직렬화된 머신 러닝 시스템을 구현하도록 프로그래밍되거나 다르게 구성되는 컴퓨터 시스템을 도시한다.
본 발명의 다양한 실시예가 본 명세서에 제시 및 설명되었지만, 그러한 실시예는 오직 예로서 제공된다는 것이 당업자에게 명백할 것이다. 본 발명으로부터 벗어나지 않으면서 다수의 변형, 변경, 및 대체가 당업자에게 떠오를 수 있다. 본 명세서에 설명된 본 발명의 실시예에 대한 다양한 대안이 사용될 수 있다는 것이 이해되어야 한다.
본 발명은, 입력 데이터 및 모델 콘텐츠를 각 분리된 시스템 내에 격리된 상태로 유지하면서 또 다른 기저 머신 러닝 모델을 사용하여 머신 러닝 모델을 개선시키기 위한 시스템 및 방법을 제공한다. 특히, 제공자로부터의 머신 러닝 모델 출력을 소비자 머신 러닝 모델에 대한 입력으로서 사용함으로써 소비자 머신 러닝 모델에 대한 개선을 달성할 수 있는 보안 및 보호되는 시스템 아키텍처가 제공된다. 데이터세트 및 모델은 각 소비자 시스템 및 제공자 시스템에 대해 격리되고, 비공개되고, 보호되는 상태로 유지된다. 제공되는 방법은, 생산 동안 소비자 시스템 또는 제공자 시스템과 데이터를 공유하지 않으면서 소비자 데이터세트 및 제공자 데이터세트의 활용을 가능하게 한다. 제공되는 방법 및 시스템은, 소비자 시스템 및 제공자 시스템이 느슨한 연결(예컨대, 통합점)로 격리된 방식으로 동작할 수 있게 한다. 예컨대, 생산 동안, 소비자 모델이 향상된 예측을 할 수 있도록, 소비자 시스템은, 제공자 모델에 의해 생성된 모델 출력을 수신하고, 통합점을 통해 로컬 소비자 데이터와 모델 출력을 결합할 수 있다. 제공자 및 소비자 모델 콘텐츠 및 데이터세트는 소비자 모델의 트레이닝, 개발, 검증, 생산화, 및 배치에 걸쳐 격리된 상태로 유지될 수 있다. 제공되는 방법 및 시스템은 클라우드 또는 구축형 환경에서와 같은 다양한 시나리오에서 적용될 수 있다.
본 명세서에서 설명되는 본 발명의 다양한 양상은, 아래에서 진술되는 특정 응용예 중 임의의 응용예에 적용될 수 있다. 본 발명은, 머신 러닝 예측을 서비스로서 제공하는 것으로서 구현될 수 있다. 본 발명의 상이한 양상은 개별적으로, 집합적으로, 또는 서로 조합하여 이해될 수 있다는 것이 이해되어야 한다.
본 명세서에서 이용되는 바와 같은 "제공자"라는 용어는 일반적으로, 머신 러닝 모델 출력을 제공하는 당사자, 엔티티, 또는 회사를 지칭한다. 머신 러닝 출력은 제2의 머신 러닝 예측을 위해 또 다른 시스템에 제공될 수 있다. 일부 경우, 제공자는, 또 다른 시스템에 제공될 출력을 생성하는 머신 러닝 모델의 소유자일 수 있다. 머신 러닝 출력은 트레이닝 페이즈 동안 제2 머신 러닝 모델의 트레이닝을 위해 그리고/또는 제2 머신 러닝 모델의 배치 후의 예측을 위해 또 다른 시스템에 제공될 수 있다.
본 명세서에서 이용되는 바와 같은 "소비자"라는 용어는 일반적으로, 제공자 시스템의 머신 러닝 출력으로부터 이익을 얻는 당사자, 엔티티, 또는 회사를 지칭한다. 소비자는 자신의 머신 러닝 모델을 개선시키기 위해 제공자 시스템의 머신 러닝 출력을 사용할 수 있다. 일부 경우, 소비자는, 또 다른 머신 러닝 모델에 의해 생성되는 출력을 사용하는 머신 러닝 모델의 소유자일 수 있다. 예컨대, 소비자는, 트레이닝 페이즈 동안의 소비자의 머신 러닝 모델의 트레이닝을 위해, 그리고/또는 생산 페이즈에서 또는 모델의 배치 후의 예측을 위해 제공자 시스템에 의해 제공되는 출력을 수신 및 사용할 수 있다.
본 명세서에서 이용되는 바와 같이, "컴포넌트", "시스템", "인터페이스", "유닛" 등은, 컴퓨터 관련 엔티티, 하드웨어, (예컨대, 실행 중인) 소프트웨어, 및/또는 펌웨어를 지칭하도록 의도된다. 예컨대, 컴포넌트는 프로세서, 프로세서 상에서 실행되는 프로세스, 객체, 실행가능한 것, 프로그램, 저장 디바이스, 및/또는 컴퓨터일 수 있다. 예시에 의해, 서버 상에서 실행되는 애플리케이션 및 서버는 컴포넌트일 수 있다. 프로세스 내에 하나 이상의 컴포넌트가 상주할 수 있고, 컴포넌트는 하나의 컴퓨터 상에 로컬화될 수 있고 그리고/또는 둘 이상의 컴퓨터 사이에 분산될 수 있다.
또한, 이들 컴포넌트는, 다양한 데이터 구조가 저장되어 있는 다양한 컴퓨터 판독가능 매체로부터 실행될 수 있다. 컴포넌트는, 예를 들어, 하나 이상의 데이터 패킷(예컨대, 로컬 시스템 내의, 분산 시스템 내의, 그리고/또는 네트워크에 걸쳐, 예컨대, 신호를 통해 다른 시스템과의 근거리 네트워크, 원거리 네트워크 등에 걸쳐 또 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라서, 로컬 및/또는 원격 프로세스를 통해 전달될 수 있다.
또 다른 예로서, 컴포넌트는, 전기 또는 전자 회로부에 의해 동작되는 기계적 부분에 의해 특정한 기능이 제공된 장치일 수 있고; 전기 또는 전자 회로부는, 하나 이상의 프로세서에 의해 실행되는 소프트웨어 애플리케이션 또는 펌웨어 애플리케이션에 의해 동작될 수 있고; 하나 이상의 프로세서는 장치 내부 또는 외부에 있을 수 있고, 소프트웨어 또는 펌웨어 애플리케이션의 적어도 부분을 실행시킬 수 있다. 또 다른 예로서, 컴포넌트는, 기계적 부분 없이 전자 컴포넌트를 통해 특정한 기능을 제공하는 장치일 수 있고; 전자 컴포넌트는, 전자 컴포넌트의 기능을 적어도 부분적으로 제공하는 소프트웨어 및/또는 펌웨어를 실행하기 위해 하나 이상의 프로세서를 그 내에 포함할 수 있다. 일부 경우, 컴포넌트는, 예컨대, 클라우드 컴퓨팅 시스템 내의, 가상 머신을 통해 전자 컴포넌트를 에뮬레이션할 수 있다.
트레이닝 데이터세트는 제한되고 희귀할 수 있다. 위에서 언급한 바와 같이, 머신 러닝 모델의 성능은 트레이닝 데이터세트의 양에 의해 제한될 수 있다. 본 개시의 방법 및 시스템은, 제공자 머신 러닝 모델로부터의 출력(예컨대, 예측)으로 트레이닝을 위한 입력 특징 세트를 증강시킴으로써 소비자 머신 러닝 모델의 정확도, 품질, 및 성능을 개선시킬 수 있다. 일부 경우, 제공자 시스템에 의해 생성되는 출력은, 로컬/비공개 데이터의 선택된 입력 특징과 결합되어, 소비자 모델의 트레이닝을 위한 최적의 입력 특징 세트를 형성할 수 있다. 소비자 모델의 성능은, 로컬 데이터만을 사용하는 모델의 성능 또는 제공자 모델의 성능에 비해 개선될 수 있다.
제공자 모델에 의해 생성되는 모델 출력을 이용하는 것은, 소비자 시스템과 제공자 시스템 둘 다가 자신의 데이터세트를 비공개되고, 격리되고, 보안되는 상태로 유지하는 것을 이롭게 허용한다. 소비자 시스템과 제공자 시스템은 보안되고 비공개된다. 예컨대, 소비자 시스템과 제공자 시스템 상의 데이터, 모델 설계, 모델 가중치, 또는 코드는 서로 가시적이지 않거나 액세스불가능하다.
보안 및 프라이버시는 소비자 머신 러닝 모델의 트레이닝, 개발, 검증, 생산화, 및 배치에 걸쳐 유지될 수 있다. 모델 생산 시간 또는 예측 시간에, 소비자 시스템은, 제공자 모델에 의해 생성되는 출력과 소비자 로컬 데이터 둘 다를 입력으로서 취함으로써 예측할 수 있다. 트레이닝 페이즈와 유사하게, 데이터, 모델 설계, 모델 가중치, 또는 코드는 소비자 시스템과 제공자 시스템 상에 따로따로 격리되고 보안된 상태로 유지될 수 있다.
모델 출력은 통합점을 통해 제공자 시스템으로부터 소비자 시스템으로 전달될 수 있다. 통합점은, 소비자 머신 러닝 모델을 트레이닝하기 위해, 제공자 시스템으로부터의 모델 출력을 (트레이닝 데이터의) 입력 특징의 부분으로서 자동으로 통합할 수 있다. 통합점은 또한, 추론 또는 예측 페이즈 동안 예측하기 위해, 제공자 시스템으로부터 전이되는 모델 출력을, 소비자 모델에 대한 입력 특징의 부분으로서 자동으로 통합할 수 있다. 이는, 제공자의 데이터 또는 모델 콘텐츠를 노출시키지 않으면서 적응적이고 보편적인 방식으로 머신 러닝 모델 출력을 서빙하는 것을 이롭게 허용한다. 통합점은, 제공자 머신 러닝 모델로부터의 모델 출력을 소비자 머신 러닝 모델에 전달하도록 구성되는 단방향성일 수 있다. 통합점은 하나 이상의 컴퓨터 프로그램으로서, 즉, 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램 명령어 모듈로서 구현될 수 있다. 통합점에 대한 세부사항은 본 명세서에서 이후에 설명된다.
전술한 바와 같이, 모델 출력은 트레이닝 및 예측 동안 제공자 시스템으로부터 소비자 시스템으로 송신될 수 있다. 제공자 시스템으로부터 소비자 시스템에 전달되는 모델 출력은, 예컨대, 확률 스코어, 신경망의 상단(즉, 로짓(logit))층 출력, 또는 둘 다의 조합을 포함할 수 있다. 일부 경우, 데이터는 또한, 제공자 입력 특징을 포함할 수 있다. 예컨대, 제공자 입력 특징 및 제공자 머신 러닝 모델에 의해 생성되는 대응하는 예측은, 데이터세트 쌍을 형성할 수 있다. 데이터세트 쌍은 감독형 학습을 위해 소비자 시스템에 전이될 수 있다. 스코어 또는 예측 값과 같은 모델 출력은, 제공자 머신 러닝 모델 설계 및 제공자 머신 러닝 모델의 입력 데이터 유형에 의존하여 여러 상이한 형식일 수 있다. 예컨대, 분류 모델의 경우, 모델 출력은 종류에 대한 예측 값, 및 예측 값의 확률을 포함할 수 있고; 회귀 모델의 경우, 모델 출력은 예측 수치 값을 포함할 수 있고; 이미지 분류 모델의 경우, 모델 출력은 이미지 내의 객체의 종류, 또는 특정 특징이 발견되었는지의 여부를 표시하는 부울 대수를 포함할 수 있다.
도 1은, 두 엔티티(예컨대, 제공자와 소비자) 사이의 데이터를 활용하는 종래의 아키텍처를 도시한다. 종래의 아키텍처에서, 데이터(예컨대, 소비자 데이터, 제공자 데이터), 모델 설계(예컨대, 모델 아키텍처), 모델 가중치(예컨대, 소비자 머신 러닝 모델의 가중치, 제공자 머신 러닝 모델의 가중치), 또는 코드 중 적어도 하나가 하나의 엔티티 또는 두 엔티티 모두에 노출된다.
도 2는, 본 발명의 일부 실시예에 따른, 제공자 시스템과 소비자 시스템 사이의 데이터를 활용하는 방법을 개략적으로 도시한다. 전술한 바와 같이, 제공자 머신 러닝 모델(203)에 의해 생성되는 모델 출력(205)은 소비자 시스템에 전달되어, 소비자 머신 러닝 모델(213)을 트레이닝하거나 소비자 머신 러닝 모델(213)의 배치 후에 예측하기 위한 입력 특징으로서 소비자 데이터(211)와 함께 사용될 수 있다. 향상된 모델 출력(215)이 생성될 수 있도록 소비자 머신 러닝 모델(213)의 성능, 정확도, 또는 품질이 개선될 수 있다. 제공자 데이터(201) 및 소비자 데이터(211)는 소비자 머신 러닝 모델의 트레이닝, 개발, 검증, 생산화, 및 배치에 걸쳐 제공자 시스템 및 소비자 시스템 상에 각각 격리되고 보안된 상태로 유지될 수 있다.
제공자 데이터(201)는, 제공자 시스템에서 액세스가능한 데이터 저장 유닛(207)(또는 데이터 저장소) 내에 저장될 수 있다. 데이터 저장 유닛(207)은 소비자 시스템에서 액세스가능하지 않을 수 있거나 액세스불가능할 수 있다. 데이터 저장소(207)는, 제공자 데이터를 저장하기 위한 로컬 저장소 또는 클라우드 저장소일 수 있다. 제공자 데이터는 제공자 머신 러닝 모델을 트레이닝하기 위한 트레이닝 데이터세트(예컨대, 특징 벡터, 레이블링된 데이터 등), 모델 설계(예컨대, 모델 아키텍처), 모델 가중치(예컨대, 하이퍼 파라미터, 제공자 머신 러닝 모델의 가중치), 제공자 모델 시스템의 컴포넌트의 입력 데이터 및 출력 데이터, 과거 데이터, 제공자 시스템과 연관된 코드, 및 본 명세서의 다른 부분에서 설명되는 바와 같은 다양한 다른 데이터를 포함할 수 있다.
유사하게, 소비자 데이터(211)는, 소비자 시스템에서 액세스가능한 데이터 저장 유닛(217)(또는 데이터 저장소) 내에 저장될 수 있다. 데이터 저장 유닛(217)은 제공자 시스템에서 액세스가능하지 않을 수 있거나 액세스불가능할 수 있다. 데이터 저장소(217)는, 소비자 데이터를 저장하기 위한 로컬 저장소 또는 클라우드 저장소일 수 있다. 소비자 데이터는 로컬 또는 비공개 데이터, 소비자 머신 러닝 모델을 트레이닝하기 위한 트레이닝 데이터세트(예컨대, 특징 벡터, 레이블링된 데이터, 제공자 시스템으로부터의 출력 데이터 등), 모델 설계(예컨대, 모델 아키텍처), 모델 가중치(예컨대, 하이퍼 파라미터, 소비자 머신 러닝 모델의 가중치 등), 소비자 모델 시스템의 컴포넌트의 입력 데이터 및 출력 데이터, 과거 데이터(예컨대, 필드 내 데이터, 예측 결과, 평가 데이터, 성능 메트릭 등), 소비자 머신 러닝 모델을 트레이닝하기 위한 파라미터(예컨대, 성능 메트릭에 대한 문턱치 등), 소비자 시스템과 연관된 코드, 및 본 명세서의 다른 부분에서 설명되는 바와 같은 다양한 다른 데이터를 포함할 수 있다.
제공자 시스템으로부터 소비자 시스템에 전달되는 모델 출력(205)은, 예컨대, 확률 스코어, 신경망의 상단(예컨대, 로짓)층 출력, 또는 둘 다의 조합을 포함할 수 있다. 일부 경우, 모델 출력(205)은 또한, 제공자 입력 특징을 포함할 수 있다. 그러한 제공자 입력 특징은 소비자 머신 러닝 모델의 트레이닝을 위해 사용될 수 있다. 예컨대, 제공자 입력 특징은, 소비자 머신 러닝 모델의 트레이닝을 위한 레이블링된 데이터 또는 입력 특징으로서 사용될 수 있는 실측 데이터(ground-truth data)(예컨대, 레이블링된 데이터)를 포함할 수 있다. 그러한 경우, 레이블링된 데이터 및 모델 출력은 감독형 학습을 위해 소비자 시스템에 전이될 수 있다. 스코어 또는 예측 값과 같은 모델 출력은, 제공자 머신 러닝 모델 설계 및 제공자 머신 러닝 모델의 입력 데이터 유형에 의존하여 여러 상이한 형식일 수 있다. 예컨대, 분류 모델의 경우, 모델 출력은 종류에 대한 예측 값, 및 예측 값의 확률을 포함할 수 있고; 회귀 모델의 경우, 모델 출력은 예측 수치 값을 포함할 수 있고; 이미지 분류 모델의 경우, 모델 출력은 이미지 내의 객체의 종류, 또는 특정 특징이 발견되었는지의 여부를 표시하는 부울 대수를 포함할 수 있다.
도 3은, 본 발명의 실시예에 따른, 직렬화된 머신 러닝 시스템(300)을 개략적으로 도시한다. 일부 실시예에서, 직렬화된 머신 러닝 시스템(300)은 하나 이상의 제공자 시스템(301) 및 하나 이상의 소비자 시스템(311)을 포함할 수 있다. 하나 이상의 제공자 시스템(301)에 의해 생성되는 모델 출력(307)은 통합점을 통해 하나 이상의 제공자 시스템(301)으로부터 하나 이상의 소비자 시스템(311)에 전달될 수 있다.
통합점은, 소비자 머신 러닝 모델(313)을 트레이닝하기 위한 입력 특징으로서 모델 출력(307)을 소비자 데이터세트(315)와 자동으로 통합할 수 있다. 통합점은 단방향성일 수 있다. 통합점은, 제공자 시스템(301)으로부터의 모델 출력을 소비자 시스템(311)에 전달하도록 구성될 수 있다. 통합점은 소프트웨어, 하드웨어, 펌웨어, 임베디드 하드웨어, 독립형 하드웨어, 애플리케이션 특유 하드웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 통합점은 제공자 시스템, 소비자 시스템, 또는 두 시스템 다 상에 제공될 수 있다. 제공자 데이터(305)와 소비자 데이터(315)가 제공자 시스템과 소비자 시스템 상에서 각각 격리되고 보안된 상태로 유지되도록, 통합점은 제공자 시스템(301)과 소비자 시스템(311) 사이의 느슨한 연결부로서 기능할 수 있다. 데이터(예컨대, 소비자 데이터, 제공자 데이터), 모델 설계(예컨대, 모델 아키텍처), 모델 가중치(예컨대, 소비자 머신 러닝 모델의 가중치, 제공자 머신 러닝 모델의 가중치), 및 제공자 및 소비자와 연관된 코드와 같은 정보는 서로 비가시적이다.
통합점은, 제공자 시스템에 의해 제공되는 출력 데이터 또는 트레이닝 샘플 데이터를 소비자 시스템의 로컬 데이터와 결합하도록 구성될 수 있다. 일부 경우, 제공자 시스템에 의해 제공되는 데이터와 소비자 시스템의 로컬 데이터는, 공통 특징 식별자(ID, identifier)와 같은 특정한 공통 특징에 의해 결합될 수 있다. 이는, 제공자의 데이터 또는 모델 콘텐츠를 노출시키지 않으면서 적응적이고 보편적인 방식으로 머신 러닝 모델 출력을 서빙하는 것 및 그 반대의 경우를 이롭게 허용한다. 통합점은, 아래에 놓이는 머신 러닝 모델/알고리즘의 아키텍처 또는 유형에 상관없이 제공자 시스템으로부터의 모델 출력을 소비자 시스템으로부터의 로컬 데이터에 적응식으로 통합할 수 있다. 예를 들어, 모바일 광고 애플리케이션에서, 소비자 비공개 데이터와 제공자 시스템에 의해 제공되는 트레이닝 샘플 데이터를 결합하기 위해, 모바일 디바이스 광고(Ad, advertising) ID와 같은 공통 특징 ID 및 퍼블리셔 이름이 사용될 수 있다. 예컨대, 클릭률(ctr, click-through rate) 예측에서, 제공자 시스템으로부터 전이되는 하나의 샘플 데이터세트는, (i) 모바일 디바이스 광고 ID, (ii) 광고 노출이 이루어진 퍼블리셔의 이름, (iii) 제공자 모델의 예측된 ctr, 및 (iv) 전환 결과(예컨대, 사용자가 클릭함 또는 클릭하지 않음, 랜딩 웹 페이지에서 사용자가 가입함 또는 가입하지 않음 등)를 포함할 수 있다. 일부 경우, 각 샘플 데이터세트에 대해, 소비자 시스템 또는 통합점은, 소비자의 트레이닝 데이터세트를 생성하기 위해, 소비자 비공개/로컬 데이터(예컨대, 각 모바일 광고 ID가 구매되는 제품, 모바일 광고 ID를 사용하는 전자 상거래 앱)로부터 유래되는 비공개 특징을 첨부할 수 있다. 예컨대, 비공개 특징 및 (iii) 제공자 모델의 예측된 ctr은 입력 특징을 형성할 수 있고, 제공자 시스템으로부터 전이되는 (iv) 전환 결과는, 소비자 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터로서 사용될 수 있다. 통합점은 또한, 도 6에 대해 본 명세서에서 이후에 설명된다.
제공자 머신 러닝 모델(303)과 소비자 머신 러닝 모델(313)은 동일한 목적을 갖지 않을 수 있다. 예컨대, 소비자 머신 러닝 모델은 광고 클릭, 제품 구매, 및 애플리케이션 설치와 같은 타겟 전환의 확률을 예측하도록 트레이닝될 수 있고, 제공자 머신 러닝 모델은 클릭률(ctr) 및 구매율 등과 같은 예측을 할 수 있다. 예를 들어, 제공자 머신 러닝 모델은 ctr을 예측할 수 있고, 소비자 머신 러닝 모델은 앱 설치 확률을 예측할 수 있다. 이러한 경우, 소비자 시스템에서 액세스가능하고 제공자 시스템에서 액세스불가능한 비공개 또는 로컬 데이터는, 적어도 앱 설치 레이블(예컨대, 광고된 앱을 사용자가 설치하거나 설치하지 않음)을 포함할 수 있다. 대안적으로 또는 추가적으로, 제공자 머신 러닝 모델(303)과 소비자 머신 러닝 모델(313)은 동일한 목적을 가질 수 있다. 예컨대, 제공자 머신 러닝 모델과 소비자 머신 러닝 모델 둘 다는 클릭 레이블(예컨대, 사용자가 클릭하거나 클릭하지 않음)을 사용하여 ctr을 예측할 수 있고, 비공개 데이터와 제공자 데이터 둘 다를 이용함으로써 예측 성능(예컨대, 정확도)이 개선될 수 있다.
제공자 머신 러닝 모델(303)과 소비자 머신 러닝 모델(313)은 동일한 아키텍처, 파라미터, 또는 다른 모델 설계 파라미터를 갖거나 갖지 않을 수 있다. 제공자 머신 러닝 모델(303)에 의해 제공되는 데이터(예컨대, 머신 러닝 모델 출력)는 각 머신 러닝 모델의 아키텍처, 유형, 또는 콘텐츠에 상관없이 보편적인 방식으로 소비자 머신 러닝 모델(313)에 의해 사용될 수 있다. 예컨대, 제공자 머신 러닝 모델(303)은 CNN 아키텍처를 가질 수 있고, 소비자 머신 러닝 모델(313)은 랜덤 포레스트 아키텍처를 가질 수 있다. 또 다른 예에서, 제공자 머신 러닝 모델(303)은 비감독형 학습 기법을 사용하여 트레이닝될 수 있고, 소비자 머신 러닝 모델(313)은 감독형 학습 기법을 사용하여 트레이닝될 수 있다.
도 4는, 본 명세서에서 제공되는 바와 같은 직렬화된 머신 러닝 시스템에서 수행되는 트레이닝 프로세스(400)의 예를 도시한다. 제공자 시스템은, 소비자 머신 러닝 모델의 트레이닝을 위해 소비자 시스템에 전이될 데이터를 생성하도록 구성될 수 있다(동작 401). 일부 경우, 전이될 데이터는 제공자 머신 러닝 모델 출력을 포함할 수 있다. 일부 경우, 데이터는, 제공자 입력 특징과 제공자 머신 러닝 모델에 의해 생성되는 모델 출력 둘 다를 포함할 수 있다. 예컨대, 제공자 입력 특징 및 대응하는 예측은 데이터세트 쌍을 형성할 수 있고, 데이터세트 쌍은 감독형 학습을 위해 소비자 시스템에 전이될 수 있다. 일부 경우, 제공자 머신 러닝 모델에 의해 생성되는 출력은, 감독형 학습을 위한 레이블링된 데이터로서 사용될 수 있다. 일부 경우, 제공자의 트레이닝 데이터세트의 레이블링된 데이터는 소비자 머신 러닝 모델의 트레이닝을 위한 레이블링된 데이터로서 사용될 수 있다. 대안적으로, 제공자 머신 러닝 모델에 의해 제공되는 데이터는 레이블링된 데이터를 포함하지 않을 수 있고, 데이터는 소비자 머신 러닝 모델에 대한 입력 특징의 생성을 위해 사용될 수 있다. 일부 경우, 소비자 시스템에 전이되는 데이터는 제공자의 신경망의 상단(예컨대, 로짓)층의 출력을 포함할 수 있다. 신경망 아키텍처의 경우, K레벨 신경망의 k층 내의 뉴런의 출력 벡터는 a_k = f_k(W_k'a_{k-1})로서 정의될 수 있고, 여기서 f_k(.)는 k층에 대한 활성화 함수이고, W_k는 모델 가중치의 행렬이고, a_0는 입력 계층(인코딩된 입력 특징)이다. 제공자 모델의 출력, 즉, 최종 예측(예컨대, 예측된 ctr)은 그러면 sigmoid (a_K'w_K)로서 계산되고, 여기서 w_K는 상단층에 대한 가중치 벡터이다. 이 예에서, 예측된 ctr 대신/또는 예측된 ctr에 더하여, 상단층의 출력 a_K가 소비자 시스템에 전이될 수 있다.
일부 경우, 소비자 시스템에 전이될 데이터는, 서비스 요청을 수신하는 데 응답하여 생성될 수 있다. 서비스 요청은, 원하는 모델 출력 또는 전이될 데이터를 표시할 수 있다. 일부 경우, 서비스 요청은, 모델 출력이 전송될 목적지(예컨대, 소비자 시스템 ID/주소, 소비자 머신 러닝 모델 ID 등), 요청의 목적(예컨대, 모델 트레이닝용, 예측용), 요청되는 데이터의 유형(예컨대, 데이터 결합을 위한 모델 출력, 모바일 디바이스 광고(Ad) ID와 같은 특징, 및 퍼블리셔 이름), 데이터세트의 양(예컨대, 전이될 데이터의 볼륨) 등에 대한 정보를 포함할 수 있다.
그다음으로, 소비자 머신 러닝 모델의 트레이닝을 위한 트레이닝 데이터세트의 생성을 위해 사용되도록 소비자 시스템에 데이터가 전이될 수 있다(동작 402). 데이터는 주기적으로 또는 주문형 방식으로 전이될 수 있다. 예컨대, 소비자 시스템에 데이터를 제공할 것을 제공자 시스템에 요청하는 지시를 수신할 때 데이터가 전이될 수 있다.
트레이닝 데이터세트 또는 평가 데이터세트를 형성하기 위해, 제공자 시스템으로부터 전이되는 데이터는 소비자 비공개 데이터와 결합될 수 있다(404). 소비자 머신 러닝 모델의 트레이닝을 위한 트레이닝 데이터세트 및/또는 평가 데이터세트는, 전이되는 데이터(제공자)와 소비자 입력 특징 둘 다로부터의 입력 특징을 포함할 수 있다. 본 명세서의 다른 부분에서 설명되는 바와 같이, 일부 경우, 제공자 머신 러닝 모델에 의해 제공되는 데이터의 적어도 부분은, 소비자 모델의 트레이닝(예컨대, 감독형 학습)을 위한 레이블링된 데이터로서 사용될 수 있다. 대안적으로, 제공자 머신 러닝 모델에 의해 제공되는 데이터는 레이블링된 데이터를 포함하지 않을 수 있고, 전이되는 데이터는 소비자 머신 러닝 모델에 대한 입력 특징의 생성을 위해 사용될 수 있다.
전이되는 데이터와 결합될 소비자 입력 특징은 복수의 입력 특징으로부터 선택될 수 있다(동작 403). 일부 경우, 각 모바일 광고 ID가 구매되는 제품, 모바일 광고 ID를 사용하는 전자 상거래 앱 등과 같은 복수의 입력 특징을 추출하기 위해 소비자 데이터가 미리 프로세싱될 수 있다. 트레이닝 데이터세트 또는 평가 데이터세트는 또한, 웹사이트 전환(예컨대, 광고 클릭, 제품 구매, 및 애플리케이션 설치 등)과 같은 소비자 비공개 데이터로부터 유래되는 레이블링된 데이터를 포함할 수 있다. 일부 경우, 하나 이상의 소비자 입력 특징의 초기 세트가 선택될 수 있다. 소비자 머신 러닝 모델의 성능이 충분하지 않다면(예컨대, 성능이 문턱치를 통과하지 않음), 새로운 트레이닝 데이터세트를 생성하기 위하여, 전이되는 데이터와의 결합을 위해 소비자 입력 특징의 상이한 세트가 선택될 수 있다. 기저 평가에 비해 모델 평가가 개선되어, 입력 특징의 최적의 세트가 결정될 수 있을 때까지 프로세스가 반복될 수 있다.
제공자 시스템에 의해 제공되는 데이터를 선택된 소비자 입력 특징과 결합함으로써 트레이닝 데이터세트가 생성될 수 있다. 일부 경우, 이들 데이터는 공통 특징 식별자(ID)에 의해 결합될 수 있다. 예를 들어, 소비자 입력 특징 데이터와 제공자 시스템에 의해 제공되는 트레이닝 샘플 데이터를 결합하기 위해, 모바일 디바이스 광고(Ad) ID와 같은 공통 특징 ID 및 퍼블리셔 이름이 사용될 수 있다. 예컨대, 클릭률(ctr) 예측에서, 제공자 시스템으로부터 전이되는 하나의 샘플 데이터세트는, (i) 모바일 디바이스 광고 ID, (ii) 광고 노출이 이루어진 퍼블리셔의 이름, (iii) 제공자 모델의 예측된 ctr, 및 (iv) 전환 결과(예컨대, 사용자가 클릭함 또는 클릭하지 않음, 웹사이트 전환율 등)를 포함할 수 있다. 일부 경우, 각 샘플 데이터세트에 대해, 소비자의 트레이닝 데이터세트를 생성하기 위해, 선택된 소비자 입력 특징(예컨대, 각 모바일 광고 ID가 구매되는 제품, 모바일 광고 ID를 사용하는 전자 상거래 앱)이 샘플 데이터세트에 첨부될 수 있다. 예컨대, 비공개 특징 및 (iii) 제공자 모델의 예측된 ctr은 입력 특징을 형성할 수 있고, 제공자 시스템으로부터 전이되는 (iv) 전환 결과는, 소비자 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터로서 사용될 수 있다.
트레이닝 프로세스(동작 405) 동안, 모델이 평가될 수 있고(동작 406), 하나 이상의 성능 메트릭이 계산될 수 있다. 일부 경우, 성능이 충분한지를 결정하기 위해, 평가는 기저 평가 또는 문턱치(제공자 모델 평가)와 비교될 수 있다(동작 407). 평가를 위한 성능 메트릭으로서 임의의 적합한 메트릭이 선택될 수 있다. 메트릭은 모델 및 데이터 유형, 목적, 애플리케이션 등에 기초하여 선택될 수 있다. 예컨대, 입력 데이터가 이미지 데이터를 포함한다면, 평가 메트릭은 PSNR(Peak-Signal-to-Noise-Ratio), 정규화된 RMSE(Root-Mean-Squared-Error), SSIM(Structural Similarity Index), 소프트맥스 교차 엔트로피 등을 포함할 수 있지만, 이들로 제한되지는 않는다.
일부 경우, 성능 메트릭이 계산되고 문턱치에 대해 비교될 수 있다(동작 407). 예컨대, 트레이닝된 분류기의 성능 메트릭은 소프트맥스 교차 엔트로피일 수 있고, 문턱치는 제공자 시스템의 분류기의 소프트맥스 교차 엔트로피일 수 있다. 문턱치 값은 고정된 값이거나, 미리 정의된 문턱치이거나, 동적으로 결정될 수 있다.
모델 평가가 기저 평가보다 더 낫거나 트레이닝된 모델의 성능이 문턱치를 통과한다면, 트레이닝된 모델은 예측을 위해 배치될 수 있다(동작 408). 모델 평가가 기저 평가보다 더 낫지 않다면, 새로운 트레이닝 데이터세트를 생성하기 위하여, 전이되는 데이터와의 결합을 위해 소비자 입력 특징의 상이한 세트가 선택될 수 있다. 기저 평가에 비해 모델 평가가 개선 때까지 프로세스가 반복될 수 있다(예컨대, 동작 403 내지 동작 407이 반복됨).
소비자 머신 러닝 모델의 트레이닝을 위한 입력 특징은 연속적으로 업데이트될 수 있다. 예를 들어, 제공자 시스템은 연속적으로 모델 출력을 생성하고, 출력을 소비자 시스템에 전달할 수 있다. 일부 경우, 소비자 시스템 상에서 수행되는 트레이닝 프로세스 동안 사용되고 있는 입력 특징은 주기적으로 업데이트될 수 있다. 대안적으로 또는 추가적으로, 모델 출력은 주문형 방식으로 소비자 시스템에 전달될 수 있다.
도 5는 일부 실시예에 따른 방법을 도시하지만, 다양한 실시예에 대한 많은 적응예가 존재한다는 것을 당업자는 인식할 것이다. 예컨대, 동작은 임의의 순서로 수행될 수 있다. 동작 중 일부가 제외될 수 있고, 동작 중 일부가 한 단계에서 동시에 수행될 수 있고, 동작 중 일부가 반복될 수 있고, 동작 중 일부가 다른 동작의 하위 단계를 포함할 수 있다. 예컨대, 제공자 머신 러닝 모델 및/또는 소비자 머신 러닝 모델의 트레이닝을 위해 비감독형 학습 또는 반감독형 학습이 사용될 수 있다. 그러한 경우, 트레이닝 프로세스는 적은 레이블링된 데이터를 요구할 수 있다. 방법은 또한, 본 명세서에서 제공되는 바와 같은 본 개시의 다른 양상에 따라서 수정될 수 있다.
도 5는 예측 프로세스(500)의 예를 도시한다. 제공되는 방법 및 시스템은, 제공자로부터 수신되는 데이터에 응답하여 소비자 모델 예측이 동적으로 업데이트되게 할 수 있다. 소비자 모델은, 제공자 시스템에 의해 제공되는 데이터 및 소비자 비공개 데이터에 기초하여 예측할 수 있다.
제공자 시스템은, 서비스 요청에 응답하여 소비자 시스템에 서빙될 입력 특징을 생성할 수 있다(동작 501). 서비스 요청은, 원하는 모델 출력을 표시할 수 있다. 일부 경우, 서비스 요청은, 모델 출력이 전송될 목적지(예컨대, 소비자 시스템 ID, 소비자 머신 러닝 모델 ID 등), 요청의 목적(예컨대, 모델 트레이닝용, 예측용), 요청되는 데이터의 유형(예컨대, 데이터 결합을 위한 모델 출력, 상단층 출력, 제공자 입력 특징, 모바일 디바이스 광고(Ad) ID와 같은 하나 이상의 공통 특징, 및 퍼블리셔 이름) 등에 대한 정보를 포함할 수 있다. 서비스 요청은, 예측을 하기 위한 임의의 서비스 요청일 수 있다. 예컨대, 서비스는, 클라우드 클라이언트의 캠페인을 광고하기 위한 광고 노출 입찰 요청(노출 기회)일 수 있다. 입찰 요청은, 사용자의 광고 ID, 사용자의 지리적 위치, 퍼블리셔 이름, 및 광고 크리에이티브 형식과 같은 사용자 및 광고 인벤토리에 대한 정보를 포함할 수 있다. 서비스 요청은, 입찰 ID, 사용자 광고 ID, 광고 인벤토리 ID, 사용자 위치, 및 퍼블리셔 이름과 같은 서비스 요청의 주요 속성 또는 특징 데이터를 포함할 수 있다.
제공자는 제공자 머신 러닝 모델 사용하여 예측을 생성할 수 있다(동작 502). 일부 경우, 예측은, 소비자 시스템에서 액세스불가능한 제공자 데이터에 기초하여 생성될 수 있다. 그 후, 제공자 머신 러닝 모델 출력(예컨대, 예측)이 소비자 시스템에 전달될 수 있다(동작 503). 소비자 시스템은, 공통 특징 ID와 같은 공개 입력 특징과 함께 제공자 시스템으로부터 송신되는 데이터를 수신할 수 있다(동작 504). 그다음으로, 소비자 시스템은, 동작 504에서 수신되는 데이터에 소비자 입력 특징을 첨부하고(동작 505), 소비자 머신 러닝 모델을 사용하여 예측을 생성할 수 있다(동작 506).
제공자 머신 러닝 모델에 의해 생성되는 출력은, 임의의 적합한 빈도로 소비자 시스템에 제공될 수 있다. 예컨대, 각 예측에 대해 새로운 모델 출력이 요청 및 제공될 수 있다. 또 다른 예에서, 다수의 예측에 대해 새로운 모델 출력이 요청 및 제공될 수 있다.
본 개시의 방법 및 시스템은 임의의 유형의 머신 러닝 알고리즘, 아키텍처, 또는 접근법에 적용될 수 있다는 점에 유의해야 한다. 제공자 시스템과 소비자 시스템은 동일한 머신 러닝 알고리즘을 사용할 수 있다. 제공자 시스템과 소비자 시스템은 상이한 머신 러닝 알고리즘을 사용할 수 있다. 머신 러닝 알고리즘은, 신경망과 같은 임의의 유형으로 구현될 수 있다. 신경망의 예는 심층 신경망, 컨볼루션 신경망(CNN, convolutional neural network), 및 재귀 신경망(RNN, recurrent neural network)을 포함한다. 머신 러닝 알고리즘은, 서포트 벡터 머신(SVM, support vector machine), 나이브 베이즈 분류, 선형 회귀, 분위수 회귀, 로지스틱 회귀, 랜덤 포레스트, 신경망, CNN, RNN, 그래디언트 부스팅된 분류기 또는 억제기, 및 또 다른 감독형이나 비감독형 머신 러닝 알고리즘(예컨대, 생성적 적대 신경망(GAN, generative adversarial network), Cycle-GAN 등) 중 하나 이상을 포함할 수 있다.
본 개시의 방법 및 시스템은 다양한 시나리오에 적용될 수 있다. 한 예에서, 제공자는, 클라우드 서비스로서의 프로그램적 입찰 플랫폼을 게임 퍼블리셔 및 전자 상거래 기업과 같은 클라이언트에 제공하는 온라인 광고 회사일 수 있다. 소비자는, 광고 클라우드 서비스 제공자와는 공유할 수 없는 독자적인 사용자 데이터를 갖는 하나 이상의 클라이언트, 게임 퍼블리셔, 및 전자 상거래 기업을 포함할 수 있다. 광고 클라우드 서비스 제공자는, 클라이언트(소비자)가 광고 캠페인을 설정 및 운영하고, 머신 러닝 모델을 사용하여 실시간 입찰 거래소로부터 광고 인벤토리를 구매하고, 광고 캠페인의 결과를 추적할 수 있는 플랫폼을 제공할 수 있다. 그러한 온라인 광고 캠페인에서, 올바른 사용자를 어떻게 타게팅할 것인지 및 다양한 광고 인벤토리(광고 노출)의 가격을 어떻게 책정할 것인지의 결정은, 광고 클릭, 제품 구매, 및 애플리케이션 설치와 같은 타겟 전환의 확률을 예측할 수 있는 머신 러닝 모델에 의해 이루어진다. 정확한 머신 러닝 모델을 구축하는 것은, 사용자 행동 및 광고 인벤토리의 유효성에 관한 대량의 데이터를 요구할 수 있다. 온라인 광고에 대한 사용자의 응답 및 광고 인벤토리의 유효성은, (많은) 광고 캠페인을 실행함으로써 학습될 수 있기 때문에, 그러한 데이터를 취득하기 위해서는 시간뿐만 아니라 많은 (광고) 지출 또한 소요된다. 광고 클라우드 클라이언트(소비자)가 이러한 과제를 극복하도록 돕기 위해, 그리고 처음부터 성공적인 머신 러닝 모델 및 광고 비즈니스를 구축하기 위해, 광고 클라우드 서비스 제공자는 서비스로서의 머신 러닝 예측을 제공할 수 있다. 제공자는 성공적인 온라인 광고 캠페인을 위한 대량의 데이터 및 진보된 머신 러닝 모델을 이미 가지고 있다. (소비자의 독자적인 데이터 없이) 제공자의 독자적인 데이터 및 머신 러닝 모델을 사용하여, 제공자는, 광고 클라우드 클라이언트의 캠페인을 위해 인입되는 입찰 요청(노출 기회)에 대해 클릭률 및 구매율 등을 예측할 수 있다. 그 후, 제공자의 시스템은, 예측된 클릭률 및/또는 심층 신경망의 상단층의 출력과 같은 제공자의 머신 러닝 모델로부터의 출력과 함께 광고 인벤토리 ID, 사용자 위치, 및 사용자 ID와 같은 입찰 요청의 주요 속성을 소비자의 시스템에 전송한다. 소비자의 시스템은 제공자의 예측 결과를 취하고, 이를 소비자의 독자적인 사용자 데이터와 결합하고, 결합된 데이터세트를 제2 머신 러닝 모델에 대한 입력으로서 사용한다. 제2 머신 러닝 모델의 정확도는 제공자의 제1 머신 러닝 모델에 비해 개선될 수 있다. 제2 머신 러닝 모델의 성능은, 제공자의 머신 러닝 모델의 성능 및 소비자 시스템의 독자적인 사용자 데이터만을 사용하여 트레이닝된 머신 러닝 모델의 성능에 비해 개선될 수 있다. 제공자의 독자적인 데이터 및 모델 설계는 소비자의 시스템에 가시적이지 않으며, 소비자의 독자적인 데이터 및 모델 설계는 제공자의 시스템에 가시적이지 않다.
도 6은, 직렬화된 머신 러닝 시스템(600) 내에서 소비자 시스템(610)과 제공자 시스템(620)을 인터페이싱하는 통합 컴포넌트(630)의 예를 도시한다. 제공자 시스템(620)은 통합 컴포넌트(630)를 통해 하나 이상의 소비자 시스템(610, 610-N)에 모델 출력(622, 622-N)을 제공할 수 있다. 하나 이상의 소비자 시스템(610, 610-N)에 제공되는 모델 출력(622, 622-N)은 동일하지 않을 수 있다. 예컨대, 하나 이상의 소비자 시스템(610, 610-N)에 제공되는 모델 출력(622, 622-N)은 상이한 소비자 모델의 트레이닝을 위해 사용될 수 있다. 통합 컴포넌트(630)는, 본 명세서의 다른 부분에서 설명되는 것과 같은 통합점과 동일할 수 있다. 일부 경우, 통합 컴포넌트(630)는, 소비자 머신 러닝 모델의 트레이닝을 위하여 그리고/또는 예측을 위하여, 입력 데이터(632, 632-N)를 형성하기 위해 소비자 비공개 데이터와 모델 출력(622, 622-N)을 결합하도록 구성될 수 있다.
제공자 시스템(620)은 다수의 컴포넌트를 포함할 수 있다. 일부 실시예에서, 다수의 컴포넌트는 모델 예측 모듈(621), 모델 트레이닝 모듈(623), 사용자 인터페이스 모듈(625), 및 데이터 통신 모듈(627)을 포함할 수 있지만, 이들로 제한되지는 않는다.
모델 예측 모듈(621)은, 트레이닝된 모델을 사용하여 예측하도록 구성될 수 있다. 모델 출력(예컨대, 예측)(622)은 소비자 학습 모듈의 트레이닝을 위해 그리고/또는 도 4 및 도 5에 대해 개시된 방법과 일관된 추론을 위해 소비자 시스템(610)에 전이될 수 있다. 예컨대, 소비자 머신 러닝 모델이 예측을 위해 배치될 때, 모델 예측 모듈(621)은, 소비자 머신 러닝 모델에 의해 더 프로세싱되는 입력 데이터(632)의 생성을 위해 사용될 모델 출력을 생성하기 위하여 제공자 머신 러닝 모델을 실행할 수 있다.
모델 트레이닝 모듈(623)은, 하나 이상의 제공자 머신 러닝 모델을 트레이닝하도록 구성될 수 있다. 하나 이상의 제공자 머신 러닝 모델은 제공자 데이터에 기초하여 트레이닝될 수 있다. 제공자 데이터는 데이터베이스(629)와 같은 데이터 저장소 내에 저장될 수 있다.
사용자 인터페이스 모듈(625)은, 사용자 디바이스 상에서 실행되는 사용자 인터페이스를 제공하도록 구성될 수 있다. 일부 경우, 사용자 또는 소비자는, 모델 출력 서비스를 획득하기 위해 제공자 모델 세트로부터 모델을 선택하도록 허용될 수 있다. 예를 들어, 사용자는, 요청되는 애플리케이션 필드(예컨대, 클릭률 예측), 모델 출력의 요청되는 데이터 유형, 또는 적절한 제공자 머신 러닝 모델을 선택하기 위한 다른 정보를 입력할 수 있다. 사용자는 그래픽 사용자 인터페이스(GUI, graphical user interface) 및 웹 기반 사용자 인터페이스를 통해 서비스를 선택할 수 있다.
그래픽 사용자 인터페이스(GUI)는, 텍스트 기반 인터페이스, 타이핑형 커맨드 레이블, 또는 텍스트 탐색이 아닌, 2차 표기와 같은 그래픽 아이콘 및 시각적 표시기를 통해 사용자가 전자 디바이스와 상호작용할 수 있게 하는 인터페이스의 유형이다. GUI에서의 액션은 일반적으로 그래픽 요소의 직접적인 조작을 통해 수행된다. 컴퓨터에 더하여, GUI는 MP3 플레이어, 휴대용 미디어 플레이어, 게이밍 디바이스, 및 소형 가정용, 사무용, 및 산업용 장비와 같은 핸드헬드 디바이스에서 발견될 수 있다. GUI는 소프트웨어, 소프트웨어 애플리케이션, 웹 브라우저 등 내에 제공될 수 있다. GUI는 사용자 디바이스 또는 소비자 시스템(예컨대, 모바일 디바이스, 개인용 컴퓨터, 개인용 디지털 보조기구, 클라우드 컴퓨팅 시스템 등) 상에 디스플레이될 수 있다. GUI는 모바일 애플리케이션 또는 웹 애플리케이션을 통해 제공될 수 있다.
일부 경우, 그래픽 사용자 인터페이스(GUI) 또는 사용자 인터페이스는 디스플레이 상에 제공될 수 있다. 디스플레이는 터치스크린이거나 그렇지 않을 수 있다. 디스플레이는 발광 다이오드(LED, light-emitting diode) 스크린, 유기 발광 다이오드(OLED, organic light-emitting diode) 스크린, 액정 디스플레이(LCD, liquid crystal display) 스크린, 플라즈마 스크린, 또는 임의의 다른 유형의 스크린일 수 있다. 디스플레이는, 애플리케이션을 통해(예컨대, 사용자 디바이스 또는 소비자 시스템 상에서, 또는 클라우드 상에서 실행되는 애플리케이션 프로그래밍 인터페이스(API, application programming interface)를 통해) 렌더링되는 사용자 인터페이스(UI) 또는 그래픽 사용자 인터페이스(GUI)를 표시하도록 구성될 수 있다.
데이터 통신 모듈(627)은, 제공자 시스템으로부터의 데이터를 소비자 시스템에 송신하도록 구성될 수 있다. 일부 경우, 데이터 통신 모듈은 송신 규칙의 세트에 기초하여 데이터를 송신할 수 있다. 예컨대, 모델 출력(622, 622-N)의 서빙을 위해 하나 이상의 규칙이 설정될 수 있다. 송신 규칙의 세트는 송신 빈도, 송신될 데이터(예컨대, 데이터의 선택, 데이터의 볼륨, 배치(batch) 데이터, 스트림 데이터 등), 송신의 목적지 등에 대한 정보를 포함할 수 있다. 예컨대, 요청에 응답하여 모델 출력을 송신하는 빈도가 송신 규칙 내에 설정될 수 있다. 모델 출력 또는 데이터의 송신은, 소비자 머신 러닝 모델에 의해 이루어지는 각 예측에 대해, 또는 미리 결정된 수의 예측에 대해 수행될 수 있다. 또 다른 예에서, 모델 출력 또는 데이터가 송신될 목적지(예컨대, 소비자 모델 ID, 소비자 시스템 ID/주소 등)가 규칙 내에 설정될 수 있다. 송신 규칙은 또한, 데이터가 어떻게 송신되어야 하는지, 예를 들어 (예컨대, 트레이닝을 위한) 배치 데이터 또는 (예컨대, 예측을 위한) 데이터 스트림의 형태로 송신되어야 하는지를 표시할 수 있다. 일부 경우, 송신 규칙의 세트는 제공자 시스템에 의해 자동으로 설정될 수 있다. 대안적으로 또는 추가적으로, 사용자 디바이스 상에서 실행되는 GUI 또는 웹 브라우저를 통해 소비자 또는 사용자에 의해 하나 이상의 송신 규칙이 설정될 수 있다.
데이터베이스(629)는 제공자 시스템(620)에서 액세스가능할 수 있다. 데이터베이스(629)는 소비자 시스템(610)에서 액세스불가능할 수 있다. 데이터베이스(629)는 제공자 머신 러닝 모델을 트레이닝하기 위한 트레이닝 데이터세트(예컨대, 특징 벡터, 레이블링된 데이터 등), 모델 설계(예컨대, 모델 아키텍처), 모델 가중치(예컨대, 하이퍼 파라미터, 제공자 머신 러닝 모델의 가중치 등), 제공자 모델 시스템의 컴포넌트의 입력 데이터 및 출력 데이터, 과거 데이터(예컨대, 모바일 디바이스 광고 ID, 퍼블리셔의 이름 등, 전환 결과), 제공자 시스템과 연관된 코드, 및 다양한 다른 데이터와 같은 제공자 데이터를 저장할 수 있다. 일부 경우, 데이터베이스는 또한, 전술한 바와 같은 송신 규칙에 대한 데이터를 저장할 수 있다.
소비자 시스템(610)은 다수의 컴포넌트를 포함할 수 있다. 일부 실시예에서, 다수의 컴포넌트는 모델 예측 모듈(611), 모델 트레이닝 모듈(613), 및 데이터 통신 모듈(615)을 포함할 수 있지만, 이들로 제한되지는 않는다.
모델 예측 모듈(611)은, 트레이닝된 소비자 모델을 사용하여 예측하도록 구성될 수 있다. 모델 예측 모듈은, 도 4 및 도 5에 대해 개시된 방법과 일관된 추론을 위해 제공자 시스템에 의해 제공되는 모델 출력(예컨대, 예측)(622)을 수신할 수 있다. 예컨대, 소비자 머신 러닝 모델이 예측을 위해 배치될 때, 모델 출력(622, 622-N)과 소비자 비공개 데이터 둘 다에 기초하여 생성되는 입력 데이터(632, 632-N)가, 예측을 위해, 트레이닝된 소비자 머신 러닝 모델에 공급될 수 있다.
모델 트레이닝 모듈(613)은, 하나 이상의 소비자 머신 러닝 모델을 트레이닝하도록 구성될 수 있다. 하나 이상의 소비자 머신 러닝 모델은, 본 명세서의 다른 부분에서 설명되는 바와 같이, 제공자 시스템에 의해 제공되는 데이터 및 소비자 로컬 데이터에 기초하여 트레이닝될 수 있다. 소비자 비공개 또는 로컬 데이터는 데이터베이스(617)와 같은 데이터 저장소 내에 저장될 수 있다.
소비자 시스템(610)은 데이터 통신 모듈(615)을 선택적으로 포함할 수 있다. 데이터 통신 모듈(615)은, 제공자 시스템으로부터의 데이터를 수신하도록 구성될 수 있다. 데이터 통신 모듈(615)은 또한 통합 모듈(630)에 통합되거나 통합 모듈(630)의 부분일 수 있다는 점에 유의해야 한다.
시스템의 데이터베이스(629, 617), 데이터 저장소(207, 217)는 임의의 적합한 데이터베이스 기법을 이용할 수 있다. 예를 들어, 질의 데이터, 트레이닝 데이터세트, 과거 데이터, 예측 모델 또는 알고리즘을 저장하기 위해 SQL(structured query language) 또는 "NoSQL" 데이터베이스가 이용될 수 있다. 데이터베이스 중 일부는, 어레이, 해시, (링크된) 리스트, 구조체, 구조화된 텍스트 파일(예컨대, XML), 테이블, JSON(JavaScript Object Notation), 및/또는 NOSQL 등과 같은 다양한 표준 데이터 구조를 사용하여 구현될 수 있다. 그러한 데이터 구조는 메모리 및/또는 (구조화된) 파일 내에 저장될 수 있다. 또 다른 대안에서, 객체 지향 데이터베이스가 사용될 수 있다. 객체 데이터베이스는, 공통 속성에 의해 함께 그룹화 및/또는 링크되는 다수의 객체 수집을 포함할 수 있으며, 이들은 일부 공통 속성에 의해 다른 수집에 관련될 수 있다. 객체는 단지 데이터가 아니라 주어진 객체 내에 캡슐화된 다른 유형의 기능을 가질 수 있다는 점을 제외하면, 객체 지향 데이터베이스는 관계형 데이터베이스와 유사하게 수행한다. 일부 실시예에서, 데이터베이스는, 데이터를 표현 및 저장하기 위한 노드, 에지, 및 특성을 갖는 질의를 위한 그래프 구조를 사용하는 그래프 데이터베이스를 포함할 수 있다. 본 발명의 데이터베이스가 데이터 구조로서 구현된다면, 본 발명의 데이터베이스의 사용은, 본 발명의 컴포넌트와 같은 또 다른 컴포넌트에 통합될 수 있다. 또한, 데이터베이스는 데이터 구조, 객체, 및 관계형 구조의 혼합물로서 구현될 수 있다. 변형예에서 데이터베이스는 표준 데이터 프로세싱 기법을 통해 통합 및/또는 분산될 수 있다. 데이터베이스의 부분, 예를 들어, 테이블은 내보내지거나 가져와질 수 있으며, 따라서 탈중앙화 및/또는 통합될 수 있다.
통합 컴포넌트(630)는, 소비자 머신 러닝 모델의 트레이닝을 위하여 그리고/또는 예측을 위하여 사용될 수 있는 입력 데이터(632, 632-N)를 형성하기 위해 소비자 비공개 데이터와 모델 출력(622, 622-N)을 결합할 수 있다. 통합 컴포넌트는, 전술한 바와 같은 방법을 사용하여 데이터를 결합하도록 구성될 수 있다. 예컨대, 트레이닝 페이즈 동안, 제공자 시스템에 의해 제공되는 데이터는, 선택된 소비자 입력 특징과 결합될 수 있다. 통합 컴포넌트(630)는, 제공자 시스템으로부터 전이되는 데이터와 결합될 하나 이상의 소비자 입력 특징을 선택하도록 구성될 수 있다. 일부 경우, 이들 데이터는 공통 특징 식별자(ID)에 의해 결합될 수 있다. 예를 들어, 소비자 입력 특징 데이터와 제공자 시스템에 의해 제공되는 트레이닝 샘플 데이터를 결합하기 위해, 모바일 디바이스 광고(Ad) ID와 같은 공통 특징 ID 및 퍼블리셔 이름이 사용될 수 있다. 예컨대, 클릭률(ctr) 예측에서, 제공자 시스템으로부터 전이되는 하나의 샘플 데이터세트는, (i) 모바일 디바이스 광고 ID, (ii) 광고 노출이 이루어진 퍼블리셔의 이름, (iii) 제공자 모델의 예측된 ctr, 및 (iv) 전환 결과(예컨대, 사용자가 클릭함 또는 클릭하지 않음, 웹사이트 전환율 등)를 포함할 수 있다. 일부 경우, 각 샘플 데이터세트에 대해, 소비자의 트레이닝 데이터세트를 생성하기 위해, 선택된 소비자 입력 특징(예컨대, 각 모바일 광고 ID가 구매되는 제품, 모바일 광고 ID를 사용하는 전자 상거래 앱)이 샘플 데이터세트에 첨부될 수 있다. 예컨대, 비공개 특징 및 (iii) 제공자 모델의 예측된 ctr은 입력 특징을 형성할 수 있고, 제공자 시스템으로부터 전이되는 (iv) 전환 결과는, 소비자 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터로서 사용될 수 있다.
통합 컴포넌트는, 제공자 시스템과 소비자 시스템 둘 다를 인터페이싱하는 독립형 컴포넌트로서 도시되어 있지만, 통합 컴포넌트는 제공자 시스템 및/또는 소비자 시스템의 부분일 수 있다는 점에 유의해야 한다.
통합 컴포넌트, 소비자 시스템, 제공자 시스템, 소비자 시스템 또는 제공자 시스템의 컴포넌트는 소프트웨어, 하드웨어, 펌웨어, 임베디드 하드웨어, 독립형 하드웨어, 애플리케이션 특유 하드웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 통합 컴포넌트, 제공자 시스템 및 그 컴포넌트, 소비자 시스템 및 그 컴포넌트, 및 본 명세서에서 설명되는 기법은 디지털 전자 회로부, 집적 회로, 특수 설계 ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이들 시스템, 디바이스, 및 기법은, 특수 목적 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어를 수신하고 이들에 데이터 및 명령어를 송신하도록 커플링되는 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램으로의 구현을 포함할 수 있다. 이들 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드로도 공지되어 있음)은, 프로그래밍가능 프로세서용 기계 명령어를 포함할 수 있으며, 상위 수준의 절차적 프로그래밍 언어 및/또는 객체 지향 프로그래밍 언어로, 그리고/또는 어셈블리어/기계어로 구현될 수도 있다. 본 명세서에서 사용되는 "기계 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어는, 기계 명령어 및/또는 데이터를 프로그래밍가능 프로세서에 제공하기 위해 사용되는 임의의 컴퓨터 프로그램 제품, 장치, 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 또는 PLD(Programmable Logic Device))를 지칭한다.
일부 경우, 본 명세서에서 설명되는 방법과 일관되는 하나 이상의 기능 또는 동작은, 예를 들어 웹 서비스 모델의, 클라우드 서비스로서 배치될 수 있는 소프트웨어 애플리케이션으로서 제공될 수 있다. 클라우드 컴퓨팅 자원은 물리적 또는 가상 컴퓨팅 자원(예컨대, 가상 머신)일 수 있다. 일부 실시예에서, 클라우드 컴퓨팅 자원은 저장 자원(예컨대, SAN(Storage Area Network), NFS(Network File System), 또는 Amazon S3.RTM), 네트워크 자원(예컨대, 방화벽, 로드 밸런서, 또는 프록시 서버), 내부 비공개 자원, 외부 비공개 자원, 보안 공개 자원, IaaS(infrastructure-as-a-service) 자원, PaaS(platform-as-a-service) 자원, 또는 SaaS(software-as-a-service) 자원일 수 있다. 따라서, 일부 실시예에서, 제공되는 클라우드 컴퓨팅 서비스는, 비공개 또는 상용(예컨대, 공개) 클라우드 서비스 제공자에 의해 제공되는 IaaS, PaaS, 또는 SaaS를 포함할 수 있다.
컴퓨터 시스템
본 명세서에서 설명되는 제공자 시스템, 소비자 시스템, 통합 컴포넌트, 또는 프로세스는 하나 이상의 프로세서에 의해 구현될 수 있다. 일부 실시예에서, 하나 이상의 프로세서는, FPGA(field programmable gate array), ASIC(application-specific integrated circuit), 및/또는 하나 이상의 ARM(Advanced RISC Machine) 프로세서와 같은 미세 공간 아키텍처의 형태의 프로그래밍가능 프로세서(예컨대, CPU(central processing unit), GPU(graphic processing unit), 범용 프로세싱 유닛, 또는 마이크로컨트롤러)일 수 있다. 일부 실시예에서, 프로세서는 컴퓨터 시스템의 프로세싱 유닛일 수 있다. 도 7은, 직렬화된 머신 러닝 시스템을 구현하도록 프로그래밍되거나 다르게 구성되는 컴퓨터 시스템(701)을 도시한다. 컴퓨터 시스템(701)은 본 개시의 다양한 양상을 조절할 수 있다.
컴퓨터 시스템(701)은, 싱글 코어 또는 멀티 코어 프로세서이거나 병렬 프로세싱을 위한 복수의 프로세서일 수 있는 중앙 프로세싱 유닛(CPU(central processing unit), 또한 본 명세서에서, "프로세서" 및 "컴퓨터 프로세서")(705)을 포함한다. 컴퓨터 시스템(701)은 또한, 메모리 또는 메모리 위치(710)(예컨대, 랜덤 액세스 메모리, 리드 온리 메모리, 플래시 메모리), 전자 저장 유닛(715)(예컨대, 하드 디스크), 하나 이상의 다른 시스템과 통신하기 위한 통신 인터페이스(720)(예컨대, 네트워크 어댑터), 및 캐시, 다른 메모리, 데이터 저장 및/또는 전자 디스플레이 어댑터와 같은 주변 디바이스(725)를 포함한다. 메모리(710), 저장 유닛(715), 인터페이스(720), 및 주변 디바이스(725)는, 마더보드와 같은 통신 버스(실선)를 통해 CPU(705)와 통신한다. 저장 유닛(715)은, 데이터를 저장하기 위한 데이터 저장 유닛(또는 데이터 저장소)일 수 있다. 컴퓨터 시스템(701)은 통신 인터페이스(720)를 통해 컴퓨터 네트워크("네트워크")(730)에 동작가능하게 커플링될 수 있다. 네트워크(730)는 인터넷, 인트라넷 및/또는 엑스트라넷, 또는 인터넷과 통신하는 인트라넷 및/또는 엑스트라넷일 수 있다. 일부 경우에서의 네트워크(730)는 전기통신 및/또는 데이터 네트워크이다. 네트워크(730)는, 클라우드 컴퓨팅과 같은 분산 컴퓨팅을 가능케 할 수 있는 하나 이상의 컴퓨터 서버를 포함할 수 있다. 네트워크(730)는, 일부 경우 컴퓨터 시스템(701)을 통해, 컴퓨터 시스템(701)에 커플링된 디바이스가 클라이언트 또는 서버로서 행동하는 것을 가능케 수 있는 피어-투-피어 네트워크를 구현할 수 있다.
CPU(705)는, 프로그램 또는 소프트웨어 내에 수록될 수 있는 기계 판독가능 명령어의 시퀀스를 실행할 수 있다. 명령어는 메모리(710)와 같은 메모리 위치 내에 저장될 수 있다. 명령어는 CPU(705)에 지시될 수 있고, 명령어는 후속적으로, 본 개시의 방법을 구현하도록 CPU(705)를 프로그래밍하거나 다르게 구성할 수 있다. CPU(705)에 의해 수행되는 동작의 예는, 페치(fetch), 디코드(decode), 실행(execute), 및 후기록(writeback)을 포함할 수 있다.
CPU(705)는 집적 회로와 같은 회로의 부분일 수 있다. 시스템(701)의 하나 이상의 다른 컴포넌트가 회로 내에 포함될 수 있다. 일부 경우, 회로는 애플리케이션 특유 집적 회로(ASIC, application specific integrated circuit)이다.
저장 유닛(715)은, 드라이버, 라이브러리, 및 저장된 프로그램과 같은 파일을 저장할 수 있다. 저장 유닛(715)은 사용자 데이터, 예컨대, 사용자 선호사항 및 사용자 프로그램을 저장할 수 있다. 일부 경우에서의 컴퓨터 시스템(701)은, 인트라넷 또는 인터넷을 통해 컴퓨터 시스템(701)과 통신하는 원격 서버 상에 위치된 것과 같은, 컴퓨터 시스템(701) 외부에 있는 하나 이상의 추가적인 데이터 저장 유닛을 포함할 수 있다.
컴퓨터 시스템(701)은 네트워크(730)를 통해 하나 이상의 원격 컴퓨터 시스템과 통신할 수 있다. 예를 들어, 컴퓨터 시스템(701)은 사용자의 원격 컴퓨터 시스템(예컨대, 사용자 디바이스)과 통신할 수 있다. 원격 컴퓨터 시스템의 예는 개인용 컴퓨터(예컨대, 휴대용 PC), 슬레이트 또는 태블릿 PC(예컨대, Apple® iPad, Samsung® 갤럭시 탭), 전화기, 스마트 폰(예컨대, Apple® iPhone, Android 지원 디바이스, Blackberry®), 또는 개인용 디지털 보조기구를 포함한다. 사용자는 네트워크(730)를 통해 컴퓨터 시스템(701)에 액세스할 수 있다.
본 명세서에서 설명되는 바와 같은 방법은, 예컨대, 메모리(710) 또는 전자 저장 유닛(715)과 같은, 컴퓨터 시스템(701)의 전자 저장 위치 상에 저장된 기계(예컨대, 컴퓨터 프로세서) 실행가능 코드를 통해 구현될 수 있다. 기계 실행가능 또는 기계 판독가능 코드는 소프트웨어의 형태로 제공될 수 있다. 사용 동안, 코드는 프로세서(705)에 의해 실행될 수 있다. 일부 경우, 코드는, 프로세서(705)에 의한 준비된 액세스를 위해, 저장 유닛(715)으로부터 리트리빙(retrieving)되고 메모리(710) 상에 저장될 수 있다. 일부 상황에서, 전자 저장 유닛(715)은 사용불가능하게 될 수 있고, 기계 실행가능 명령어는 메모리(710) 상에 저장된다.
코드는, 코드를 실행하도록 적응된 프로세서를 갖는 기계와의 사용을 위해 미리 컴파일링 및 구성될 수 있거나, 런타임 동안 컴파일링될 수 있다. 코드는, 미리 컴파일링되는 방식 또는 실행 시 컴파일링되는 방식으로 코드가 실행되는 것을 가능케 하도록 선택될 수 있는 프로그래밍 언어로 공급될 수 있다.
컴퓨터 시스템(701)과 같은, 본 명세서에서 제공되는 시스템 및 방법의 양상은 프로그래밍으로 구체화될 수 있다. 기술의 다양한 양상은, 통상적으로 기계(또는 프로세서) 실행가능 코드의 형태, 및/또는 일 유형의 기계 판독가능 매체에서 반송되거나 그러한 매체에 수록되는 연관된 데이터의 형태인 "제품" 또는 "제조품"으로서 생각될 수 있다. 기계 실행가능 코드는, 메모리(예컨대, 리드 온리 메모리, 랜덤 액세스 메모리, 플래시 메모리) 또는 하드 디스크와 같은 전자 저장 유닛 상에 저장될 수 있다. "저장" 유형의 매체는, 소프트웨어 프로그래밍을 위해 임의의 때에 비일시적 저장소를 제공할 수 있는, 컴퓨터, 프로세서 등의 유형의(tangible) 메모리, 및 그 연관된 모듈, 예를 들어, 다양한 반도체 메모리, 테이프 드라이브, 디스크 드라이브 등, 중 임의의 것 또는 전부를 포함할 수 있다. 소프트웨어의 전부 또는 부분은 때로는 인터넷 또는 다양한 다른 전기통신 네트워크를 통해 전달될 수 있다. 그러한 통신은, 예컨대, 하나의 컴퓨터 또는 프로세서로부터 또 다른 컴퓨터 또는 프로세서로, 예컨대, 관리 서버 또는 호스트 컴퓨터로부터 애플리케이션 서버의 컴퓨터 플랫폼으로 소프트웨어를 로딩하는 것을 가능케 할 수 있다. 따라서, 소프트웨어 요소를 지닐 수 있는 또 다른 유형의 매체는, 유선 및 광학 지상라인 네트워크를 통한 그리고 다양한 무선 링크를 통한, 로컬 디바이스 사이의 물리적 인터페이스에 걸쳐 사용되는 바와 같은, 광학파, 전기파, 및 전자기파를 포함한다. 유선 또는 무선 링크, 광학 링크 등과 같은, 그러한 파를 반송하는 물리적 요소는 또한, 소프트웨어를 지니는 매체로서 간주될 수 있다. 본 명세서에서 사용되는 바와 같이, 비일시적인 유형의 "저장" 매체로 제한되지 않는 한, 컴퓨터 또는 기계 "판독가능 매체"라는 용어는, 실행을 위해 프로세서에 명령어를 제공하는 데 참여하는 임의의 매체를 지칭한다.
따라서, 컴퓨터 실행가능 코드와 같은, 기계 판독가능 매체는, 유형의 저장 매체, 반송파 매체, 또는 물리적 송신 매체를 포함하지만 이들로 제한되지는 않는, 여러 형태를 취할 수 있다. 비휘발성 저장 매체는, 예컨대, 도면에 도시된 데이터베이스 등을 구현하기 위해 사용될 수 있는 것과 같은 임의의 컴퓨터 내의 저장 디바이스 중 임의의 저장 디바이스 등과 같은 광학 또는 자기 디스크를 포함한다. 휘발성 저장 매체는, 그러한 컴퓨터 플랫폼의 메인 메모리와 같은, 동적 메모리를 포함한다. 유형의 송신 매체는, 컴퓨터 시스템 내의 버스를 포함하는 와이어를 비롯한, 동축 케이블, 구리 와이어, 및 광섬유를 포함한다. 반송파 송신 매체는, 무선 주파수(RF, radio frequency) 및 적외선(IR, infrared) 데이터 통신 동안 생성되는 것과 같은, 전기 신호 또는 전자기 신호, 또는 음파 또는 광파의 형태를 취할 수 있다. 따라서, 컴퓨터 판독가능 매체의 일반적인 형태는, 예컨대, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광학 매체, 천공 카드 종이 테이프, 구멍의 패턴을 갖는 임의의 다른 물리적 저장 매체, RAM, ROM, PROM, 및 EPROM, 플래시 EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령어를 전송하는 반송파, 그러한 반송파를 전송하는 케이블 또는 링크, 또는 컴퓨터가 프로그래밍 코드 및/또는 데이터를 판독할 수 있는 임의의 다른 매체를 포함한다. 실행을 위해 하나 이상의 명령어의 하나 이상의 시퀀스를 프로세서에 반송하는 데 있어 이들 형태의 컴퓨터 판독가능 매체의 중 다수가 수반될 수 있다.
컴퓨터 시스템(701)은, 예컨대, 본 명세서의 다른 부분에서 설명되는 바와 같은 그래픽 사용자 인터페이스를 제공하기 위한 사용자 인터페이스(UI)(740)를 포함하는 전자 디스플레이(735)를 포함할 수 있거나 그러한 전자 디스플레이(735)와 통신할 수 있다. UI의 예는, 그래픽 사용자 인터페이스(GUI) 및 웹 기반 사용자 인터페이스를 제한 없이 포함한다.
본 개시의 방법 및 시스템은 하나 이상의 알고리즘을 통해 구현될 수 있다. 알고리즘은, 중앙 프로세싱 유닛(705)에 의한 실행 시에 소프트웨어를 통해 구현될 수 있다. 알고리즘은, 예컨대, 예측 모델과 같은 트레이닝된 모델일 수 있다.
특정한 구현예가 예시 및 설명되었지만, 그에 대한 다양한 수정이 이루어질 수 있으며 본 명세서에서 고려된다는 것이, 전술한 바로부터 이해되어야 한다. 또한, 본 명세서 내에 제공된 특정한 예에 의해 본 발명이 제한되도록 의도되지 않는다. 전술한 명세를 참조하여 본 발명이 설명되었지만, 본 명세서에서의 바람직한 실시예의 설명 및 예시는, 제한하는 의미로 해석되도록 의도되지 않는다. 또한, 본 발명의 모든 양상은, 본 명세서에 제시된 구체적인 묘사, 구성, 또는 상대적인 비율로 제한되지 않으며 이들은 다양한 조건 및 변수에 의존한다는 것이 이해되어야 한다. 본 발명의 실시예의 형태 및 세부사항의 다양한 수정이 당업자에게 명백할 것이다. 따라서, 본 발명은 임의의 그러한 수정, 변형, 및 등가물을 또한 커버해야 한다는 것이 고려된다.

Claims (20)

  1. 머신 러닝 모델 서비스를 제공하기 위한 방법에 있어서,
    (a) 제1 컴퓨팅 시스템에 의해, 제1 머신 러닝 모델을 사용하여 제1 출력 데이터를 생성하는 단계 - 상기 제1 머신 러닝 모델은 제1 트레이닝 데이터세트에 대해 트레이닝됨 - ;
    (b) 상기 제1 출력 데이터를 제2 컴퓨팅 시스템에 송신하는 단계 - 상기 제1 트레이닝 데이터세트 및 상기 제1 머신 러닝 모델은 상기 제2 컴퓨팅 시스템에서 액세스불가능함 - ;
    (c) 상기 제2 컴퓨팅 시스템에서 액세스가능한 입력 특징의 선택된 세트와 상기 제1 출력 데이터를 결합함으로써 입력 데이터를 생성하는 단계; 및
    (d) 상기 입력 데이터를 프로세싱하기 위해 제2 머신 러닝 모델을 사용하여 제2 출력 데이터를 생성하는 단계 - 상기 제2 머신 러닝 모델 및 상기 입력 특징의 선택된 세트는 상기 제1 컴퓨팅 시스템에서 액세스불가능함 -
    를 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  2. 제1항에 있어서, 상기 제1 출력 데이터는 예측 값을 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  3. 제1항에 있어서, 상기 제1 출력 데이터는 하나 이상의 공통 특징에 따라서 상기 입력 특징의 선택된 세트와 결합되는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  4. 제3항에 있어서, 상기 하나 이상의 공통 특징은 공통 특징 식별자를 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  5. 제1항에 있어서, 상기 제2 머신 러닝 모델은 감독형 학습을 사용하여 트레이닝되고, 상기 제2 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터세트는, 상기 제1 머신 러닝 모델에 의해 생성되는 데이터를 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  6. 제5항에 있어서, 상기 제1 머신 러닝 모델은 컨볼루션 신경망이고, 제1 머신 러닝에 의해 생성되는 데이터는 상기 컨볼루션 신경망의 상단층의 출력을 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  7. 제1항에 있어서, 상기 입력 특징의 선택된 세트는, 상기 제2 머신 러닝 모델의 성능을 평가함으로써 결정되는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  8. 제7항에 있어서, 상기 제2 머신 러닝 모델의 성능 메트릭이 문턱치보다 더 나을 때까지 입력 특징의 상이한 세트가 선택되는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  9. 제1항에 있어서, 상기 제1 출력 데이터를 생성하기 위한 요청을 상기 제1 컴퓨팅 시스템에 의해 수신하는 단계를 더 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  10. 제9항에 있어서, 상기 요청은, 예측 서비스와 관련된 하나 이상의 공통 특징을 포함하는, 머신 러닝 모델 서비스를 제공하기 위한 방법.
  11. 직렬화된 머신 러닝 시스템에 있어서,
    (a) 제1 머신 러닝 모델을 사용하여 제1 출력 데이터를 생성하도록 구성되는 제1 컴퓨팅 시스템 - 상기 제1 머신 러닝 모델은 제1 트레이닝 데이터세트에 대해 트레이닝됨 - ;
    (b) 입력 데이터를 프로세싱하기 위해 제2 머신 러닝 모델을 사용하여 제2 출력 데이터를 생성하도록 구성되는 제2 컴퓨팅 시스템; 및
    (c) 상기 제2 컴퓨팅 시스템에서 액세스가능한 입력 특징의 선택된 세트와 상기 제1 출력 데이터를 결합함으로써 상기 입력 데이터를 생성하도록 구성되는 통합 컴포넌트
    를 포함하며,
    상기 제1 트레이닝 데이터세트 및 상기 제1 머신 러닝 모델은 상기 제2 컴퓨팅 시스템에서 액세스불가능하고, 상기 제2 머신 러닝 모델 및 상기 입력 특징의 선택된 세트는 상기 제1 컴퓨팅 시스템에서 액세스불가능한, 직렬화된 머신 러닝 시스템.
  12. 제11항에 있어서, 상기 제1 출력 데이터는 예측 값을 포함하는, 직렬화된 머신 러닝 시스템.
  13. 제11항에 있어서, 상기 제1 출력 데이터는 하나 이상의 공통 특징에 따라서 상기 입력 특징의 선택된 세트와 결합되는, 직렬화된 머신 러닝 시스템.
  14. 제13항에 있어서, 상기 하나 이상의 공통 특징은 공통 특징 식별자를 포함하는, 직렬화된 머신 러닝 시스템.
  15. 제11항에 있어서, 상기 제2 머신 러닝 모델은 감독형 학습을 사용하여 트레이닝되고, 상기 제2 머신 러닝 모델을 트레이닝하기 위한 레이블링된 데이터세트는, 상기 제1 머신 러닝 모델에 의해 생성되는 데이터를 포함하는, 직렬화된 머신 러닝 시스템.
  16. 제15항에 있어서, 상기 제1 머신 러닝 모델은 컨볼루션 신경망이고, 제1 머신 러닝에 의해 생성되는 데이터는 상기 컨볼루션 신경망의 상단층의 출력을 포함하는, 직렬화된 머신 러닝 시스템.
  17. 제11항에 있어서, 상기 입력 특징의 선택된 세트는, 상기 제2 머신 러닝 모델의 성능을 평가함으로써 결정되는, 직렬화된 머신 러닝 시스템.
  18. 제17항에 있어서, 상기 제2 머신 러닝 모델의 성능 메트릭이 문턱치보다 더 나을 때까지 입력 특징의 상이한 세트가 선택되는, 직렬화된 머신 러닝 시스템.
  19. 제11항에 있어서, 상기 제1 컴퓨팅 시스템은 또한, 상기 제1 출력 데이터를 생성하기 위한 요청을 수신하도록 구성되는, 직렬화된 머신 러닝 시스템.
  20. 제19항에 있어서, 상기 요청은, 예측 서비스와 관련된 하나 이상의 공통 특징을 포함하는, 직렬화된 머신 러닝 시스템.
KR1020227001854A 2019-06-18 2020-06-17 머신 러닝 서비스를 제공하기 위한 방법 및 시스템 KR20220024718A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962862986P 2019-06-18 2019-06-18
US62/862,986 2019-06-18
US201962893725P 2019-08-29 2019-08-29
US62/893,725 2019-08-29
PCT/US2020/038148 WO2020257292A1 (en) 2019-06-18 2020-06-17 Method and system for providing machine learning service

Publications (1)

Publication Number Publication Date
KR20220024718A true KR20220024718A (ko) 2022-03-03

Family

ID=74037782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001854A KR20220024718A (ko) 2019-06-18 2020-06-17 머신 러닝 서비스를 제공하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US11868884B2 (ko)
EP (1) EP3987461A4 (ko)
JP (1) JP7492541B2 (ko)
KR (1) KR20220024718A (ko)
CN (1) CN114287007A (ko)
WO (1) WO2020257292A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102523699B1 (ko) * 2022-12-16 2023-04-21 (주)임픽스 제조 환경을 위한 연합학습 시스템

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11250497B2 (en) * 2018-05-16 2022-02-15 Sap Se Data generation in digital advertising ecosystems
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
SG11202103493QA (en) 2018-10-11 2021-05-28 Tesla Inc Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11127050B2 (en) * 2019-11-18 2021-09-21 Adobe Inc. Artificial intelligence techniques for bid optimization used for generating dynamic online content
US11615347B2 (en) * 2019-12-31 2023-03-28 Paypal, Inc. Optimizing data processing and feature selection for model training
US11562297B2 (en) * 2020-01-17 2023-01-24 Apple Inc. Automated input-data monitoring to dynamically adapt machine-learning techniques
CN113573331B (zh) * 2020-04-29 2023-09-01 华为技术有限公司 一种通信方法、装置及***
US11620550B2 (en) * 2020-08-10 2023-04-04 International Business Machines Corporation Automated data table discovery for automated machine learning
CN112560795B (zh) * 2020-12-30 2022-07-26 南昌航空大学 一种基于cn-gan与cnn的sar图像目标识别算法
CN112766514B (zh) * 2021-01-22 2021-12-24 支付宝(杭州)信息技术有限公司 一种联合训练机器学习模型的方法、***及装置
US11694018B2 (en) * 2021-01-29 2023-07-04 Salesforce, Inc. Machine-learning based generation of text style variations for digital content items
CN113240127A (zh) * 2021-04-07 2021-08-10 睿蜂群(北京)科技有限公司 基于联邦学习的训练方法、装置、电子设备及存储介质
US11748352B2 (en) * 2021-08-26 2023-09-05 International Business Machines Corporation Dynamical database system resource balance
US20230177558A1 (en) * 2021-12-06 2023-06-08 Kenshoo Ltd. Method and system for predicting a key performance indicator (kpi) of an advertising campaign
US11887167B2 (en) * 2022-06-14 2024-01-30 Accenture Global Solutions Limited Utilizing machine learning models to generate an optimized digital marketing simulation
WO2024012654A1 (en) 2022-07-11 2024-01-18 Huawei Cloud Computing Technologies Co., Ltd. Performant collaborative transfer learning between cloud storage and cloud compute

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364613B1 (en) 2011-07-14 2013-01-29 Google Inc. Hosting predictive models
US8429103B1 (en) 2012-06-22 2013-04-23 Google Inc. Native machine learning service for user adaptation on a mobile platform
WO2015030606A2 (en) * 2013-08-26 2015-03-05 Auckland University Of Technology Improved method and system for predicting outcomes based on spatio / spectro-temporal data
US10019985B2 (en) * 2013-11-04 2018-07-10 Google Llc Asynchronous optimization for sequence training of neural networks
US20150242760A1 (en) 2014-02-21 2015-08-27 Microsoft Corporation Personalized Machine Learning System
US10452992B2 (en) 2014-06-30 2019-10-22 Amazon Technologies, Inc. Interactive interfaces for machine learning model evaluations
US20170132528A1 (en) * 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Joint model training
US10897474B2 (en) 2016-06-23 2021-01-19 Cisco Technology, Inc. Adapting classifier parameters for improved network traffic classification using distinct private training data sets
US10679143B2 (en) 2016-07-01 2020-06-09 International Business Machines Corporation Multi-layer information fusing for prediction
US10341420B1 (en) * 2016-10-14 2019-07-02 Amazon Technologies, Inc. Approaches for preparing and delivering bulk data to clients
JP6718405B2 (ja) 2017-03-31 2020-07-08 三菱重工業株式会社 情報提供装置、情報提供システム、情報提供方法及びプログラム
US11410044B2 (en) 2017-05-20 2022-08-09 Google Llc Application development platform and software development kits that provide comprehensive machine learning services
US10217028B1 (en) * 2017-08-22 2019-02-26 Northrop Grumman Systems Corporation System and method for distributive training and weight distribution in a neural network
JP6506360B2 (ja) 2017-08-24 2019-04-24 三菱電機インフォメーションシステムズ株式会社 教師データを生成する方法、学習済みモデルを生成する方法、学習済みモデル、コンピュータおよびプログラム
JP2019040542A (ja) 2017-08-29 2019-03-14 京セラドキュメントソリューションズ株式会社 情報処理システムおよび情報処理プログラム
WO2019069618A1 (ja) 2017-10-05 2019-04-11 富士フイルム株式会社 医療画像処理装置及び機械学習装置
JP6562328B2 (ja) 2018-09-20 2019-08-21 株式会社フューチャーアイ 支援システム
RU2702980C1 (ru) 2018-12-14 2019-10-14 Самсунг Электроникс Ко., Лтд. Распределённое обучение моделей машинного обучения для персонализации
US20200294162A1 (en) * 2019-03-13 2020-09-17 Opendoor Labs Inc. Value prediction error generation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102523699B1 (ko) * 2022-12-16 2023-04-21 (주)임픽스 제조 환경을 위한 연합학습 시스템

Also Published As

Publication number Publication date
CN114287007A (zh) 2022-04-05
JP7492541B2 (ja) 2024-05-29
WO2020257292A1 (en) 2020-12-24
EP3987461A4 (en) 2023-07-26
JP2022537317A (ja) 2022-08-25
US11868884B2 (en) 2024-01-09
EP3987461A1 (en) 2022-04-27
US20200401886A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
JP7492541B2 (ja) 機械学習サービスを提供するための方法及びシステム
US20220188700A1 (en) Distributed machine learning hyperparameter optimization
US11531906B2 (en) Machine-learning-based processing of de-obfuscated data for data enrichment
US10853847B2 (en) Methods and systems for near real-time lookalike audience expansion in ads targeting
US11587143B2 (en) Neural contextual bandit based computational recommendation method and apparatus
US10885076B2 (en) Computerized system and method for search query auto-completion
US20170097969A1 (en) Computerized system and method for determining applications on a device for serving media
US11589083B2 (en) Machine learning techniques for detecting surges in content consumption
US20220188699A1 (en) Machine learning techniques for web resource fingerprinting
US20210263978A1 (en) Intelligent interface accelerating
US20220245424A1 (en) Microgenre-based hyper-personalization with multi-modal machine learning
US20160350817A1 (en) System for tracking donor influence in charitable transactions
WO2022216753A1 (en) Distributed machine learning hyperparameter optimization
CN111008335A (zh) 一种信息处理方法、装置、设备及存储介质
KR102465655B1 (ko) 뉴럴 네트워크를 이용하여 제1 단말과 관련된 광고 기업 리스트를 제공하는 방법 및 장치
US11223591B2 (en) Dynamically modifying shared location information
US11341204B2 (en) Identifying and presenting misalignments between digital messages and external digital content
CN113297287B (zh) 用户策略自动部署方法、装置及电子设备
US20190138511A1 (en) Systems and methods for real-time data processing analytics engine with artificial intelligence for content characterization
US20160110779A1 (en) Method, system and recording medium for providing search function and search result on mobile messenger
CN112541145B (zh) 一种页面展现方法、装置、设备及存储介质
US20220148059A1 (en) Methods and systems for modular personalization center
US11501081B1 (en) Methods, mediums, and systems for providing a model for an end-user device
US20240212001A1 (en) Optimizing media requests with ensemble learning
US11842379B2 (en) Method and system for obtaining item-based recommendations

Legal Events

Date Code Title Description
A201 Request for examination