[KR] Hydra를 활용해서 Config 관리 효과적으로 해보자

데이터 사이언스, 머신러닝 프로젝트를 수행하기 위해서는 다양한 파라미터를 실험하는 과정이 동반됩니다. 이번 글에서는 파라미터와 설정값을 간결하게 관리하고 사용할 수 있게 도와주는 Hydra에 대해 알아보도록 하겠습니다. 1. Hydra란 Hydra는 페이스북에서 오픈소스로 공개한 프레임워크로, 어플리케이션에서 사용하는 여러가지 설정값을 관리할 수 있는 기능을 제공합니다. 직접 사용해본 Hydra는 아주 명확한 특징을 가지고 있습니다. 모든 설정 및 파라미터 값은 config.yaml로 관리하고 계층적으로 설정 그러한 와중에 command-line을 통해서 오버라이딩(overriding) 가능 한번의 명령어로 각각 다른 값을 대입하여 다중 실행 가능 이렇게 설명해도 와닿지 않을 수가 있겠죠....

November 7, 2021 · 3 min · Wonyoung Seo

[KR] Streamlit 앱 정말 쉽게 배포하기 (ft. Streamlit Sharing)

Streamlit은 파이썬 기반으로 웹어플리케이션을 개발할 수 있는 프레임워크입니다. 이번 포스팅에서는 Streamlit에서 제공하는 서비스를 통해 아주 쉽고 간단하게 내가 개발한 웹을 배포하는 방법에 대해 소개하고자 합니다. 웹 어플리케이션 개발 … 그 다음에는? 웹개발과 다소 거리가 먼 데이터분석가, 데이터 사이언티스트 분들에게 Streamlit은 분석 결과를 공유하거나, 학습한 모델을 제품으로 프로토타이핑 할 수 있는 아주 강력한 도구로 자리 잡았습니다. 하지만 나 혼자만 보고 사용하면 무슨 소용일까요…? (도발) 웹어플리케이션 개발과 별개로 배포 또한 하나의 장벽으로 느껴질 수 있는데요, Streamlit Sharing 은 Streamlit 어플리케이션을 배포하기 위해 알아야 할 모든 지식과 과정을 극도로 간소화 했습니다....

October 9, 2021 · 3 min · Wonyoung Seo

[KR] MLOps: 무엇인가?

Machine Learning Operations(MLOps)에 대한 주제로 공부하며 기초를 정리해보았습니다. 1. ML VS Real-world ML 1.1. 학술, 연구, 대회, 개인 프로젝트에서의 머신러닝 프로젝트 일반적으로 머신러닝 프로젝트를 시작하거나 학술적인 연구를 하는 경우, 머신러닝 프로젝트는 아래와 같은 성향을 띄고 있음. source: Udacity 해결하고자 하는 문제의 정의와 데이터셋이 주어져 있음. 프로젝트의 목적은 주어진 데이터셋을 기반으로 평가 메트릭에서 모델의 성능이 가장 높게 나오는 모델링을 실행하는 것 프로젝트 진행 동안 만족할만한 모델 성능이 나올 때까지 일련의 과정을 사이클로 반복함 데이터셋에 대한 탐구 여러가지 피쳐 엔지니어링 테크닉 적용 여러가지 하이퍼파라미터 조절 여러가지 머신러닝 알고리즘의 적용 1....

September 26, 2021 · 3 min · Wonyoung Seo

[KR] 주피터노트북만 써왔던 당신을 위한 클린코드 소개서

주피터노트북을 벗어나보자 데이터 분석 공부를 시작하는 분들 중 90% 이상은 주피터 노트북을 활용하는 데에서 출발하셨을 것입니다. 주피터 노트북은 데이터 분석 결과를 빠르게 확인할 수 있고 있다는 점에서 아주 간편하고 입문자들에게는 진입장벽이 낮은 도구입니다. 하지만 주피터노트북 형태의 코드는 정리가 되어있지 않으면 코드가 뒤죽박죽 섞일 수 있고, 재사용이 힘들어 유지보수를 하거나 협업을 하는 관점에서는 활용도가 매우 떨어집니다. 이런 상황에서 기술적인 방법론이 아닌, 클린코드에 대한 감을 잡을 수 있도록 가이드 형식의 내용을 정리해보았습니다....

September 11, 2021 · 4 min · Wonyoung Seo