KR102533019B1 - Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법 - Google Patents

Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법 Download PDF

Info

Publication number
KR102533019B1
KR102533019B1 KR1020200128741A KR20200128741A KR102533019B1 KR 102533019 B1 KR102533019 B1 KR 102533019B1 KR 1020200128741 A KR1020200128741 A KR 1020200128741A KR 20200128741 A KR20200128741 A KR 20200128741A KR 102533019 B1 KR102533019 B1 KR 102533019B1
Authority
KR
South Korea
Prior art keywords
deep learning
information
learning model
data set
inference
Prior art date
Application number
KR1020200128741A
Other languages
English (en)
Other versions
KR20220046038A (ko
Inventor
박선례
사정환
정다희
안신미
김기두
차순일
박철순
Original Assignee
한국정보통신기술협회
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국정보통신기술협회 filed Critical 한국정보통신기술협회
Priority to KR1020200128741A priority Critical patent/KR102533019B1/ko
Publication of KR20220046038A publication Critical patent/KR20220046038A/ko
Application granted granted Critical
Publication of KR102533019B1 publication Critical patent/KR102533019B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 2022년도 정부(과학기술정보통신부)의 재원으로 '정보통신기획평가원'의 지원을 받아 수행된 연구이다(No. 2020-0-00844, 엣지 서버 시스템 자원 관리 및 제어를 위한 경량 시스템 소프트웨어 기술 개발).
본 발명은 이종의 AI 연산 프로세서를 대상으로 쉽고 편리하게 가속을 수행하고, 수행한 가속의 성능을 평가할 수 있는 인터페이스 시스템에 대한 것으로, 다양한 프레임워크들을 대상으로 하나의 가속화 툴킷을 이용하여 다양한 제조사의 AI 연산 프로세서의 가속을 수행하고, 업로드 된 딥러닝 학습 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 추론 결과 정보를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천하는 기술을 제공하는데 그 목적이 있다.

Description

AI 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법{AI computing processor acceleration performance evaluation interface system and method therefor}
본 발명은 이종의 AI 연산 프로세서를 대상으로 쉽고 편리하게 가속을 수행하고, 수행한 가속의 성능을 평가할 수 있는 인터페이스 시스템에 대한 것으로, 더욱 자세하게는 텐서플로우(TensorFlow), 오픈씨브이(OpenCV), 파이토치(PyTorch)등과 같은 다양한 프레임워크를 이용하여 가속화를 진행함에 있어 AI 연산 프로세서(CPU, GPU, FPGA, VPU)의 제조사(예를 들어 Intel, Nvidia 등)가 사용하고 있는 가속화 툴킷(Tool kit) 형식으로 변환하고, 추론을 수행하고자 하는 데이터 세트를 입력하여 변환된 딥러닝 학습 모델을 대상으로 추론 엔진을 통해 추론을 실행할 수 있도록 추론 코드를 생성하며, 생성된 추론코드에 따라 추론 엔진을 통해 추론을 실행함으로써 AI 연산 프로세서의 가속화를 수행하고, 추론 결과 정보를 이용하여 상기 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법에 대한 것이다.
모든 회귀(regressions) 또는 분류(classifications)문제를 딥러닝(deep learnings)으로 풀어야 할 필요는 없으나 딥러닝 또는 심층 전이 학습(deep transfer learnings)이 기존의 머신러닝으로 만들 수 있는 모델보다 더 정확한 모델을 학습시키는 데 도움이 되는 경우도 있다.
특히 필요한 모델과 비슷한 학습된 모델이 프레임워크의 모델 라이브러리에 이미 존재한다면 텐서플로우(TensorFlow), 파이토치(PyTorch) 등의 프레임워크를 이용하여 딥러닝 모델을 학습시키고 응용하는데 더 효과적일 수 있다.
이러한 프레임워크를 이용하여 CPU, GPU, FPGA, VPU 등과 같은 AI 연산 프로세서로 딥러닝 모델의 연산을 수행함에 있어, 각 AI 연산 프로세서는 연산 성능의 향상을 위해 최적화 모듈(Optimizer) 및 런타임 엔진(Runtime engine)을 포함하는 추론 엔진(Inference engine)을 통해 최적화와 추론 연산의 가속화를 수행할 수 있다.
각 AI 연산 프로세서의 제조사들은 연산의 가속화를 위하여 사용자들을 대상으로 제조사마다 개별적인 가속화 툴킷(예를 들어 텐서알티(TensorRT), 오픈비노(OpenVINO))를 제공하고 있을 뿐만 아니라, 컴퓨터 비전 분야에 있어 효율적으로 추론 가속을 지원하는 오픈씨브이(OpenCV))등이 존재하고 있으며(이하 '가속화 툴킷'은 텐서알티(TensorRT), 오픈비노(OpenVINO) 뿐만 아니라 오픈씨브이(OpenCV)등 추론 가속 기능을 지원하는 응용 프로그램을 통칭하는 개념으로 정의 함), 이러한 가속화 툴킷을 이용하여 라이브러리에서 불러온 딥러닝 학습 모델을 변환하고, 변환한 딥러닝 학습 모델의 추론 실행을 가속화하는 것을 사용자에게 자유도 있게 설정할 수 있는 기능을 제공하고 있다.
그러나 제조사 별로 제공하고 있는 가속화 툴킷은 각자 사용 가능한 파일의 형식 및 언어, 기능 등에 차이가 있어 다양한 제조사의 AI 연산 프로세서를 가속하기 위해서는 각 제조사 별 가속화 툴킷에 대한 지식과 사용 경험을 긴 시간과 노력을 들여 각각 익히지 않으면 용이하게 사용하기 어렵다는 한계가 하며, 실제로 가가속화 수행하였을 때 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 확인하기 어렵다는 단점이 존재한다.
본 개시는 2022년도 정부(과학기술정보통신부)의 재원으로 '정보통신기획평가원'의 지원을 받아 수행된 연구이다(No. 2020-0-00844, 엣지 서버 시스템 자원 관리 및 제어를 위한 경량 시스템 소프트웨어 기술 개발).
본 발명은 각 제조사 별로 제공하고 있는 가속화 툴킷을 이용하여 AI 연산 프로세서를 가속하기 위해서는 각 제조사 별 가속화 툴킷에 대한 지식과 사용 경험을 긴 시간과 노력을 들여 개별적으로 익히지 않으면 용이하게 사용하기 어렵다는 한계를 극복하고 가속화의 성능 평가를 수행할 수 있도록 다양한 프레임워크들을 대상으로 하나의 가속화 툴킷을 이용하여 다양한 제조사의 AI 연산 프로세서의 가속을 수행하는 기능을 포함하고 있는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법을 제공하는데 그 목적이 있다.
또한 본 발명의 일 실시 예에 따라 구현된 가속 성능 평가 인터페이스 시스템을 통해 업로드 된 딥러닝 학습 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 추론 결과 정보를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천하는 기술을 제공하는데 그 목적이 있다.
본 발명의 일 실시예에 따르면 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템은 프로세서를 이용하여 구현된 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템에 있어서, 딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 하나의 과업에 대한 선택이 가능하도록 과업 선정 화면을 사용자에게 제공하고 사용자로부터 진행할 과업을 입력 받는 과업 메뉴 선정부; 딥러닝 모델 및 딥러닝 모델 업로드 정보를 입력 받고, 상기 딥러닝 모델을 대상으로 딥러닝 모델 업로드 정보에 따라 최적화 변환을 수행하며, 변환된 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 딥러닝 모델 업로드부; 입력 받은 데이터 세트 및 상기 데이터 세트 정보, 데이터 수, 데이터 형식 중 적어도 하나를 포함하는 데이터 세트 업로드 정보를 업로드하는 데이터 세트 업로드부; 및 AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 상기 가속화 툴킷에서 호환이 가능하도록 상기 추론 필요 정보를 이용하여 추론 코드를 생성하며, 상기 추론 코드에 따라 상기 딥러닝 모델을 통해 상기 데이터 세트에 대한 추론을 실행하고 추론 결과를 출력하는 추론 실행부를 포함할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 업로드부는, 로컬 업로드 모드와 네트워크 업로드 모드를 제공하며, 상기 로컬 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리에 위치한 딥러닝 모델을 업로드하고, 상기 네트워크 업로드 모드는 네트워크 상에 위치한 딥러닝 모델을 업로드할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 업로드부는, 상기 로컬 업로드 모드에서 상기 사용자가 선택한 프레임워크 정보 및 상기 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델 파일을 딥러닝 모델 명칭 정보와 함께 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 업로드부는, 상기 네트워크 업로드 모드에서 입력 받은 네트워크 상의 딥러닝 모델 정확도 설정 정보, 프레임워크 정보, 과업 유형 정보, 토폴로지 유형 정보를 상기 네트워크 상의 딥러닝 모델의 파일과 함께 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 업로드부는, 상기 딥러닝 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 상기 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 업로드부는, 사용자 업로드 모드와 자동 생성 업로드 모드를 제공하며, 상기 사용자 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리로부터 데이터 세트를 불러와 업로드하고, 상기 자동 생성 업로드 모드는 데이터 자동 생성 기능을 통해 생성한 데이터로 데이터 세트를 구성하고, 구성된 상기 데이터 세트를 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 업로드부는, 상기 사용자 업로드 모드에서 사용자가 선택한 데이터 세트 파일 및 사용자로부터 입력 받은 데이터 세트 포맷, 데이터 세트 명칭 정보와 함께 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 업로드부는, 상기 데이터 세트가 복수의 이미지 데이터로 구성된 데이터 세트인 경우 상기 자동 생성 업로드 모드에서 사용자에게 입력 받은 생성할 이미지 수량 및 이미지 크기에 대한 정보를 입력 받고, 상기 정보에 따라 이미지를 자동 생성할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론 실행부는, 가속할 AI 연산 프로세서의 가속화 툴킷을 사용자가 선택할 수 있도록 선택 메뉴를 제공할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론 실행부는, 상기 추론 필요 정보가 사용자로부터 템플릿 정보, 딥러닝 모델 지정 정보, 네트워크 정보, 하드웨어 환경 정보, 딥러닝 모델 파일, 데이터 세트 파일 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론 실행부는, 상기 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보 중 적어도 하나를 사용자에게 출력할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론 실행부는, 상기 템플릿 정보에 따라 생성된 추론 코드를 사용자에게 출력하고, 상기 추론 코드를 수정하는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론 실행부는, 상기 추론 결과는 실행한 추론의 실행 시간, FPS를 포함할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론 실행부는, 업로드 된 상기 딥러닝 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 각 추론마다 생성된 복수의 추론 결과를 이용하여 상기 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천해 주는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 AI 연산 프로세서의 환경 정보에 따라 상기 템플릿 정보에 포함된 템플릿을 추가 또는 변경하는 기능을 제공할 수 있다.
본 발명의 실시예에 따르면 AI 연산 프로세서 가속 성능 평가 방법은 프로세서를 이용하여 구현된 AI 연산 프로세서 가속 성능 평가 방법에 있어서, 딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 하나의 과업에 대한 선택이 가능하도록 과업 선정 화면을 사용자에게 제공하고 사용자로부터 진행할 과업을 입력 받는 단계; 딥러닝 모델 및 딥러닝 모델 업로드 정보를 입력 받고, 상기 딥러닝 모델을 대상으로 딥러닝 모델 업로드 정보에 따라 최적화 변환을 수행하며, 변환된 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계; 입력 받은 데이터 세트 및 상기 데이터 세트 정보, 데이터 수, 데이터 형식 중 적어도 하나를 포함하는 데이터 세트 업로드 정보를 업로드하는 단계; 및 AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 상기 가속화 툴킷에서 호환이 가능하도록 상기 추론 필요 정보를 이용하여 추론 코드를 생성하며, 상기 추론 코드에 따라 상기 딥러닝 모델을 통해 상기 데이터 세트에 대한 추론을 실행하고 추론 결과를 출력하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는, 로컬 업로드 모드와 네트워크 업로드 모드를 제공하며, 상기 로컬 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리에 위치한 딥러닝 모델을 업로드하고, 상기 네트워크 업로드 모드는 네트워크 상에 위치한 딥러닝 모델을 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는, 상기 로컬 업로드 모드에서 상기 사용자가 선택한 프레임워크 정보 및 상기 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델 파일을 딥러닝 모델 명칭 정보와 함께 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는, 상기 네트워크 업로드 모드에서 입력 받은 네트워크 상의 딥러닝 모델 정확도 설정 정보, 프레임워크 정보, 과업 유형 정보, 토폴로지 유형 정보를 상기 네트워크 상의 딥러닝 모델의 파일과 함께 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는, 상기 딥러닝 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 상기 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는, 사용자 업로드 모드와 자동 생성 업로드 모드를 제공하며, 상기 사용자 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리로부터 데이터 세트를 불러와 업로드하고, 상기 자동 생성 업로드 모드는 데이터 자동 생성 기능을 통해 생성한 데이터로 데이터 세트를 구성하고, 구성된 상기 데이터 세트를 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는, 상기 사용자 업로드 모드에서 사용자가 선택한 데이터 세트 파일 및 사용자로부터 입력 받은 데이터 세트 포맷, 데이터 세트 명칭 정보와 함께 업로드 할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는, 상기 데이터 세트가 복수의 이미지 데이터로 구성된 데이터 세트인 경우 상기 자동 생성 업로드 모드에서 사용자에게 입력 받은 생성할 이미지 수량 및 이미지 크기에 대한 정보를 입력 받고, 상기 정보에 따라 이미지를 자동 생성할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는, 가속할 AI 연산 프로세서의 가속화 툴킷을 사용자가 선택할 수 있도록 선택 메뉴를 제공할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론을 실행하고 추론 결과를 출력하는 단계는, 상기 추론 필요 정보가 사용자로부터 템플릿 정보, 딥러닝 모델 지정 정보, 네트워크 정보, 하드웨어 환경 정보, 딥러닝 모델 파일, 데이터 세트 파일 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론을 실행하고 추론 결과를 출력하는 단계는, 상기 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보 중 적어도 하나를 사용자에게 출력할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론을 실행하고 추론 결과를 출력하는 단계는, 상기 템플릿 정보에 따라 생성된 추론 코드를 사용자에게 출력하고, 상기 추론 코드를 수정하는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 상기 추론을 실행하고 추론 결과를 출력하는 단계는, 상기 추론 결과는 실행한 추론의 실행 시간, FPS를 포함할 수 있다.
본 발명의 일 실시예에 따르면 업로드 된 상기 딥러닝 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 각 추론마다 생성된 복수의 추론 결과를 이용하여 상기 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천해 주는 기능을 제공하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면 AI 연산 프로세서의 환경 정보에 따라 상기 템플릿 정보에 포함된 템플릿을 추가 또는 변경하는 기능을 제공할 수 있다.
본 발명의 일 실시 예에 따라 구현된 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템을 통해 사용자가 하나의 인터페이스에만 적응하면 각 제조사 별 가속화 툴킷에 대한 개별적인 학습 없이도 하나의 시스템을 이용하여 다양한 프레임워크 상의 데이터 학습 모델을 변환하여 다양한 제조사의 AI 연산 프로세서를 가속할 수 있는 효과가 존재한다.
더불어 업로드 된 딥러닝 학습 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 추론 결과 정보를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천함으로써 프레임워크, 딥러닝 학습 모델, AI 연산 프로세서 간의 최적의 조합을 선정하여 그 정보를 제공할 수 있는 기능을 제공하는 효과가 존재한다.
도 1은 본 발명의 제1 실시예에 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템의 구성도이다.
도 2는 본 발명의 제2 실시예에 따른 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 과업 메뉴 선정 화면을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 화면을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 중 로컬 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 중 네트워크 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 화면을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 중 사용자 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 중 자동 생성 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 OpenVINO 추론 모드 화면을 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 TensorRT 추론 모드 화면을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 OpenCV 추론 모드 화면을 나타낸 도면이다.
도 13은 본 발명의 일 실시 예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 이종의 AI 연산 소프트웨어를 대상으로 수행되는 추론과 그에 따른 성능평가 프로세스를 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 다양한 환경 설정 값에 따라 복수의 추론을 실행한 경우에 사용자에게 출력되는 추론 결과 정보를 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 다양한 환경 설정 값에 따라 추론을 실행한 경우에 각 AI 연산 프로세스 별 성능을 사용자에게 출력할 때 사용되는 테이블 형식을 나타난 도면이다.
도 16은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템을 이용하여 AI 연산 프로세서의 환경 정보에 따라 설정된 템플릿을 추가 또는 변경하는 기능을 수행하는 화면을 나타낸 도면이다.
도 17은 본 발명의 실시 예에 따른 AI 연산 프로세서 가속 성능 평가 방법의 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도면을 참조하여 본 발명의 실시예에 따른 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법에 대하여 설명한다.
도 1은 본 발명의 제1 실시예에 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템의 구성도이다.
도 1을 참조하면 본 발명의 제1 실시예에 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템(1000)은 프로세서를 이용하여 구현된 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템일 수 있으며, 과업 메뉴 선정부(100), 딥러닝 모델 업로드부(200), 데이터 세트 업로드부(300), 추론 실행부(400)를 포함할 수 있다.
과업 메뉴 선정부(100)는 딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 하나의 과업에 대한 선택이 가능하도록 과업 선정 화면을 사용자에게 제공하고, 사용자로부터 진행할 과업을 입력 받을 수 있다.
여기서 AI 연산 프로세서는 AI 기반의 딥러닝 모델의 연산을 수행할 수 있는 가진 프로세서를 의미할 수 있으며, 본 발명의 일 실시예에 따르면 CPU, GPU, FPGA, VPU을 포함할 수 있으나, 이에 한정되지 아니하고 딥러닝 모델의 연산을 수행할 수 있는 연산 자원을 지닌 프로세서라면 제한 없이 사용될 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델은 학습 데이터를 이용하여 일정 수준의 학습(Training)이 수행된 딥러닝 모델을 의미할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트는 사용자가 딥러닝 모델을 통해 추론을 수행하고자 하는 데이터들로 이루어진 세트를 의미할 수 있다.
본 발명의 일 실시예에 따르면 과업 메뉴 선정부(100)는 사용자로 하여금 딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 진행하고자 하는 하나의 과업을 선택 받을 수 있도록 GUI 형태로 구현된 선택 메뉴를 출력할 수 있으며, 이를 통해 진행할 과업의 선택정보를 입력 받을 수 있다.
딥러닝 모델 업로드부(200)는 딥러닝 모델 및 딥러닝 모델 업로드 정보를 입력 받고, 딥러닝 모델을 대상으로 딥러닝 모델 업로드 정보에 따라 최적화 변환을 수행하며, 변환된 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드할 수 있다
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 딥러닝 모델 및 딥러닝 모델 업로드 정보는 가속 성능 평가 인터페이스 시스템 상에 포함된 저장소에 업로드 될 수 있으며, 저장소는 변환 전,후의 딥러닝 모델 또는 데이터 세트를 임시로 저장할 수 있는 저장공간을 의미할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 사용자로부터 원하는 프레임워크 정보를 수신 받고, 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델을 업로드할 수 있다.
본 발명의 일 실시예에 따르면 사용자로부터 원하는 프레임워크 정보를 텐서플로우(TensorFlow)로 수신 받은 경우 해당 프레임워크에서 실행 가능한 확장자는 *.h5, *.pb, *.pbtxt 형식을 가질 수 있다.
본 발명의 일 실시예에 따르면 사용자로부터 원하는 프레임워크 정보를 텐서알티(TensorRT)로 수신 받은 경우 해당 프레임워크에서 실행 가능한 확장자는 *.uff 형식을 가질 수 있다.
본 발명의 일 실시예에 따르면 사용자로부터 원하는 프레임워크 정보를 오픈비노(OpenVINO)로 수신 받은 경우 해당 프레임워크에서 실행 가능한 확장자는 *.bin, *.xml 형식을 가질 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 업로드된 딥러닝 모델을 삭제 또는 사용자의 단말로 다운로드하는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 로컬 업로드 모드와 네트워크 업로드 모드를 제공할 수 있다.
상기 실시예에 따르면 로컬 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리에 위치한 딥러닝 모델을 업로드하고, 네트워크 업로드 모드는 네트워크 상에 위치한 딥러닝 모델을 업로드할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 사용자가 딥러닝 학습 모델을 로컬 디렉토리로부터 불러오거나, API를 통해 네트워크 상에 공개된 딥러닝 학습 모델을 불러와 딥러닝 학습 모델을 시스템 상의 저장소로 업로드할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 로컬 업로드 모드에서 상기 사용자가 선택한 프레임워크 정보 및 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델 파일을 딥러닝 모델 명칭 정보와 함께 업로드할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 네트워크 업로드 모드에서 입력 받은 네트워크 상의 딥러닝 모델 정확도 설정 정보, 프레임워크 정보, 과업 유형 정보, 토폴로지 유형 정보를 네트워크 상의 딥러닝 모델의 파일과 함께 업로드할 수 있다.
여기서 딥러닝 모델 정확도 설정 정보(precision)는 부동소수점 또는 정수 방식으로 구성될 수 있으며, FP16, FP32 등으로 표현될 수 있다.
또한 프레임워크 정보는 학습된 딥러닝 모델의 프레임워크에 대한 정보를 의미할 수 있으며, 과업 유형 정보(task type)는 딥러닝 모델에 따라 딥러닝 과업 방식 지정한 것(예를 들어 객체 검출 등)에 대한 정보를 의미할 수 있으며, 토폴로지 유형 정보(topology type)는 딥러닝 모델의 토폴리지 구조를 지정한 것에 대한 정보를 의미할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 네트워크 상에서 프레임워크로 학습한 다양한 딥러닝 전학습(pre-trained) 모델을 제공하는 Open Model Zoo로부터 딥러닝 학습 모델을 불러와 업로드할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 학습 모델을 업로드 함에 있어 먼저 딥러닝 학습 모델을 선택하고, 정확도(precision)를 설정하여 업로드를 수행할 수 있다.
본 발명의 일 실시예에 따르면 정확도는 CPU와 VPU는 FP32, GPU와 FPGA는 FP16로 설정할 수 있으나 이에 한정되지 아니한다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 딥러닝 모델 업로드 정보가 딥러닝 모델 ID, 딥러닝 모델 명칭, 프레임워크 정보, 정확도 설정정보, 모델 업로드 날짜, 모델 생성 날짜 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 업로드 이후에 업로드된 딥러닝 모델의 ID, 모델명칭, 프레임워크 정보, 정확도 설정 정보, 업로드 일자, 파일 생성 일자 중 적어도 하나의 정보를 사용자에게 출력할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 딥러닝 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 AI 연산 프로세서에서 사용될 수 있는 형식으로 업로드된 딥러닝 학습 모델을 변환할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 업로드된 딥러닝 학습 모델을 frozen *.fb 확장자로 변환할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드부(200)는 딥러닝 학습 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환할 수 있다.
본 발명의 일 실시예에 따르면 frozen *.fb 확장자로 변환된 딥러닝 학습 모델을 프레임워크, 작업 유형(Task type), 정확도에 따라 최적화를 수행할 수 있다.
본 발명의 일 실시예에 따르면 AI 연산 프로세서의 가속화 툴킷이 텐서알티(TensorRT)이고 AI 연산 프로세서가 GPU인 경우, 추론 성능 향상할 수 있게 네트워크 압축(network compression), 네트워크 최적화(network optimization), GPU 최적화를 목적으로 하는 추론(inference) 가속을 위해 사용되는 기법으로 Quantization & Precision Calibration, Graph Optimization, Kernel Auto-tuning, Dynamic Tensor Memory & Multi-stream execution 등이 사용될 수 있으나 이에 한정되지 아니한다.
데이터 세트 업로드부(300)는 입력 받은 데이터 세트 및 데이터 세트 정보, 데이터 수, 데이터 형식 중 적어도 하나를 포함하는 데이터 세트 업로드 정보를 업로드할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트 정보는 데이터 세트 ID 및 데이터 세트 명칭 등이 포함될 수 있다.
본 발명의 일 실시예에 따르면 데이터 수는 데이터 세트에 포함된 데이터의 개수를 의미할 수 있으며, 이미지 데이터 세트인 경우 데이터에 포함된 이미지 수(number of images)를 의미할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트 업로드부(300)는 사용자 업로드 모드와 자동 생성 업로드 모드를 제공할 수 있다.
상기 실시 예에 따르면 데이터 세트 업로드부(300)의 사용자 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리로부터 데이터 세트를 불러와 업로드할 수 있으며, 자동 생성 업로드 모드는 데이터 자동 생성 기능을 통해 생성한 데이터로 데이터 세트를 구성하고, 구성된 상기 데이터 세트를 업로드할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트 업로드부(300)는 사용자 업로드 모드에서 사용자가 선택한 데이터 세트 파일(dataset file) 및 사용자로부터 입력 받은 데이터 세트 포맷(dataset format), 데이터 세트 명칭 정보(dataset name)와 함께 업로드할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트 업로드부(300)는 데이터 세트가 복수의 이미지 데이터로 구성된 데이터 세트인 경우 자동 생성 업로드 모드에서 사용자에게 입력 받은 생성할 이미지 수(number of images) 및 이미지 크기에 대한 정보를 입력 받고, 상기 정보에 따라 이미지를 자동 생성할 수 있다.
본 발명의 일 실시예에 따르면 이미지 크기는 이미지의 너비(width)와 높이(height)정보로 표현될 수 있다.
추론 실행부(400)는 AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 가속화 툴킷에서 호환이 가능하도록 추론 필요 정보를 이용하여 추론코드를 생성하며, 추론 코드에 따라 딥러닝 모델을 통해 데이터 세트에 대한 추론을 실행하고 추론 결과를 출력할 수 있다.
본 발명의 일 실시예에 따르면 추론 실행부(400)는 업로드된 데이터 세트를 입력 받은 딥러닝 모델이 추론 엔진을 통해 사용자로부터 입력 받은 AI 연산 프로세서의 가속화 툴킷 정보에 따라 호환이 가능하도록 추론 코드를 생성할 수 있다.
본 발명의 일 실시예에 따르면 추론 코드 생성부(400)는 미리 설정된 템플릿 설정 기능을 통해 설정된 템플릿(template)에 따른 추론 코드를 생성할 수 있다.
여기서 템플릿은 OpenVINO / TensorRT / OpenCV의 딥러닝 모델의 종류 별로 미리 설정되어 있는 추론 코드를 제공하는 기능을 의미할 수 있다.
본 발명의 일 실시예에 따르면 추론 코드는 파이썬(Python) 코드 형식으로 생성될 수 있으나 이에 한정되지 아니한다.
본 발명의 일 실시예에 따르면 템플릿의 다수의 분류(classification)중 하나를 선택하면 해당 분류에 따라 미리 생성된 추론 코드가 제공될 수 있다.
본 발명의 일 실시예에 따르면 추론 코드 생성부(400)는 추론 코드는 AI 연산 프로세서 환경 정보에 따라 미리 설정된 템플릿 기능을 통해 템플릿의 다수의 분류 중 사용자가 선택한 분류에 따라 추론 코드를 생성할 수 있다.
본 발명의 일 실시예에 따르면 추론 코드 생성부(400)는 생성된 추론 코드를 사용자가 수정 작성할 수 있는 편집 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 추론 실행부(400)는 가속할 AI 연산 프로세서의 가속화 툴킷을 사용자가 선택할 수 있도록 선택 메뉴를 제공할 수 있다.
본 발명의 일 실시예에 따르면 선택할 수 있는 가속화 툴킷으로는 OpenVINO / TensorRT / OpenCV 3가지 일 수 있다.
본 발명의 일 실시예에 따르면 추론 실행부(400)의 추론 필요 정보는 사용자로부터 템플릿 정보(template), 딥러닝 모델 지정 정보(Model), 네트워크 정보(Label), 하드웨어 환경 정보(Environmental), 딥러닝 모델 파일(Bin File 또는 XML File), 데이터 세트 파일(Dataset) 중 적어도 하나를 포함할 수 있다.
여기서 템플릿 정보(template)는 사용자가 선택한 템플릿에 대한 정보를 의미할 수 있으며, 딥러닝 모델 지정 정보(Model)는 사용자가 추론에 사용하고자 하는 업로드된 딥러닝 모델을 식별할 수 있는 정보일 수 있다.
또한 네트워크 정보(Label)는 업로드 된 딥러닝 모델이 네트워크 상에서 불러온 것일 때 해당 네트워크를 식별할 수 있는 정보이며, 하드웨어 환경 정보(Environmental)는 CPU, GPU, FPGA, Movidius Myriad 등의 사용자 하드웨어 환경에 대한 정보를 의미할 수 있다.
마지막으로 딥러닝 모델 파일(Bin File 또는 XML File), 데이터 세트 파일(Dataset)은 실제로 추론을 수행하기 위한 딥러닝 모델 및 데이터 세트의 본 파일들을 의미할 수 있다.
본 발명의 일 실시예 따르면 추론 실행부(400)는 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보 중 적어도 하나를 사용자에게 출력할 수 있다.
본 발명의 일 실시예 따르면 추론 실행부(400)는 템플릿 정보에 따라 생성된 추론 코드를 사용자에게 출력하고, 추론 코드를 수정하는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 템플릿의 다수의 분류(classification)중 하나를 선택하면 해당 분류에 따라 미리 생성된 추론 코드가 제공될 수 있다.
본 발명의 일 실시예에 따르면 추론 실행부(400)는 생성된 추론 코드를 통해 추론을 실행할 수 있으며, 프레임워크 별로 모델 확장자를 선택하여 추론을 실행할 수 있다.
본 발명의 일 실시예에 따르면 오픈비노(OpenVINO)는 'XML File'에서 변환한 '모델명.xml', 'Bin File'에서 변환한 '모델명.bin'파일을 선택하여 추론 엔진을 통해 추론을 실행할 수 있으며, 텐서알티(TensorRT)는 'pf, uff File'에서 변환한 '모델명. uff'파일을 선택하여 추론 엔진을 통해 추론을 실행할 수 있다.
또한 OpenCV는 'pb File'에서 업로드한 '모델명. pb'또는 'pbtxt File'에서 업로드한 '모델명. pbtxt' 파일을 선택하여 추론 엔진을 통해 추론을 실행할 수 있다.
본 발명의 일 실시예에 따르면 추론 실행부(400)는 실행한 추론의 실행 시간, FPS를 포함하는 추론 결과 정보를 사용자에게 출력할 수 있다.
본 발명의 일 실시예에 따르면 FPS(Frame per second)는 초당 프레임이 몇 번 표시되는지를 나타내는 단위를 의미하며, 추론의 실행 시간은 추론이 완료되기까지의 소요되는 시간을 의미할 수 있다.
본 발명의 일 실시예에 따르면 추론의 실행 결과 FPS가 높을수록, 추론의 실행시간이 짧을수록 높은 가속화 성능을 의미할 수 있다.
도 2은 본 발명의 제2 실시예에 따른 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템의 구성도이다.
도 2를 참조하면 제2 실시예에 따른 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템 (1100)은 본 발명의 제1 실시예에 따른 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템 (1000)에서 성능 평가 분석부(500)를 더 포함한 것일 수 있다.
성능 평가 분석부(500)는 업로드 된 딥러닝 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 각 추론마다 생성된 복수의 추론 결과를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천해주는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 성능 평가 분석부(500)는 업로드 된 딥러닝 학습 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 추론 결과 정보를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천할 수 있다.
본 발명의 일 실시예에 따르면 추론의 실행 결과 FPS가 높을수록, 추론의 실행시간이 짧을수록 높은 가속화 성능을 보인다고 볼 수 있으므로, FPS와 실행 시간에 각각 가중치를 두어 계산하여 높은 점수를 보이는 설정부터 최적 설정으로 추천할 수 있다.
도 3은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 과업 메뉴 선정 화면을 나타낸 도면이다.
도 3을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 과업 메뉴 선정 화면이 나타나 있으며, 과업 메뉴는 딥러닝 모델을 업로드 할 수 있는 딥러닝 모델 업로드부(AI Model), 데이터 세트 업로드부(Dataset), 추론 실행부(Inference)로 구성되어 있으면 사용자가 해당 메뉴를 지정함으로써 해당 과업을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 화면을 나타낸 도면이다.
도 4를 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴가 도시되어 있으며 해당 화면은 이미 업로드 되어 있는 딥러닝 모델에 대한 딥러닝 모델의 ID, 모델명칭(model name), 프레임워크 정보(Framework), 정확도 설정 정보(Precison), 업로드 일자(Upload Date), 파일 생성 일자들이 사용자에게 출력되고 있으며, 업로드 메뉴를 통해 새로운 딥러닝 모델의 업로드 절차로 진행할 수 있으며, 업로드 된 딥러닝 모델을 사용자 단말로 저장 또는 삭제할 수 있다.
도 5는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 중 로컬 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 5를 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 중 로컬 업로드 모드 메뉴 화면이 도시되어 있으며, 프레임워크 선택창, 딥러닝 모델 명칭 입력창 등이 존재하여 프레임워크 정보 및 딥러닝 모델 명칭 정보를 입력 받을 수 있다.
또한 업로드 하고자 하는 *.h5 / *.pb 확장자 또는 *.pbtxt 확장자 파일을 선택하여 업로드를 진행할 수 있다.
도 6은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 중 네트워크 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 6을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 딥러닝 모델 업로드 메뉴 중 네트워크 업로드 모드 메뉴 화면이 도시되어 있으며, 네트워크 상의 딥러닝 모델을 입력하는 입력창, 정확도 설정 정보를 입력하는 입력창, 프레임워크 정보를 입력할 수 있는 입력창, 과업 유형 정보를 입력할 수 있는 입력창, 토폴로지 유형 정보를 입력할 수 있는 입력창 등이 존재하며, 이를 통해 해당 정보를 사용자로부터 입력 받아 딥러닝 모델의 업로드를 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 화면을 나타낸 도면이다.
도 7을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 화면이 도시되어 있으며, 해당 화면은 이미 업로드 되어 있는 데이터 세트에 대한 데이터 세트의 ID, 데이터 세트 명칭(Dataset name), 데이터 세트에 포함된 데이터 수(number of datas 또는 number of images), 데이터 형식(Type), 업로드 일자(Upload Date)등이 사용자에게 출력되고 있으며, 업로드 메뉴를 통해 새로운 데이터 세트의 업로드 절차로 진행할 수 있으며, 업로드 된 데이터 세트를 사용자 단말로 저장 또는 삭제할 수 있다.
도 8은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 중 사용자 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 8를 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 중 사용자 업로드 모드 메뉴 화면이 도시되어 있으며, 데이터 세트 포맷(Dataset Format), 데이터 세트 명칭 정보(Dataset Name), 업로드를 진행할 데이터 세트 파일(Dataset File)을 입력 받을 수 있는 입력창이 존재하며, 이를 통해 해당 정보를 사용자로부터 입력 받아 데이터 세트의 업로드를 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 중 자동 생성 업로드 모드 메뉴 화면을 나타낸 도면이다.
도 9를 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 데이터 세트 업로드 메뉴 중 자동 생성 업로드 모드 메뉴 화면이 도시되어 있으며, 데이터 세트가 이미지로 되어 있는 경우 데이터 세트 명칭 정보(Dataset Name), 데이터의 수(number of images), 이미지의 너비(Width), 이미지의 높이(Height)를 입력 받을 수 있는 입력창이 존재하며, 이를 통해 해당 정보를 사용자로부터 입력 받아 데이터 세트의 업로드를 수행할 수 있다.
도 10은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 OpenVINO 추론 모드 화면을 나타낸 도면이다.
도 10을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 OpenVINO 추론 모드 화면이 도시되어 있으며, 템플릿 정보(Template), 딥러닝 모델 지정 정보(Model), 네트워크 정보(Label), 하드웨어 환경 정보(Environment), 딥러닝 모델 파일(Bin File 또는 XML File), 데이터 세트 파일(Dataset)을 사용자로부터 입력 받을 수 있는 입력창이 존재하며, 이를 통해 사용자가 원하는 딥러닝 모델과 데이터 세트를 지정하여 추론을 실행할 수 있다.
또한 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보를 포함하는 변수 정보(Variable)를 사용자에게 출력할 수 있으며, 추론 코드창(Cell Window)을 통해 생성된 추론코드를 사용자에게 출력하고, 추론 결과(Result)또한 사용자에게 출력할 수 있다.
도 11은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 TensorRT 추론 모드 화면을 나타낸 도면이다.
도 11을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 TensorRT 추론 모드 화면이 도시되어 있으며, 템플릿 정보(Template), 딥러닝 모델 지정 정보(Model), 네트워크 정보(Label), 하드웨어 환경 정보(Environment), 딥러닝 모델 파일(pb, uff file 또는 pbtxt File), 데이터 세트 파일(Dataset)을 사용자로부터 입력 받을 수 있는 입력창이 존재하며, 이를 통해 사용자가 원하는 딥러닝 모델과 데이터 세트를 지정하여 추론을 실행할 수 있다.
또한 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보를 포함하는 변수 정보(Variable)를 사용자에게 출력할 수 있으며, 추론 코드창(Cell Window)을 통해 생성된 추론코드를 사용자에게 출력하고, 추론 결과(Result)또한 사용자에게 출력할 수 있다.
도 12는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 OpenCV 추론 모드 화면을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템의 추론 실행 메뉴 중 OpenCV 추론 모드 화면이 도시되어 있으며, 템플릿 정보(Template), 딥러닝 모델 지정 정보(Model), 네트워크 정보(Label), 하드웨어 환경 정보(Environment), 딥러닝 모델 파일(pb, uff file 또는 pbtxt File), 데이터 세트 파일(Dataset)을 사용자로부터 입력 받을 수 있는 입력창이 존재하며, 이를 통해 사용자가 원하는 딥러닝 모델과 데이터 세트를 지정하여 추론을 실행할 수 있다.
또한 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보를 포함하는 변수 정보(Variable)를 사용자에게 출력할 수 있으며, 추론 코드창(Cell Window)을 통해 생성된 추론코드를 사용자에게 출력하고, 추론 결과(Result)또한 사용자에게 출력할 수 있다.
도 13은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 이종의 AI 연산 소프트웨어를 대상으로 수행되는 추론과 그에 따른 성능평가 프로세스를 나타낸 도면이다.
도 13을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 이종의 AI 연산 소프트웨어를 대상으로 수행되는 추론과 그에 따른 성능평가 프로세스가 도시되어 있으며, 이에 따르면 업로드된 딥러닝 모델은 각 AI 연산 프로세서의 제조사별 가속화 툴킷에 해당하는 형식으로 변환되고, 이를 기반으로 생성된 추론 코드를 이용하여 추론 엔진을 통해 제조사(INTEL, NVIDIA)별로 추론을 실행함으로써, 하나의 시스템에서 다양한 제조사의 AI 연산 프로세서 가속화를 수행할 수 있다.
상기 실시예에 다르면 다양한 제조사의 AI 연산 프로세서 가속화에 따른 추론을 실행한 추론 결과를 분석함으로써 각 추론마다 생성된 복수의 추론 결과를 이용하여 상기 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천할 수 있다.
도 14는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 다양한 환경 설정 값에 따라 복수의 추론을 실행한 경우에 사용자에게 출력되는 추론 결과 정보를 나타낸 도면이다.
도 14를 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 복수의 추론을 실행한 경우 각 추론에 대한 추론 결과 정보를 사용자에게 출력하는 화면을 나타낸 도면이며, 이에 따르면 각 가속화 툴킷 / 토폴리지에 따른 특정 AI 연산 프로세서에서 추론을 실행하는데 소요되는 추론 실행 시간 및 FPS를 사용자에게 출력할 수 있다.
도 15는 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템이 다양한 환경 설정 값에 따라 추론을 실행한 경우에 각 AI 연산 프로세스 별 성능을 사용자에게 출력할 때 사용되는 테이블 형식을 나타난 도면이다.
도 15는 참조하면 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템에서 다양한 환경 설정 값에 따라 추론을 실행한 경우에 각 AI 연산 프로세스 별 성능을 사용자에게 출력할 때 사용되는 테이블 형식이 나타나 있으며, 이러한 테이블 형식을 통해 특정 딥러닝 모델과 프레임워크를 이용하여 추론을 실행함에 있어 각 가속화 툴킷을 이용했을 때 AI 연산 프로세스별 추론 결과 정보를 추론 실행 시간 및 FPS를 이용하여 성능을 점수화(score)함으로써, 가장 높은 점수를 보이는 환경 설정을 가장 적합한 환경 설정 값을 추천해 줄 수 있다.
도 16은 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템을 이용하여 AI 연산 프로세서의 환경 정보에 따라 설정된 템플릿을 추가 또는 변경하는 기능을 수행하는 화면을 나타낸 도면이다.
도 16을 참조하면 본 발명의 일 실시예에 따라 구현된 가속 성능 평가 인터페이스 시스템에서 설정된 템플릿을 추가 또는 변경하는 기능을 수행하는 화면이 나타나 있으며, 초기 선택화면에서 템플릿 항목을 추가하여 새로운 템플릿 파일을 업로드하여 추가할 수 있으며, 저장되어 있는 템플릿을 선택하여 파일 변경 또는 해당 템플릿 파일을 수정 변경하여 수정 기능을 수행할 수 있다.
본 발명의 일 실시예에 따르면 새로운 템플릿 파일을 업로드하여 추가하기 위하여 사용자가 직접 딥러닝 학습 모델 최적화 변환 시스템의 저장소에 파이썬(python) 파일(*.py)을 업로드하여 이를 추론에 사용할 수 있다.
도 17은 본 발명의 실시예에 따른 AI 연산 프로세서 가속 성능 평가 방법의 흐름도이다.
과업 메뉴 선정 화면을 사용자에게 제공하고 사용자로부터 진행할 과업을 입력 받는다(S10).
본 발명의 일 실시예에 따르면 딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 하나의 과업에 대한 선택이 가능하도록 과업 선정 화면을 사용자에게 제공하고, 사용자로부터 진행할 과업을 입력 받을 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트는 사용자가 딥러닝 모델을 통해 추론을 수행하고자 하는 데이터들로 이루어진 세트를 의미할 수 있다.
본 발명의 일 실시예에 따르면 사용자로 하여금 딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 진행하고자 하는 하나의 과업을 선택 받을 수 있도록 GUI 형태로 구현된 선택 메뉴를 출력할 수 있으며, 이를 통해 진행할 과업의 선택정보를 입력 받을 수 있다.
딥러닝 모델을 대상으로 최적화 변환을 수행하고, 변환된 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드한다(S20).
본 발명의 일 실시예에 따르면 딥러닝 모델 및 딥러닝 모델 업로드 정보를 입력 받고, 딥러닝 모델을 대상으로 딥러닝 모델 업로드 정보에 따라 최적화 변환을 수행하며, 변환된 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드할 수 있다
본 발명의 일 실시예에 따르면 딥러닝 모델 및 딥러닝 모델 업로드 정보는 가속 성능 평가 인터페이스 시스템 상에 포함된 저장소에 업로드 될 수 있으며, 저장소는 변환 전,후의 딥러닝 모델 또는 데이터 세트를 임시로 저장할 수 있는 저장공간을 의미할 수 있다.
본 발명의 일 실시예에 따르면 사용자로부터 원하는 프레임워크 정보를 수신 받고, 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델을 업로드할 수 있다.
본 발명의 일 실시예에 따르면 업로드된 딥러닝 모델을 삭제 또는 사용자의 단말로 다운로드하는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 로컬 업로드 모드와 네트워크 업로드 모드를 제공할 수 있다.
상기 실시예에 따르면 로컬 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리에 위치한 딥러닝 모델을 업로드하고, 네트워크 업로드 모드는 네트워크 상에 위치한 딥러닝 모델을 업로드할 수 있다.
본 발명의 일 실시예에 따르면 사용자가 딥러닝 학습 모델을 로컬 디렉토리로부터 불러오거나, API를 통해 네트워크 상에 공개된 딥러닝 학습 모델을 불러와 딥러닝 학습 모델을 시스템 상의 저장소로 업로드할 수 있다.
본 발명의 일 실시예에 따르면 로컬 업로드 모드에서 상기 사용자가 선택한 프레임워크 정보 및 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델 파일을 딥러닝 모델 명칭 정보와 함께 업로드할 수 있다.
본 발명의 일 실시예에 따르면 네트워크 업로드 모드에서 입력 받은 네트워크 상의 딥러닝 모델 정확도 설정 정보, 프레임워크 정보, 과업 유형 정보, 토폴로지 유형 정보를 네트워크 상의 딥러닝 모델의 파일과 함께 업로드할 수 있다.
여기서 딥러닝 모델 정확도 설정 정보(Precison)는 부동소수점 또는 정수 방식으로 구성될 수 있으며, FP16, FP32 등으로 표현될 수 있다.
또한 프레임워크 정보는 학습된 딥러닝 모델의 프레임워크에 대한 정보를 의미할 수 있으며, 과업 유형 정보(task type)는 딥러닝 모델에 따라 딥러닝 과업 방식을 지정한 것(예를 들어 객체 검출 등)에 대한 정보를 의미할 수 있으며, 토폴로지 유형 정보(topology type)는 딥러닝 모델의 토폴리지 구조를 지정한 것에 대한 정보를 의미할 수 있다.
본 발명의 일 실시예에 따르면 네트워크 상에서 프레임워크로 학습한 다양한 딥러닝 전학습(pre-trained) 모델을 제공하는 Open Model Zoo로부터 딥러닝 학습 모델을 불러와 업로드할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 학습 모델을 업로드 함에 있어 먼저 딥러닝 학습 모델을 선택하고, 정확도(Precision)를 설정하여 업로드를 수행할 수 있다.
본 발명의 일 실시예에 따르면 정확도는 CPU와 VPU는 FP32, GPU와 FPGA는 FP16로 설정할 수 있으나 이에 한정되지 아니한다.
본 발명의 일 실시예에 따르면 딥러닝 모델 업로드 정보가 딥러닝 모델 ID, 딥러닝 모델 명칭, 프레임워크 정보, 정확도 설정정보, 모델 업로드 날짜, 모델 생성 날짜 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면 업로드 이후에 업로드된 딥러닝 모델의 ID, 모델명칭, 프레임워크 정보, 정확도 설정 정보, 업로드 일자, 파일 생성 일자 중 적어도 하나의 정보를 사용자에게 출력할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환할 수 있다.
본 발명의 일 실시예에 따르면 AI 연산 프로세서에서 사용될 수 있는 형식으로 업로드된 딥러닝 학습 모델을 변환할 수 있다.
본 발명의 일 실시예에 따르면 업로드된 딥러닝 학습 모델을 frozen *.fb 확장자로 변환할 수 있다.
본 발명의 일 실시예에 따르면 딥러닝 학습 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환할 수 있다.
본 발명의 일 실시예에 따르면 frozen *.fb 확장자로 변환된 딥러닝 학습 모델을 프레임워크, 작업 유형(Task type), 정확도에 따라 최적화를 수행할 수 있다.
본 발명의 일 실시예에 따르면 AI 연산 프로세서의 가속화 툴킷이 텐서알티(TensorRT)고 AI 연산 프로세서가 GPU인 경우, 추론 성능 향상할 수 있게 네트워크 압축(network compression), 네트워크 최적화(network optimization), GPU 최적화를 목적으로 하는 추론(inference) 가속을 위해 사용되는 기법으로 Quantization & Precision Calibration, Graph Optimization, Kernel Auto-tuning, Dynamic Tensor Memory & Multi-stream execution 등이 사용될 수 있으나 이에 한정되지 아니한다.
데이터 세트 및 데이터 세트 업로드 정보를 업로드한다(S30).
본 발명의 일 실시예에 따르면 입력 받은 데이터 세트 및 데이터 세트 정보, 데이터 수, 데이터 형식 중 적어도 하나를 포함하는 데이터 세트 업로드 정보를 업로드할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트 정보는 데이터 세트 ID 및 데이터 세트 명칭 등이 포함될 수 있다.
본 발명의 일 실시예에 따르면 데이터 수는 데이터 세트에 포함된 데이터의 개수를 의미할 수 있으며, 이미지 데이터 세트인 경우 데이터에 포함된 이미지 수(number of images)를 의미할 수 있다.
본 발명의 일 실시예에 따르면 사용자 업로드 모드와 자동 생성 업로드 모드를 제공할 수 있다.
상기 실시 예에 따르면 사용자 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리로부터 데이터 세트를 불러와 업로드할 수 있으며, 자동 생성 업로드 모드는 데이터 자동 생성 기능을 통해 생성한 데이터로 데이터 세트를 구성하고, 구성된 상기 데이터 세트를 업로드할 수 있다.
본 발명의 일 실시예에 따르면 사용자 업로드 모드에서 사용자가 선택한 데이터 세트 파일(dataset file) 및 사용자로부터 입력 받은 데이터 세트 포맷(dataset format), 데이터 세트 명칭 정보(dataset name)와 함께 업로드할 수 있다.
본 발명의 일 실시예에 따르면 데이터 세트가 복수의 이미지 데이터로 구성된 데이터 세트인 경우 자동 생성 업로드 모드에서 사용자에게 입력 받은 생성할 이미지 수(number of images) 및 이미지 크기에 대한 정보를 입력 받고, 상기 정보에 따라 이미지를 자동 생성할 수 있다.
본 발명의 일 실시예에 따르면 이미지 크기는 이미지의 너비(Width)와 높이(height)정보로 표현될 수 있다.
AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 가속화 툴킷에서 호환이 가능하도록 추론 필요 정보를 이용하여 추론코드 생성 및 추론코드에 따라 추론을 실행하고 추론 결과 출력한다(S40).
본 발명의 일 실시예에 따르면 AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 가속화 툴킷에서 호환이 가능하도록 추론 필요 정보를 이용하여 추론코드를 생성하며, 추론 코드에 따라 딥러닝 모델을 통해 데이터 세트에 대한 추론을 실행하고 추론 결과를 출력할 수 있다.
본 발명의 일 실시예에 따르면 업로드된 데이터 세트를 입력 받은 딥러닝 모델이 추론 엔진을 통해 사용자로부터 입력 받은 AI 연산 프로세서의 가속화 툴킷 정보에 따라 호환이 가능하도록 추론 코드를 생성할 수 있다.
본 발명의 일 실시예에 따르면 미리 설정된 템플릿 설정 기능을 통해 설정된 템플릿(template)에 따른 추론 코드를 생성할 수 있다.
본 발명의 일 실시예에 따르면 추론 코드는 파이썬(Python) 코드 형식으로 생성될 수 있으나 이에 한정되지 아니한다.
본 발명의 일 실시예에 따르면 템플릿의 다수의 분류(classification)중 하나를 선택하면 해당 분류에 따라 미리 생성된 추론 코드가 제공될 수 있다.
본 발명의 일 실시예에 따르면 추론 코드는 AI 연산 프로세서 환경 정보에 따라 미리 설정된 템플릿 기능을 통해 템플릿의 다수의 분류 중 사용자가 선택한 분류에 따라 추론 코드를 생성할 수 있다.
본 발명의 일 실시예에 따르면 생성된 추론 코드를 사용자가 수정 작성할 수 있는 편집 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 가속할 AI 연산 프로세서의 가속화 툴킷을 사용자가 선택할 수 있도록 선택 메뉴를 제공할 수 있다.
본 발명의 일 실시예에 따르면 선택할 수 있는 가속화 툴킷으로는 OpenVINO / TensorRT / OpenCV 3가지 일수 있다.
본 발명의 일 실시예에 따르면 추론 필요 정보는 사용자로부터 템플릿 정보(template), 딥러닝 모델 지정 정보(Model), 네트워크 정보(Label), 하드웨어 환경 정보(Environmental), 딥러닝 모델 파일(Bin File 또는 XML File), 데이터 세트 파일(Dataset) 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예 따르면 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보 중 적어도 하나를 사용자에게 출력할 수 있다.
본 발명의 일 실시예 따르면 템플릿 정보에 따라 생성된 추론 코드를 사용자에게 출력하고, 추론 코드를 수정하는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 미리 설정된 템플릿 설정 기능을 통해 설정된 템플릿(template)에 따른 추론 코드를 생성할 수 있으며, 여기서 템플릿은 OpenVINO / TensorRT / OpenCV의 딥러닝 모델의 종류 별로 미리 설정되어 있는 추론 코드를 제공하는 기능을 의미할 수 있다.
본 발명의 일 실시예에 따르면 추론 코드는 파이썬(Python) 코드 형식으로 생성될 수 있으나 이에 한정되지 아니한다.
본 발명의 일 실시예에 따르면 템플릿의 다수의 분류(classification)중 하나를 선택하면 해당 분류에 따라 미리 생성된 추론 코드가 제공될 수 있다.
본 발명의 일 실시예에 따르면 생성된 추론 코드를 통해 추론을 실행할 수 있으며, 프레임워크 별로 모델 확장자를 선택하여 추론을 실행할 수 있다.
본 발명의 일 실시예에 따르면 오픈비노(OpenVINO)는 'XML File'에서 변환한 '모델명.xml', 'Bin File'에서 변환한 '모델명.bin'파일을 선택하여 추론 엔진을 통해 추론을 실행할 수 있으며, 텐서알티(TensorRT)는 'pf, uff File'에서 변환한 '모델명. uff'파일을 선택하여 추론 엔진을 통해 추론을 실행할 수 있다.
또한 OpenCV는 'pb File'에서 업로드한 '모델명. pb'또는 'pbtxt File'에서 업로드한 '모델명. pbtxt' 파일을 선택하여 추론 엔진을 통해 추론을 실행할 수 있다.
본 발명의 일 실시예에 따르면 실행한 추론의 실행 시간, FPS를 포함하는 추론 결과 정보를 사용자에게 출력할 수 있다.
본 발명의 일 실시예에 따르면 FPS(Frame per second)는 초당 프레임이 몇 번 표시되는지를 나타내는 단위를 의미하며, 추론의 실행 시간은 추론이 완료되기까지의 소요되는 시간을 의미할 수 있다.
본 발명의 일 실시예에 따르면 추론의 실행 결과 FPS가 높을수록, 추론의 실행시간이 짧을수록 높은 가속화 성능을 의미할 수 있다.
본 발명의 일 실시예에 따르면 업로드 된 딥러닝 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 각 추론마다 생성된 복수의 추론 결과를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천해주는 기능을 제공할 수 있다.
본 발명의 일 실시예에 따르면 성능 평가 분석부(500)는 업로드 된 딥러닝 학습 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 추론 결과 정보를 이용하여 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천할 수 있다.
본 발명의 일 실시예에 따르면 추론의 실행 결과 FPS가 높을수록, 추론의 실행시간이 짧을수록 높은 가속화 성능을 보인다고 볼 수 있으므로, FPS와 실행 시간에 각각 가중치를 두어 계산하여 높은 점수를 보이는 설정부터 최적 설정으로 추천할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (30)

  1. 프로세서를 이용하여 구현된 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템에 있어서,
    딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 하나의 과업에 대한 선택이 가능하도록 과업 선정 화면을 사용자에게 제공하고 사용자로부터 진행할 과업을 입력 받는 과업 메뉴 선정부;
    딥러닝 모델 및 딥러닝 모델 업로드 정보를 입력 받고, 상기 딥러닝 모델을 대상으로 딥러닝 모델 업로드 정보에 따라 최적화 변환을 수행하며, 변환된 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 딥러닝 모델 업로드부;
    입력 받은 데이터 세트 및 상기 데이터 세트 정보, 데이터 수, 데이터 형식 중 적어도 하나를 포함하는 데이터 세트 업로드 정보를 업로드하는 데이터 세트 업로드부; 및
    AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 상기 가속화 툴킷에서 호환이 가능하도록 상기 추론 필요 정보를 이용하여 추론 코드를 생성하며, 상기 추론 코드에 따라 상기 딥러닝 모델을 통해 상기 데이터 세트에 대한 추론을 실행하고 추론 결과를 출력하는 추론 실행부를 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  2. 제 1 항에 있어서 상기 딥러닝 모델 업로드부는,
    로컬 업로드 모드와 네트워크 업로드 모드를 제공하며,
    상기 로컬 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리에 위치한 딥러닝 모델을 업로드하고,
    상기 네트워크 업로드 모드는 네트워크 상에 위치한 딥러닝 모델을 업로드하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  3. 제 2 항에 있어서 상기 딥러닝 모델 업로드부는,
    상기 로컬 업로드 모드에서 상기 사용자가 선택한 프레임워크 정보 및 상기 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델 파일을 딥러닝 모델 명칭 정보와 함께 업로드 하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  4. 제 2 항에 있어서 상기 딥러닝 모델 업로드부는,
    상기 네트워크 업로드 모드에서 입력 받은 네트워크 상의 딥러닝 모델 정확도 설정 정보, 프레임워크 정보, 과업 유형 정보, 토폴로지 유형 정보를 상기 네트워크 상의 딥러닝 모델의 파일과 함께 업로드 하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  5. 제 1 항에 있어서 상기 딥러닝 모델 업로드부는,
    상기 딥러닝 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 상기 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  6. 제 1 항에 있어서 상기 데이터 세트 업로드부는,
    사용자 업로드 모드와 자동 생성 업로드 모드를 제공하며,
    상기 사용자 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리로부터 데이터 세트를 불러와 업로드하고,
    상기 자동 생성 업로드 모드는 데이터 자동 생성 기능을 통해 생성한 데이터로 데이터 세트를 구성하고, 구성된 상기 데이터 세트를 업로드하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  7. 제 6 항에 있어서 상기 데이터 세트 업로드부는,
    상기 사용자 업로드 모드에서 사용자가 선택한 데이터 세트 파일 및 사용자로부터 입력 받은 데이터 세트 포맷, 데이터 세트 명칭 정보와 함께 업로드 하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  8. 제 6 항에 있어서 상기 데이터 세트 업로드부는,
    상기 데이터 세트가 복수의 이미지 데이터로 구성된 데이터 세트인 경우 상기 자동 생성 업로드 모드에서 사용자에게 입력 받은 생성할 이미지 수량 및 이미지 크기에 대한 정보를 입력 받고, 상기 정보에 따라 이미지를 자동 생성하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  9. 제 1 항에 있어서 상기 추론 실행부는,
    가속할 AI 연산 프로세서의 가속화 툴킷을 사용자가 선택할 수 있도록 선택 메뉴를 제공하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  10. 제 1 항에 있어서 상기 추론 실행부는,
    상기 추론 필요 정보가 사용자로부터 템플릿 정보, 딥러닝 모델 지정 정보, 네트워크 정보, 하드웨어 환경 정보, 딥러닝 모델 파일, 데이터 세트 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  11. 제 1 항에 있어서 상기 추론 실행부는,
    상기 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보 중 적어도 하나를 사용자에게 출력하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  12. 제 10 항에 있어서 상기 추론 실행부는,
    상기 템플릿 정보에 따라 생성된 추론 코드를 사용자에게 출력하고, 상기 추론 코드를 수정하는 기능을 제공하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  13. 제 1 항에 있어서 상기 추론 실행부는,
    상기 추론 결과는 실행한 추론의 실행 시간, FPS를 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  14. 제 1 항에 있어서 상기 추론 실행부는,
    업로드 된 상기 딥러닝 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 각 추론마다 생성된 복수의 추론 결과를 이용하여 상기 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천해 주는 기능을 제공하는 성능 평가 분석부를 더 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  15. 제 10 항에 있어서,
    AI 연산 프로세서의 환경 정보에 따라 상기 템플릿 정보에 포함된 템플릿을 추가 또는 변경하는 기능을 제공하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 인터페이스 시스템.
  16. 프로세서를 이용하여 구현된 AI 연산 프로세서 가속 성능 평가 방법에 있어서,
    딥러닝 학습 모델 업로드, 데이터 세트 업로드, 추론 실행 중 하나의 과업에 대한 선택이 가능하도록 과업 선정 화면을 사용자에게 제공하고 사용자로부터 진행할 과업을 입력 받는 단계;
    딥러닝 모델 및 딥러닝 모델 업로드 정보를 입력 받고, 상기 딥러닝 모델을 대상으로 딥러닝 모델 업로드 정보에 따라 최적화 변환을 수행하며, 변환된 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계;
    입력 받은 데이터 세트 및 상기 데이터 세트 정보, 데이터 수, 데이터 형식 중 적어도 하나를 포함하는 데이터 세트 업로드 정보를 업로드하는 단계; 및
    AI 연산 프로세서의 가속화 툴킷 정보 및 추론 필요 정보를 입력 받고, 상기 가속화 툴킷에서 호환이 가능하도록 상기 추론 필요 정보를 이용하여 추론 코드를 생성하며, 상기 추론 코드에 따라 상기 딥러닝 모델을 통해 상기 데이터 세트에 대한 추론을 실행하고 추론 결과를 출력하는 단계를 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  17. 제 16 항에 있어서 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는,
    로컬 업로드 모드와 네트워크 업로드 모드를 제공하며,
    상기 로컬 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리에 위치한 딥러닝 모델을 업로드하고,
    상기 네트워크 업로드 모드는 네트워크 상에 위치한 딥러닝 모델을 업로드하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  18. 제 17 항에 있어서 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는,
    상기 로컬 업로드 모드에서 상기 사용자가 선택한 프레임워크 정보 및 상기 프레임워크에서 실행 가능한 확장자를 가진 딥러닝 모델 파일을 딥러닝 모델 명칭 정보와 함께 업로드하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  19. 제 17 항에 있어서 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는,
    상기 네트워크 업로드 모드에서 입력 받은 네트워크 상의 딥러닝 모델 정확도 설정 정보, 프레임워크 정보, 과업 유형 정보, 토폴로지 유형 정보를 상기 네트워크 상의 딥러닝 모델의 파일과 함께 업로드하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  20. 제 16 항에 있어서 상기 딥러닝 모델 및 딥러닝 모델 업로드 정보를 업로드하는 단계는,
    상기 딥러닝 모델을 대상으로 파일 포맷 변환, 정확도 변경 중 적어도 하나를 통해 상기 AI 연산 프로세서에서 사용될 수 있는 형식으로 변환하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  21. 제 16 항에 있어서 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는,
    사용자 업로드 모드와 자동 생성 업로드 모드를 제공하며,
    상기 사용자 업로드 모드는 사용자의 단말에 위치한 로컬 디렉토리로부터 데이터 세트를 불러와 업로드하고,
    상기 자동 생성 업로드 모드는 데이터 자동 생성 기능을 통해 생성한 데이터로 데이터 세트를 구성하고, 구성된 상기 데이터 세트를 업로드하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  22. 제 21 항에 있어서 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는,
    상기 사용자 업로드 모드에서 사용자가 선택한 데이터 세트 파일 및 사용자로부터 입력 받은 데이터 세트 포맷, 데이터 세트 명칭 정보와 함께 업로드 하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  23. 제 21 항에 있어서 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는,
    상기 데이터 세트가 복수의 이미지 데이터로 구성된 데이터 세트인 경우 상기 자동 생성 업로드 모드에서 사용자에게 입력 받은 생성할 이미지 수량 및 이미지 크기에 대한 정보를 입력 받고, 상기 정보에 따라 이미지를 자동 생성하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  24. 제 16 항에 있어서 상기 데이터 세트 및 데이터 세트 업로드 정보를 업로드하는 단계는,
    가속할 AI 연산 프로세서의 가속화 툴킷을 사용자가 선택할 수 있도록 선택 메뉴를 제공하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  25. 제 16 항에 있어서 상기 추론을 실행하고 추론 결과를 출력하는 단계는,
    상기 추론 필요 정보가 사용자로부터 템플릿 정보, 딥러닝 모델 지정 정보, 네트워크 정보, 하드웨어 환경 정보, 딥러닝 모델 파일, 데이터 세트 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  26. 제 16 항에 있어서 상기 추론을 실행하고 추론 결과를 출력하는 단계는,
    상기 추론 필요 정보를 입력 받은 후, 추론 준비가 완료된 딥러닝 모델, 데이터 세트, 하드웨어 정보 중 적어도 하나를 사용자에게 출력하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  27. 제 25 항에 있어서 상기 추론을 실행하고 추론 결과를 출력하는 단계는,
    상기 템플릿 정보에 따라 생성된 추론 코드를 사용자에게 출력하고, 상기 추론 코드를 수정하는 기능을 제공하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  28. 제 16 항에 있어서 상기 추론을 실행하고 추론 결과를 출력하는 단계는,
    상기 추론 결과는 실행한 추론의 실행 시간, FPS를 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  29. 제 16 항에 있어서,
    업로드 된 상기 딥러닝 모델과 데이터 세트를 이용하여 다양한 환경 설정 값에 따라 복수의 실행을 수행한 경우에 각 추론마다 생성된 복수의 추론 결과를 이용하여 상기 딥러닝 학습 모델과 데이터 세트에 가장 적합한 환경 설정 값을 추천해 주는 기능을 제공하는 단계를 더 포함하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
  30. 제 25 항에 있어서,
    AI 연산 프로세서의 환경 정보에 따라 상기 템플릿 정보에 포함된 템플릿을 추가 또는 변경하는 기능을 제공하는 것을 특징으로 하는 AI 연산 프로세서 가속 성능 평가 방법.
