프로그래밍공부(Programming Study)/머신러닝(Machine Learning)

AI/MLOps : ML의 개념부터 최신 NLP 모델까지

Chann._.y 2025. 4. 28. 07:59
728x90

📚 목차

  1. ML(Machine Learning) 이란?
    • 1.1 지도 학습(Supervised Learning)
    • 1.2 비지도 학습(Unsupervised Learning)
    • 1.3 강화 학습(Reinforcement Learning)
  2. Foundation Model과 LLM Model
  3. 싱글 모달 vs 멀티 모달
  4. NLP 모델의 발전과정
  5. Langchain과 LangSmith 소개
  6. 정리

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