Loading...

웹툴킷

2 Contents
최신순

BeeAI 공모전 교육 영상(02) - 데이터 수집적재하기(41~49p)

데이터 분석 및 시각화 시스템(BI) 개발의 첫 번째 관문은 바로 데이터의 수집과 적재입니다. 이번 과정에서는 웹 툴킷을 활용하여 스트림 데이터를 배치 저장소에 안전하게 저장하는 실습을 진행합니다. 특히 실시간으로 발생하는 데이터를 효율적으로 처리하기 위해 미니 배치 엔진과 Spark Streaming 기술이 핵심적인 역할을 수행합니다. 사용자는 압축된 모델 파일이나 데이터셋을 레지스트리에 등록하여 엔진 동작 시 활용하게 되며, 이는 전체 분석 시스템의 기초가 됩니다. 구체적인 예제로 HTTP 서버 리더를 통해 수신한 데이터를 MongoDB에 저장하는 과정을 살펴봅니다. 특정 포트를 통해 들어오는 스트림 데이터는 Spark Streaming 컨트롤러에 의해 처리되며, 설정된 주기마다 엔진이 깨어나 적재 작업을 수행합니다. 여기서 미니 배치 방식은 데이터를 일정 간격으로 나누어 처리함으로써 시스템의 부하를 줄이고 데이터의 정합성을 유지하는 데 기여합니다. 이는 대규모 트래픽이 발생하는 환경에서 시스템 안정성을 확보하는 중요한 기법입니다. 실습 환경에서는 실제 센서 데이터 대신 시뮬레이터 엔진을 활용하여 스트림 데이터를 발생시킵니다. 시뮬레이터는 저장된 텍스트 파일을 한 줄씩 읽어 지정된 포트로 전송하며, 실제 운영 환경에서 데이터가 지속적으로 유입되는 상황을 정밀하게 모사합니다. 이를 통해 사용자는 데이터가 리더를 거쳐 적재기까지 흐르는 전체적인 데이터 파이프라인의 흐름을 직관적으로 이해할 수 있습니다. 또한, 운영 화면에서 각 엔진의 상태를 모니터링하며 실시간 전송 과정을 제어하는 역량을 기를 수 있습니다. 원활한 실습 진행을 위해서는 네트워크 설정이 필수적입니다. 리눅스나 윈도우 환경에서 hosts 파일을 수정하여 할당받은 IP와 마스터 노드, 프록시 서버의 이름을 연결해 주는 작업이 선행되어야 합니다. 이는 시스템 내부의 모듈들이 서로를 올바르게 인식하고 데이터를 주고받기 위한 통신 경로를 확보하는 필수 과정입니다. 관리자 권한으로 파일을 열어 설정값을 정확히 입력해야만 엔진 간의 상호작용이 문제없이 이루어지며, 통신 장애로 인한 데이터 누락을 방지할 수 있습니다. 데이터가 정상적으로 적재되고 있는지 확인하기 위해 결과 검증기(Result Validator)라는 워크플로우를 사용합니다. 이 엔진은 저장소에 쌓인 데이터를 읽어 파일로 출력하며, 실시간 적재 여부에 따라 출력 파일의 크기가 점진적으로 증가하게 됩니다. 단순히 데이터가 쌓이는 것뿐만 아니라, 예상한 경로에 올바른 형식으로 데이터가 기록되는지를 수시로 점검하는 과정은 데이터 품질 관리 측면에서 매우 중요합니다. 실습자는 이를 통해 엔진이 정상적으로 작동하고 있음을 육안으로 확인할 수 있습니다. 외부 플랫폼과의 연동 실습으로는 IoT 엣지 컴퓨팅 플랫폼인 EdgeX를 활용합니다. EdgeX는 다양한 IoT 기기에서 발생하는 데이터를 통합 관리하는 오픈 소스 프로젝트로, BI 시스템과는 MQTT 프로토콜을 통해 데이터를 주고받습니다. 사용자는 EdgeX MQTT 리더를 등록하여 플랫폼에서 발생하는 JSON 형식의 스트림 데이터를 수신하게 됩니다. 이 과정은 이기종 시스템 간의 데이터 통합을 구현하는 실무적인 기술로, 다양한 산업 현장에서 폭넓게 활용되는 연동 방식입니다. 수신된 EdgeX 데이터는 포맷 변환 연산자를 통해 정제 과정을 거칩니다. JSON 형태로 들어온 복잡한 구조의 데이터는 분석에 용이한 데이터프레임이나 CSV 형식으로 변환되어 HDFS 등에 최종적으로 저장됩니다. 이러한 과정은 미니 배치 엔진에 의해 주기적으로 실행되며, 데이터의 추가 모드를 활용하여 지속적으로 유입되는 정보를 유실 없이 기록함으로써 실시간 데이터 파이프라인을 완성하게 됩니다. 실습을 마친 후에는 실행 중인 스트림 엔진을 종료하여 리소스를 관리하는 것도 중요합니다.

BeeAI 공모전 교육 영상(02) - 데이터 수집적재하기(41~49p)
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(01) - BeeAI 웹툴킷 사용법(1~40p)