KR1020200128741A 2020-10-06 2020-10-06 Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법 KR102533019B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200128741A KR102533019B1 (ko) 2020-10-06 2020-10-06 Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200128741A KR102533019B1 (ko) 2020-10-06 2020-10-06 Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20220046038A KR20220046038A (ko) 2022-04-14
KR102533019B1 true KR102533019B1 (ko) 2023-05-18

Family

ID=81211383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200128741A KR102533019B1 (ko) 2020-10-06 2020-10-06 Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102533019B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102564653B1 (ko) * 2022-10-19 2023-08-08 (주)엠피엘에스 키오스크를 활용한 비대면 승선권 발권 및 결제 솔루션 제공시스템 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169543B1 (ko) * 2018-11-08 2020-10-23 주식회사 소이넷 인공지능 실행가속을 위한 인공지능 실행모델 설정방법 및 인공지능 실행가속시스템

Also Published As

Publication number Publication date
KR20220046038A (ko) 2022-04-14

Similar Documents

Publication Publication Date Title
US20160357526A1 (en) Declarative design-time experience platform for code generation
AU2017202599B2 (en) System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters
US10949337B1 (en) Utilizing neural network and artificial intelligence models to select and execute test cases in a software development platform
US11544604B2 (en) Adaptive model insights visualization engine for complex machine learning models
CN110941467A (zh) 数据处理方法、装置及系统
US9841953B2 (en) Pluggable components for runtime-image generation
JP6614466B2 (ja) 能力付与データ生成装置
US11902391B2 (en) Action flow fragment management
US20220004914A1 (en) Code generation for auto-ai
EP3311265B1 (en) A computing platform and method thereof for searching, executing, and evaluating computational algorithms
CN114138274A (zh) 一种深度学习编译器的高层中间表示转换方法及相关装置
KR102533019B1 (ko) Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법
KR20220046036A (ko) Ai 연산 프로세서의 가속을 위한 딥러닝 학습 모델 최적화 변환 시스템 및 그 방법
EP2769302A1 (en) Use of dynamic profiles for creating and using a distributed computing environment
Wozniak et al. Braid-db: Toward ai-driven science with machine learning provenance
CN117112082A (zh) 任务执行方法、装置、系统、设备及存储介质
Tran et al. Systematic generation of abstract user interfaces
CN111767316A (zh) 目标任务处理方法、装置及电子设备
Gazzarri et al. Supporting structured parallel program design, development and tuning in FastFlow
CN117076335B (zh) 一种模型测试方法、系统、介质及电子设备
Flasch A friendly introduction to rgp
US8549464B2 (en) Reusing expression graphs in computer programming languages
Zhang Multi-level FaaS Application Deployment Optimization
Shetty X-MAP: A Performance Prediction Tool for Porting Algorithms and Applications to Accelerators
Pogrebnoy Constructing graph models for software system development and analysis

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right