Pipeline (파이프라인)
정의
**Pipeline (파이프라인)**은 여러 처리 단계가 순차적 또는 병렬로 연결되어 입력 데이터를 최종 출력으로 변환하는 자동화된 워크플로우입니다.
핵심: 한 단계의 출력 = 다음 단계의 입력
파이프라인의 기본 구조
입력 → [Stage 1] → [Stage 2] → [Stage 3] → 출력
(변환) (처리) (출력)
각 단계:
- 입력값 받음
- 처리 수행
- 출력값 전달
- 다음 단계로 전달
파이프라인의 3가지 패턴
1. 순차형 (Sequential)
┌────────┐ ┌────────┐ ┌────────┐
│Stage 1 │ → │Stage 2 │ → │Stage 3 │
└────────┘ └────────┘ └────────┘
1초 2초 1.5초
총 4.5초 소요
특징:
- 간단, 이해하기 쉬움
- 한 번에 하나의 작업만 처리
- 총 시간 = 모든 단계 합산
2. 병렬형 (Parallel)
┌────────┐
→ │Stage 2 │ →
│ └────────┘ │
│ │
Stage 1 Stage 4
│ │
│ ┌────────┐ │
→ │Stage 3 │ →
└────────┘
특징:
- 여러 작업 동시 처리
- 총 시간 = 가장 오래 걸리는 단계
- 빠름, 복잡함
3. 분기형 (Branching)
┌─ [Stage 2A] ─┐
/ \
─[Stage 1] ─ 조건 분기 ─[Stage 4]
\ /
└─ [Stage 2B] ─┘
특징:
- 조건에 따라 다른 경로 선택
- 복잡한 로직 처리
- 에러 처리, 조건부 실행
온톨로지 학습 파이프라인의 예시
데이터 입력
↓
[전처리]
├─ 텍스트 정제 (1분)
├─ 토크나이제이션 (2분)
└─ 정규화 (1분)
↓
[정보 추출] (병렬)
├─ NER: Named Entity Recognition (3분)
├─ RE: Relation Extraction (5분)
└─ Attribute Extraction (2분)
↓
[온톨로지 구성]
├─ 클래스 계층 구축 (2분)
├─ 관계 정의 (2분)
└─ 속성 추가 (1분)
↓
[검증]
├─ 역량 질문 테스트 (3분)
├─ 정합성 확인 (2분)
└─ 오류 검사 (2분)
↓
[정제]
├─ 중복 제거 (1분)
├─ 오류 수정 (2분)
└─ 누락 보완 (2분)
↓
온톨로지 출력 (30분 총 소요)
좋은 파이프라인의 특징
1. 명확성 (Clarity)
각 단계의 목적이 명확
✓ "이 단계는 엔티티를 추출한다"
✗ "이 단계는 처리를 한다"
2. 독립성 (Independence)
각 단계가 독립적
✓ Stage 2를 Stage 3 없이 테스트 가능
✗ Stage 2가 Stage 3에 의존
3. 재사용성 (Reusability)
다른 파이프라인에서 재사용 가능
✓ "전처리 단계"를 여러 파이프라인에서 사용
✗ "온톨로지 1 전용 전처리"
4. 확장성 (Scalability)
입력 데이터 증가에 대응
✓ 병렬 처리로 시간 일정하게
✗ 입력 2배 → 시간 2배 증가
5. 안정성 (Robustness)
오류 처리와 복구
✓ Stage 2 실패 → Stage 3 건너뛰고 로그 기록
✗ Stage 2 실패 → 전체 중단
파이프라인의 최적화
성능 지표:
1. 처리량 (Throughput)
- 단위 시간당 처리된 데이터
- 목표: 최대화
2. 레이턴시 (Latency)
- 입력부터 출력까지 시간
- 목표: 최소화
3. 정확도 (Accuracy)
- 출력의 품질
- 목표: 최대화
트레이드오프:
처리량 ↑ = 레이턴시 ↑ (병렬화)
정확도 ↑ = 처리량 ↓ (검증 단계 추가)
파이프라인 모니터링
지속적 관찰:
1. 각 단계의 성공률
- Stage 1: 99.5% 성공
- Stage 2: 95% 성공 (병목!)
- Stage 3: 98% 성공
2. 처리 시간
- Stage 1: 1초
- Stage 2: 10초 (병목!)
- Stage 3: 0.5초
3. 오류 분석
- Stage 2 오류: "관계 추출 실패"
- 원인: LLM 비용 절감으로 품질 ↓
- 해결: 더 나은 프롬프트 또는 모델 업그레이드
관련 개념
- Ontology Learning — 파이프라인의 예시
- Bootstrapping — 파이프라인의 반복
- Autonomous Agent — 파이프라인 내장 에이전트
관련 영상: End to End Ontology Learning with Large Language Models (Video 5)