KR20230153784A - 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법 - Google Patents

워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법 Download PDF

Info

Publication number
KR20230153784A
KR20230153784A KR1020220053638A KR20220053638A KR20230153784A KR 20230153784 A KR20230153784 A KR 20230153784A KR 1020220053638 A KR1020220053638 A KR 1020220053638A KR 20220053638 A KR20220053638 A KR 20220053638A KR 20230153784 A KR20230153784 A KR 20230153784A
Authority
KR
South Korea
Prior art keywords
workflow
module
machine learning
management
learning pipeline
Prior art date
Application number
KR1020220053638A
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 KR1020220053638A priority Critical patent/KR20230153784A/ko
Publication of KR20230153784A publication Critical patent/KR20230153784A/ko

Links

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 기계학습 파이프라인을 다수의 일련된 단계를 포함하여 구성하며, 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화된 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 사용자 단말기를 통해 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우 탬플릿으로 생성하여 실행(배포) 및 관리할 수 있도록 함으로써, 기계학습 파이프라인을 쉽게 생성 및 관리할 수 있는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법을 제공한다.

Description

워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법{SYSTEM FOR GENERATING AND MANAGING OF MACHINE LEARNING PIPELINE BASED ON WORKFLOW, AND METHOD THEREOF}
본 발명은 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 기계학습 파이프라인을 일련된 다수의 단계를 포함하여 구성하며, 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화한 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 사용자 단말기를 통해 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우 탬플릿으로 생성하여 실행(배포) 및 관리할 수 있도록 함으로써, 기계학습 파이프라인을 쉽게 생성 및 관리할 수 있는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법에 관한 것이다.
일반적으로, 어떤 주어진 문제를 해결하기 위해 기계학습을 사용하려는 경우, 정형화된 단계를 거쳐 기계학습모델을 생성하고 생성된 기계학습모델을 통해 해당 문제를 해결하게 된다. 이런 기계학습을 개발하는 단계에서, 보통은 하나의 소스코드로 생성하기 때문에, 데이터의 변화가 있어 기계학습모델을 다시 학습시키거나 이미 만들어진 기계학습모델을 사용하여 기존의 문제와 비슷한 문제를 해결하기를 원한다 하더라도 아예 새로 개발을 해야 하는 문제점이 있다.
또한, 이외에도 해당 서비스를 제공하다보면 지속적으로 소스코드를 수정해야하는 경우가 많으며, 소스코드의 관리와 성능 유지를 위해서 지속적인 수정이 필요하다.
한국공개특허 [10-2022-0035610]에서는 파이프라인 기반의 기계 학습 통합 플랫폼 제공 시스템 및 방법이 개시되어 있다.
한국공개특허 [10-2021-0057656]에서는 크로스도메인 확장형 워크플로우 엔진 프레임워크가 개시되어 있다.
한국공개특허 [10-2022-0035610](공개일자: 2022. 03. 22) 한국공개특허 [10-2021-0057656](공개일자: 2021. 05. 21)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 기계학습 파이프라인을 일련된 다수의 단계를 포함하여 구성하며, 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화한 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 사용자 단말기를 통해 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우 탬플릿으로 생성하여 실행(배포) 및 관리할 수 있도록 함으로써, 기계학습 파이프라인을 쉽게 생성 및 관리할 수 있는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법을 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템은, 일련의 다수의 단계를 포함하여 구성되는 기계학습 파이프라인의 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화한 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 수행되도록 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우를 생성한 후, 저장, 실행 및 관리하기 위한 워크플로우 서버(300); 및 사용자로부터 입력받은 각 모듈의 소스코드를 상기 워크플로우 서버로 전달하고, 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택하는 신호와, 상기 워크플로우 서버에 저장된 모듈 및 워크플로우 탬플릿의 관리를 위한 신호를 송수신하기 위한 사용자 단말기(310, 320)를 포함한다.
상기 워크플로우 서버(300)는, 모듈 및 워크플로우와 관련된 사용자 인터페이스(User Interface)를 상기 사용자 단말기로 제공하기 위한 인터페이스부(301); 등록받은 모듈 및 생성된 워크플로우 탬플릿을 저장하는 저장소(302); 및 모듈의 등록 및 관리와, 워크플로우 탬플릿의 생성, 관리 및 배포와 관련된 서비스를 처리하기 위한 서비스부(303)를 포함하는 것을 특징으로 한다.
상기 인터페이스부(301)는, 모듈의 등록 및 관리와 관련되는 사용자 인터페이스를 제공하기 위한 모듈 관련 인터페이스(411); 워크플로우 탬플릿의 생성 및 관리와 관련되는 사용자 인터페이스를 제공하기 위한 워크플로우 탬플릿 관련 인터페이스(412); 및 상기 생성된 워크플로우의 모니터링과 관련되는 사용자 인터페이스를 제공하기 위한 워크플로우 모니터링 인터페이스(413)를 포함하는 것을 특징으로 한다.
상기 저장소(302)는, 해당 모듈의 소스코드로부터 획득한 모듈 정보를 메타데이터로 저장하는 모듈 메타데이터 저장부(421); 상기 해당 모듈의 소스코드로부터 생성된 모듈 컨테이너를 저장하는 모듈 컨테이너 저장부(422); 및 상기 사용자 단말기를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 생성된 워크플로우를 탬플릿으로 저장하는 워크플로우 탬플릿 저장부(423)를 포함하는 것을 특징으로 한다.
상기 서비스부(303)는, 상기 사용자 단말기를 통해 전달받은 모듈을 등록하기 위한 모듈 등록부(431); 각 모듈에 대한 편집, 수정 및 관리를 수행하기 위한 모듈 관리부(432); 상기 사용자 단말기를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 워크플로우 탬플릿을 생성하기 위한 워크플로우 탬플릿 생성부(433); 상기 생성된 워크플로우 탬플릿의 편집, 수정 및 관리를 수행하기 위한 워크플로우 탬플릿 관리부(434); 상기 생성된 워크플로우를 배포하기 위한 워크플로우 배포부(435); 및 상기 배포된 워크플로우의 관리를 수행하기 위한 배포된 워크플로우 관리부(436)를 포함하는 것을 특징으로 한다.
상기 기계학습 파이프라인은, 주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출하는 데이터 추출 단계, 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계, 검증된 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계, 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계, 생성된 모델의 결과를 평가하는 모델 평가 단계, 및 상기 생성된 모델이 주어진 문제를 해결할 수 있는지 검증하는 모델 검증 단계를 포함하는 것을 특징으로 한다.
또한, 상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법은,
사용자 단말기를 통해 전달받은 모듈을 등록하는 모듈 등록단계(S810); 각 모듈에 대한 편집, 수정 및 관리를 수행하는 모듈 관리단계(S820); 상기 사용자 단말기를 통해 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 워크플로우 탬플릿을 생성하는 워크플로우 탬플릿 생성단계(S830); 상기 생성된 워크플로우 탬플릿의 편집, 수정 및 관리를 수행하는 워크플로우 탬플릿 관리단계(S840); 상기 생성된 워크플로우를 배포하는 워크플로우 배포단계(S850); 및 상기 배포된 워크플로우의 관리를 수행하는 배포된 워크플로우 관리단계(S860)를 포함한다.
상기 모듈 등록단계(S810)는, 상기 사용자 단말기를 통해 해당 모듈의 소스코드를 입력받는 소스코드 입력단계(S910); 상기 해당 모듈의 소스코드로부터 획득한 모듈 정보를 메타데이터로 모듈 메타데이터 저장부에 저장하는 모듈 메타데이터 저장단계(S920); 및 상기 해당 모듈의 소스코드로부터 생성된 모듈 컨테이너를 모듈 컨테이너 저장부에 저장하는 모듈 컨테이너 저장단계(S930)를 포함하는 것을 특징으로 한다.
상기 워크플로우 탬플릿 생성단계(S830)는, 상기 사용자 단말기를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 모듈을 선택받는 모듈 선택단계(S1010); 상기 선택받은 적어도 하나 이상의 모듈을 워크플로우로 생성하는 워크플로우 생성단계(S1020); 및 상기 생성된 워크플로우를 탬플릿으로 워크플로우 탬플릿 저장부에 저장하는 워크플로우 탬플릿 저장단계(S1030)를 포함하는 것을 특징으로 한다.
상기 기계학습 파이프라인은, 주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출하는 데이터 추출 단계, 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계, 검증된 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계, 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계, 생성된 모델의 결과를 평가하는 모델 평가 단계, 및 상기 생성된 모델이 주어진 문제를 해결할 수 있는지 검증하는 모델 검증 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따르면, 상기 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법에 의하면, 기계학습 파이프라인을 일련된 다수의 단계를 포함하여 구성하며, 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화한 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 사용자 단말기를 통해 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우 탬플릿으로 생성하여 실행(배포) 및 관리할 수 있도록 함으로써, 기계학습 파이프라인을 쉽게 생성 및 관리할 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법에 의하면, 파이프라인에 포함된 모듈들을 단계별로 관리함에 따라, 서비스 성능 향상을 위해 변경이 필요한 모듈에 대해서만 수정하고, 나머지 부분은 기존 것을 그대로 사용할 수 있기 때문에 효율적으로 변경 및 업데이트가 가능한 효과가 있다.
아울러, 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법에 의하면, 기존의 문제와 다른 새로운 문제를 해결하기 위해 새로운 기계학습 파이프라인을 만들어야 할 때에도, 새로운 문제가 기존의 문제와 비슷한 경우 이전에 개발해둔 파이프라인 단계들 중 필요한 부분을 선택하여 파이프라인을 생성하거나, 파이프라인에서 변경되는 부분만 새로 개발하면 되기 때문에 개발에 소요되는 시간을 줄일 수 있는 효과가 있다.
도 1은 본 발명에서 사용하는 워크플로우 기반의 기계학습 파이프라인 구조에 대한 설명도.
도 2a 및 2b는 본 발명에 사용되는 워크플로우를 구성하는 모듈에 대한 설명도.
도 3은 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템의 구성도.
도 4는 도 3의 워크플로우 서버의 상세 구성도.
도 5는 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에서의 모듈 등록 과정을 설명하기 위한 도면.
도 6은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에서의 워크플로우 탬플릿 생성 과정 및 워크플로우 배포 과정을 설명하기 위한 도면.
도 7은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에서 배포된 워크플로우에 따라 파이프라인이 실행되는 과정을 설명하기 위한 도면.
도 8은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법의 일실시예 흐름도.
도 9는 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법에서 모듈 등록단계(S810)의 일실시예 상세 흐름도.
도 10은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법에서 워크플로우 탬플릿 생성단계(S830)의 일실시예 상세 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
설명에 앞서, 본 명세서( 및 특허청구범위)에서 사용되는 용어에 대해 간단히 설명하도록 한다.
'모듈'은 워크플로우를 구성하는 기본 요소이다. 모듈은 입력 데이터(input data)를 받아서 실행하며 출력 데이터(output data)를 내보낸다. 모듈은 소스코드 또는 컨테이너 등의 형태로 관리된다.
'워크플로우'는 하나 또는 그 이상의 모듈이 결합되어있는 형태로 나타나며, 각 모듈은 입력 데이터를 받아서 하나의 작업을 끝낸 뒤 출력 데이터를 다음 플로우의 모듈에게 전달한다. 파이프라인의 하나의 단계에서 여러 개의 모듈이 동시에 실행될 수도 있다.
'컨테이너화'란 소프트웨어 코드를 라이브러리, 프레임워크 및 기타 종속성과 같은 필수 요소와 함께 패키지에 포함하여 각자의 "컨테이너"로 분리하는 것을 뜻한다. 이렇게 컨테이너화된 소프트웨어 또는 애플리케이션은 어떤 환경과 인프라에서든 해당 환경이나 인프라의 운영 체제와는 상관없이 이동할 수 있으며 일관성 있게 실행된다. 즉, 컨테이너는 애플리케이션을 둘러싼 일종의 버블 또는 컴퓨팅 공간으로, 그 주위와 분리해주는 역할을 하는 것이다. 기본적으로 완전한 기능을 갖춘 이식성이 있는 컴퓨팅 환경이다. 컨테이너는 하나의 플랫폼 또는 운영 체제에서 코드를 작성하는 방식을 대체한다. 이러한 방식은 해당 코드가 새로운 환경과 호환되지 않을 경우 애플리케이션의 이동을 어렵게 만드는 원인이었으며 수정이 필요한 버그, 오류, 결함 등이 생겼다. 이렇게 되면 시간은 더 많이 소요되고, 생산성은 줄어들게 된다. 그러나, 플랫폼과 인프라 전반에서 이동이 가능한 컨테이너로 애플리케이션을 패키징하는 경우 해당 애플리케이션을 어디에서든 사용할 수 있다. 실행하는 데 필요한 요소는 이미 패키지 안에 모두 포함되어 있기 때문이다.
도 1은 본 발명에서 사용하는 워크플로우 기반의 기계학습 파이프라인 구조에 대한 설명도이고, 도 2a 및 2b는 본 발명에 사용되는 워크플로우를 구성하는 모듈에 대한 설명도이다.
도 1에 도시된 바와 같이, 본 발명에서 사용하는 기계학습 파이프라인은 일련된 다수의 단계를 포함한다.
상기 기계학습 파이프라인은, 주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출해내는 데이터 추출 단계(101), 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계(102), 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계(103), 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계(104), 생성된 모델의 결과를 평가하는 모델 평가 단계(105), 및 상기 생성된 모델이 주어진 문제를 잘 해결할 수 있는지 검증하는 모델 검증 단계(106)를 포함한다.
위에서 기계학습 파이프라인을 6가지 단계를 포함한 것을 예로 들었으나, 본 발명이 이에 한정되는 것은 아니며, 파이프라인을 구성하는 단계의 수가 증가하거나 감소되는 것 역시 가능하다.
도 2a 및 2b에 도시된 바와 같이, 워크플로우는 적어도 하나 이상의 모듈이 결합되어 있는 형태를 가진다.
도 2a에서는 입력 신호가 모듈1(201)로 입력되고, 상기 모듈1(201)의 출력 신호가 모듈2(202)로 입력되고, 상기 모듈2(202)의 출력 신호가 모듈3(203)으로 입력되고, 상기 모듈3(203)의 출력 신호가 모듈4(204)로 입력되고, 상기 모듈4(204)의 출력 신호가 모듈5(205)로 입력되고, 상기 모듈5(202)의 출력 신호가 모듈6(206)로 입력되고, 상기 모듈6(206)의 출력 신호가 최종 출력 신호가 된다.
도 2b에서는 입력 신호가 모듈a(211)로 입력되고, 상기 모듈a(211)의 출력신호가 모듈b-1(212-1), 모듈b-2(212-2) 및 모듈b-3(212-3)으로 입력되고, 상기 모듈b-1(212-1), 모듈b-2(212-2) 및 모듈b-3(212-3)의 출력 신호들이 상기 모듈c(213)으로 입력되고, 상기 모듈c(213)의 출력신호가 모듈d-1(214-1) 및 모듈d-2(214-2)로 입력되고, 상기 모듈d-1(214-1) 및 모듈d-2(214-2)의 출력 신호들이 모듈e(215)로 입력되고, 상기 모듈e(215)의 출력 신호가 최종 출력 신호가 된다.
도 3은 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템의 구성도이고, 도 4는 도 3의 워크플로우 서버의 상세 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템은, 워크플로우의 정보를 관리하고 워크플로우를 배포하기 위한 워크플로우 서버(300) 및 사용자 단말기(310, 320)를 포함한다.
상기 워크플로우 서버(300)는 일련의 다수의 단계를 포함하여 구성되는 기계학습 파이프라인의 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화한 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 수행되도록 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우를 생성한 후, 저장, 실행 및 관리한다.
상기 사용자 단말기(310, 320)는 사용자로부터 입력받은 각 모듈의 소스코드를 상기 워크플로우 서버(300)로 전달하고, 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택하는 신호와, 상기 워크플로우 서버에 저장된 모듈 및 워크플로우 탬플릿의 관리를 위한 신호를 송수신한다.
상기 사용자 단말기(310, 320)는 상기 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에 접속한 후 통신할 수 있도록 하는 기능을 포함하는 디지털 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말기(310, 320)로서 채택될 수 있다.
상기 기계학습 파이프라인은, 주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출하는 데이터 추출 단계, 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계, 검증된 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계, 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계, 생성된 모델의 결과를 평가하는 모델 평가 단계, 및 상기 생성된 모델이 주어진 문제를 해결할 수 있는지 검증하는 모델 검증 단계를 포함한다.
상기 워크플로우 서버(300)는, 인터페이스부(301), 저장소(302), 및 서비스부(303)를 포함한다.
상기 인터페이스부(301)는 모듈 및 워크플로우와 관련된 사용자 인터페이스(User Interface)를 상기 사용자 단말기(310, 320)로 제공한다.
상기 저장소(302)는 등록받은 모듈 및 생성된 워크플로우 탬플릿을 저장한다.
한편, 본 발명에 있어서, 저장소란 데이터베이스를 의미하며, 데이터베이스란, 협의의 데이터베이스뿐만 아니라, 컴퓨터 파일 시스템에 기반을 둔 데이터 기록 등을 포함하는 넓은 의미의 데이터베이스까지 포함하는 개념으로서, 단순한 연산 처리 로그의 집합이라도 이를 검색하여 소정의 데이터를 추출할 수 있다면 본 발명에서 말하는 데이터베이스에 포함될 수 있음이 이해되어야 한다.
상기 서비스부(303)는 모듈의 등록 및 관리와, 워크플로우 탬플릿의 생성, 관리 및 배포와 관련된 서비스를 처리한다.
상기 인터페이스부(301), 상기 저장소(302), 상기 서비스부(303)는 그 중 적어도 일부가 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
여기서, 통신 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 통신 네트워크는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있다.
도 4를 참고하면, 상기 인터페이스부(301)는, 모듈 관련 인터페이스(411), 워크플로우 탬플릿 관련 인터페이스(412), 및 워크플로우 모니터링 인터페이스(413)를 포함한다.
상기 모듈 관련 인터페이스(411)는 모듈의 등록 및 관리와 관련되는 사용자 인터페이스를 상기 사용자 단말기(310, 320)로 제공한다.
상기 워크플로우 탬플릿 관련 인터페이스(412)는 워크플로우 탬플릿의 생성 및 관리와 관련되는 사용자 인터페이스를 상기 사용자 단말기(310, 320)로 제공한다.
상기 워크플로우 모니터링 인터페이스(413)는 상기 생성된 워크플로우의 모니터링과 관련되는 사용자 인터페이스를 상기 사용자 단말기(310, 320)로 제공한다.
상기 저장소(302)는, 모듈 메타데이터 저장부(421), 모듈 컨테이너 저장부(422), 및 워크플로우 탬플릿 저장부(423)를 포함한다.
상기 모듈 메타데이터 저장부(421)는 해당 모듈의 소스코드로부터 획득한 모듈 정보를 메타데이터로 저장한다.
상기 모듈 컨테이너 저장부(422)는 상기 해당 모듈의 소스코드로부터 생성된 모듈 컨테이너를 저장한다.
상기 워크플로우 탬플릿 저장부(423)는 상기 사용자 단말기(310, 320)를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 생성된 워크플로우를 탬플릿으로 저장한다.
상기 서비스부(303)는, 모듈 등록부(431), 모듈 관리부(432), 워크플로우 탬플릿 생성부(433), 워크플로우 탬플릿 관리부(434), 워크플로우 배포부(435), 배포된 워크플로우 관리부(436)를 포함한다.
상기 모듈 등록부(431)는 상기 사용자 단말기(310, 320)를 통해 전달받은 모듈을 등록한다.
상기 모듈 관리부(432)는 상기 사용자 단말기(310, 320)를 통해 각 모듈에 대한 편집, 수정 및 관리를 수행한다.
상기 워크플로우 탬플릿 생성부(433)는 상기 사용자 단말기(310, 320)를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 워크플로우 탬플릿을 생성한다.
상기 워크플로우 탬플릿 관리부(434)는 상기 사용자 단말기(310, 320)를 통해 상기 생성된 워크플로우 탬플릿의 편집, 수정 및 관리를 수행한다.
상기 워크플로우 배포부(435)는 상기 생성된 워크플로우를 배포한다.
상기 배포된 워크플로우 관리부(436)는 상기 사용자 단말기(310, 320)를 통해 상기 배포된 워크플로우의 관리를 수행한다.
도 5는 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에서의 모듈 등록 과정을 설명하기 위한 도면이다.
도 5에 도시된 바와 같이, 모듈을 워크플로우 서버(300)에 등록하기 위해서, 해당 모듈의 소스코드를 입력받아 모듈의 정보 작성하여 메타데이터(501)로 저장소(302) 내의 모듈 메타데이터 저장부(421)에 저장하고, 해당 모듈의 소스코드를 컨테이너화하여 생성한 컨테이너(502)를 상기 저장소(302) 내의 모듈 컨테이너 저장부(422)에 저장한다.
상기 메타데이터(501)는, 모듈의 이름(name), 파이프라인에서 모듈의 해당 단계(step), 입력 데이터의 종류(input_type), 출력 데이터의 종류(output_type), 및 해당 컨테이너의 이름(container_name) 등을 포함할 수 있다. 도 5에서 예시로 든 모듈의 파이프라인 단계는 모델 학습단계이다.
도 6은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에서의 워크플로우 탬플릿 생성 과정 및 워크플로우 배포 과정을 설명하기 위한 도면이다.
사용자 단말기를 통해 인터페이스부(301)에서 제공하는 사용자 인터페이스(UI) 화면에서 기계학습 파이프라인의 각 단계별로 사용할 모듈을 선택한다.
일예로, 데이터 추출단계(Data Extraction)에서, DE_a 및 DE-c 가 선택되고,
데이터 검증단계(Data Verification)에서, DV_b가 선택되고,
데이터 준비단계(Data Preparation)에서, DP_b 및 DP-c 가 선택되고,
모델 학습단계(Model Training)에서, MT_b가 선택되고,
모델 평가단계(Model Evaluation)에서, ME_a가 선택되고,
모델 검증단계(Model Verification)에서, MV_a, MV_b 및 MV_c가 선택되어 워크플로우가 생성된다.
도 6에서는, 워크플로우가 전체 기계학습 파이프라인 단계를 모두 포함하여 모든 단계에서 해당 모듈을 선택받는 것으로 도시되었으나, 몇 가지의 필요한 부분만을 선택받을 수도 있다. 생성된 워크플로우는 바로 배포하거나 템플릿으로 저장할 수 있다.
상기 생성된 워크플로우는 탬플릿으로 워크플로우 탬플릿 저장부(423)에 저장된다.
상기 생성된 워크플로우 또는 상기 저장된 워크플로우 탬플릿을 이용하여 워크플로우의 배포가 가능하다.
도 7은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에서 배포된 워크플로우에 따라 파이프라인이 실행되는 과정을 설명하기 위한 도면이다.
도 6에서와 같은 모듈 선택에 따라 생성되는 워크플로우가 배포되면, 파이프라인에 포함되는 단계의 순서에 따라 실행된다.
일예로, 데이터 추출시, DE_a 및 DE-c 모듈이 차례대로(시퀀셜하게) 실행되고,
데이터 검증시, DE_c 모듈의 출력이 DV_b 모듈의 입력으로 되며,
데이터 준비시, DV_b 모듈의 출력이 DP_b 및 DP-c 모듈의 입력으로 병렬적으로 입력되고,
모델 학습시, DP_c 모듈의 출력이 MT_b 모듈의 입력으로 되고,
모델 평가시, DP_b 모듈의 출력 및 MT_b 모듈의 출력이 ME_a 모듈의 입력으로 되고,
모델 검증시, ME_a 모듈의 출력이 MV_a, MV_b 및 MV-c 모듈의 입력으로 병렬적으로 입력되고,
최종적으로, MV_a, MV_b 및 MV-c 모듈의 출력신호가 합하여 출력된다.
한편, 사용자는 생성한 워크플로우를 바로 배포하거나 저장소(302)에 저장되어 있는 워크플로우 템플릿을 선택하여 배포할 수 있다.
도 8은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법의 일실시예 흐름도이다.
먼저, 사용자 단말기(310, 320)를 통해 전달받은 모듈을 등록한다(S810).
이후, 상기 사용자 단말기(310, 320)를 통해 각 모듈에 대한 편집, 수정 및 관리를 수행한다(S820).
이후, 상기 사용자 단말기(310, 320)를 통해 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 워크플로우 탬플릿을 생성한다.
이후, 상기 사용자 단말기(310, 320)를 통해 상기 생성된 워크플로우 탬플릿의 편집, 수정 및 관리를 수행한다(S840).
이후, 상기 사용자 단말기(310, 320)를 통한 배포 요청에 따라 상기 생성된 워크플로우를 배포한다(S850).
이후, 상기 사용자 단말기(310, 320)를 통해 상기 배포된 워크플로우의 관리를 수행한다(S860).
상기 모듈 관리단계(S820), 상기 워크플로우 탬플릿 관리단계(S840) 및 상기 배포된 워크플로우 관리단계(S860)는 순서에 상관없이 상기 워크플로우 서버(300)에 접속한 상기 사용자 단말기(310, 320)를 통해 수행될 수 있다.
상기 기계학습 파이프라인은, 주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출하는 데이터 추출 단계, 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계, 검증된 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계, 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계, 생성된 모델의 결과를 평가하는 모델 평가 단계, 및 상기 생성된 모델이 주어진 문제를 해결할 수 있는지 검증하는 모델 검증 단계를 포함한다.
도 9는 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법에서 모듈 등록단계(S810)의 일실시예 상세 흐름도이다.
먼저, 상기 모듈 등록단계(S810)는, 워크플로우 서버(300)에 접속하여 사용자 인터페이스 화면에서 사용자 단말기(310, 320)를 통해 해당 모듈의 소스코드를 입력받는다(S910).
이후, 상기 해당 모듈의 소스코드로부터 획득한 모듈 정보를 메타데이터로 모듈 메타데이터 저장부(421)에 저장한다(S920).
그리고, 상기 해당 모듈의 소스코드로부터 생성된 모듈 컨테이너를 모듈 컨테이너 저장부(422)에 저장한다(S930).
상기 모듈 메타데이터 저장단계(S920) 및 상기 모듈 컨테이너 저장단계(S930)는 순서에 상관없이 수행될 수 있다.
도 10은 본 발명에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법에서 워크플로우 탬플릿 생성단계(S830)의 일실시예 상세 흐름도이다.
먼저, 상기 워크플로우 탬플릿 생성단계(S830)는, 상기 사용자 단말기(310, 320)를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 모듈을 선택받는다(S1010).
이후, 상기 워크플로우 서버(300)는 상기 선택받은 적어도 하나 이상의 모듈을 워크플로우로 생성한다(S1020).
이후, 상기 생성된 워크플로우를 탬플릿으로 워크플로우 탬플릿 저장부(423)에 저장한다(S1030).
한편, 상기 생성된 워크플로우를 바로 배포(실행)할 수도 있다.
또한, 워크플로우 탬플릿 저장부(423)에 저장된 탬플릿들 중에서 선택하여 언제든지 편집 및 수정 및 배포가 가능하다.
이상에서 본 발명의 일 실시예에 따른 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법에 대하여 설명하였지만, 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
300: 워크플로우 서버
301: 인터페이스부
302: 저장소
303: 서비스부
310, 320: 사용자 단말기
411: 모듈 관련 인터페이스
412: 워크플로우 탬플릿 관련 인터페이스
413: 워크플로우 모니터링 인터페이스
421: 모듈 메타데이터 저장부
422: 모듈 컨테이너 저장부
423: 워크플로우 탬플릿 저장부
431: 모듈 등록부
432: 모듈 관리부
433: 워크플로우 탬플릿 생성부
434: 워크플로우 탬플릿 관리부
435: 워크플로우 배포부
436: 배포된 워크플로우 관리부
S810: 모듈 등록단계
S820: 모듈 관리단계
S830: 워크플로우 탬플릿 생성단계
S840: 워크플로우 탬플릿 관리단계
S850: 워크플로우 배포단계
S860: 배포된 워크플로우 관리단계

