Loading...

모델서빙

6 Contents
최신순

BeeAI 공모전 교육 영상(08) - 딥러닝 모델 학습(108~121p)

PySpark ML에 이어 TensorFlow를 이용한 딥러닝 모델 학습 과정으로 논의를 확장합니다. BeeAI 플랫폼은 TensorFlow 학습 코드를 외부 엔진과 연동하여 효율적인 모델 생성을 지원하는 강력한 기능을 제공합니다. 사용자는 분류나 회귀와 같은 기존 모델을 활용하거나 직접 작성한 학습 코드를 실행하여 최적의 정확도를 가진 모델을 도출할 수 있습니다. 이를 위해서는 먼저 전용 사이트에 접속하여 회원 가입을 진행하고, 클라우드 저장소와 연동할 수 있는 계정 정보를 확보하여 멤버 권한을 부여받는 과정이 선행되어야 원활한 실습과 개발이 가능합니다. BeeAI 플랫폼과 TensorFlow 학습 코드를 성공적으로 연동하기 위해서는 약속된 변수와 가이드라인을 엄격히 준수해야 합니다. 플랫폼은 학습 코드로 데이터셋 경로, 체크포인트 저장 위치, 모델 버전, 그리고 최종 서빙 모델이 저장될 디렉터리 정보를 플래그 형태로 전달하기 때문입니다. 학습 코드는 단순히 체크포인트를 생성하는 것에 그치지 않고, 시스템이 즉시 활용할 수 있는 서빙용 익스포트 상태까지 구현되어야 완벽한 연동으로 간주합니다. 이러한 파라미터 전달 체계는 모델 학습의 자동화와 관리 효율성을 극대화하는 핵심 요소가 됩니다. 실무적인 학습을 위해서는 External Engine 환경에서 TensorFlow Training Controller와 TensorFlow Runner를 조합하여 사용합니다. Runner는 실제 Python 학습 코드가 위치한 경로를 지정하며, Controller는 학습 전반의 오퍼레이션을 제어하는 역할을 수행합니다. 사용자는 웹 UI를 통해 에포크나 배치 사이즈 같은 하이퍼파라미터를 자유롭게 설정할 수 있으며, 이 값들은 실행 시점에 학습 코드로 실시간 전달됩니다. 학습 코드는 로컬 환경에서 미리 검증한 뒤 플랫폼에 탑재하여 대규모 데이터 처리에 활용하는 방식이 권장됩니다. 학습 과정에서 생성되는 체크포인트 파일은 모델의 상태를 보존하고 연속적인 학습을 가능하게 하는 중요한 자산입니다. 여기에는 모델의 최신 상태를 담은 프로토콜 버퍼 파일부터 그래프 구조를 재구성하기 위한 메타 정보, 그리고 가중치와 바이어스 값이 저장되는 데이터 파일 등이 포함됩니다. 학습 코드 내에 기존 체크포인트가 존재할 경우 이를 복구하는 로직을 포함하면, 처음부터 다시 학습하지 않고 이전 상태에서 이어서 모델을 고도화할 수 있습니다. 이는 연산 자원을 절약하고 모델의 성능을 지속적으로 개선하는 데 필수적인 절차입니다. 학습이 완료된 모델을 실제 서비스에 투입하기 위해서는 TensorFlow Serving 기반의 'SavedModel' 형태로 변환하는 익스포트 과정이 필요합니다. SavedModel은 추론을 위한 모델의 스냅샷으로, 입력과 출력 텐서를 정의하는 시그니처 정보를 포함하고 있습니다. 이 시그니처 정의를 바탕으로 추후 REST API URL이 생성되며, 이를 통해 외부 시스템이 모델에 예측 질의를 보낼 수 있게 됩니다. 따라서 익스포트 함수를 통해 그래프 정의와 파라미터 변수들을 체계적으로 저장하는 것은 안정적인 서빙 인프라를 구축하기 위한 가장 핵심적인 단계라고 할 수 있습니다. 대규모 딥러닝 모델의 효율적인 연산을 위해 GPU 디바이스를 지정하는 설정 또한 간과할 수 없습니다. 학습 코드 내에서 특정 GPU 번호를 지정하고 이를 세션 설정에 반영함으로써, 시스템 하드웨어 자원을 최적으로 활용할 수 있습니다. 여러 대의 GPU가 있는 서버 환경에서는 가용 자원을 적절히 배분하여 병렬 학습을 수행하거나 특정 작업에 전용 장치를 할당하는 것이 가능합니다. BeeAI 환경에서는 이러한 하드웨어 가속 설정을 통해 CPU 대비 월등히 빠른 속도로 복잡한 연산을 처리하고, 딥러닝 모델의 수렴 속도를 획기적으로 높일 수 있습니다. BeeAI의 차별화된 강점은 주기적인 반복 학습 설정을 통해 모델을 최신 데이터 트렌드에 맞춰 실시간으로 업데이트할 수 있다는 점입니다. 워크플로우 속성에서 실행 주기를 분이나 시간 단위로 설정하면 새로운 데이터가 유입될 때마다 모델 파라미터가 자동으로 갱신됩니다. 예를 들어 교통 속도 예측 모델의 경우, 유입되는 최신 데이터를 반영해 지속적으로 재학습함으로써 변화하는 도로 상황에 기민하게 대응하게 됩니다. 이렇게 생성된 최신 모델은 서빙 오퍼레이터에 의해 즉시 로딩되어 사용자에게 항상 높은 수준의 예측 정확도를 보장하게 됩니다.

