이번주는 파이썬을 간략하게 배우고, AI를 배우는 초입이었다. 김용담 강사님의 개략적인 파이썬 및 딥러닝 강의, 황후순 강사님의 AI 기초 수업, 테디노트님의 AI시대의 백엔드 개발자에 대한 특강을 들어 인사이트가 한껏 넓어진 주였다. 이번 주에 배운 것과 내가 알고 싶은 것들을 정리했다. 앞으로 계속해서 아래의 개념들을 머릿속에 넣어야겠다. 이번 한 주도 수고했어!
개념 정리
1. 모놀리식 vs 마이크로서비스 아키텍처¹
| 구분 | 모놀리식 | 마이크로서비스 |
|---|
| 구조 | 단일 코드·프로세스·DB | 도메인별 서비스 + 독립 DB |
| 배포 | JAR/WAR 하나, 전체 재시작 | 서비스별 파이프라인, 무중단 배포 |
| 데이터 일관성 | DB 내부 ACID 트랜잭션 | 사가·이벤트로 보상 트랜잭션 |
| 장애 전파 | 전체 다운 가능성 | 서비스 단위 격리 |
| 적합 시점 | MVP·소규모·낮은 트래픽 | 조직·트래픽 급성장 |
2. MCP(Model Context Protocol) & A2A(Agent-to-Agent)² ³ ⁴
1) MCP
- 목적 : LLM이 외부 툴·데이터를 안전하게 호출하도록 표준화
- 예시
{
"tools":[
{"name":"fileReader","args":["path"]},
{"name":"sql.query","args":["statement"]}
],
"context":{"userId":"1234"}
}
2) A2A
- 목적 : 서로 다른 에이전트 간 협업, 통신 규격
- 구성 : Discovery API, Session Protocol, Message Schema
3. Docker / Kubernetes 메모리 최적화⁵
- 멀티-스테이지 빌드 → 이미지 용량 60–80 % 절감
- Alpine 베이스 → 50–100 MB 감소
- Requests/Limits → kubectl describe pod 로 OOM 확인 후 조정
- Vertical Pod Autoscaler → 실제 사용량 기반 CPU·메모리 자동 재계산
4. RAG (Retrieval-Augmented Generation)⁶
- 문서 삽입 : 원문 → 청크 → 임베딩 → Vector DB
- 질의 처리 : Retriever → Prompt Composer → LLM Generator
- 장점 : 최신 지식 주입·환각 감소·단계별 모니터링 용이
5. Vector DB 종류⁷
| 제품 | 특장점 | 적합 상황 |
|---|
| Pinecone | SaaS, 자동 스케일 | 빠른 PoC |
| Weaviate | GraphQL + 모듈 | 복합 쿼리·권한 제어 |
| Milvus | GPU·분산 | 대규모 임베딩 |
| Qdrant | Rust, 필터 강력 | 엣지·필터 검색 |
| Chroma | 파이썬 내장 | 노트북·데모 |
| pgvector | Postgres 확장 | RDB JOIN 필요 |
6. 비동기 처리 & SSE 토큰 스트리밍⁸
- 비동기 HTTP : Java CompletableFuture / Python asyncio
- SSE : text/event-stream 헤더로 토큰 단위 전송
- 재연결 캐시 : Redis Stream 또는 Kafka Topic 으로 이어받기 가능
7. KEDA + GPU Warm Pool 오토스케일링⁹
- DCGM Exporter → Prometheus → KEDA
- HPA : GPU util 60 % 목표
- Warm Pool : 최소 1대 GPU 노드 대기 → Scale-0 → 1 지연 제거
- SLI : p95 지연 1.5 s, 에러율 < 1 %
8. vLLM Continuous Batching¹⁰
| 단계 | 설명 |
|---|
| Prefill | 프롬프트 토큰 → KV 캐시 |
| Decode | 매 스텝마다 다음 토큰 생성 |
| Continuous Batching | 실시간 요청 삽입 → GPU 공백 최소화 |
- A100 1장·Llama-2-7B : QPS ≈ 300 / p50 ≈ 0.8 s
- OpenAI 호환 REST 서버 제공 → 기존 코드 최소 변경
9. BERT & Random Forest¹¹ ¹²
▸ BERT
- 사전학습 : MLM + NSP
- 구조 : Encoder 12/24층, 768/1024 dim
- 장점 : 양방향 문맥 이해, 빠른 파인튜닝
- 한계 : 512 토큰 제한, 모델 > 100 M
▸ Random Forest
- 원리 : Bagging + 다수 Decision Tree
- 장점 : 과적합 방지, 변수 중요도
- 단점 : 메모리↑, 실시간 속도↓
참고
- https://aws.amazon.com/ko/compare/the-difference-between-monolithic-and-microservices-architecture/
- https://blog.logto.io/ko/what-is-mcp
- https://developers.googleblog.com/ko/a2a-a-new-era-of-agent-interoperability/
- https://developers.googleblog.com/ko/agents-adk-agent-engine-a2a-enhancements-google-io/
- https://blog.trmlabs.com/ko/resources/blog/journey-to-keda-optimizing-airflow-worker-scaling-in-kubernetes
- https://aws.amazon.com/ko/what-is/retrieval-augmented-generation/
- https://discuss.pytorch.kr/t/2023-picking-a-vector-database-a-comparison-and-guide-for-2023/2625
- https://kr.linkedin.com/posts/jaehyeong-an-llm-스트리밍-응답을-위한-sseserver-sent-events
- https://happy-obok.tistory.com/23
- https://process-mining.tistory.com/102
- https://helen6339.tistory.com/82
- https://bommbom.tistory.com/entry/랜덤-포레스트Random-Forest-장단점-특성-중요도