Loading...

데이터전처리

17 Contents
최신순

안전성평가연구소 l "AI가 독하네 AI를 활용한 독성연구" l 제 2회 독성정책연구포럼

인공지능 기술은 최근 노벨 물리학상과 화학상 수상자들이 모두 AI 관련 연구자였던 것에서 알 수 있듯이, 이제 생명 과학과 의학 연구 전반에서 핵심적인 위상을 차지하고 있습니다. 독성 정책 연구 포럼은 이러한 기술적 흐름에 발맞추어 과학 기술을 통해 사회 문제를 해결하고 연구 개발의 효율성을 극대화하는 방안을 모색합니다. 특히 산업계와 학계, 연구소가 협력하여 인공지능이 독성 연구와 정책 수립에 어떠한 혁신을 가져올 수 있을지 깊이 있는 논의가 필요한 시점입니다. 원자력 연구 분야에서 인공지능은 고전적인 수치 해석의 한계를 극복하는 수학적 도구로 활용되고 있습니다. 복잡한 원자로 내부의 물리 현상을 시뮬레이션하거나 수천 개의 계측 신호를 실시간으로 분석하여 이상 징후를 사전에 탐지하는 것이 대표적입니다. 기존의 방법론을 데이터를 기반으로 한 딥러닝 모델로 대체함으로써, 예측의 정확도를 높이고 수치 해석에 소요되는 방대한 시간을 획기적으로 단축하고 있습니다. 이는 원자력 안전 관리의 패러다임을 바꾸는 중요한 변화입니다. 최근에는 단순한 데이터 분석을 넘어 연구 행정 전반을 돕는 ‘에이전트 AI’의 도입이 활발해지고 있습니다. 보안이 중요한 연구 환경에 맞춰 폐쇄망 기반의 자체 모델을 구축하고, 원자력 분야에 특화된 지식 데이터를 학습시킨 맞춤형 GPT를 활용하는 방식입니다. 이를 통해 복잡한 규정 확인이나 기술 동향 보고서 작성 등 반복적이고 방대한 입력이 필요한 업무를 효율화할 수 있습니다. 연구자마다 지능형 조수를 두고 연구의 본질적인 탐구에만 집중할 수 있는 환경이 조성되고 있습니다. 사회과학 분야에서도 인공지능은 새로운 연구 파트너로서의 가능성을 보여주고 있습니다. 거대 언어 모델을 활용해 창의적인 연구 아이디어를 제안하거나 대규모 콘텐츠 분석을 수행함으로써 인간의 한계를 보완합니다. 다만 인공지능이 제공하는 결과물을 올바르게 판단하고 가공하기 위해서는 연구자 본연의 역량이 더욱 중요해집니다. 좋은 논문을 감별할 수 있는 안목과 비판적 사고가 전제될 때, 인공지능은 연구의 생산성을 비약적으로 높여주는 강력한 도구가 될 수 있기 때문입니다. 독성 예측의 핵심 기술인 QSAR(구조-활성 상관관계)는 화합물의 구조를 숫자로 변환하여 독성 유무를 판단하는 함수 시스템입니다. 베가(VEGA)나 톡스 스타(Tox-Star)와 같은 프로그램은 이러한 원리를 이용해 실험 없이도 물질의 위험성을 사전에 스크리닝할 수 있도록 돕습니다. 특히 OECD 가이드라인을 준수하는 투명한 검증 과정을 통해 예측 결과의 신뢰도를 객관적으로 평가할 수 있게 되었습니다. 이는 불필요한 동물 실험을 줄이고 신약 개발이나 화학 물질 등록에 필요한 비용과 시간을 절감하는 데 기여합니다. 인공지능 연구의 성패를 좌우하는 가장 큰 요인은 양질의 원시 데이터를 확보하고 가공하는 과정에 있습니다. 실제 연구 현장에서는 프로젝트 시간의 상당 부분을 데이터 전처리에 쏟을 만큼 이 과정은 매우 고됩니다. 하지만 체계적으로 관리된 데이터는 인공지능 모델의 정확도를 높이는 결정적인 자산이 됩니다. 따라서 단순히 알고리즘의 성능을 높이는 데 그치지 않고, 연구 데이터의 보관부터 변환, 활용에 이르는 전 과정을 표준화하고 공유할 수 있는 거버넌스 구축이 필수적으로 요구됩니다. 미래의 과학 연구는 인공지능과 인간 연구자가 협동하는 ‘에이전트 시스템’ 체제로 나아갈 것입니다. 인공지능이 방대한 데이터를 처리하고 실험 설계를 자동화하는 동안, 인간은 인공지능의 결과물을 검토하고 최종적인 의사 결정을 내리는 역할에 집중하게 됩니다. 인공지능이 인간을 완전히 대체하기보다는 각자의 영역에서 상호 보완적으로 작동할 때 과학 기술의 진보는 가속화될 것입니다. 연구자는 변화하는 환경 속에서 새로운 기술을 도구로 활용할 수 있는 소양을 끊임없이 길러야 합니다.

안전성평가연구소 l "AI가 독하네 AI를 활용한 독성연구" l 제 2회 독성정책연구포럼
국가독성과학연구소
  • 화학
  • 생명과학
  • 융합
  • 공학·기술

슈퍼컴퓨터로 소리를 분석하다

현대 산업 현장과 일상생활에서는 수많은 센서가 생성하는 실시간 데이터를 분석하여 사물의 상태를 진단하고 미래를 예측하는 기술이 필수적입니다. 기계학습을 이용한 신호 데이터 분석 장치는 자동차 부품의 결함이나 건축물의 구조적 안전성을 정밀하게 파악하는 데 핵심적인 역할을 수행합니다. 예를 들어 자기장 센서를 활용해 금속 구조물의 손상을 감지하거나, 소음 패턴을 분석하여 폭발음과 일상 소음을 구별하는 등 활용 범위가 매우 넓습니다. 이러한 기술은 단순히 현상을 감지하는 수준을 넘어, 대상의 변화를 측정하고 이에 따른 최적의 대응 방안을 제공할 수 있도록 설계되었습니다. 센서에서 수집된 원시 데이터가 유의미한 정보로 변환되기 위해서는 고도의 전처리 과정이 수반되어야 합니다. 형상 분석, 주성분 분석, 그리고 푸리에 변환과 같은 기초적인 통계 및 신호 처리 기법을 거쳐 데이터를 학습 가능한 형태로 가공합니다. 진동, 음향, 연기, 광 센서 등 측정 대상의 특성에 맞는 다양한 센서가 결합되며, 특히 음향 센서는 원거리에서도 대상체에 직접 부착하지 않고 소리만으로 상태를 파악할 수 있다는 강력한 편의성을 제공합니다. 자체 개발된 기계학습 모델은 이러한 복합 데이터를 학습하여 현장에서 즉각적으로 상태를 분석하는 장치로 적용됩니다. 자체적으로 개발된 C 프로그램 기반의 기계학습 모델은 실제 산업 현장에서 그 우수한 성능을 증명하고 있습니다. 대표적인 사례로 자동차 제조 공정에서 창문이나 핸들을 구동하는 수많은 모터의 불량 여부를 음향 센서만으로 판별해 내는 데 성공한 바 있습니다. 또한 일상적인 소음이 심한 환경에서도 특정한 총소리를 정확하게 식별하는 기술을 통해 경호 및 국방 분야로의 확장 가능성도 열어두고 있습니다. 이는 복잡한 데이터를 학습시켜 대상체의 상태를 정확히 판단하고 결정을 내릴 수 있는 지능형 시스템이 구축되었음을 의미하며, 현장 장치에 직접 탑재 가능한 유연성까지 확보했습니다. 기술 개발 과정에서 가장 큰 장애물은 수집된 데이터의 품질 확보와 노이즈 분리 문제입니다. 센서 측정 시 발생하는 단순한 오류나 장치 설정에 따른 데이터 변이를 정밀하게 파악해야 하며, 특히 노이즈 속에 섞인 유의미한 시그널을 추출하는 작업은 난도가 매우 높습니다. 이를 해결하기 위해 여러 알고리즘을 복합적으로 적용하는 일종의 '칵테일 요법'이 사용됩니다. 각 알고리즘의 상호작용을 깊이 이해하고 성능에 미치는 영향을 예측하는 능력이 필수적인데, 이 과정에서 슈퍼컴퓨터의 강력한 연산 자원은 복잡한 데이터 분석과 학습 과정을 신속하게 해결하는 원동력이 됩니다. 슈퍼컴퓨팅 응용센터는 데이터를 분석하고 기계학습을 통해 현상을 예측하는 핵심 기술을 제작하여 다양한 분야의 연구자들에게 제공하고 있습니다. 나노 소재 계산이나 바이오 분야 등 첨단 과학 기술 연구의 도구로써 슈퍼컴퓨팅 기술이 활용될 때 우리 사회는 더욱 창의적이고 안전한 방향으로 발전할 수 있습니다. 특히 연구실에서 개발된 기술이 실제 현장에서 예상보다 뛰어난 성능을 발휘하고, 변수가 많은 환경에서도 안정적으로 작동하는 것을 확인하는 과정은 연구자들에게 큰 보람을 줍니다. 앞으로도 데이터 기반 연구를 지속하여 사회 전반의 안전과 발전에 기여하는 것이 최종 목표입니다.