BeeAI 공모전 교육 영상(08) - 딥러닝 모델 학습(108~121p)
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(07) - 머신러닝 모델 학습하기(104~107p)

BeeAI 플랫폼은 인공지능 서비스를 효율적으로 구축하기 위한 통합적인 환경을 제공합니다. 워크벤치는 데이터 처리 방식에 따라 여덟 가지 엔진 유형을 선택할 수 있는 편집 화면으로, 사용자는 드래그 앤 드롭 방식을 통해 컴포넌트를 자유롭게 조합하여 워크플로우를 구성할 수 있습니다. 하나의 프로젝트는 여러 개의 워크플로우를 포함할 수 있으며, 각 워크플로우는 복잡한 데이터 처리 과정을 직관적으로 시각화합니다. 이러한 구조 덕분에 사용자는 데이터 수집부터 정제, 가공에 이르는 전 과정을 하나의 일관된 흐름 안에서 체계적으로 관리할 수 있습니다. 인공지능 서비스의 안정적인 운영을 위해 BeeAI는 빌드, 배포, 종료라는 세 가지 주요 제어 기능을 지원합니다. 운영 화면에서는 설계된 워크플로우를 실제 실행 단계로 전환할 수 있으며, 리소스 보기 기능을 통해 CPU와 메모리 사용량을 실시간으로 모니터링하여 시스템 자원의 효율성을 점검합니다. 또한 레지스트리 화면은 API부터 서브스크립션까지 인공지능 서비스 개발에 필요한 열한 가지 유형의 리소스를 통합하여 관리합니다. 모든 자원은 하둡 분산 파일 시스템이나 로컬 스토리지에 안전하게 저장되어 데이터의 연속성과 보안을 철저히 보장합니다. BeeAI의 핵심 강점 중 하나는 다양한 데이터 처리 엔진을 목적에 맞게 유연하게 활용할 수 있다는 점입니다. 배치 엔진은 대규모 데이터를 일괄 처리하는 데 최적화되어 있으며, 스트림 엔진은 실시간으로 유입되는 데이터를 즉각적으로 분석하는 데 사용됩니다. 특히 파이썬 사용자 정의 함수를 도커 이미지로 만들어 REST API 형태로 제공하는 On-demand Instance Serving 엔진은 파이썬 기반 데이터 워크플로우 구성을 원활하게 돕습니다. 이를 통해 개발자는 복잡한 인프라 설정 없이도 자신이 구현한 알고리즘을 워크플로우에 손쉽게 통합하여 지능형 서비스를 구현할 수 있습니다. 최적의 머신러닝 모델을 자동으로 선택해주는 AutoML 기능은 BeeAI의 'Auto Spark ML' 오퍼레이터를 통해 구현됩니다. 이 기능은 사용자가 회귀 또는 분류라는 분석 유형만 선택하면, 시스템 내부에서 여러 모델을 순차적으로 학습시킨 후 가장 정확도가 높은 최적의 모델을 최종적으로 결정해 줍니다. 이는 전문적인 데이터 과학자가 아니더라도 데이터의 특성에 가장 부합하는 모델을 손쉽게 찾아낼 수 있도록 돕는 도구입니다. 비록 모델 탐색 과정에서 다소 시간이 소요될 수 있으나, 신뢰도 높은 분석 결과를 얻기 위한 효율적인 경로를 제공한다는 점에서 활용 가치가 매우 높습니다. 분산 대용량 빅데이터 처리를 위해 BeeAI는 PySpark 기능을 적극적으로 활용하며, 이를 위해 External 엔진을 사용합니다. PySpark 기반의 오퍼레이터들은 효율적인 데이터 처리를 위해 주로 Parquet 파일 형식을 입력으로 받습니다. 따라서 사용자는 기존의 CSV 파일을 Parquet 형식으로 변환하는 과정을 거쳐야 하며, 이는 데이터의 읽기 성능을 최적화하고 분산 처리 환경에 적합한 구조를 갖추게 합니다. 모델 학습이 완료되면 결과물은 버전별로 관리되어 저장소에 체계적으로 기록되므로, 향후 서비스 배포와 성능 검증 단계에서 데이터 히스토리를 추적하고 관리하기에 용이합니다.

