프로그래밍공부(Programming Study)/머신러닝(Machine Learning)
AI/MLOps : ML의 개념부터 최신 NLP 모델까지
Chann._.y
2025. 4. 28. 07:59
728x90
📚 목차
- ML(Machine Learning) 이란?
- 1.1 지도 학습(Supervised Learning)
- 1.2 비지도 학습(Unsupervised Learning)
- 1.3 강화 학습(Reinforcement Learning)
- Foundation Model과 LLM Model
- 싱글 모달 vs 멀티 모달
- NLP 모델의 발전과정
- Langchain과 LangSmith 소개
- 정리
1. ML(Machine Learning) 이란?
머신러닝(ML)은 명시적인 프로그래밍 없이 데이터로부터 학습하고 예측하는 기술입니다. ML은 세 가지 주요 카테고리로 나눌 수 있습니다.
1.1 지도 학습(Supervised Learning)
지도 학습은 정답(Label)이 있는 데이터를 이용해 학습합니다. 모델은 주어진 입력에 대해 올바른 출력을 예측하도록 훈련됩니다.
- 주요 특징
- Labeled Data 필요
- 분류(Classification), 예측(Regression) 문제에 적합
- 주요 알고리즘
- 선형 회귀(Linear Regression): 수치 예측 (예: 집값 예측)
- 로지스틱 회귀(Logistic Regression): 범주 분류 (예: 스팸 메일 분류)
- 의사결정나무(Decision Tree): 조건을 따라 분류 (단점: 과적합 문제)
- 랜덤 포레스트(Random Forest): 여러 트리를 평균 내어 과적합 방지
- SVM(Support Vector Machine): 초평면을 통해 데이터 분리
- 신경망(Neural Network): 대규모 데이터 학습 (딥러닝, 해석 어려움)
- Python 예시 코드
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_regression
# 데이터 생성
X, y = make_regression(n_samples=100, n_features=1, noise=10)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 모델 학습
model = LinearRegression()
model.fit(X_train, y_train)
# 예측
predictions = model.predict(X_test)
print(predictions)
1.2 비지도 학습(Unsupervised Learning)
비지도 학습은 정답이 없는 데이터를 기반으로 패턴을 찾는 학습 방식입니다.
- 주요 특징
- Label이 없음
- 군집화(Clustering), 차원 축소(Dimensionality Reduction)에 주로 사용
- 주요 알고리즘
- K-평균 군집화(K-Means Clustering): 데이터를 K개의 그룹으로 나누기
- PCA(주성분 분석): 데이터 차원을 축소하여 시각화
- Python 예시 코드
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
# 데이터 생성
X, _ = make_blobs(n_samples=100, centers=3, cluster_std=1.0)
# 모델 학습
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
# 결과
print(kmeans.labels_)
1.3 강화 학습(Reinforcement Learning)
강화 학습은 행동(Action)을 선택하고 그에 대한 보상(Reward)을 받아가며 최적의 전략을 찾는 학습 방법입니다.
- 주요 특징
- 환경(Environment)과 상호작용
- Model-Free vs Model-Based 접근
- 주요 알고리즘
- Q-Learning: 가치 기반 학습
- DQN(Deep Q-Network): Q-learning에 딥러닝 추가 (ex: AlphaGo)
2. Foundation Model과 LLM Model
- Foundation Model: 대량의 데이터를 통해 다양한 입력(텍스트, 이미지, 음성)을 처리할 수 있는 범용 AI 모델.
- LLM(Large Language Model): 텍스트 처리에 특화된 대형 언어 모델 (예: GPT-4, PaLM).
3. 싱글 모달 vs 멀티 모달
- 싱글 모달(Single Modal): 하나의 형태(텍스트만, 이미지만)로 입력 처리.
- 멀티 모달(Multi Modal): 여러 형태(텍스트 + 이미지 + 오디오)를 동시에 처리.
예시:
- GPT-4: 싱글 모달 (텍스트 중심)
- GPT-4 Turbo with Vision: 멀티 모달
4. NLP 모델의 발전과정
NLP(자연어처리) 모델은 다음과 같은 흐름으로 발전했습니다.
- Attention 메커니즘 도입 → 정보를 동적으로 집중
- Transformer 등장 → 병렬처리 가능
- Encoder (BERT): 입력 이해에 강점
- Decoder (GPT): 출력 생성에 강점
- BERT: 문장 이해에 특화
- GPT: 문장 생성에 특화
5. Langchain과 LangSmith 소개
- Langchain: 여러 언어모델(LLM)을 연결하여 복잡한 체인을 만들 수 있는 라이브러리.
- LangSmith: LLM 체인 테스트와 디버깅을 지원하는 도구.
Langchain을 활용하면, 여러 단계를 걸쳐 답변을 생성하거나 데이터베이스와 LLM을 연결하는 등의 복합 작업을 쉽게 할 수 있습니다.
728x90