Claims (10)

  1. 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템에 있어서,
    일련의 다수의 단계를 포함하여 구성되는 기계학습 파이프라인의 각 단계에서 수행되는 적어도 하나 이상의 모듈에 대하여 소스코드의 메타데이터 및 컨테이너화한 소스코드를 분리하여 저장하고, 상기 기계학습 파이프라인의 각 단계에서 수행되도록 선택받은 적어도 하나 이상의 모듈을 조합하여 하나의 워크플로우를 생성한 후, 저장, 실행 및 관리하기 위한 워크플로우 서버(300); 및
    사용자로부터 입력받은 각 모듈의 소스코드를 상기 워크플로우 서버로 전달하고, 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택하는 신호와, 상기 워크플로우 서버에 저장된 모듈 및 워크플로우 탬플릿의 관리를 위한 신호를 송수신하기 위한 사용자 단말기(310, 320)
    를 포함하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템.
  2. 제1항에 있어서,
    상기 워크플로우 서버(300)는,
    모듈 및 워크플로우와 관련된 사용자 인터페이스(User Interface)를 상기 사용자 단말기로 제공하기 위한 인터페이스부(301);
    등록받은 모듈 및 생성된 워크플로우 탬플릿을 저장하는 저장소(302); 및
    모듈의 등록 및 관리와, 워크플로우 탬플릿의 생성, 관리 및 배포와 관련된 서비스를 처리하기 위한 서비스부(303)
    를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템.
  3. 제 2항에 있어서,
    상기 인터페이스부(301)는,
    모듈의 등록 및 관리와 관련되는 사용자 인터페이스를 제공하기 위한 모듈 관련 인터페이스(411);
    워크플로우 탬플릿의 생성 및 관리와 관련되는 사용자 인터페이스를 제공하기 위한 워크플로우 탬플릿 관련 인터페이스(412); 및
    상기 생성된 워크플로우의 모니터링과 관련되는 사용자 인터페이스를 제공하기 위한 워크플로우 모니터링 인터페이스(413)
    를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템.
  4. 제2항에 있어서,
    상기 저장소(302)는,
    해당 모듈의 소스코드로부터 획득한 모듈 정보를 메타데이터로 저장하는 모듈 메타데이터 저장부(421);
    상기 해당 모듈의 소스코드로부터 생성된 모듈 컨테이너를 저장하는 모듈 컨테이너 저장부(422); 및
    상기 사용자 단말기를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 생성된 워크플로우를 탬플릿으로 저장하는 워크플로우 탬플릿 저장부(423)
    를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템.
  5. 제2항에 있어서,
    상기 서비스부(303)는,
    상기 사용자 단말기를 통해 전달받은 모듈을 등록하기 위한 모듈 등록부(431);
    각 모듈에 대한 편집, 수정 및 관리를 수행하기 위한 모듈 관리부(432);
    상기 사용자 단말기를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 워크플로우 탬플릿을 생성하기 위한 워크플로우 탬플릿 생성부(433);
    상기 생성된 워크플로우 탬플릿의 편집, 수정 및 관리를 수행하기 위한 워크플로우 탬플릿 관리부(434);
    상기 생성된 워크플로우를 배포하기 위한 워크플로우 배포부(435); 및
    상기 배포된 워크플로우의 관리를 수행하기 위한 배포된 워크플로우 관리부(436)
    를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템.
  6. 제2항에 있어서,
    상기 기계학습 파이프라인은,
    주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출하는 데이터 추출 단계, 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계, 검증된 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계, 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계, 생성된 모델의 결과를 평가하는 모델 평가 단계, 및 상기 생성된 모델이 주어진 문제를 해결할 수 있는지 검증하는 모델 검증 단계를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템.
  7. 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법에 있어서,
    사용자 단말기를 통해 전달받은 모듈을 등록하는 모듈 등록단계(S810);
    각 모듈에 대한 편집, 수정 및 관리를 수행하는 모듈 관리단계(S820);
    상기 사용자 단말기를 통해 기계학습 파이프라인의 각 단계에서 수행될 적어도 하나 이상의 모듈을 선택받아 워크플로우 탬플릿을 생성하는 워크플로우 탬플릿 생성단계(S830);
    상기 생성된 워크플로우 탬플릿의 편집, 수정 및 관리를 수행하는 워크플로우 탬플릿 관리단계(S840);
    상기 생성된 워크플로우를 배포하는 워크플로우 배포단계(S850); 및
    상기 배포된 워크플로우의 관리를 수행하는 배포된 워크플로우 관리단계(S860)
    를 포함하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법.
  8. 제7항에 있어서,
    상기 모듈 등록단계(S810)는,
    상기 사용자 단말기를 통해 해당 모듈의 소스코드를 입력받는 소스코드 입력단계(S910);
    상기 해당 모듈의 소스코드로부터 획득한 모듈 정보를 메타데이터로 모듈 메타데이터 저장부에 저장하는 모듈 메타데이터 저장단계(S920); 및
    상기 해당 모듈의 소스코드로부터 생성된 모듈 컨테이너를 모듈 컨테이너 저장부에 저장하는 모듈 컨테이너 저장단계(S930)
    를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법.
  9. 제8항에 있어서,
    상기 워크플로우 탬플릿 생성단계(S830)는,
    상기 사용자 단말기를 통해 상기 기계학습 파이프라인의 각 단계에서 수행될 모듈을 선택받는 모듈 선택단계(S1010);
    상기 선택받은 적어도 하나 이상의 모듈을 워크플로우로 생성하는 워크플로우 생성단계(S1020); 및
    상기 생성된 워크플로우를 탬플릿으로 워크플로우 탬플릿 저장부에 저장하는 워크플로우 탬플릿 저장단계(S1030)
    를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법.
  10. 제7항에 있어서,
    상기 기계학습 파이프라인은,
    주어진 문제에 대한 데이터를 수집하여 의미 있는 데이터를 추출하는 데이터 추출 단계, 추출한 데이터가 문제 해결에 적합한지 검증하는 데이터 검증 단계, 검증된 데이터를 학습에 입력으로 넣기 위해 준비하는 데이터 준비 단계, 준비된 데이터를 사용하여 모델을 생성하고 학습하는 모델 학습 단계, 생성된 모델의 결과를 평가하는 모델 평가 단계, 및 상기 생성된 모델이 주어진 문제를 해결할 수 있는지 검증하는 모델 검증 단계를 포함하는 것을 특징으로 하는 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 방법.