슈퍼컴퓨터로 소리를 분석하다
한국과학기술정보연구원세계가 인정함! ✅우수 연구성과✅ 인터뷰
  • 융합
  • 공학·기술

인공지능 AI 기반 사이버 공격 자동분석 시스템 - KISTI 김규일

디지털 환경으로의 급격한 전환이 가속화되면서 사이버 위협은 과거와 비교할 수 없을 정도로 지능화되고 대형화되는 추세에 직면해 있습니다. 기존의 인력 기반 보안 관제 시스템으로는 매일 쏟아지는 수만 건에 달하는 공격 시도를 실시간으로 탐지하고 정확하게 대응하는 데 물리적인 한계가 따를 수밖에 없습니다. 이에 따라 KISTI 과학기술 사이버 안전센터는 지난 2005년부터 17년 이상 축적해 온 방대한 보안 데이터와 고도의 분석 노하우를 집약하여, 지능형 위협에 능동적으로 대처할 수 있는 인공지능 기반 사이버 공격 자동 분석 플랫폼을 새롭게 선보이게 되었습니다. 개발된 분석 플랫폼은 실시간으로 발생하는 사이버 위협을 신속하고 정확하게 자동 분석하는 것을 최우선 과제로 삼아 설계되었습니다. 인공지능 모델의 생성부터 현장 적용까지의 과정을 대폭 간소화하였으며, 다양한 데이터 환경에서도 원활하게 작동할 수 있도록 공유성과 확장성을 동시에 고려한 것이 특징입니다. 특히 데이터 수집부터 특징 추출, 정규화, 그리고 모델 생성 및 검증에 이르는 전 주기를 하나의 유기적인 플랫폼으로 통합했습니다. 이러한 선순환 체계를 구축함으로써 보안 관제의 전 과정을 자동화하고, 폭발적으로 증가하는 사이버 공격에 대한 방어 역량을 비약적으로 강화했습니다. 이 시스템이 가진 가장 큰 경쟁력 중 하나는 독보적인 양질의 데이터셋 구축 능력에 있습니다. 2005년부터 현재까지 축적된 1,500억 건 이상의 방대한 원천 데이터와 수백만 건의 정교한 레이블링 정보는 인공지능 학습을 위한 대체 불가능한 자산이 됩니다. 일반적인 데이터와 달리 보안 관제 데이터는 노이즈가 많고 중복된 정보가 섞여 있어 모델링에 어려움이 많지만, 전용 정제 알고리즘을 통해 이를 효율적으로 해결했습니다. 최적화된 전처리 과정을 거쳐 추출된 양질의 데이터셋은 인공지능 모델의 성능을 결정짓는 핵심적인 밑거름이 되어 분석 결과의 신뢰도를 보장합니다. 기술적 측면에서는 공격자의 잠재적인 행위 패턴을 파악하기 위해 정적인 정보에 국한되지 않고 시공간 정보를 반영한 동적인 흐름을 정밀하게 추적합니다. RNN이나 CNN과 같은 최신 딥러닝 모델은 물론, 기존의 다양한 머신러닝 기법들을 자유롭게 조합하여 활용할 수 있는 유연한 구조를 갖추고 있습니다. 또한 하이퍼파라미터 최적화와 주요 특징 추출 기능을 자동화된 서치 기능으로 제공하여, 보안 전문가가 일일이 설정을 변경하지 않아도 시스템이 스스로 최적의 성능을 도출합니다. 이는 복잡한 인공지능 기술을 실무 현장에 누구나 쉽고 빠르게 도입할 수 있도록 돕는 핵심 기술입니다. 해당 플랫폼은 99% 이상의 높은 탐지 정확도를 기록하며 실제 보안 관제 현장에 즉각적으로 투입되어 그 실효성을 입증하고 있습니다. 설명 가능한 인공지능(XAI) 기술을 도입하여, 내부 연산 과정을 투명하게 공개함으로써 운영자가 분석 결과를 전적으로 신뢰할 수 있는 환경을 조성했습니다. 보안 인력의 업무 부하를 획기적으로 줄이는 동시에 제로데이 공격과 같은 미지의 위협까지도 탐지할 수 있는 이 시스템은, 다수의 지식재산권과 특허 기술을 기반으로 국가 과학기술 연구 인프라를 보호하는 든든한 방패 역할을 수행할 것입니다.

인공지능 AI 기반 사이버 공격 자동분석 시스템  - KISTI 김규일
한국과학기술정보연구원
  • 융합
  • 공학·기술

EOST2021 Open3D 활용한 Point Cloud Data 전처리 및 가시화

최근 가상 환경과 실제 환경을 실시간으로 연결하는 ‘디지털 트윈’ 기술이 주목받으면서 3차원 공간 정보 처리의 중요성이 날로 커지고 있습니다. 디지털 트윈은 실제 환경을 가상 세계에 정교하게 재구성하여 다양한 상황을 시뮬레이션하고 최적의 솔루션을 찾아내는 기술입니다. 이를 위해서는 단순히 사물이 어디에 있는지를 파악하는 수준을 넘어, 그것이 어떤 사물인지 정확하게 인식하는 과정이 필수적입니다. 이때 핵심적인 역할을 수행하는 것이 바로 수많은 점의 집합으로 구성된 포인트 클라우드 데이터이며, 이를 통해 가상 공간 내에서 실제와 같은 환경을 완벽하게 복원해낼 수 있습니다. 이러한 기술적 토대는 정교한 미래 예측과 최적의 의사결정을 가능하게 하는 원동력이 됩니다. 포인트 클라우드는 3차원 공간상의 좌표인 x, y, z 값으로 표현되는 점들의 집합인 ‘점군’을 의미합니다. 이는 라이다(LiDAR) 기술이나 RGB-D 카메라의 깊이 정보를 활용해 취득할 수 있으며, 수집된 점들의 배열을 딥러닝 모델에 입력하여 사물의 형상을 분류하거나 부위별로 분할하는 연구에 활용됩니다. 포인트 클라우드는 촬영 위치나 각도에 따라 좌표값이 달라지더라도 동일한 형상을 인식해야 하며, 점들의 순서가 바뀌어도 결과가 변하지 않는 독특한 특성을 가집니다. 또한 수만 개의 점을 효율적으로 처리하기 위해 적절한 샘플링 기법을 적용하여 데이터의 크기를 최적화하는 과정이 필요하며, 이는 전체 모델의 분석 성능에 큰 영향을 미칩니다. 3차원 데이터를 다루기 위한 전문 도구인 Open3D는 C++와 파이썬을 모두 지원하며, 병렬 연산과 GPU 가속을 통해 대용량 데이터를 빠르게 처리하는 강력한 장점을 보유하고 있습니다. 이 라이브러리를 활용하면 포인트 클라우드뿐만 아니라 메시나 RGB-D 데이터 등 다양한 형태의 3차원 객체를 자유롭게 로드하고 편집할 수 있습니다. 특히 최근에는 파이토치나 텐서플로우와 같은 주요 머신러닝 프레임워크와의 연동을 지원함으로써 3차원 인공지능 연구 및 개발 분야에서 핵심적인 도구로 자리 잡았습니다. 사용자는 내장된 풍부한 함수를 통해 복잡한 데이터 프로세싱을 손쉽게 수행할 수 있으며 이를 통해 높은 개발 확장성을 경험하게 됩니다. Open3D를 이용하면 아주 짧은 코드만으로도 포인트 클라우드 데이터를 시각화하고 전처리하는 과정을 완료할 수 있습니다. 넘파이로 읽어온 좌표 데이터를 객체로 변환하거나 색상 정보를 추가하여 거리에 따른 깊이감을 부여하는 등 직관적인 시각화 기능을 제공합니다. 또한 .pcd나 .ply와 같은 다양한 파일 형식의 입출력을 지원하며, 깊이 이미지를 기반으로 포인트 클라우드를 직접 생성하는 기능도 갖추고 있습니다. 이외에도 삼각형 메시 데이터로부터 균일한 간격의 점들을 추출하여 포인트 클라우드로 변환하는 샘플링 작업을 지원하므로 연구 목적에 맞는 다양한 데이터 가공이 가능해지며 업무의 효율성을 비약적으로 높여줍니다. 데이터의 밀도를 조절하는 복셀 다운샘플링이나 객체의 경계를 정의하는 바운딩 박스 생성 기능은 더욱 정교한 데이터 분석 환경을 제공합니다. 특정 시점에서 바라본 가시 영역만을 추출하거나 객체를 이동, 회전, 확장하는 3차원 변환 작업 역시 전용 메소드 호출만으로 간편하게 해결할 수 있습니다. 특히 서로 다른 위치에서 촬영된 여러 포인트 클라우드 데이터를 하나의 덩어리로 통합하는 정합 기술인 ‘정합(Registration)’은 다각도의 정보를 결합하는 데 핵심적인 역할을 합니다. 이처럼 Open3D는 데이터 취득부터 최종 분석까지 전 과정을 통합적으로 지원하며, 공식 홈페이지에서 제공하는 풍부한 예제들은 사용자의 문제 해결 과정을 훌륭하게 지원합니다.