BeeAI 공모전 교육 영상(07) - 머신러닝 모델 학습하기(104~107p)
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(11) - 융합서빙(134~148p)

KSB AI+ 9.0은 인공지능 모델의 학습과 서빙을 체계적으로 관리할 수 있는 강력한 플랫폼입니다. 사용자 매뉴얼은 엔진의 구조와 개념부터 구체적인 회원가입 절차와 UI 활용법까지 상세히 안내하며, 초보자도 쉽게 시스템에 적응할 수 있도록 돕습니다. 특히 8가지 엔진 유형을 통해 배치 방식과 스트림 방식의 처리 과정을 한눈에 파악할 수 있으며, CPU와 GPU 자원을 효율적으로 활용하여 복잡한 연산 작업을 수행할 수 있는 기반을 제공합니다. 이러한 체계적인 구성은 복잡한 AI 프로젝트의 초기 진입 장벽을 낮추는 데 큰 기여를 합니다. 실시간 데이터 처리를 위한 스트림 엔진은 구조화된 스트리밍 기술을 기반으로 구현되어 있습니다. 이를 통해 워터마크나 체크포인트 같은 정교한 기능을 활용할 수 있으며, IoT 디바이스에서 유입되는 정제되지 않은 로우 데이터를 신속하고 정확하게 변환할 수 있습니다. 예를 들어, 교통 속도 센서에서 들어오는 데이터를 실시간으로 분석하여 1분 혹은 5분 단위의 평균 속도를 예측하는 모델은 도시 교통 관제 시스템 등에 즉각적으로 적용될 수 있는 실무적인 예시입니다. 데이터의 전 주기를 관리하는 이러한 방식은 실시간 대응이 필요한 현대 인공지능 서비스의 핵심 요소로 자리 잡고 있습니다. 파이썬 사용자 정의 함수(UDF)를 활용하면 복잡한 로직도 손쉽게 REST API 형태로 변환할 수 있습니다. 사용자가 작성한 코드는 도커 이미지로 자동 생성되어 특정 포트를 통해 서비스되며, 이는 모델의 배포와 확장을 매우 간편하게 만듭니다. 또한 AutoML이나 텐서플로우와 같은 외부 프레임워크와의 연동을 지원하는 익스터널 엔진은 개발자가 익숙한 도구를 활용하면서도 플랫폼의 강력한 관리 기능을 동시에 누릴 수 있게 합니다. 이러한 유연한 연동 구조는 다양한 요구사항을 가진 프로젝트 환경에서 모델의 가치를 극대화하고 개발 효율성을 높이는 중요한 역할을 수행합니다. 융합 서빙은 개별적으로 작동하는 여러 모델이나 외부 오픈 API를 유기적으로 연결하여 더욱 지능화된 서비스를 창출하는 고도화된 기술입니다. 이는 단순히 하나의 모델이 결과를 도출하는 것을 넘어, 언어 지능이나 시각 지능 같은 다양한 모듈을 조합하여 복잡한 문제를 해결할 수 있게 합니다. 온디맨드 파이프 서빙 엔진을 활용하면 여러 개의 REST API를 파이프라인으로 연결하여 일련의 처리 과정을 자동화할 수 있으며, 이는 사용자에게 더욱 완성도 높은 인공지능 응답을 제공하는 기반이 됩니다. 결과적으로 서비스의 유연성과 확장성을 획기적으로 높여 차세대 지능형 서비스 구축을 가능하게 합니다. 구체적인 활용 사례로 외부의 엑소브레인 오픈 API와 내부 모델을 결합한 건물 에너지 제어 서비스를 들 수 있습니다. 자연어로 입력된 사용자의 요구사항을 대화 처리 및 기계 독해 API를 통해 분석하고, 여기서 추출된 핵심 키워드를 바탕으로 적절한 제어 로직을 실행하는 구조입니다. 예를 들어 날씨 정보나 사용자의 의도를 파악하여 '맑은 날' 혹은 '흐린 날'에 최적화된 모델로 요청을 라우팅함으로써 에너지를 효율적으로 관리할 수 있습니다. 이러한 방식은 파편화된 기술들을 하나의 완성된 비즈니스 시나리오로 통합하는 인공지능 서비스 개발의 정수를 보여주는 좋은 예시입니다. 융합 서빙의 핵심은 지능적인 라우트 매핑 기술에 있습니다. 입력된 데이터의 특성에 따라 인덱스 값을 부여하고, 이를 바탕으로 서로 다른 모델로 작업을 배정하는 과정은 시스템의 효율성을 극대화합니다. 맑은 날씨에는 특정 조건에 따라 환기를 권고하고, 추운 날씨에는 창문을 닫도록 유도하는 등의 세밀한 제어가 가능해지는 것입니다. 오퍼레이터들이 체인처럼 연결되어 요청과 응답을 주고받는 과정은 복잡한 데이터 흐름을 체계적으로 제어할 수 있게 하며, 이는 개발자가 복잡한 백엔드 인프라를 직접 구축하지 않고도 수준 높은 마이크로서비스 아키텍처를 구현할 수 있도록 돕습니다. 마지막으로 데이터 생성부터 전처리, 학습, 예측, 결과 저장에 이르는 엔드 투 엔드 시나리오는 인공지능 서비스의 전체 생명주기를 완성합니다. 실시간으로 유입되는 데이터를 기반으로 모델이 주기적으로 재학습되고, 새롭게 학습된 모델이 서비스 중단 없이 즉각적으로 교체되어 적용되는 과정은 플랫폼의 자동화 역량을 입증합니다. 모델 자동 갱신(Auto Reload) 기능을 통해 신규 모델을 감지하고 서빙에 반영함으로써, 변화하는 환경 데이터에 기민하게 대응하는 진정한 의미의 지능형 시스템 구축이 가능해집니다. 이러한 전 주기 통합 관리 환경은 미래 인공지능 산업에서 강력한 경쟁력이 될 것입니다.

