전체 글 135

MLflow로 시작하는 머신러닝 실험 관리: 설치부터 하이퍼파라미터 튜닝까지

MLflow 설치 및 첫 설정MLflow는 머신러닝 실험을 체계적으로 관리할 수 있는 오픈소스 플랫폼입니다. 실험의 파라미터, 모델, 메트릭을 추적하여 반복 가능하고 재현 가능한 머신러닝 개발 환경을 구축할 수 있습니다.MLflow를 설치하려면 간단히 다음 명령어를 실행합니다.pip install mlflow설치가 완료되면, 다음 명령어로 MLflow UI를 실행할 수 있습니다.mlflow ui웹 브라우저에서 http://127.0.0.1:5000에 접속하면 MLflow UI를 확인할 수 있으며, 이곳에서 실험 결과를 시각적으로 확인하고 비교할 수 있습니다.간단한 모델 학습 및 자동 로깅MLflow의 자동 로깅 기능을 사용하면 모델 학습 과정에서 파라미터, 모델, 메트릭을 자동으로 기록할 수 있습니다. ..

Machine Learning 2025.06.01

MLOps 기술과 플랫폼 비교: MLflow부터 SageMaker까지

MLOps를 위한 다양한 플랫폼 개요MLOps는 머신러닝 모델의 개발부터 배포, 운영까지 전 과정을 체계적으로 관리하기 위한 접근법이며, 이를 구현하기 위해서는 강력한 플랫폼과 도구가 필요하다. 오늘날 많은 기업과 개발자들이 사용하는 MLOps 플랫폼은 MLflow, Kubeflow, TensorFlow Extended, PyTorch Lightning, Databricks, Amazon SageMaker, Google Cloud AI Platform 등이 있다. 각각의 플랫폼은 머신러닝 라이프사이클의 다양한 부분을 지원하며, 프로젝트 요구사항에 따라 선택적으로 활용할 수 있다.MLflow: 프로젝트 전주기 관리 오픈소스 플랫폼MLflow는 머신러닝 프로젝트를 체계적으로 관리하기 위한 오픈소스 플랫폼이다..

Machine Learning 2025.05.30

MLOps 도입 수준에 따른 단계별 접근 전략

MLOps, 모두 다 사용할 필요가 있을까?많은 조직들이 머신러닝 모델 운영을 위해 MLOps를 도입하고 있지만, 모든 기능을 완벽히 활용하는 회사는 극히 드물다. 이유는 다양하다. 비용적인 문제나 실제로 모든 기능을 사용할 필요가 없기 때문이다. 따라서 대부분의 조직은 자사의 필요와 자원에 따라 점진적으로 MLOps를 도입하며, 이는 크게 세 가지 수준으로 나눌 수 있다.MLOps 구현의 단계별 구분1단계: 기초적이고 수동적인 수준이 단계는 대부분 MLOps를 사용하지 않거나 매우 기본적인 수준에서만 활용하는 조직들이다. 모델의 학습과 배포를 주로 수동으로 진행하며, 모델의 성능 모니터링도 제한적으로만 이루어진다. 주로 규모가 작거나 자원이 한정된 조직이 이 단계에 머물며, 모델 개발과 운영의 효율성이..

Machine Learning 2025.05.30

MLOps: 머신러닝 운영의 핵심 기능과 도구 총정리

MLOps란 무엇인가?MLOps(Machine Learning Operations)는 머신러닝 모델의 개발부터 배포, 운영, 유지보수까지 전 과정을 효율적으로 관리하기 위한 일련의 프로세스와 도구를 의미합니다. 이는 전통적인 소프트웨어 개발 방식과는 달리, 머신러닝 시스템의 특수성을 고려하여 구성되며, 데이터 수집, 모델 학습, 배포, 모니터링, 피드백 수집 및 리소스 관리 등 다양한 요소를 포함합니다. MLOps는 머신러닝 모델이 실제 운영 환경에서 안정적으로 작동하고 지속적으로 개선될 수 있도록 지원합니다.MLOps가 필요한 이유머신러닝 모델을 개발하고 배포하는 과정은 복잡하며, 수많은 변수와 불확실성이 존재합니다. 이러한 복잡성을 관리하고, 모델의 신뢰성과 효율성을 확보하기 위해 MLOps가 필요합..

Machine Learning 2025.05.29

머신러닝 상품화를 위한 ML LifeCycle 총정리