EOST2021 Open3D 활용한 Point Cloud Data 전처리 및 가시화
한국전자통신연구원오픈소스 테크데이
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(06) - 머신러닝 모델 학습하기(188~211p)

머신러닝 모델을 구축하는 과정은 데이터 전처리가 완료된 시점부터 본격적으로 시작됩니다. BeeAI 플랫폼에서는 스파크(Spark) 기반의 MLlib 모듈을 활용하여 효율적인 모델 생성을 지원하고 있습니다. 모델 제작의 핵심은 단순히 알고리즘을 적용하는 것에 그치지 않고, 데이터가 머신러닝에 적합한 형태로 가공되었는지 확인하는 데 있습니다. 사용자는 다양한 오퍼레이터를 통해 데이터 적재와 처리 과정을 거치며, 최종적으로 비즈니스 목적에 부합하는 분석 모델을 설계할 수 있는 토대를 마련하게 됩니다. 머신러닝 알고리즘이 여러 피처를 동시에 학습하기 위해서는 개별 컬럼들을 하나의 벡터로 통합하는 과정이 필수적입니다. BeeAI의 벡터 어셈블러는 여러 피처 컬럼을 하나로 묶어 내부적으로 새로운 피처 컬럼을 생성하는 역할을 수행합니다. 웹상의 예제들은 이미 이 단계가 완료된 경우가 많아 간과하기 쉽지만, 실제 프로젝트를 수행할 때는 직접 수행해야 하는 중요한 전처리 단계입니다. 이를 통해 모델은 복합적인 데이터를 일관된 형식으로 인식하고 학습 효율을 극대화할 수 있는 준비를 마치게 됩니다. 머신러닝 모델은 기본적으로 수치 데이터를 기반으로 작동하기 때문에 문자열 데이터는 그대로 사용할 수 없습니다. 따라서 문자열을 인덱스로 변환하는 스트링 인덱서 작업이 필요합니다. 예를 들어 붓꽃의 종류를 맞추는 분류 문제에서 꽃의 이름을 숫자로 변환하여 학습시키고, 결과가 나오면 다시 레이블 컨버터를 통해 원래의 문자로 복구하는 과정을 거칩니다. 이러한 변환 과정이 유기적으로 연결되어야만 사용자가 이해할 수 있는 최종 결과를 도출할 수 있으며, 모델의 전반적인 완성도와 신뢰도가 높아집니다. 모델 제작 시에는 단순히 알고리즘 하나만 구동하는 것이 아니라, 전처리와 인덱싱 과정을 하나로 엮은 ML 파이프라인을 구성하는 것이 기본입니다. 파이프라인 전체를 저장해야 나중에 새로운 데이터로 추론을 진행할 때도 동일한 전처리 로직이 적용되어 데이터 형식 불일치로 인한 오류를 방지할 수 있습니다. BeeAI는 이러한 복잡한 파이프라인 구성을 내부적으로 자동화하여 제공하므로, 사용자는 구조적 한계를 고민하기보다 모델의 논리적 흐름과 분석 목적에 더 집중할 수 있는 효율적인 환경을 누릴 수 있습니다. 모델의 신뢰성을 확보하기 위해 BeeAI는 K-Fold 교차 검증 기능을 기본적으로 제공합니다. 데이터를 여러 묶음으로 나누어 반복 학습과 검증을 수행함으로써 특정 데이터에만 과적합되는 현상을 방지하고 일반화 성능을 높입니다. 또한 랜덤 포레스트와 같은 알고리즘에서 트리의 개수나 깊이 같은 하이퍼파라미터를 조정하여 최적의 성능을 찾아가는 과정도 지원합니다. 사용자는 다양한 파라미터 조합을 시도하며 성능 지표가 가장 우수한 베스트 모델을 선별할 수 있으며, 이 모든 실험 과정은 시스템 내에서 체계적으로 기록됩니다. 학습이 완료된 모델은 학습된 시각을 고유 ID로 삼아 리포지토리에 저장되며, 히스토리 파일을 통해 과거의 성능 변화를 한눈에 파악할 수 있습니다. 여기에는 정확도, F1 스코어, 정밀도, 재현율 등 다양한 지표가 기록되어 관리자가 모델의 성능 추이를 모니터링하기 용이합니다. 또한 재학습 워크플로우를 통해 주기적으로 모델을 갱신하고, 새로운 모델이 감지되면 자동으로 서빙 모델을 교체하는 오토 로딩 기능을 지원하여 운영의 연속성을 보장하는 것이 BeeAI가 가진 큰 기술적 장점 중 하나라고 할 수 있습니다. 실제 사례인 보스턴 주택 가격 예측이나 붓꽃 분류 실습을 통해 선형 회귀, 로지스틱 회귀, 다층 퍼셉트론(MLP) 등 다양한 모델을 직접 적용해 볼 수 있습니다. 회귀 분석을 통해 연속적인 주택 가격을 예측하거나, 데이터를 범주화하여 다중 클래스 분류를 수행하는 등 분석 목적에 따라 유연한 대응이 가능합니다. 하나의 알고리즘에 의존하기보다 여러 모델의 성능을 비교 분석하여 최적의 대안을 선택하는 것이 중요하며, BeeAI는 이러한 복잡한 실험 과정을 직관적인 인터페이스와 강력한 엔진으로 뒷받침하여 사용자 편의를 돕습니다.

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

BeeAI 공모전 교육 영상(09) - 머신러닝 모델 서빙(122~124p)

