영상요약
인공지능 서비스의 전 주기(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와 결합되어 완성도 높은 시스템이 됩니다.