ML LifeCycle이란?머신러닝(ML) LifeCycle은 머신러닝 모델을 기획 단계부터 실제 서비스에 적용하고 유지보수하기까지의 모든 단계를 포함하는 프로세스입니다. 이는 데이터 수집부터 모델 배포 및 지속적인 모니터링과 개선을 거치는 반복적이고 주기적인 흐름을 의미합니다.ML LifeCycle의 주요 단계1. 데이터 수집과 준비 (Data Collection and Preparation)해결하고자 하는 문제 명확히 정의문제 해결에 필요한 데이터 유형 결정다양한 소스에서 데이터를 수집하고, 분석 가능한 형태로 정제 및 변환데이터 분포, 상관관계, 이상치 등 탐색적 데이터 분석(EDA) 수행모델 학습에 적합한 형태로 데이터 처리 (범주형 데이터 인코딩, 결측값 처리 등)2. 모델 선택과 학습 (Mod..

Machine Learning 2025.05.29

LLM을 활용한 카카오톡 대화 요약: Anthropic으로 평가용 테스트 케이스 자동 생성하기 [5]

웹 서비스나 AI 모델 검증을 위해 대화형 테스트 케이스를 대량 확보하는 작업은 비용과 시간이 많이 소요됩니다. 이번 포스트에서는 Python 스크립트와 Anthropic Claude API를 활용해2명/3명 대화 테스트 케이스를 자동으로 추출3000자 이상 대화로 확장최종적으로 eval_data.pickle 에 병합하고,간단한 get_eval_data 함수로 불러오는전 과정을 단계별로 살펴보겠습니다.1. 필요한 패키지glob : 디렉터리 내 파일 목록을 와일드카드 패턴으로 검색json : JSON 파일 입출력pickle : Python 객체 직렬화/역직렬화anthropic : Claude 모델 호출용 SDKpython-dotenv : .env 파일에서 환경변수 로드2. 테스트 케이스 추출 스크립트imp..

LLM을 활용한 카카오톡 대화 요약: HuggingFace 데이터셋 다운로드 방법 (sharegpt_deepl_ko) [4]

안녕하세요! 오늘은 HuggingFace에서 제공하는 sharegpt_deepl_ko 데이터셋을 다운로드하는 방법을 간단히 안내드리겠습니다.HuggingFace 데이터셋 소개먼저, HuggingFace의 sharegpt_deepl_ko 데이터셋은 한국어로 번역된 ShareGPT 데이터를 담고 있습니다. 이 데이터는 주로 자연어처리(NLP) 프로젝트나 챗봇 개발 등에 매우 유용하게 사용될 수 있습니다.데이터셋 링크 👉 sharegpt_deepl_ko설치하기커맨드라인에서 HuggingFace Hub를 설치합니다.pip install huggingface-hub데이터셋 다운로드 방법방법 1️⃣ 특정 파일만 주피터 노트북에서 다운로드주피터 노트북 환경에서 특정 파일(ko_dataset.json)만 다운로드하는..

Transformer 완전 처음부터 배우기

Transformer란?자연어처리를 공부하다 보면 꼭 등장하는 용어가 있습니다. 바로 Transformer입니다. 저도 처음엔 "이게 대체 뭐지?"라는 의문을 가지고 시작했지만, 학습하면서 점차 구조와 원리를 이해하게 되었습니다. 오늘은 Transformer의 핵심 요소 중 하나인 Self-Attention을 중심으로 간단히 정리해보려 합니다.기존 방식의 한계: RNN과 LSTM기존의 자연어 처리 모델인 RNN과 LSTM은 단어를 시간 순서대로 하나씩 처리하는 직렬 연산(Sequential Processing) 구조였습니다. 이 구조는 시간 정보는 보존되지만, 병렬 연산이 불가능해 학습 속도가 느리고 긴 문장을 처리할수록 성능이 저하되는 한계가 있었습니다.Transformer의 강점Transformer는..

NLP 2025.04.17

신용카드 고객 신용도 예측하기: 머신러닝 [1]

🔍 프로젝트 개요이번 프로젝트에서는 신용카드 발급을 신청한 고객들의 프로필 데이터를 바탕으로, 신용도 수준을 예측하는 모델을 개발합니다.데이터는 Kaggle에서 제공되며, 총 36,457개의 데이터와 20개의 변수를 포함하고 있습니다.데이터 출처: Kaggle데이터 수: 36,457개컬럼 수: 20개테이블 수: 2개🎯 프로젝트 목적고객 데이터를 분석하여 카드 발급 가능 여부를 판단하는 의사결정 모델을 구축합니다.신용불량 가능성이 높은 고객을 사전에 예측함으로써, 금융사의 영업 이익률 개선을 도모합니다.🧭 분석 프로세스프로젝트는 다음과 같은 순서로 진행됩니다:목표 정의데이터 수집문제 정의 및 예측 목표 설정데이터 전처리중복 데이터 제거 (Duplicated Data)결측치 처리 (Missing Val..

LLM을 활용한 카카오톡 대화 요약: 효과적인 데이터 수집 방법 [3]

데이터 수집의 중요성AI 모델의 성능은 데이터의 품질과 양에 크게 좌우됩니다. 특히, 카카오톡 대화 요약과 같은 자연어처리(NLP) 모델을 개발할 때는 다양한 유형의 데이터를 확보하고 평가해야 합니다. 이번 글에서는 프로젝트의 성능 향상을 위해 데이터를 어떻게 수집하고 활용할 것인지를 다뤄보겠습니다. 📊왜 데이터 수집이 필요할까?1️⃣ 테스트 데이터 확보AI 서비스를 개발하기 전에 다양한 시나리오에서 모델을 테스트해야 합니다.실제 카카오톡 대화를 활용할 수 없는 경우, 유사한 데이터로 모델 성능을 검증할 필요가 있습니다.2️⃣ 모델 평가 데이터 구축평가 데이터가 많을수록 모델의 성능을 객관적이고 일반적인 기준으로 측정할 수 있습니다.편향되지 않은 평가 데이터를 확보해야 실제 환경에서 모델이 잘 동작하는..