머신러닝 모델의 학습이 완료된 후에는 이를 실제 서비스에 활용하는 서빙 단계가 필수적입니다. 이번 과정에서는 Apache Spark를 기반으로 구축된 모델을 실시간 스트림 환경에서 서빙하는 실습을 진행합니다. 전체 구조는 데이터를 생성하는 시뮬레이션 엔진, 예측을 수행하는 핵심 엔진, 그리고 결과를 검증하고 저장하는 밸리데이터 엔진으로 구성됩니다. 특히 중간 단계의 엔진은 학습된 모델을 로딩하고 유입되는 스트림 데이터를 처리하여 예측값을 산출하는 중추적인 역할을 담당하게 되며, 이는 전체 시스템의 성능을 결정짓는 핵심적인 요소가 됩니다. 실시간으로 입력되는 온도 데이터는 JSON 형식의 스트링으로 주입되며, 이를 모델이 이해할 수 있는 형태로 변환하는 과정이 필요합니다. 먼저 Column Select 오퍼레이터를 통해 처리 대상 컬럼을 지정하고, Min-Max 스케일링을 적용하여 데이터의 범위를 정규화합니다. 이후 Transpose 오퍼레이터를 사용하여 여러 개의 온도 데이터를 하나의 행으로 재구성하는데, 이는 AutoML로 학습된 모델이 데이터를 효과적으로 받아들여 예측을 수행할 수 있도록 하기 위함입니다. 이러한 전처리 과정은 데이터의 편향을 줄이고 예측의 정확도를 높이는 데 기여하는 중요한 단계라고 할 수 있습니다. 전처리가 완료된 데이터는 Spark ML Stream Predictor 오퍼레이터로 전달됩니다. 이 단계에서 미리 학습된 모델이 활성화되어 실시간 예측 쿼리를 수행하고 결과값을 도출합니다. 모델에서 출력된 예측값은 다시 한번 Min-Max 스케일링 오퍼레이터를 통해 역산 과정을 거칩니다. 이는 0과 1 사이로 압축되었던 결과값을 실제 온도 단위로 복원하여 사용자가 직관적으로 이해할 수 있는 의미 있는 수치로 만드는 작업입니다. 최종적으로 복원된 예측 데이터는 다음 프로세스로 전달되기 위해 대기하며, 실시간 모델 서비스의 완결성을 높여주는 역할을 수행합니다. 예측된 결과는 Kafka 라이터를 통해 지정된 토픽에 저장되며, 이후 세 번째 엔진인 File 라이터는 Kafka에 쌓인 데이터를 일정 주기로 읽어와 CSV 파일 형식으로 저장합니다. 저장된 파일에는 타임스탬프와 예측 라벨 컬럼이 포함되어 있어, 데이터가 시간에 따라 어떻게 변화하는지 상세히 추적할 수 있게 해줍니다. 이러한 파이프라인 구성은 실시간 데이터를 영구적인 저장소에 기록함과 동시에 사후 분석을 가능하게 만드는 기반이 됩니다. 또한 Kafka를 활용함으로써 데이터 전송의 유연성을 확보하고 대규모 트래픽 상황에서도 시스템이 안정적으로 작동할 수 있는 구조를 완성합니다. 시스템 운영의 편의성을 위해 제공되는 엔진 진행 상황 보기 기능을 활용하면, 저장된 예측 데이터를 시각화된 그래프 형태로 확인할 수 있습니다. 시간의 흐름을 X축으로, 예측된 온도 값을 Y축으로 설정하여 데이터의 주기성과 변동 추이를 한눈에 파악하는 것이 가능합니다. 스트림 서빙 예제는 사용자가 직접 종료하기 전까지 연속적으로 실행되며, 실시간으로 변화하는 온도 지표를 통해 모델의 서빙 성능을 실시간으로 모니터링할 수 있습니다. 이러한 시각화 도구는 복잡한 수치 데이터를 직관적인 정보로 변환해 주며, 향후 더 복잡한 딥러닝 모델 서빙으로 나아가기 위한 기술적 토대가 됩니다.

BeeAI 공모전 교육 영상(09) - 머신러닝 모델 서빙(122~124p)
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(13) - BeeAl 대표 시나리오 소개(237~262p)

챗봇 시스템의 핵심은 사용자의 언어 데이터를 기계가 이해할 수 있는 수치로 변환하고 처리하는 과정에 있습니다. 딥러닝이나 머신러닝 모델은 문자열을 직접 연산할 수 없기 때문에, 워드 임베딩이나 인코딩 작업을 통해 문자를 숫자의 시퀀스로 변환하는 전처리가 필수적입니다. BeeAI 환경에서는 파이썬 UDF와 온디맨드 인퍼런스 서빙 엔진을 활용하여 이러한 변환을 수행하며, 추론된 숫자 결과를 다시 문자로 복구하는 후처리 과정을 거쳐 사용자에게 자연스러운 응답을 전달하는 구조를 갖추고 있습니다. 융합 서빙은 개별적인 모델들을 유기적으로 연결하여 더욱 고도화된 지능형 서비스를 구축하는 핵심 기술입니다. 예를 들어 일반적인 대화 모델뿐만 아니라 사랑이나 슬픔과 같은 감정에 특화된 챗봇 모델을 각각 구성한 뒤, 이를 하나의 융합 엔진으로 묶어 통합 서비스를 제공할 수 있습니다. 각 모델은 전처리와 후처리 엔진을 공유하면서도 상황에 맞는 추론 엔진으로 데이터를 할당받아 처리합니다. 이러한 워크플로우 구성을 통해 단순한 질의응답을 넘어 사용자의 감성까지 고려한 지능적인 상호작용이 가능해집니다. 영화 추천 서비스는 실시간 데이터 처리와 모델 생성, 그리고 서빙 기술이 집약된 복합 서비스의 전형을 보여줍니다. 사용자의 시청 이력과 평점 데이터를 실시간으로 수집하여 백엔드에서 지속적으로 모델을 업데이트하는 것이 무엇보다 중요합니다. Spark MLlib의 협업 필터링 기술을 활용해 개인별 선호 영화를 추천하고, 사용자를 특정 그룹으로 분류하여 유사 그룹의 선호도를 반영하는 그룹 추천 모델을 동시에 운영합니다. 이를 통해 추천의 정확도를 높이고 사용자의 취향에 최적화된 콘텐츠를 실시간으로 제안할 수 있습니다. 시각 지능 서비스 분야에서는 이미지 데이터를 읽어 들이고 색상을 변환하거나 크기를 조정하는 등 다양한 오퍼레이터의 조합이 활용됩니다. 주차 공간의 점유 여부를 확인하는 서비스의 경우, MobileNet과 같은 경량화 모델을 사용하여 실시간으로 차량 영역을 추출하고 분석하는 워크플로우를 설계할 수 있습니다. TensorFlow Serving을 활용한 스트림 기반 처리와 온디맨드 인퍼런스 서빙 엔진은 대량의 영상 데이터를 효율적으로 분석하게 해줍니다. 비록 학습 데이터에 따라 정확도의 차이는 발생할 수 있으나, 다양한 이미지 처리 오퍼레이터를 통해 고차원적인 비전 서비스를 구현할 수 있습니다. 성공적인 지능형 서비스를 구현하기 위해서는 서비스 목적에 최적화된 엔진을 선택하고 스테이지별로 적절한 리더와 오퍼레이터를 배치해야 합니다. BeeAI 플랫폼은 오퍼레이터 수에 제한을 두지 않아 매우 복잡한 시퀀스 모델도 유연하게 설계할 수 있는 확장성을 제공합니다. 다만 Android나 Firebase와 같은 외부 플랫폼과의 직접적인 연동은 현재 기술적 환경에 따른 전략적 접근이 필요합니다. JDBC를 통해 중간 데이터베이스를 거치거나 전용 리더를 구현하는 등 플랫폼의 특성을 고려한 아키텍처 설계가 지능형 서비스의 완성도를 결정짓는 중요한 요소가 됩니다.

BeeAI 공모전 교육 영상(13) - BeeAl 대표 시나리오 소개(237~262p)
한국전자통신연구원ETRI 클래스
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(12) - 학습모델 검증 및 평가하기 튜토리얼(214~236p)

