MLFlow란?MLflow는 머신러닝 라이프사이클 관리 플랫폼으로, 실험 추적, 모델 개발, 배포, 그리고 운영까지 자동화하고 일관되게 관리할 수 있다. 실험 추적, 프로젝트 실행, 모델 저장 및 배포를 포함한 다양한 기능을 제공하여, 사용자가 재현 가능한 환경에서 모델을 관리할 수 있게 돕는다. (선택사항) 가상 환경 구축venv 사용 방법일단 파이썬 내장으로 실행할 수 있는 venv를 사용해서 가상 환경을 구축해보자. .venv로 앞에 .을 붙인 이유는 root 폴더에 생성되게 하기 위함이다. 실행은 두 번째 줄에 있는 source 명령어를 사용해서 가상 환경을 활성화시킬 수 있다.python3.10 -m venv .venvsource .venv/bin/activate활성화 되면 다음과 같이 te..
전체 글
하다보니 재미있는 AI에 빠져있는 평양냉면7 문의사항: ysoil8811@gmail.com📌 서론우리 팀은 아파트 실거래가 예측을 목표로 하는 경진대회에 참가하고 있었다. 초기에는 변수를 선형회귀 분석 방식으로 접근하여, 서로 상관관계가 높은 피처들은 제거하려고 했었다. 그러나 멘토님께서 현재 우리가 사용하고 있는 방법은 선형회귀와는 다르며, 머신러닝을 적용하고 있다는 조언을 해주셨다. 여기서 혼란이 생겼는데, 머신러닝과 선형회귀는 기본적인 목표와 방식에서 차이가 있었다. 선형회귀분석은 각 변수가 결과에 미치는 개별적인 영향을 정확하게 평가하려고 하는 반면, 머신러닝은 예측의 정확성을 높이는 데 초점을 맞춘다. 그래서 선형회귀 분석에서는 변수들 간의 상관관계를 최대한 낮추려 하지만, 머신러닝에서는 상관관계가 높은 변수를 무조건 제거하지 않고, 모든 정보를 활용해 최상의 예측 성능을 도출하려..
학습 목표 및 접근 방법 우리 팀의 개인과 팀의 학습 목표는 동일한 방향을 가졌다. 경진대회 순위도 중요했지만, 더 중요한 것은 개인의 역량 향상이었다. 팀원 모두 이번 경진대회를 학습의 기회로 삼아 각자의 역량을 강화하기로 했다. 우선 직전에 배운 강의 내용을 실제 경진대회에 적용할 수 있을 정도로 이해하는 것부터 시작했다. 베이스코드가 있어서 그 코드를 실행해 보며 전체적인 흐름을 파악한 뒤, 팀원들과 함께 어떤 외부 데이터를 가져와야 부동산 시세 예측에 도움이 될지 회의했다. 매일 오전 10시, 오후 2시, 필요시에는 (거의 매일) 오후 4~5시에도 회의를 열어 활발하게 아이디어를 공유하고 토론했다. 이 과정에서 지하철역 인접 변수를 파생변수로 추가하고, 각 지역구의 ‘대장 아파트’와의 거리 계산을..
단순선형 회귀모델과 상관관계 분석상관관계(Correlation)한 변수가 변화할 때 다른 변수가 함께 변화하는 경향성을 보일 때 두 변수 사이의 관계를 상관관계라고 한다. 인과관계(Causation)한 변수의 변화가 원인이 되어 그 결과로써 다른 변수를 변화시킬 때, 두 변수 사이의 관계를 인과관계라고 한다.인과관계가 있는 변수는 상관관계도 있지만, 역은 성립하지 않는다.상관관계의 판단은 쉽지만 인과관계는 그렇지 않다.그래서 이 뒤에 상관관계 분석은 이름처럼 상관관계를 분석하는 것이지, 인관관계를 분석하는 것이 아니라는 걸 명심해야 한다! 선형회귀 (Linear Regression)선형회귀 모델은 데이터를 가장 잘 대변하는 최적의 선을 찾는 과정이다.독립변수들(X)과 연속형 종속변수(Y) 사이의 선형 관..
이번 글은 이전 글에서 작성한 개념을 적용한 실전 사례 중심 내용이다. 그러니 이전 글을 읽고 오면 좋다.머신러닝 프로세스에서 변수 선택 방법 - Filter methods, Wrapper methods, Embedded methods 머신러닝 프로세스에서 변수 선택 방법 - Filter methods, Wrapper methods, Embedded methods📌 서론머신러닝 프로세스에서 변수를 선택하는 것 또한 중요하다. 이번 글에서는 변수를 선택하는 방법에 대해서 설명해 보겠다.머신러닝 프로세스문제 해결 프로세스/머신러닝 프로세스는yijoon009.tistory.com 실전 사례 1 - Correlation 기반 selectionKaggle IEEE-CIS Fraud Detection 대회에서 ..
📌 서론머신러닝 프로세스에서 변수를 선택하는 것 또한 중요하다. 이번 글에서는 변수를 선택하는 방법에 대해서 설명해 보겠다.머신러닝 프로세스문제 해결 프로세스/머신러닝 프로세스는 다음과 같다.여기서 변수 선택의 의미를 생각해 보자. 현재 데이터 수집이 되었고, 수집한 데이터를 전처리하는 단계에서 EDA를 통해 데이터 분석을 진행했다. 결측치와 이상치를 처리하고 연속형 변수에 대해서 transformation이나 다른 변환 처리를 했고, 변주형 변수에 대해서도 처리한 상황이라고 가정해 보자. 그리고 그러한 데이터에 추가적인 feature engineering을 생성해 줘서 성능까지 끌어올릴 준비가 된 상황이다. 이 상황에서 변수 선택의 의미가 무엇일까? 변수 선택 의미변수 선택의 정의는, 기존의 변수와..
RAG와 Fine-Tuning 차이사실 RAG와 Fine-Tuning 중에 하나만을 써야 하는 건 아니다. 두 개를 전부 사용하는 모델도 있다. 하지만 일단 이 두가 지 접근법을 비교하는 건 의미가 있을 것 같다.Knowledge sourceRAGparametric + non-parametric즉, external knowledge를 결합해서 시너지 효과를 보는 방법론Fine-Tuning베이스 모델을 태스크에 맞게 추가로 파인튜닝즉, parametric knowledge를 업데이트하는 방식Knowledge updateRAG소스가 되는 외부 데이터베이스를 업데이트함으로써 모델 전체를 최신화할 수 있다.Fine-Tuning반면, 파인 튜닝 방식으로 모델을 최신화하기 위해서는 학습을 다시 시켜야 한다. 살..
일반적인 생성형 언어모델의 파이프라인User가 input을 주면 GPT나 T5 같은 언어모델의 내부를 지나게 된다. 언어 모델은 사전학습된 파라미터 값들과 input값들을 통해 ouput을 만들어낸다. 우리는 이 과정에서 자세히 어떤 일이 일어나는지 알 수 없다. 단지 언어모델의 어딘가에는 학습과정 때 주어진 지식들이 저장되어 있을 거라는 걸 실험적으로 도출할 수 있을 뿐이다. 이걸 파라메트릭 메모리(Parametric Memory)라고 한다. 파라미터에 저장되어 있기때문에 이런 이름이 붙었다. 모델이 적절하게 학습되었고 또 모델의 capacity가 충분할 경우에는 모델의 첫 번째 질문, '2020년 최저시급이 얼마야?'라는 질문에 첫 번째 예시와 같이 2020년 한국의 최저시급은 8,590원이라고 정..