BeeAI 공모전 교육 영상(11) - 융합서빙(134~148p)
한국전자통신연구원ETRI 클래스
  • 융합
  • 공학·기술

BeeAI 활용 교육 영상(01) - BeeAI 웹툴킷 개요 및 사용법

인공지능 서비스를 구축하기 위해서는 데이터의 수집부터 가공, 모델 학습, 그리고 실제 서비스로 이어지는 복잡한 전주기적인 과정이 필요합니다. BeeAI는 이러한 일련의 단계를 체계적으로 관리할 수 있는 통합 프레임워크를 제공하여 개발 효율성을 극대화하는 데 중점을 둡니다. 데이터 적재와 처리를 통해 학습용 데이터를 생성하고, 이를 기반으로 최적의 인공지능 모델을 만들어 실제 환경에 서빙하는 4단계의 순환 주기는 인공지능 개발의 핵심적인 기반이 됩니다. 사용자의 편의를 위해 BeeAI는 직관적인 웹 툴킷과 함께 기술 지원을 위한 상세한 매뉴얼을 제공합니다. 전용 홈페이지에서는 기술적인 궁금증을 해결할 수 있는 질의응답 게시판을 운영하며, 최신 버전의 소프트웨어 다운로드와 설치 방법, 단계별 사용자 가이드를 체계적으로 안내합니다. 특히 제공되는 다양한 워크플로 예제는 오픈 소스 기반의 프레임워크를 사용자가 직접 활용하거나 자신만의 비즈니스 로직에 맞춰 최적화된 인공지능 서비스를 설계할 수 있도록 돕는 유용한 지침서가 됩니다. 시스템에 접속하여 가장 먼저 마주하는 대시보드와 모니터링 탭은 전체 서비스의 운영 현황을 실시간으로 파악할 수 있는 관제 센터 역할을 합니다. 대시보드에서는 수행된 워크플로의 성공과 실패 여부, 실행 소요 시간 등 핵심적인 통계 정보를 시각화하여 제공하며, 현재 서빙 중인 인공지능 모델의 상태도 즉각적으로 확인이 가능합니다. 모니터링 기능을 통해 작업의 진행률을 체크하고 문제가 발생했을 때 상세 로그를 분석할 수 있는 환경은 중단 없는 안정적인 서비스 운영을 가능하게 만드는 중요한 요소입니다. 인공지능 서비스의 논리적 구조를 설계하는 워크플로 에디터는 드래그 앤 드롭 방식을 채택하여 복잡한 데이터 흐름을 시각적으로 구현합니다. '엔진'이라 불리는 기본 컨테이너 안에 데이터를 읽어오는 리더, 가공을 담당하는 오퍼레이터, 결과를 저장하는 라이터 등 5가지 필수 컴포넌트를 배치하여 하나의 완성된 연산 단위를 구성하게 됩니다. 이러한 설계 정보는 JSON 형태의 스펙 파일로 관리되므로, 임포트와 익스포트 기능을 활용하여 동료 개발자와 설계를 공유하거나 기존의 우수한 워크플로를 간편하게 재활용할 수 있습니다. 데이터의 성격과 처리 목적에 따라 13종에 달하는 다양한 엔진 유형을 선택하여 활용할 수 있습니다. 배치 엔진은 저장된 대용량 정보를 한 번에 읽어와 정기적으로 모델을 학습시키거나 대규모 데이터를 정제할 때 매우 효과적입니다. 반면 스트림 방식 엔진은 카프카와 같은 스트리밍 플랫폼과 연동하여 실시간으로 유입되는 데이터를 짧은 주기마다 끊어 처리함으로써 실시간성을 확보합니다. 이러한 유연한 구조 덕분에 개발자는 데이터의 규모나 속도에 상관없이 서비스 요구 사항에 가장 부합하는 처리 아키텍처를 손쉽게 구축할 수 있습니다. 지연 없는 처리가 중요한 실시간 스트림 환경을 위해 BeeAI는 고도화된 정제 및 복구 기술을 지원합니다. 네트워크 장애 등으로 늦게 도착한 데이터를 적절히 처리하는 워터마크 기능과 시스템 장애 시 이전 상태로 복구하기 위한 체크포인트 설정은 데이터 신뢰성을 보장하는 핵심 기능입니다. 또한 사용자의 요청에 즉각적으로 응답하는 온디맨드 서빙 엔진과 파이썬 모듈을 활용한 융합 서빙 기능은 복잡한 딥러닝 추론이나 전처리 로직을 REST API 형태로 간편하게 외부 서비스와 연결하여 실용적인 인공지능 응용 서비스를 완성해 줍니다. 인공지능 개발에 사용되는 모든 자산은 하둡 분산 파일 시스템(HDFS) 기반의 리포지토리에 통합되어 안전하게 관리됩니다. 개발자는 리포지토리를 통해 실습용 데이터 세트나 학습이 완료된 모델 파일을 자유롭게 업로드하고 관리할 수 있으며, 처리된 결과물에 대해서는 텍스트와 더불어 다양한 차트 형태의 시각화 도구를 활용해 데이터의 특성을 직관적으로 분석할 수 있습니다. 이러한 통합 저장 공간은 데이터의 이력을 관리하고 팀 단위의 협업을 수행하는 데 있어 필수적인 플랫폼 기반으로서의 역할을 충실히 수행합니다.