데이터 분석의 핵심은 다양한 속성을 가진 컬럼들을 하나의 벡터로 변환하는 전처리 과정에서 시작됩니다. 벡터 어셈블러는 여러 개의 피처 컬럼을 통합하여 학습 모델이 인식할 수 있는 형태로 만들어주는 중요한 도구입니다. 컬럼 ID나 이름을 직접 입력하여 선택할 수 있으며, 특정 패턴을 가진 다수의 컬럼을 일괄적으로 추출하여 벡터화하는 기능도 제공합니다. 이러한 전처리는 단순히 데이터를 정돈하는 것을 넘어, 실제 인공지능 모델이 필드에서 정확하게 작동하기 위한 기초 토대를 마련하는 필수적인 단계라고 할 수 있습니다. BiAI 플랫폼은 인공지능 모델을 실제 운영 환경에 빠르게 배포하고 테스트하는 것을 최우선 목적으로 합니다. 실험실 환경에서 모델을 만들고 평가하는 것은 비교적 수월하지만, 실제 센서 데이터가 유입되는 필드에 적용할 때는 예상치 못한 수많은 변수가 발생하기 마련입니다. 따라서 모델의 성능이 낮을 경우 즉시 수정하여 다시 배포하고, 현장 상황에 맞춰 빠르게 프로덕션화하는 과정이 필수적입니다. BiAI는 이러한 반복적인 배포 및 검증 주기를 단축함으로써 기업들이 인공지능 기술을 실무에 효율적으로 적용할 수 있도록 돕습니다. 필드 배포가 어려운 이유는 데이터의 형태가 실험용 배치 데이터와는 근본적으로 다르기 때문입니다. 실제 환경에서는 센서에서 생성되는 가공되지 않은 로 데이터가 실시간으로 수집되며, 이를 처리하기 위해 데이터 공학자의 정교한 정제 기술이 요구됩니다. 또한 모델이 배포된 이후에도 서비스 운영자가 실시간으로 성능을 감시하고 평가해야 하는 등 복합적인 역할이 필요합니다. 이러한 과정에서 발생하는 다양한 요구사항과 잡음을 최소화하고, 수집부터 처리, 모델 관리까지 이어지는 전 과정을 통합하는 것이 바로 지능형 프레임워크의 핵심 역할입니다. BiAI 프레임워크는 배치, 스트림, 미니 배치 등 다양한 엔진을 통해 각기 다른 데이터 처리 요구사항을 충족합니다. 스트림 엔진은 센서에서 초 단위나 분 단위로 올라오는 실시간 데이터를 메모리 상에서 빠르게 묶어 이상치나 결측치를 정제하는 데 특화되어 있습니다. 반면 미니 배치 엔진은 정제된 데이터를 기반으로 피처 엔지니어링을 수행하며, 파이썬 기반의 사용자 정의 함수를 지원하여 확장성을 높입니다. 이러한 다각적인 엔진 구성은 데이터 수집부터 최종 추론 서비스까지 각 단계별 최적화된 성능과 보안, 안정성을 보장하는 밑바탕이 됩니다. 모델 개발 단계에서는 텐서플로우와 같은 외부 도구와의 원활한 연동이 중요합니다. 익스터널 엔진은 개발자가 작성한 학습 코드를 외부 환경으로 전달하여 모델을 생성하고, 완성된 모델을 리포지토리에 저장하여 체계적으로 관리합니다. 또한 스파크 ML을 활용하여 이진 분류나 회귀 모델을 만들 때 하이퍼파라미터 튜닝을 통해 최적의 모델을 자동으로 찾아주는 기능을 제공하기도 합니다. 이렇게 생성된 모델은 온디맨드 서빙 엔진을 통해 REST API 형태로 즉시 서비스화될 수 있으며, 사용자는 복잡한 구축 과정 없이 인공지능 기능을 활용할 수 있게 됩니다. 실제 사례로 강남역 교통 속도 예측 시나리오를 살펴보면 시계열 데이터 처리의 복잡성을 이해할 수 있습니다. 수많은 도로에서 시차가 발생하며 유입되는 데이터를 스트림 엔진으로 정제하고, 일정 기간의 데이터를 클라우드로 옮겨 재학습하는 워크플로가 필요합니다. 이때 파일 파이프라이터를 사용하여 시간대별로 데이터를 관리하면, 방대한 양의 데이터 속에서도 효율적으로 학습용 데이터셋을 구성할 수 있습니다. 특히 15분 후의 속도를 예측하기 위해 현재 측정값과 과거 예측값을 시프팅하여 레이블을 생성하는 방식은 시계열 분석의 실무적 노하우를 보여줍니다. 마지막으로 모델의 신뢰성을 보장하기 위해 지속적인 성능 평가와 다중 모델 검증이 이루어져야 합니다. 시계열 데이터의 경우 과거 데이터 전체에 대한 성능보다는 최신 데이터에 대한 정확도가 중요하기 때문에, 검증 데이터를 여러 구간으로 나누어 평가하는 K-폴드 방식이 효과적입니다. 만약 운영 중인 모델의 성능이 저하된다면 리포지토리에 저장된 이전 모델들과의 성능을 비교 분석하여 즉각적인 교체가 가능합니다. 이러한 체계적인 평가 도구는 인공지능 모델이 한 번의 배포로 끝나는 것이 아니라, 끊임없이 진화하며 최상의 성능을 유지할 수 있도록 관리해 줍니다.

BeeAI 공모전 교육 영상(12) - 학습모델 검증 및 평가하기 튜토리얼(214~236p)
한국전자통신연구원ETRI 클래스
  • 융합
  • 공학·기술

BeeAI 공모전 교육 영상(05) - Python 사용자 정의 함수를 활용한 데이터 처리하기(96~103p)

파이썬 UDF를 활용한 데이터 처리는 BeeAI 플랫폼의 핵심적인 기능 중 하나입니다. 이번 과정에서는 사용자가 직접 파이썬으로 구현한 로직을 도커 이미지로 변환하고, 이를 REST API 형태로 통합하여 실시간 데이터를 처리하는 실습을 진행합니다. 이 방식은 복잡한 데이터 전처리나 특수한 연산이 필요할 때 매우 유용하며, 플랫폼에서 제공하는 다섯 가지 엔진 유형 중 마지막인 '온디맨드 익스터널 서빙 엔진'을 통해 구현됩니다. 온디맨드 익스터널 서빙 엔진을 사용하려면 먼저 '파이 모듈 러너'를 설정해야 합니다. 사용자는 파이썬 코드가 저장된 폴더 경로를 지정하고, 생성될 도커 이미지의 이름과 REST API 통신에 사용할 포트 번호를 입력합니다. 이때 이미지 이름은 도커의 규약에 따라 영문 소문자만 사용해야 하며 특수문자 사용은 지양해야 합니다. 이렇게 설정된 정보는 플랫폼 내에서 자동으로 컨테이너화되어 데이터 파이프라인의 일원이 될 준비를 마칩니다. 엔진을 통해 생성된 REST API는 외부 데이터와의 통로 역할을 수행합니다. 데이터 파이프라인 상에서 처리하고자 하는 데이터를 해당 API로 전송하면, 도커 인스턴스 내부에서 사용자가 작성한 파이썬 코드가 실행되어 결과값을 반환합니다. 기본적으로 문자열 기반의 데이터가 송수신되는데, 이미지나 오디오 같은 멀티미디어 데이터의 경우 Base64 인코딩을 통해 문자열로 변환하여 처리하는 방식을 주로 사용하게 됩니다. 성공적인 배포를 위해서는 몇 가지 코딩 규약을 준수해야 합니다. 파이썬 모듈화를 위한 __init__.py 파일이 반드시 존재해야 하며, 실제 로직은 base.py 파일 내에 메인 함수 형태로 구현되어야 합니다. 또한, 코드 작성에 사용된 외부 라이브러리들은 requirements.txt 파일에 명시해야만 도커 이미지가 생성될 때 해당 패키지들이 자동으로 설치됩니다. 이러한 폴더 구조를 갖추어야만 시스템이 코드를 인식하고 서빙 환경을 구축할 수 있습니다. 이미지 회전과 같은 시각적 데이터 처리는 파이썬 UDF의 장점이 잘 드러나는 사례입니다. 스파크나 하둡 기반의 일반적인 배치 처리로는 복잡할 수 있는 작업을 파이썬의 Pillow 라이브러리를 활용하면 단 몇 줄의 코드로 구현할 수 있습니다. 입력된 이미지 바이트 스트림을 이미지 객체로 변환하고 90도 회전시킨 뒤 다시 결과값을 내보내는 로직을 온디맨드 익스터널 서빙 엔진에 탑재하면 강력한 커스텀 오퍼레이터가 완성됩니다. 실습에서는 JSON 문자열을 처리하는 시뮬레이션도 함께 진행합니다. 특정 키값을 추출하여 연산을 수행하고 결과를 반환하는 엔진을 구동하면, BeeAI 대시보드에서 실시간으로 생성된 서비스 상태를 확인할 수 있습니다. 시뮬레이터 엔진이 1초 간격으로 데이터를 REST API에 전송하면, 도커 컨테이너 내부에서 처리된 결과값이 즉각적으로 반환됩니다. 이는 데이터가 수집되고 저장되는 과정 사이에 사용자 정의 로직이 어떻게 유기적으로 개입하는지를 잘 보여줍니다. 안정적인 데이터 처리를 위해서는 시스템 환경 구성도 중요합니다. 특히 여러 개의 엔진을 동시에 구동하여 엔드투엔드 워크북을 실행할 때는 최소 8코어 이상의 CPU와 16GB 이상의 메모리가 권장됩니다. 파이썬 UDF 처리까지 포함된 복합적인 파이프라인은 자원 소모가 크기 때문입니다. 이러한 기초적인 데이터 처리 기법들을 숙지하고 나면, 다음 단계인 머신러닝 모델 학습과 GPU를 활용한 가속 서빙 단계로 원활하게 넘어갈 수 있습니다.