BeeAI 웹툴킷은 직관적인 GUI 환경을 통해 복잡한 데이터 분석과 인공지능 모델 학습 과정을 효율적으로 관리할 수 있도록 설계되었습니다. 시스템의 첫 관문인 대시보드에서는 수행한 워크플로우의 통계 정보를 한눈에 파악할 수 있는 워크플로우 TOP 10 테이블을 제공합니다. 사용자는 일별로 작업의 성공, 실패, 진행 여부를 확인하고 실행 소요 시간을 분석하며 전체적인 작업 현황을 실시간으로 모니터링할 수 있습니다. 또한 과거 내역 조회 기능을 통해 저장된 워크플로우 목록을 관리하고 서빙 중인 엔진들의 상태 정보를 확인하는 것이 가능합니다. 워크벤치의 편집 화면은 데이터 처리 파이프라인을 시각적으로 설계하는 핵심 공간입니다. 프로젝트 익스플로러를 통해 여러 워크플로우를 체계적으로 관리하며, 7가지 이상의 엔진 유형을 선택하여 데이터 처리 목적에 최적화된 구조를 만들 수 있습니다. 특히 스트림 엔진이나 미니배치 엔진을 활용해 실시간 데이터 처리를 구현하고, 리더, 라이터, 오퍼레이터 등 5종의 컴포넌트를 드래그 앤 드롭 방식으로 조합하는 직관적인 방식을 채택했습니다. 엔진 간의 유기적인 결합을 통해 복잡한 연산 과정도 코드 없이 시각적으로 완성할 수 있는 것이 특징입니다. 설계된 워크플로우를 실제 구동하기 위해서는 워크벤치의 운영 화면을 활용해야 합니다. 여기서는 빌드 과정을 통해 워크플로우 내의 설정 오류를 사전에 검증하며, 빌드 성공 후에 활성화되는 배포 버튼을 눌러 작업을 시작하게 됩니다. 실행 중에는 실시간 엔진 로그 창을 통해 빌드 및 실행 과정을 상세히 파악할 수 있으며, CPU와 메모리 같은 시스템 리소스 사용 현황을 실시간으로 확인하여 안정적인 운영을 돕습니다. 필요에 따라 로그를 다운로드하여 정밀 분석을 수행하거나 진행 상황 창에서 결과물의 시각화 차트를 실시간으로 확인할 수 있습니다. 레지스트리는 인공지능 서비스 제작에 필요한 11가지 유형의 다양한 자원들을 등록하고 통합 관리하는 중앙 저장소 역할을 수행합니다. API 정보, 데이터셋, 학습 모델뿐만 아니라 파이썬 모듈과 인증 토큰에 이르기까지 분석에 필수적인 재료들을 체계화하여 관리합니다. 저장된 자원들은 워크벤치에서 컴포넌트의 속성을 설정할 때 리소스 매핑 기능을 통해 간편하게 연결됩니다. 이는 파일 경로를 일일이 입력하는 번거로움을 줄여주며, 개발 환경의 일관성을 유지하고 협업 시 공유 자원을 효율적으로 활용할 수 있는 강력한 토대를 제공합니다. BeeAI는 로컬 파일 시스템, 스위프트 리포지토리, 하둡 분산 파일 시스템(HDFS)의 세 가지 저장소를 지원하여 유연한 데이터 관리를 실현합니다. 레지스트리에 등록된 데이터셋이나 모델과 같은 자원들은 스위프트 리포지토리에 날짜별로 자동 분류되어 보관되며, 노드 간 파일 공유를 위한 전용 폴더를 통해 데이터 이동을 원활하게 지원합니다. 사용자는 스토리지 메뉴에서 파일 업로드, 삭제, 복사 등의 기본적인 관리 기능뿐만 아니라 폴더 구조의 직관적인 탐색을 통해 분석 결과물이나 학습 코드를 체계적으로 정리하고 접근할 수 있는 환경을 누릴 수 있습니다. 모니터링 기능은 실행 중인 워크플로우와 완료된 작업의 이력을 포괄적으로 추적하고 제어하는 도구입니다. 실시간 상태 정보 갱신을 통해 작업 진행도를 즉각 확인하며, 여러 엔진으로 구성된 복합 워크플로우의 경우 각 엔진별 상세 로그를 개별적으로 파악할 수 있습니다. 특히 워크플로우 히스토리 탭은 종료된 작업의 결과를 스토리지에 직접 접근하지 않고도 미리보기 기능을 통해 즉시 확인할 수 있게 해줍니다. 텍스트 형태의 데이터 확인은 물론 시각화 차트를 통해 모델 성능이나 분석 결과를 즉각적으로 검토할 수 있는 편의성을 제공합니다. 시스템 기능을 확장하고 유지보수하기 위한 관리자 전용 메뉴에서는 신규 컴포넌트 등록과 시스템 설정 관리가 이루어집니다. 새로운 알고리즘이나 오퍼레이터를 개발한 후 클래스 정보와 닉네임을 설정하여 등록하면, 워크벤치 편집기에서 해당 기능을 즉시 사용할 수 있는 확장성을 갖췄습니다. 또한 엔진 템플릿 기능을 통해 자주 사용되는 컴포넌트 조합을 미리 구성하여 재사용성을 높일 수 있습니다. 사용자 관리 기능을 통해 승인된 인원만 시스템을 이용하도록 제한하거나 권한을 부여함으로써 전체 플랫폼의 보안성과 운영 효율성을 보장합니다.

BeeAI 공모전 교육 영상(01) - BeeAI 웹툴킷 사용법(1~40p)
한국전자통신연구원ETRI 클래스
  • 융합
  • 공학·기술