BeeAI 활용 교육 영상(01) - BeeAI 웹툴킷 개요 및 사용법
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 활용 교육 영상(07) - [3단계] BeeAI에서 학습 모델 생성하기

Spark ML은 방대한 분산 데이터 처리 플랫폼인 Spark 위에서 머신러닝을 구현할 수 있도록 설계된 라이브러리입니다. 후발 주자로 시작했음에도 불구하고 강력한 개발자 커뮤니티와 빠른 발전 속도 덕분에 현재는 매우 안정적인 생태계를 구축하고 있습니다. 특히 Scikit-learn의 설계를 참조하여 도입한 파이프라인 구조는 데이터 전처리부터 모델 학습까지의 전 과정을 하나의 흐름으로 연결하여 효율적인 대규모 연산을 가능하게 합니다. 머신러닝 모델이 데이터를 학습하기 위해서는 원시 데이터를 적절한 형태로 가공하는 과정이 필수적입니다. Spark ML에서는 여러 개의 피처 컬럼을 하나로 묶어주는 '벡터 어셈블러'를 사용하여 데이터를 벡터화하며, 문자열로 된 레이블은 인덱싱 과정을 거쳐 숫자형으로 변환합니다. 이러한 전처리 단계는 단순히 학습 효율을 높이는 것을 넘어, 모델이 복잡한 데이터 구조를 올바르게 인식하고 연산을 수행할 수 있도록 돕는 기초적인 토대가 됩니다. 모델 학습이 완료된 후에는 알고리즘 결과물뿐만 아니라 전처리 루틴이 포함된 파이프라인 전체를 저장해야 합니다. 이는 실제 서비스 환경인 인퍼런스 환경에서 들어오는 원본 데이터를 모델이 즉시 인식할 수 있는 형태로 변환해야 하기 때문입니다. 만약 모델 파일만 별도로 저장한다면 인퍼런스 요청 시 데이터 형식 불일치로 인한 오류가 발생할 수 있습니다. 따라서 전체 파이프라인을 통째로 관리하는 방식은 인퍼런스의 안정성을 보장하는 중요한 요소가 됩니다. BeeAI 플랫폼은 Spark ML의 복잡한 튜닝 과정을 자동화하여 사용자 편의성을 극대화합니다. 최적의 하이퍼파라미터를 찾기 위한 그리드 탐색과 K-Fold 교차 검증을 손쉽게 설정할 수 있으며, 생성된 모델들은 시간 기반의 ID를 통해 이력 관리가 이루어집니다. 관리자는 정확도와 정밀도 등 다양한 성능 지표를 이력별로 비교함으로써, 재학습을 통해 모델의 서비스 수준이 어떻게 변화하는지 실시간으로 파악할 수 있습니다. 효율적인 모델 운영을 위해 서빙 워커는 리포지토리를 지속적으로 감시하며 가장 최신의 모델을 자동으로 로드합니다. 새로운 모델이 생성되면 보통 수 초 이내에 이를 감지하여 서버에 즉시 반영하므로, 서비스 중단 없이도 모델 업데이트가 가능합니다. 사용자는 워크플로우 프로파일 설정을 통해 오토 로딩 옵션을 제어할 수 있으며, 이를 통해 학습 데이터의 변화에 민첩하게 대응하는 지능형 서빙 시스템을 구축할 수 있습니다. 더욱 단순한 분석을 원하는 사용자를 위해 BeeAI는 AutoML 기능을 제공합니다. 사용자가 데이터의 성격에 맞춰 분류 또는 회귀 작업 중 하나만 선택하면, 엔진이 스스로 데이터에 적합한 알고리즘과 파라미터를 탐색하여 최적의 모델을 산출합니다. 붓꽃 데이터 분류나 주택 가격 예측과 같은 예제부터 복잡한 산업 데이터까지, 전문적인 코딩 지식 없이도 고성능의 머신러닝 모델을 빠르게 생성하고 평가 지표를 확인할 수 있다는 것이 큰 장점입니다. 마지막으로 BeeAI는 TensorFlow와 같은 외부 딥러닝 프레임워크와의 연동도 지원합니다. 사용자가 작성한 파이썬 학습 코드를 시스템에 등록하면 하이퍼파라미터와 데이터 경로를 유연하게 전달하여 LSTM과 같은 복잡한 딥러닝 모델을 학습시킬 수 있습니다. 특히 전처리 연산자와 학습 연산자를 배치 엔진으로 연결하는 스케줄링 기능을 활용하면, 매일 새롭게 수집되는 데이터를 기반으로 모델을 주기적으로 갱신하는 자동화된 인공지능 파이프라인을 완성하게 됩니다.

