학습(Fine-tuning / Post-training)은 추론(Inference)과 달리 역전파(Backpropagation) 과정에서 Optimizer States(AdamW), Gradients, Activations를 모두 VRAM에 올려야 하므로 모델 파라미터당 필요 메모리가 4~6배로 급증합니다.
보유하신 B300 8장(카드당 288GB, 노드 총합 약 2,304GB VRAM)은 H100 노드에서는 불가능했던 "단일 노드 풀 파인튜닝(Full Fine-Tuning)"의 한계를 완전히 넓혀주는 스펙입니다. 목적과 학습 기법(LoRA vs Full Parameter)에 따른 추천 모델입니다.
소형 (8B ~ 14B): 파이프라인 검증 및 빠른 도메인 특화 (Full Fine-Tuning 추천)
중형 (70B ~ 72B): 사내 플래그십 파운데이션 모델 구축 (B300 8장의 핵심 영역)
소형 고성능 (3B ~ 7B): 경량 에이전트 및 함수 호출(Function Calling) 전용
B300 8장의 VRAM(2,304GB) 대비 각 모델의 16-bit(BF16) 학습 시 메모리 요구량입니다.
| 모델 | 기법 | 필요 총 VRAM | B300 8장 단일 노드 가능 여부 | 권장 분산 프레임워크 |
|---|---|---|---|---|
| 8B | Full Fine-Tuning | 약 130 ~ 160 GB | 여유 (단일 GPU 가능 / DDP 8) | PyTorch DDP / FSDP |
| 14B | Full Fine-Tuning | 약 230 ~ 280 GB | 여유 (B300 1~2장 수준) | PyTorch FSDP |
| 70B | LoRA / QLoRA | 약 200 ~ 250 GB | 여유 (단일 인스턴스) | Hugging Face PEFT |
| 70B / 72B | Full Fine-Tuning | 약 1,100 ~ 1,400 GB | 완전 가능 (총 2.3TB 중 ~60% 점유) | PyTorch FSDP / DeepSpeed ZeRO-3 |
| MoE (Mixtral 8x22B) | LoRA | 약 350 ~ 450 GB | 완전 가능 | Megatron-DeepSpeed / FSDP |
참고 (Full Tuning 메모리 계산식): 모델 파라미터() + Gradients() + AdamW Optimizer States() + 마스터 가중치 파라미터당 최소 16~20 Bytes 소요 (Activation 메모리 별도). 70B 모델은 순수 상태값만 약 1.1~1.4TB가 필요합니다.
Llama-3.3-70B, Qwen2.5-72B). 이미 정렬(Alignment)된 대화 템플릿의 간섭 없이 원시 텍스트를 가장 잘 흡수합니다.Llama-3.3-70B-Instruct 등). 기본적인 지시문 이해와 대화 능력이 갖춰져 있어 수천~수만 건의 Q&A 데이터셋만으로도 빠르게 원하는 톤과 포맷을 학습합니다.B300 8장 단일 노드 구성을 100% 쥐어짜기 위한 표준 프레임워크입니다.
==
추론과 학습은 VRAM 점유 구조(가중치만 올리는 추론 vs Optimizer/Gradient/Activation까지 올리는 학습)와 연산 특성이 달라 타깃 모델과 스택이 갈립니다.
추론의 vLLM, TensorRT-LLM(TRT-LLM), 학습의 FSDP, DeepSpeed 외에도 실무 AI 인프라에서 사실상 표준(De facto standard)으로 정착된 핵심 프레임워크들이 명확히 존재합니다.
vLLM, TRT-LLM 외에 현재 업계에서 가장 강력한 대안은 SGLang과 TGI(Text Generation Inference)입니다.
| 프레임워크 | 핵심 특장점 | 단점 및 고려사항 | 주 사용 시나리오 / 추천 |
|---|---|---|---|
| vLLM | • PagedAttention의 원조, 가장 거대한 오픈소스 생태계 |
• 모델 지원 속도가 가장 빠름 (최신 모델 즉시 반영)
• 설치 및 CLI(vllm serve) 구동이 매우 단순함 | • C++ 기반 엔진 대비 순수 토큰 생성 레이턴시가 미세하게 느릴 수 있음 | 범용 표준, 빠른 PoC, 다품종 모델 서빙, B300 초기 검증 |
| SGLang (강력 추천) | • RadixAttention (동적 Prefix Caching)을 통한 압도적인 멀티턴/RAG 처리 속도
• vLLM보다 빠른 Throughput 및 낮은 TTFT 기록 빈번
• 복잡한 프롬프트 템플릿 및 함수 호출 최적화 | • vLLM 대비 상대적으로 짧은 역사(그러나 빠르게 점유율 확대 중) | RAG, 멀티턴 챗봇, 구조화된 출력(JSON/Function Calling) |
| TensorRT-LLM (+ Triton) | • NVIDIA 하드웨어(Blackwell 텐서 코어, FP4/FP8) 성능을 100% 쥐어짜는 최고 속도
• C++ 네이티브 런타임으로 극단적인 Low-latency 구현 | • 모델 컴파일(Engine 빌드) 과정이 매우 길고 복잡함
• 디버깅이 어렵고 신규 모델 지원이 vLLM보다 한 박자 느림 | 초대규모 프로덕션(수백 QPS 이상), SLA가 극도로 엄격한 서비스 |
| TGI (Hugging Face) | • Hugging Face 생태계와의 완벽한 1:1 결합
• 안정적인 토큰 스트리밍 및 엔터프라이즈 기능 | • vLLM이나 SGLang 대비 최근 Throughput 벤치마크 및 롱컨텍스트 최적화에서 다소 밀림 | 기존 Hugging Face TGI 기반 파이프라인 유지보수 환경 |
FSDP, DeepSpeed 외에 실무 엔터프라이즈 환경에서 표준으로 쓰이는 대표적인 기술은 Megatron-Core, Llama-Factory, 그리고 Axolotl / Torchtune입니다.
| 프레임워크 | 핵심 특장점 | 단점 및 고려사항 | 주 사용 시나리오 / 추천 |
|---|---|---|---|
| PyTorch FSDP (FSDP2) | • PyTorch 네이티브 통합으로 추가 라이브러리 의존성 없음 |
• 커스텀 PyTorch 학습 루프 작성에 가장 직관적이고 안정적 | • 수동 튜닝 요소(Auto-wrap policy 등)가 필요하며 대규모 3D 병렬화에는 한계 | 순수 PyTorch 기반 사내 코드베이스, 70B 이하 단일/소규모 멀티노드 학습 |
| DeepSpeed (ZeRO-3) | • CPU/NVMe 오프로딩 지원 (VRAM 한계 돌파에 유리)
• 오랜 기간 검증된 분산 학습의 사실상 표준 라이브러리 | • 버전별 PyTorch/CUDA 의존성 충돌 잦음, 설정 JSON 파일이 방대함 | 대규모 클러스터 분산 학습, 가용 VRAM 부족 시 오프로딩 활용 |
| Megatron-LM / Megatron-Core | • 3D 병렬화 (TP + PP + DP)의 정점, NVIDIA 공식 주도
• B300 8장의 NVLink 대역폭을 연산과 완벽히 오버랩시켜 MFU(Model FLOPs Utilization) 극대화 | • 코드베이스가 매우 무겁고, Hugging Face 모델을 Megatron 포맷으로 변환해야 함 | 초대형 모델(70B+, MoE)의 사전학습(Pre-training) 및 대규모 지속 학습 |
| Llama-Factory (강력 추천) | • CLI 명령어 한 줄 또는 웹 UI로 파이프라인 구축 가능
• LoRA, QLoRA, Full-tuning, DPO, PPO 등 최신 정렬 기법 올인원 지원
• 내부적으로 DeepSpeed/FSDP/FlashAttention 자동 연결 | • 초거대 모델 자체를 처음부터 사전학습(Pre-training)하는 용도로는 부적합 | 사내 도메인 특화 SFT / LoRA 파인튜닝 / RLHF, 빠른 PoC |
| Axolotl / Torchtune | • YAML 기반의 깔끔한 설정 관리 (GitOps에 최적화)
• 데이터셋 전처리, 패킹(Sample Packing) 효율이 매우 뛰어남 | • 커뮤니티 플러그인이 Llama-Factory에 비해 다소 적음 | 표준 CI/CD 및 Kubernetes 기반 자동화 학습 파이프라인 |
vLLM으로 모델 정상 구동과 표준 벤치마크를 수행합니다.SGLang을 함께 올려 Throughput과 레이턴시를 비교해 보세요 (많은 경우 vLLM보다 높은 성능이 나옵니다).Llama-Factory(DeepSpeed/FSDP 백엔드)로 시작하는 것이 파이프라인 구축 시간을 대폭 아껴줍니다.PyTorch FSDP2 또는 DeepSpeed ZeRO-3를 적용하여 8장의 2.3TB VRAM 전체에 옵티마이저를 샤딩해 메모리를 최적화합니다.==
B300 8장 환경에서 가장 실효성 높은 핵심 도구들인 추론(SGLang, TRT-LLM)과 학습(Llama-Factory, PyTorch FSDP2/DeepSpeed)의 설치, 설정 및 실행 절차입니다.
vLLM 대비 멀티턴 대화, RAG, 캐시 재사용(Prefix Caching)에서 더 빠른 속도와 높은 처리량을 보입니다.
준비 및 설치
# Python 3.10+ 가상환경 권장
pip install --upgrade pip
pip install "sglang[all]"
이용 과정 (B300 8장 TP=8 서빙)
# Llama 3.3 70B TP=8 구동 (포트 30000)
python3 -m sglang.launch_server \
--model-path /data/models/Llama-3.3-70B-Instruct \
--tp 8 \
--port 30000 \
--host 0.0.0.0 \
--mem-fraction-static 0.90 \
--context-length 32768
http://localhost:30000/v1/chat/completions)를 기본 제공하므로 기존 vLLM 클라이언트 코드를 엔드포인트만 바꿔 그대로 사용할 수 있습니다.NVIDIA 공식 도구로, C++ 런타임과 Blackwell 텐서 코어를 극한으로 활용합니다. 빌드 복잡도가 높아 NVIDIA 공식 배포 컨테이너(NGC) 사용이 필수적입니다.
준비 및 설치
# NVIDIA 공식 PyTorch/TRT-LLM 컨테이너 실행
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
-v /data/models:/models -v /data/engines:/engines -it --rm \
nvcr.io/nvidia/tritonserver:24.08-trtllm-py3
이용 과정 (3단계 워크플로우)
python3 /app/tensorrt_llm/examples/llama/convert_checkpoint.py \
--model_dir /models/Llama-3.3-70B-Instruct \
--output_dir /tmp/tllm_checkpoint_tp8 \
--tp_size 8 \
--dtype bfloat16
trtllm-build \
--checkpoint_dir /tmp/tllm_checkpoint_tp8 \
--output_dir /engines/llama-70b-tp8 \
--gemm_plugin auto \
--max_batch_size 64 \
--max_input_len 8192 \
--max_seq_len 16384
python3 /app/tensorrt_llm/examples/server/run_server.py \
--engine_dir /engines/llama-70b-tp8 \
--port 8000
DeepSpeed, FlashAttention, PEFT 등이 사전 패키징되어 있어 CLI 설정 파일(YAML) 하나로 SFT, LoRA, DPO를 바로 수행할 수 있습니다.
준비 및 설치
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics,deepspeed]"
이용 과정: Llama 3.3 70B LoRA 파인튜닝 (B300 8장 분산 학습)
train_llama70b_lora.yaml 파일을 작성합니다.
### 모델 설정
model_name_or_path: /data/models/Llama-3.3-70B-Instruct
### 학습 방식
stage: sft
do_train: true
finetuning_type: lora
lora_target: all
### 데이터셋 설정 (LLaMA-Factory 기본 data/ 포맷 매핑)
dataset: identity,alpaca_en
template: llama3
cutoff_len: 4096
max_samples: 10000
### 출력 및 체크포인트
output_dir: /data/checkpoints/llama-3.3-70b-lora
logging_steps: 10
save_steps: 100
plot_loss: true
### B300 8장 하이퍼파라미터
per_device_train_batch_size: 2
gradient_accumulation_steps: 4
learning_rate: 1.0e-4
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
bf16: true
flash_attn: fa2
### 분산 엔진 (DeepSpeed ZeRO-3)
deepspeed: examples/deepspeed/ds_z3_config.json
실행:
llamafactory-cli train train_llama70b_lora.yaml
외부 의존성 없이 순수 PyTorch 코드로 B300 8장의 VRAM(2.3TB) 전체에 옵티마이저와 파라미터를 샤딩하여 70B 모델의 전체 가중치를 직접 튜닝합니다.
준비 및 환경 구성
# PyTorch 최신 버전 및 Hugging Face Accelerate 설치
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install accelerate transformers datasets evaluate
Accelerate 설정 생성 (accelerate config)
터미널에서 accelerate config를 실행하고 FSDP 항목을 선택하거나, 설정 파일(~/.cache/huggingface/accelerate/default_config.yaml)을 직접 작성합니다.
compute_environment: LOCAL_MACHINE
distributed_type: FSDP
fsdp_config:
fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
fsdp_backward_prefetch: BACKWARD_PRE
fsdp_cpu_ram_efficient_loading: true
fsdp_forward_prefetch: false
fsdp_offload_params: false # B300 8장 VRAM(2.3TB)이 충분하므로 CPU 오프로딩 불필요
fsdp_sharding_strategy: FULL_SHARD # ZeRO-3에 해당하는 전체 샤딩
fsdp_state_dict_type: SHARDED_STATE_DICT
fsdp_transformer_layer_cls_to_wrap: LlamaDecoderLayer
mixed_precision: bf16
num_processes: 8 # B300 8장 전체 사용
이용 과정 (FSDP 분산 학습 실행)
# Hugging Face 표준 Trainer 또는 커스텀 학습 스크립트 실행
accelerate launch \
--config_file ~/.cache/huggingface/accelerate/default_config.yaml \
train_full_parameter.py \
--model_name_or_path /data/models/Llama-3.3-70B-Instruct \
--per_device_train_batch_size 2 \
--gradient_accumulation_steps 8 \
--output_dir /data/checkpoints/llama-70b-full \
--bf16 True
vLLM으로 기본 지표를 잡은 뒤, SGLang을 바로 띄워 동일 데이터셋(benchmark_serving.py)으로 Throughput과 TTFT 개선 폭을 먼저 비교합니다.Llama-Factory를 사용해 8B 모델 70B 모델 순으로 가벼운 LoRA 튜닝이 에러 없이 체크포인트로 저장되는지 확인한 후, 본격적인 FSDP Full Parameter 학습으로 확장하는 흐름이 가장 안전합니다.==
보유하신 B300 8장(약 2.3TB VRAM) 단일 노드는 일반적인 API 래퍼 수준의 단순 질의응답을 넘어, 에이전트 오케스트레이션(추론/분류) + 고속 임베딩/리랭킹 + 초대형 추론(Reasoning) 모델 서빙을 노드 1대 안에서 완전히 자체 완결(On-Premise / Air-gapped)형으로 돌릴 수 있는 최적의 스펙입니다.
관리자 승인 후 실행(Human-in-the-loop / HITL)을 전제로 한 AIOps SRE Agentic 아키텍처와 GPU 리소스 배치 전략을 정리해 드립니다.
에이전트 시스템은 '생각하는 LLM' 하나만으로 돌아가지 않으며, 분류/도구 호출(Router) 검색(Embedding/Reranker) 심층 추론 및 SOP 매칭(Deep Reasoner)으로 이어지는 파이프라인이 유기적으로 맞물려야 합니다.
B300 8장을 아래와 같이 논리적으로 분할(CUDA_VISIBLE_DEVICES 활용)하여 상시 서빙하는 구성을 추천합니다.
| GPU 번호 | 배정 모델 / 엔진 | 주요 역할 |
|---|---|---|
| GPU 0 | Qwen 2.5 14B (또는 Llama 3.1 8B) |
(vLLM / SGLang, TP=1) | Router & Triage Agent
• Alert 발생 시 이벤트 분류, JSON 구조화
• Prometheus PromQL 생성, Grafana/Loki 로그 조회 쿼리 생성
• 지연시간 최소화(TTFT 최우선)로 신속한 도구 호출 |
| GPU 1 | BGE-M3 (임베딩) + BGE-Reranker-v2-m3
(TEI 또는 Triton) | Vector Retrieval & Reranking
• SOP, 벤더 매뉴얼, 과거 인시던트 포스트모텀 검색
• 1차 벡터 검색 후 상위 문서를 정밀 재순위화(Rerank) |
| GPU 2~7
(6장) | DeepSeek-R1 (FP8) 또는
Llama 3.3 70B (TP=4 + DP2)
(SGLang/vLLM, TP=4 or TP=6) | Root Cause Analysis (RCA) & Plan Reasoner
• 메트릭 시계열 이상치, 에러 스택트레이스, SOP 문서를 종합 분석
• DeepSeek-R1의 Thinking Chain을 활용해 근본 원인 추론
• 실행 가능한 완화(Mitigation) 스크립트 작성 |
참고: DeepSeek-V3/R1 FP8을 8장 전체(TP=8)로 상시 띄워두고 필요할 때만 호출할 수도 있지만, 장애 상황에서는 "빠른 메트릭 수집 및 필터링(Router)"과 "심층 원인 분석(Reasoner)"이 동시에 병렬로 돌아야 하므로 위와 같은 계층형 분할 서빙이 운영상 훨씬 지연시간이 적습니다.
LangGraph 등의 프레임워크를 기반으로 상태(State)를 추적하며 스스로 도구를 호출하고 검증하는 5단계 루프입니다.
[Alertmanager / Webhook]
│
▼
1. Triage & Context Window 수집 (GPU 0)
- Prometheus 메트릭 수집 (이상 징후 전후 15분)
- K8s Event, Container Log 슬라이싱
│
▼
2. Domain RAG & SOP 탐색 (GPU 1)
- Milvus/Qdrant + BGE Reranker
- 벤더 문서(스토리지/쿼리엔진/네트워크 등) 및 내부 런북 매칭
│
▼
3. Root Cause Analysis & 추론 (GPU 2~7)
- 증상 ↔ 원인 가설 수립 및 상관관계 분석 (DeepSeek-R1)
│
▼
4. Mitigation Plan 작성 & Dry-run 검증
- kubectl 명령어 / API 호출 파라미터 생성
- 정적 유효성 검사 (Syntax Check)
│
▼
5. MITP (Human-In-The-Loop 승인 대시보드)
- 슬랙/사내 포털: [근본원인 요약] + [관련 SOP 링크] + [실행 명령어 Diff]
- 관리자 '승인' 버튼 클릭 시 K8s Job으로 실행
Warning, BackOff 등)를 스냅샷 JSON으로 덤프합니다.kubectl delete, scale 등)을 단독 실행하지 않습니다.kubectl rollout restart deployment/...[실행 승인] 버튼 클릭shellcheck, kubeconform, Read-only dry-run)를 돌려 위험 명령어(rm -rf, 문법 오류, 잘못된 네임스페이스)가 포함되어 있지 않은지 자체 검증한 후 관리자에게 올리는 2중 안전장치를 구축할 수 있습니다.==
운영지식(SOP, 아키텍처 다이어그램 설명, 벤더 공식 매뉴얼, 과거 장애 포스트모텀 등)을 하이브리드 검색(Dense 임베딩 + Sparse 키워드/어휘 + Cross-Encoder 리랭킹) 형태로 구축할 때, B300 GPU 노드는 1) 오프라인 대규모 인덱싱 배치 가속과 2) 실시간 서빙(Query 임베딩 및 고부하 리랭킹)의 두 가지 핵심 영역에서 결정적인 역할을 수행합니다.
| 파이프라인 단계 | 구성 요소 | GPU 활용 방식 | 처리 모델 / 도구 예시 |
|---|---|---|---|
| 1단계: Dense 임베딩 | 의미적 유사도 (Semantic) | • FP16/BF16 기반 대규모 텍스트 배치 텐서 연산 |
• 롱컨텍스트 청크 고속 벡터화 | bge-m3, bge-large-en-v1.5, gte-Qwen2-7B-instruct |
| 2단계: Sparse 임베딩 | 정확한 키워드·에러코드 (Lexical) | • BM25(CPU) 외에 학습 기반 가중치 Sparse 벡터(SPLADE/BGE-M3 Sparse) 생성 가속 | BGE-M3 (Sparse Token Weights), SPLADE-v3 |
| 3단계: Cross-Encoder 리랭킹 | 최종 상위 문서 정밀 재순위화 | • 쿼리와 수십 개 후보 문서 간의 Full Cross-Attention 연산 (연산량 극심 GPU 필수) | bge-reranker-v2-m3, bge-reranker-large |
수천~수만 페이지에 달하는 마크다운 문서와 방대한 인시던트 히스토리를 벡터 DB(Milvus, Qdrant 등)에 집어넣는 오프라인 인덱싱 단계에서 B300 노드를 활용하는 방법입니다.
문서 구조화 및 청킹 (CPU/Python)
#, ##, ###)를 기준으로 문맥 단위 분할(MarkdownHeaderTextSplitter).bash ... )이나 에러 로그 스택트레이스가 잘리지 않도록 512~1024 토큰 단위로 청킹.멀티 GPU 배치 벡터화 (B300 1~2장 활용)
BGE-M3 모델을 사용할 경우, 단 한 번의 Forward Pass(GPU 연산)로 Dense 벡터와 Sparse 토큰 가중치(SPLADE 계열)를 동시에 추출할 수 있어 하이브리드 인덱싱 속도가 2배 이상 빨라집니다.# B300 환경에서 Hugging Face / FlagEmbedding 배치 처리 예시
from FlagEmbedding import BGEM3FlagModel
# B300 GPU 0번 장치 지정 및 FP16 가속
model = BGEM3FlagModel('BAAI/bge-m3', use_fp16=True, device='cuda:0')
chunks = ["SOP 3.1: MinIO 디스크 I/O 병목 시 드라이브 복구 절차...", "..."]
# Dense와 Sparse(Lexical Weights) 동시 생성 (Batch Size를 B300 메모리에 맞춰 대폭 상향)
output = model.encode(
chunks,
batch_size=256,
return_dense=True,
return_sparse=True
)
dense_vectors = output['dense_vecs'] # Milvus/Qdrant의 Dense Index로 삽입
sparse_vectors = output['lexical_weights'] # Vector DB의 Sparse Inverted Index로 삽입
알람이 발생했을 때 에러 로그를 벡터화하고 검색하는 온라인 런타임 단계에서는 별도의 고속 추론 컨테이너(NVIDIA Triton 또는 Hugging Face TEI)로 GPU를 상시 배정합니다.
[인시던트 발생: 에러 로그 & 증상 텍스트]
│
▼
[B300 GPU 1: TEI / Triton Server]
• 쿼리 텍스트를 Dense + Sparse 벡터로 고속 변환 (<10ms)
│
▼
[Vector DB: Milvus / Qdrant]
• Dense 검색 (Top-50) + Sparse/BM25 검색 (Top-50)
• Reciprocal Rank Fusion (RRF)으로 1차 후보 60개 추출
│
▼
[B300 GPU 1: BGE-Reranker-v2-m3]
• 쿼리와 후보 60개 문서를 쌍(Pair)으로 묶어 Cross-Attention 계산
• 실제 원인/해결책과 가장 직결된 상위 3~5개 SOP 최종 선별
│
▼
[B300 GPU 2~7: DeepSeek-R1 / Llama 70B]
• 최종 선별된 3개 SOP를 Prompt Context에 주입 후 근본 원인 분석 수행
임베딩과 리랭킹은 파이썬 스크립트보다 Rust 기반의 TEI를 GPU에 올려 서빙하는 것이 P99 지연시간을 5배 이상 줄여줍니다.
# B300 GPU 1번의 일부 공간에 TEI Reranker 데몬 서빙 (포트 8080)
CUDA_VISIBLE_DEVICES=1 docker run -d --gpus all -p 8080:80 \
-v /data/models/bge-reranker-v2-m3:/model \
ghcr.io/huggingface/text-embeddings-inference:turing-latest \
--model-id /model \
--max-batch-tokens 16384
OOMKilled, CrashLoopBackOff, ErrImagePull, 특정 gRPC 에러 코드(Code 14: Unavailable) 같은 고유 문자열은 Dense 임베딩(의미 검색)에서 희석되기 쉽습니다. BM25나 BGE-M3의 Sparse 벡터가 정확한 토큰 매칭을 잡아내도록 구성해야 오탐을 줄입니다.[컴포넌트: Storage] [클러스터: Prod-Lakehouse-01] 같은 메타데이터 헤더를 명시적으로 붙여서 임베딩하면 검색 정확도가 대폭 향상됩니다.gte-Qwen2-7B-instruct)을 로딩할 수 있습니다. 이를 통해 긴 SOP 문서나 수백 줄의 인라인 쉘 스크립트 전체를 쪼개지 않고 통째로 임베딩하여 문맥 손실을 원천 차단할 수 있습니다.==
LangGraph 기반의 인시던트 대응 워크플로우에서 기존 K8s 클러스터는 상태를 제공하고 명령을 수신하는 "관측 대상이자 액추에이터(Actuator)" 역할을 하며, B300 GPU 노드는 워크플로우 그래프의 각 노드(Node)가 요구하는 무거운 연산을 처리하는 "인지 및 의사결정 중앙 두뇌(Cognitive Brain)" 역할을 맡습니다.
GPU 노드의 8개 GPU는 LangGraph의 상태 전이(State Transition) 단계와 1:1로 매핑되어 다음과 같은 구체적 역할을 수행합니다.
1. Context Triage & Query Synthesis (GPU 0: 경량 고속 LLM, 14B)
TriageNode, ToolQueryGenNode2. Multi-Modal & Hybrid Retrieval (GPU 1: Embedding & Reranking)
RetrieveSOPNode3. Deep RCA & Reasoning (GPU 2~7: 플래그십 LLM / DeepSeek-R1 FP8)
AnalyzeRCANode, HypothesisValidationNode4. Plan Generation & Safety Dry-run (GPU 0 or GPU 2~7)
GenerateMitigationNode, SelfReflectionNodekubectl 스크립트를 작성합니다.rm, delete namespace, uncordon 누락 등)이 포함되어 있는지 정적 규칙과 LLM 교차 검증을 거친 후, HITL(Human-in-the-loop) 인터럽트 포인트로 전달합니다.[기존 K8s 클러스터] [B300 GPU 노드 (2.3TB VRAM)]
│ │
(Alert 발생) │
├───────────────────────────────────────>│ 1. [Triage Node] (GPU 0)
│ │ - 사건 분류 & PromQL/LogQL 생성
│<───────────────────────────────────────┤
(메트릭/로그 수집) │
├───────────────────────────────────────>│ 2. [Retrieve SOP Node] (GPU 1)
│ │ - Hybrid Search & Cross-Rerank
│ │
│ │ 3. [RCA Reasoner Node] (GPU 2~7)
│ │ - CoT 기반 인과관계 심층 분석
│ │
│ │ 4. [Plan & Validate Node] (GPU 0/2~7)
│ │ - 완화 스크립트 작성 및 안전 검증
│ │
│ ▼
│ ┌────────────────────────┐
│ │ LangGraph Interrupt │
│ │ (Human-In-The-Loop) │
│ │ 관리자 확인 및 실행 승인│
│ └───────────┬────────────┘
│ │ (승인 완료)
(K8s Job / Command 실행) │
│<─────────────────────────────────────────┘