BeeAI 공모전 교육 영상(05) - Python 사용자 정의 함수를 활용한 데이터 처리하기(96~103p)
한국전자통신연구원ETRI 클래스
  • 공학·기술

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 공모전 교육 영상(03) - 데이터 배치 처리하기(50~75p)

비즈니스 인텔리전스(BI) 시스템에서 대량의 데이터를 효율적으로 처리하기 위해 배치 엔진을 활용합니다. 배치 엔진은 데이터를 읽어오는 리더, 특정 로직을 수행하는 오퍼레이터, 그리고 분석 결과를 저장하는 라이터라는 세 가지 핵심 컴포넌트로 구성됩니다. 이러한 구조를 통해 외부 헬스케어 플랫폼인 MedBitz와 같은 시스템에서 데이터를 수집하고, BI 내부에서 K-means 클러스터링 분석을 수행한 뒤 그 결과를 다시 외부 플랫폼으로 업로드하는 자동화된 워크플로우를 구현할 수 있습니다. MedBitz는 병원과 건강관리 기관들이 협력하여 구축한 IoT 및 의료 빅데이터 통합 플랫폼으로, 사용자에게 의료 데이터 저장소와 분석 서비스를 제공합니다. 특히 외부 개발자들이 이를 활용해 건강관리 서비스를 개발할 수 있도록 다양한 Open API를 지원하는 것이 특징입니다. 사용자는 플랫폼에서 제공하는 가상 파일 시스템 API를 통해 클라우드 저장소에 접근할 수 있으며, 이를 BI 시스템과 연동함으로써 실질적인 의료 데이터 분석 프로세스를 구축하고 개인 맞춤형 서비스를 위한 기초 데이터를 확보하게 됩니다. 안전한 데이터 연동을 위해서는 OAuth 2.0 기반의 인증 절차가 필수적입니다. BI 시스템 내의 레지스트리 메뉴를 활용하면 클라이언트 ID와 시크릿, 리다이렉트 URI 등의 인증 정보를 체계적으로 관리할 수 있습니다. 이를 통해 사용자는 매번 외부 플랫폼의 개발자 페이지를 방문하지 않고도 시스템 내에서 간편하게 액세스 토큰을 발급받아 API를 호출할 수 있습니다. 인증 자원과 API 정보를 서로 매핑하는 과정은 데이터 보안을 유지하면서도 외부 저장소와의 매끄러운 통신을 가능하게 만드는 핵심적인 단계입니다. 실제 분석 작업에서는 발급된 액세스 토큰을 컴포넌트의 필수 속성값으로 입력하여 데이터 접근 권한을 활성화합니다. MedBitz 파일 배치 리더가 클라우드에서 샘플 데이터를 가져오면, K-means 오퍼레이터가 데이터의 패턴을 분석하여 설정된 개수의 클러스터로 분류합니다. 처리가 완료된 결과 파일은 라이터를 통해 다시 외부 플랫폼의 출력 폴더로 업로드됩니다. 이러한 방식은 데이터의 수집부터 정교한 분석, 그리고 최종적인 저장까지의 전 과정을 단일 워크플로우 내에서 완결성 있게 처리하도록 지원합니다. 데이터 처리 효율을 높이기 위해 엣지 컴퓨팅 기술을 BI 시스템에 접목할 수 있습니다. 엣지 노드는 데이터 소스와 가까운 곳에서 데이터를 1차적으로 정제하여 코어 노드로 전송하는 역할을 수행합니다. 이는 분석 시스템의 응답 시간을 단축시키고 대규모 데이터 전송에 따른 네트워크 비용을 절감하는 효과가 있습니다. 또한, 민감한 개인정보를 엣지 단에서 사전에 필터링하거나 제거한 후 코어 노드로 보냄으로써 데이터 보안 위험을 차단하고 시스템 운영의 안정성을 확보할 수 있다는 큰 장점이 있습니다. 엣지 노드에서 전처리된 데이터는 코어 노드와의 원활한 공유를 위해 파일 시스템 엔진을 통해 관리됩니다. 배치 엔진이 1차 가공을 마친 데이터를 HDFS 저장소에 기록하면, 파일 시스템 엔진은 이를 읽어 Swift 레포지토리의 공유 폴더로 이동시킵니다. 이때 공유 폴더는 별도의 접근 권한 없이도 코어 노드가 데이터를 즉시 가져갈 수 있도록 설정된 공간입니다. 데이터는 주로 압축된 형태로 저장되어 전송 효율을 높이며, 코어 노드는 이 정제된 데이터를 활용해 고성능 컴퓨팅 환경에서 심화 분석이나 시각화 작업을 수행합니다. 복합적인 엔진으로 구성된 워크플로우의 안정적인 운영을 위해서는 실행 순서를 제어하는 설정이 중요합니다. 워크플로우 속성에서 배치 트리 방식을 활성화하면, 선행 엔진의 작업이 성공적으로 완료된 후에만 다음 단계의 엔진이 실행되도록 제어할 수 있습니다. 이는 데이터 의존성이 있는 단계별 분석 과정에서 발생할 수 있는 오류를 방지하고 분석 결과의 신뢰도를 보장합니다. 이러한 배치 처리와 노드 간 협업 구조는 향후 실시간 스트림 데이터 처리로 확장되어 더욱 역동적이고 지능적인 데이터 서비스를 가능하게 합니다.

BeeAI 공모전 교육 영상(03) - 데이터 배치 처리하기(50~75p)
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 활용 교육 영상(08) - [4단계] BeeAI에서 모델 서빙하기(1)

머신러닝 모델을 실제 서비스에 적용하는 서빙 방식은 크게 온디맨드 서빙과 스트림 서빙으로 구분됩니다. 온디맨드 서빙은 마이크로서비스 아키텍처 환경에서 필요한 시점에 쿼리를 던져 예측 결과를 받는 방식인 반면, 스트림 서빙은 입력되는 데이터를 연속적으로 처리하여 실시간으로 예측 결과를 내보냅니다. 실무에서는 실시간 데이터 흐름을 다루기 위해 스트림 투 스트림 엔진을 활용하며, 이는 데이터의 입력부터 예측, 결과 전송까지의 전 과정을 끊김 없이 수행하는 데 최적화되어 있습니다. 플랫폼을 활용한 스트림 서빙 워크플로에서는 HTTP 서버 리더가 특정 포트를 통해 외부 데이터를 수신하는 것으로 시작됩니다. 수신된 온도 스트림 데이터는 전처리 과정을 거쳐 예측 오퍼레이터로 전달되며, 여기서 학습된 머신러닝 모델이 실시간 예측을 수행합니다. 최종 결과는 Kafka 토픽으로 전송되어 다른 시스템에서 활용될 수 있게 구성됩니다. 이러한 구조는 Zookeeper나 Bootstrap 서버 설정과 연동되어 분산 환경에서도 안정적인 데이터 처리를 가능하게 합니다. 정확한 예측을 위해서는 정교한 데이터 전처리가 필수적입니다. 입력된 온도 데이터는 먼저 특정 범위로 변환되는 Min-Max 스케일링을 거치며, 이 과정에서 현실적으로 불가능한 이상치 데이터는 제거됩니다. 또한 Transpose 오퍼레이터를 통해 과거의 데이터들을 모아 가로 형태로 재구성함으로써 모델이 분석하기 적합한 형태로 가공합니다. 예측이 완료된 이후에는 다시 원래의 수치 범주로 역변환하는 과정을 거쳐 사용자가 직관적으로 이해할 수 있는 최종 예측값을 산출하게 됩니다. 딥러닝 모델의 저장 방식인 Checkpoint는 본래 학습 중 오류가 발생했을 때 마지막 지점부터 재개하기 위한 용도로 사용됩니다. 하지만 실제 서빙 환경에서는 변수 값이 고정된 추론 전용 모델이 필요하므로, 그래프 정보와 배열 값을 결합하여 상수화하는 과정이 수반됩니다. TensorFlow Serving에서 공식적으로 권장하는 SavedModel 형식은 그래프 정보와 변수 데이터를 포함하며, 학습용 메타 그래프를 제외한 핵심 추론 로직만을 남겨 효율적인 서비스 배포를 지원합니다. SavedModel의 핵심 요소는 입력과 출력의 규격을 정의하는 시그니처입니다. 어떤 형태의 데이터를 받아들여 무엇을 내보낼지를 명확히 명시해야 모델 서버가 이를 정확히 인식하고 처리할 수 있습니다. TensorFlow 코드를 작성할 때 추론에 필요한 함수만을 모듈화하고 시그니처를 등록하면, 복잡한 트레이닝 그래프를 제거한 경량화된 모델을 생성할 수 있습니다. 이는 모델의 용량을 줄일 뿐만 아니라 서빙 시 발생할 수 있는 리소스 낭비를 최소화하는 데 기여합니다. 모델 서버는 저장소에 새롭게 올라오는 모델을 실시간으로 감시하며 버전 관리 정책에 따라 서비스를 갱신합니다. 가용성을 중시하는 정책에서는 서비스 중단 없이 신구 모델을 교체하는 방식을 취하며, 리소스가 제한적인 경우에는 기존 모델을 내린 후 신규 모델을 올리는 방식을 선택합니다. 또한 GPU 메모리 점유 방식을 설정하거나 특정 포트를 지정하여 모델을 로딩하는 등, 운영 환경의 특성에 맞춰 유동적으로 리소스를 관리할 수 있는 다양한 옵션이 제공됩니다. 기존에 잘 학습된 Pre-trained 모델을 활용하는 전이 학습은 개발 시간을 획기적으로 단축하는 방법입니다. Checkpoint나 Protocol Buffer 파일로부터 모델을 불러와 구조를 수정하고 자신만의 시그니처를 결합하면 새로운 SavedModel을 생성할 수 있습니다. 생성된 모델의 입력 형태나 Rank 등의 시그니처 정보는 CLI 도구를 통해 검증할 수 있으며, 이를 통해 예측 형식의 정확성을 확인합니다. 이러한 체계적인 검증 과정은 복잡한 시퀀스 데이터나 이미지 데이터를 다루는 모델의 신뢰성을 높여줍니다.