BeeAI 활용 교육 영상(07) - [3단계] BeeAI에서 학습 모델 생성하기
한국전자통신연구원ETRI 클래스
  • 융합
  • 공학·기술

BeeAI 활용 교육 영상(10) - 전주기 개발실습

인공지능 서비스의 전 주기(Full-Cycle) 개발은 데이터 수집부터 전처리, 모델 생성 및 서빙에 이르는 모든 과정을 통합하는 정밀한 작업입니다. 이번 실습에서는 교통 속도 예측 시나리오를 바탕으로 실시간 시계열 데이터를 처리하는 전체 과정을 체계적으로 살펴봅니다. AE 엔진을 활용하여 초 단위로 유입되는 원천 데이터를 수집하고, 이를 5분 단위의 평균 속도로 가공하는 것이 첫 번째 단계입니다. 이 과정은 데이터의 흐름을 끊김 없이 관리하며 예측 모델이 필요로 하는 양질의 기초 데이터를 마련하는 핵심적인 기반이 됩니다. 실시간 데이터 처리를 위해 Structured Streaming 기술이 적용됩니다. Kafka 파이프 리더와 라이터를 통해 데이터가 흐르며, 스키마 정보를 설정하여 데이터 정합성을 유지합니다. 특히 IoT 기기에서 발생하는 데이터의 지연 가능성을 고려해 워터마크를 설정하거나, 시스템 장애 시 데이터 유실을 방지하기 위한 체크포인트 위치(Checkpoint Location)를 지정하는 등 안정적인 데이터 수집 환경을 구축합니다. 이러한 기술적 설정은 대규모 스트림 데이터를 신속하고 정확하게 처리하여 분석의 신뢰도를 높이는 데 필수적인 요소로 작용합니다. 수집된 데이터는 모델이 학습할 수 있는 형태로 변환되어야 합니다. Group By 오퍼레이터를 활용해 1분과 5분 단위의 윈도우 크기를 설정하고 평균 속도를 산출합니다. 이후 Min-Max 스케일러를 통해 속도 값을 0에서 1 사이로 정규화하고, Pivot 오퍼레이터로 시계열 데이터를 가로로 나열하여 벡터화합니다. 이 과정에서 컬럼의 순서를 학습 코드가 원하는 방식에 맞춰 정렬하는 힌트 정보를 제공함으로써, 모델이 입력된 데이터를 정확하게 해석하고 성능을 발휘할 수 있도록 최적의 전처리를 수행합니다. 전처리가 완료된 데이터는 TensorFlow 오퍼레이터를 통해 실제 모델에 전달됩니다. 서빙 단계에서는 미리 정의된 모델의 URL과 이름을 기반으로 현재 교통 상황을 질의하고, 모델은 15분 후의 예측 결과를 도출합니다. 결과 데이터는 다시 Kafka 파이프 라이터를 통해 특정 토픽으로 쌓이며, 이를 통해 실시간으로 예측된 교통 정보를 사용자에게 즉각 제공할 수 있습니다. 이는 정적 모델에 머물지 않고 실시간 데이터에 능동적으로 반응하는 지능형 서비스의 구체적인 구현 사례라고 할 수 있습니다. 진정한 의미의 전 주기(Full-Cycle) 개발은 모델의 지속적인 갱신을 포함합니다. 배치 엔진을 활용해 매 5분마다 최신 데이터를 수집하고 학습용 CSV 파일을 생성하며, 이를 바탕으로 딥러닝 트레이닝이 반복 실행됩니다. 사용자는 에포크(Epoch)나 목적 함수와 같은 하이퍼파라미터를 직접 설계하여 모델 성능을 최적화할 수 있으며, 새롭게 학습된 모델은 서빙 단계에 곧바로 반영됩니다. 이러한 자동화된 파이프라인은 변화하는 도로 상황에 맞춰 모델을 최신 상태로 유지하게 하며, 최종적으로 시각화 UI와 결합되어 완성도 높은 시스템이 됩니다.

BeeAI 활용 교육 영상(10) - 전주기 개발실습
한국전자통신연구원ETRI 클래스
  • 융합
  • 공학·기술