Loading...

SparkML

2 Contents
최신순

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 활용 교육 영상(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 클래스
  • 융합
  • 공학·기술