BeeAI 활용 교육 영상(08) - [4단계] BeeAI에서 모델 서빙하기(1)
한국전자통신연구원
  • 융합
  • 공학·기술

BeeAI 활용 교육 영상(06) - [2단계] Python 사용자 정의 함수(UDF)를 만들어서 데이터 처리하기

파이썬(Python)은 방대한 라이브러리 생태계를 보유하고 있어 데이터 분석과 과학 계산 분야에서 필수적인 언어로 자리 잡았습니다. 그러나 분산 환경인 스파크(Spark) 기반 시스템에서 개별 파이썬 스크립트를 통합하여 실행하는 과정은 기술적인 복잡함을 수반합니다. BeeAI는 이러한 허들을 낮추기 위해 파이썬 UDF(사용자 정의 함수)를 도커(Docker) 이미지 기술과 결합했습니다. 이를 통해 개발자는 익숙한 언어로 로직을 구성하면서도 플랫폼 내에서 안정적으로 데이터 처리 기능을 확장할 수 있게 되었습니다. 이 기능의 핵심은 온디맨드 익스터널 서빙(On-demand External Serving) 엔진을 활용하는 것입니다. 사용자는 엔진 설정에서 포트 번호와 도커 이미지 이름, 그리고 파이썬 코드가 저장된 경로를 지정하기만 하면 됩니다. 설정을 마치고 실행하면 시스템은 사용자의 코드를 포함한 도커 컨테이너를 자동으로 빌드합니다. 이렇게 컨테이너화된 환경은 독립적인 실행을 보장하며, 지정된 포트를 통해 데이터가 유입되면 컨테이너 내부의 파이썬 라이브러리가 로직을 수행한 뒤 그 결과를 다시 외부로 전달하는 구조를 가집니다. 파이썬 UDF를 구현할 때 주의할 점 중 하나는 REST API의 입출력 형식이 현재 문자열 위주로 구성되어 있다는 점입니다. 따라서 이미지나 수치 배열 같은 복잡한 데이터를 처리할 때는 이를 바이트 데이터(Byte Stream)나 문자열 형태로 변환하여 전송해야 합니다. 파이썬 코드 내부에서는 전달받은 문자열을 다시 원래의 데이터 형식으로 복원하여 연산을 수행하고, 결과물을 다시 문자열로 인코딩하여 반환하는 과정이 필요합니다. 이러한 처리 방식은 데이터의 종류에 상관없이 일관된 통신 인터페이스를 유지하게 해줍니다. 라이브러리 의존성 관리는 텍스트 파일을 통해 간편하게 이루어집니다. 필요한 라이브러리 목록을 파일에 적어두면 도커 이미지가 생성될 때 해당 라이브러리들이 자동으로 설치되어 환경이 구축됩니다. 실제 실습에서는 JSON 문자열 처리부터 넘파이(NumPy)를 활용한 난수 평균 계산, 그리고 필로우(Pillow) 라이브러리를 이용한 이미지 변환까지 다양한 사례가 확인되었습니다. 이는 개발자가 익숙한 도구를 그대로 사용하면서도 플랫폼의 워크플로우에 자신의 로직을 쉽게 통합할 수 있음을 보여줍니다. 파이썬 UDF의 통합은 데이터 개발 주기의 효율성을 극대화하는 중요한 요소입니다. 이를 통해 사용자는 데이터 수집과 적재라는 1단계를 넘어, 배치 처리와 스트림 처리 그리고 사용자 정의 함수를 활용한 고도화된 2단계 데이터 처리 과정까지 완벽하게 수행할 수 있습니다. 스파크의 강력한 분산 처리 능력과 파이썬의 방대한 분석 기능을 하나의 플랫폼에서 유기적으로 연결함으로써, 복잡한 데이터 파이프라인을 더욱 정교하고 유연하게 설계할 수 있는 기반이 마련된 것입니다.

BeeAI 활용 교육 영상(06) - [2단계] Python 사용자 정의 함수(UDF)를 만들어서 데이터 처리하기
한국전자통신연구원
  • 공학·기술

BeeAI 활용 교육 영상 (03) - [2단계] 데이터 배치 처리하기