KR1020220053638A 2022-04-29 2022-04-29 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법 KR20230153784A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220053638A KR20230153784A (ko) 2022-04-29 2022-04-29 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220053638A KR20230153784A (ko) 2022-04-29 2022-04-29 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20230153784A true KR20230153784A (ko) 2023-11-07

Family

ID=88747181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220053638A KR20230153784A (ko) 2022-04-29 2022-04-29 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20230153784A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210057656A (ko) 2019-11-12 2021-05-21 한국전자통신연구원 크로스도메인 확장형 워크플로우 엔진 프레임워크
KR20220035610A (ko) 2020-09-14 2022-03-22 한화시스템 주식회사 파이프라인 기반의 기계 학습 통합 플랫폼 제공 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210057656A (ko) 2019-11-12 2021-05-21 한국전자통신연구원 크로스도메인 확장형 워크플로우 엔진 프레임워크
KR20220035610A (ko) 2020-09-14 2022-03-22 한화시스템 주식회사 파이프라인 기반의 기계 학습 통합 플랫폼 제공 시스템 및 방법

Similar Documents

Publication Publication Date Title
WO2022160707A1 (zh) 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
US11042471B2 (en) System and method for providing a test manager for use with a mainframe rehosting platform
Galindo et al. Supporting distributed product configuration by integrating heterogeneous variability modeling approaches
CN109101415A (zh) 基于数据库比对的接口测试方法、系统、设备和存储介质
US20060136864A1 (en) Apparatus and method for product-line architecture description and verification
Ge et al. A data‐centric capability‐focused approach for system‐of‐systems architecture modeling and analysis
CN110990274B (zh) 一种生成测试案例的数据处理方法、装置及系统
US20230177363A1 (en) Generation of query templates for knowledge-graph based question answering system
CN110392068A (zh) 一种数据传输方法、装置及其设备
Brumbulli et al. Automatic verification of BPMN models
da Silva et al. Workflows community summit: Advancing the state-of-the-art of scientific workflows management systems research and development
KR101003598B1 (ko) Api 테스트 케이스 자동 생성 방법, 그리고 이를 이용한테스트 방법
Aichernig et al. Property-based testing of web services by deriving properties from business-rule models
Sorgalla et al. AjiL: enabling model-driven microservice development
Mishra et al. Creating reusable software component from object-oriented legacy system through reverse engineering.
US20210182340A1 (en) Resolving user expression having dependent intents
JP2006350729A (ja) アプリケーションソフトウェア構築方法、アプリケーションソフトウェア構築処理プログラム及びアプリケーションソフトウェア構築装置
US12001823B2 (en) Systems and methods for building and deploying machine learning applications
KR20230153784A (ko) 워크플로우 기반의 기계학습 파이프라인 생성 및 관리 시스템 및 그 방법
Al-Ali et al. Translating bpmn to business rules
US10496402B1 (en) System, method, and computer program for defining and utilizing minimal testable values for software project development and operations
Ray et al. Move Beyond RPA to Deliver Hyperautomation
CN102541570B (zh) 一种开发增值业务的方法、系统及业务开发客户端
CN113268420A (zh) 数据接口的开发方法、装置、系统及计算机存储介质
Solaiman et al. High level model checker based testing of electronic contracts