MLOps 4

MLFlow

MLFlow때는 바야흐로 군대에 있을 시기인 2023년 5월, 필자는 군 e러닝 강좌 기말과제로 딥러닝을 통해 부동산 가격 예측을 하는 프로젝트를 진행했다. 이때가 아마 딥러닝을 나름의 실전(?)으로 처음 경험한 시기였고, 당시엔 당장 이번 년도 초반까지만 해도 Colab 외에는 마땅히 쓸 줄 아는 개발 환경도 없었다.하지만 프로젝트가 점차 복잡해지고, 다양한 하이퍼파라미터 실험과 모델 버전 관리를 하다 보니 자연스레 느낀 점이 있었다. 바로 “내가 지금 뭘 했고, 그 결과가 어땠는지 기억조차 안 난다” 는 것이다. Colab 셀 수십 개를 오가며 코드를 수정하고 결과를 확인하다 보면, 어떤 실험이 효과가 있었고 어떤 모델이 성능이 더 좋았는지 일일이 메모해두지 않으면 금방 잊혀진다.이때 등장한 것이 바..

MLOps/MLflow 2025.05.29

Kafka-python을 이용한 실시간 비트코인 데이터 받기

[Binance WebSocket] ↓[Kafka Producer (Python)] ↓[Kafka Broker on EC2] ↓[Kafka Consumer (Python)] 위와 같은 플로우를 바탕으로 실시간 비트코인 데이터를 받아보자.1. AWS EC2 실행 & Kafka 설치우선 EC2를 실행해보자. 아래의 사진과 같이 인스턴스를 시작하자.이제 터미널을 열고 EC2에 접속해주자.ssh -i "PEM KEY DIRECTORY" ec2-user@ 이제는 Kafka를 설치할 차례다. 아래의 코드를 실행해주자.# Java JDK 설치wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gztar -..

MLOps/Kafka 2025.05.16

Kafka Streams, KStreams

KStreams스트리밍 처리에서 자주 쓰이는 Kafka Streams는 실시간 분석 + 이벤트 기반 처리를 코드로 구현할 수 있는 강력한 라이브러리이다. 구성 요소로는 KStream, KTable, Window, Join, StateStore, Transformer 등이 있다. 각 개념들을 한번 살펴보고 어떻게 사용되는지 살펴보자.KStreamKStream은 Kafka Topic에서 들어오는 데이터를 실시간으로 읽어들이는 스트림 이다.Append-only log: 시간 흐름에 따라 순차적으로 도착하는 데이터Stateful, stateless 데이터를 처리할 수 있음.map(), .filter(), .groupByKey(), .join() 등의 다양한 연산 제공예시 코드를 보자.KStream stream ..

MLOps/Kafka 2025.05.13

Kafka 개념 이해하기

KafkaKafka는 대규모 실시간 데이터 스트리밍을 위한 분산 메시징 시스템이다. 데이터를 생산자(Producer) 가 보내면 Kafka가 이를 토픽(Topic) 단위로 저장하고, 필요한 소비자(Consumer) 가 가져가서 처리하는 시스템으로 보면 된다.Kafka 구성 요소구성 요소설명Producer데이터를 Kafka에 전송하는 역할. 예: 서버 로그, 센서 데이터, 애플리케이션 이벤트Topic데이터를 분류하는 단위. 스트림을 분리해서 저장하고 구독 가능BrokerKafka 서버 한 대. 여러 개의 브로커가 모여 클러스터를 이룸ConsumerTopic으로부터 데이터를 구독해서 처리하는 애플리케이션Zookeeper(기존 구조에서) 클러스터 상태를 관리하던 서비스 (현재는 KRaft로 대체 추세)Part..

MLOps/Kafka 2025.05.13