데이터 분석의 여정은 수집된 데이터를 적재하는 것에서 시작되어 본격적인 처리 단계로 이어집니다. 적재된 데이터가 여러 테이블로 분산되어 있다면 가장 먼저 수행해야 할 작업은 리소스를 하나로 합치는 병합 과정입니다. 조인 기술을 활용해 흩어진 정보를 통합하고, 데이터의 형태는 동일하지만 구조가 다른 경우를 정제하여 분석이 가능한 상태로 만듭니다. 이 과정에서 중복된 데이터를 제거하고 결측치(Missing Value)나 이상치(Outlier)를 처리하는 전처리 작업은 데이터의 신뢰성을 확보하는 핵심적인 기초 공사가 됩니다. 정제된 데이터는 그대로 학습에 사용되기보다는 학습 효율을 고려해 축소하는 과정을 거치기도 합니다. 이는 컴퓨팅 리소스를 관리하고 학습 속도를 높이기 위한 필수적인 단계입니다. 특히 피처(Feature)의 수가 과도하게 많으면 모델이 학습 데이터에만 과하게 최적화되는 오버피팅(Overfitting) 현상이 발생할 수 있습니다. 이를 방지하기 위해 차원 축소 기법을 도입하거나 고품질의 모델 생성을 위해 변수 변환과 피처 엔지니어링(Feature Engineering)을 반복 수행하며 데이터의 전반적인 품질을 높여나가는 것이 일반적인 절차입니다. 데이터 처리 API는 이러한 일련의 과정을 효율적으로 지원하는 다양한 오퍼레이터를 제공합니다. 파일 병합이나 그룹화(Group By) 기능은 물론, 결측치(Missing Value)를 평균값이나 중앙값으로 대체하는 클렌징 오퍼레이터들이 대표적입니다. 결측치 처리 방식은 연구 분야가 매우 방대하여 상황에 따라 삭제하거나 특정 값으로 채우는 등 다양한 전략이 사용됩니다. 또한 시계열 데이터의 경우에는 분이나 시간 단위로 데이터를 축약하여 통계적 의미를 도출하는 유틸리티를 활용함으로써 데이터가 지닌 시간적 특성을 분석에 용이하게 변환할 수 있습니다. 데이터 처리가 스파크(Spark) 기반으로 이루어질 때는 데이터 타입 관리에 매우 유의해야 합니다. 기계는 사람이 보는 것과 달리 데이터의 위치나 형식을 엄격하게 구분하기 때문입니다. 예를 들어 타임스탬프 정보가 문자열로 적재되면 필터링이 제대로 작동하지 않을 수 있습니다. 스파크(Spark)는 데이터를 읽어올 때 타입을 추론하는 기능을 갖추고 있지만, 정확한 연산을 위해 사용자가 직접 타입을 변환하는 타입 캐스팅(Type Casting) 과정이 빈번하게 발생합니다. 이는 산술 연산이나 복잡한 쿼리 처리를 위한 필수적인 준비 단계라 할 수 있습니다. 특정 조건을 만족하는 데이터만을 추출하는 필터링 기능은 분석의 정밀도를 높여줍니다. 단순한 수치 비교부터 문자열 패턴 매칭, 그리고 특정 시간 범위를 지정하는 시계열 필터까지 다양한 방식이 활용됩니다. 특히 SQL 쿼리를 직접 사용하여 데이터를 조작하거나 전체 데이터 중 일부만을 무작위로 추출하는 샘플링 기법은 대규모 데이터셋을 다룰 때 매우 유용합니다. 이러한 기능들을 조합하면 수만 개의 행(Row)으로 이루어진 복잡한 데이터에서도 분석 목적에 부합하는 핵심 정보만을 효과적으로 추려낼 수 있습니다. 머신러닝 모델에 데이터를 입력하기 전에는 수치형 데이터로의 변환이 반드시 필요합니다. 스파크 ML(Spark ML)은 문자열 레이블이 포함될 경우 오류를 발생시키므로, 문자열 인덱서(String Indexer)를 통해 카테고리 데이터를 숫자로 변환하는 과정을 거칩니다. 또한 여러 피처(Feature) 컬럼(Column)을 하나의 벡터로 통합하는 벡터 어셈블러(Vector Assembler) 작업은 모델이 데이터를 인식할 수 있도록 만드는 필수 단계입니다. 원-핫 인코딩(One-Hot Encoding)이나 데이터 분할(Split)을 통해 학습용과 테스트용 데이터를 분리하는 작업까지 완료되어야 비로소 실질적인 모델 학습을 위한 준비가 끝났다고 볼 수 있습니다. 실제 환경에서는 이러한 일련의 과정이 워크플로우 형태로 구성되어 자동화됩니다. HDFS와 같은 분산 저장소에서 데이터를 불러와 전처리 오퍼레이터를 거친 뒤, K-평균(K-means) 군집화와 같은 알고리즘을 적용하여 결과를 도출하는 방식입니다. 사용자는 모니터링 페이지를 통해 전체 처리 과정을 실시간으로 확인하고, 작업이 완료되면 히스토리를 통해 분류 결과나 통계치를 텍스트 형태로 상세히 점검할 수 있습니다. 이러한 체계적인 데이터 처리 파이프라인은 복잡한 데이터로부터 가치 있는 통찰을 얻어내는 강력한 도구가 됩니다.

BeeAI 활용 교육 영상 (03) - [2단계] 데이터 배치 처리하기
한국전자통신연구원
  • 수학
  • 융합
  • 공학·기술

BeeAI 활용 교육 영상(05) - [2단계] 스트림 데이터 처리하기실습

BeeAI 플랫폼을 활용하여 강남 지역의 실시간 교통 속도를 예측하는 인공지능 서비스는 현대 도시 교통 효율을 높이는 핵심적인 기술입니다. 이 시스템은 강남 일대 택시에서 전송되는 초 단위 센서 데이터를 수집하여, 170개의 도로 링크별로 15분 후의 교통 상황을 정확하게 예측하는 것을 목표로 합니다. 방대한 데이터를 단순히 수집하는 것에 그치지 않고, 복잡한 워크플로 엔진들을 통해 실시간 스트림 처리를 수행하며 지능형 교통 시스템의 기반을 마련합니다. 교통 데이터 처리는 크게 수집, 전처리, 학습, 서빙의 다섯 단계 엔진으로 구성됩니다. 택시에서 전송되는 원본 데이터는 시간 정보, 도로 링크 ID, 현재 속도라는 단순한 구조로 이루어져 있지만, 초 단위로 발생하는 데이터 양이 매우 방대합니다. 이 데이터들을 시스템이 이해할 수 있는 형태로 변형하기 위해 각각의 역할을 수행하는 엔진들을 유기적으로 연결하며, 이를 통해 결측치를 보정하고 이상치를 제거하여 교통 예측의 정확도를 확보하는 복합적인 과정을 거게 됩니다. 실시간 스트림 전처리 단계인 엔진 A와 B에서는 초 단위 데이터를 1분 및 5분 단위로 정제하는 작업을 수행합니다. 센서와 네트워크의 상태에 따라 발생할 수 있는 결측치를 채워주는 결측치 처리가 이 과정에서 이루어지며, 딥러닝 모델이 학습하기에 적합한 5분 단위의 평균 속도 데이터를 생성합니다. 이러한 스무딩 과정을 통해 데이터의 불규칙성을 완화하고, 학습 모델이 교통 흐름의 전체적인 패턴을 보다 명확하게 파악할 수 있도록 데이터의 질을 높이는 역할을 합니다. 딥러닝 학습용 데이터를 생성하는 엔진 D는 스트림 형태의 데이터를 배치 형태의 CSV 파일로 변환하는 작업을 담당합니다. 텐서플로 기반의 학습 코드가 데이터를 읽어올 수 있도록 Min-Max 스케일링을 통해 속도 값을 정규화하고, 비정상적인 이상치를 제거하는 과정을 거칩니다. 또한, 170개 도로 링크의 데이터를 시간순으로 정렬하고 피벗 연산을 수행하여, 8주기 동안의 속도 패턴이 가로 형태로 배열된 시퀀스 데이터를 생성함으로써 모델 학습을 위한 최적의 상태를 만듭니다. 교통 예측의 핵심 모델로는 시계열 패턴 학습에 탁월한 성능을 보이는 LSTM(Long Short-Term Memory) 딥러닝 모델이 사용됩니다. 이 모델은 과거 8주기(약 40분) 동안의 교통 속도 변화 추이를 분석하여 특정 도로 링크의 미래 속도를 예측하도록 설계되었습니다. 엔진 E는 주기적으로 갱신되는 최신 데이터를 학습하여 예측 모델을 최적화하며, 학습이 완료된 모델은 실제 서비스 환경에 탑재되어 시시각각 변하는 도로 상황에 유연하게 대응할 수 있는 지능을 갖추게 됩니다. 예측된 결괏값은 사용자 인터페이스를 통해 시각적으로 전달되어 실제 교통 관제나 내비게이션 서비스에 활용됩니다. 엔진 C에서 이루어지는 스트림 서빙 단계는 최신 학습 모델을 기반으로 현재 유입되는 스트림 데이터에 대한 예측을 실시간으로 수행합니다. 15분 후의 속도가 평균 이하로 예상되는 도로 링크는 빨간색으로, 원활한 도로 링크는 파란색으로 표시하는 등 예측 데이터를 직관적인 정보로 변환함으로써 사용자가 도로의 미래 혼잡도를 미리 파악할 수 있도록 돕습니다. 이 모든 과정은 Spark Structured Streaming 기술을 통해 실시간성과 안정성을 동시에 확보합니다. 워터마크 설정을 활용하여 늦게 도착하는 데이터에 대한 처리 기준을 세우고, JSON 스키마 정보를 정의하여 데이터 처리 속도를 극대화합니다. 단순한 배치 처리를 넘어 연속적으로 유입되는 스트림 데이터를 효율적으로 관리함으로써, 지능형 교통 예측 서비스가 중단 없이 실시간으로 도로 위 상황을 분석하고 대응할 수 있는 강력한 데이터 파이프라인을 완성하게 됩니다.

BeeAI 활용 교육 영상(05) - [2단계] 스트림 데이터 처리하기실습
한국전자통신연구원
  • 융합
  • 공학·기술

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 클래스
  • 융합
  • 공학·기술