챕터별 상세
00:30
RAG의 한계와 LLM Steering의 필요성
RAG는 외부 지식을 주입하여 할루시네이션을 줄이지만, 모델이 주입된 컨텍스트를 무시하고 학습된 지식에 의존하는 경우가 빈번하다. 이를 해결하기 위해 모델을 재학습시키는 파인튜닝은 데이터 준비 비용이 크고 한 번 적용하면 되돌리기 어려운 비가역적 특성을 가진다. 반면 LLM Steering은 추론 시점에 모델의 내부 활성화 단계에 개입하여 답변의 방향성을 실시간으로 조정할 수 있는 유연한 대안이다.
03:10
LLM Steering의 작동 원리: 신경과학적 비유
LLM Steering은 인간의 뇌 특정 부위에 전기 자극을 주어 행동을 유도하는 신경과학적 기법과 유사하게 작동한다. 모델의 각 레이어에서 발생하는 활성화 값에 'Steering Vector'를 더함으로써 모델이 특정 논리나 스타일을 따르도록 물리적으로 유도한다. 이는 모델의 전체적인 지능을 유지하면서도 특정 상황에서 답변의 근거성을 강화하거나 할루시네이션을 억제하는 정교한 조종을 가능하게 한다.
06:20
Steering 벡터 생성 및 주입 프로세스
Steering 벡터를 만들기 위해 먼저 긍정적 답변과 부정적 답변의 쌍인 Contrastive Pairs를 모델에 입력한다. 각 입력에 대해 모델 내부 레이어들이 어떻게 반응하는지 활성화 차이를 계산하고, 이 차이값들의 평균을 구해 Steering 벡터로 추출한다. 이렇게 생성된 벡터를 추론 시점에 Qdrant에서 검색된 컨텍스트와 함께 모델의 중간 레이어(주로 10~20번 레이어)에 주입하여 답변 생성을 가이드한다.
15:50
실전 구현: Qdrant와 Docling을 활용한 파이프라인
Docling 도구를 사용하여 PDF 문서를 마크다운으로 변환하고, Chunkie 라이브러리를 통해 시맨틱 청킹을 수행하여 Qdrant 벡터 DB에 저장한다. 검색 시에는 사용자의 쿼리에 가장 적합한 컨텍스트를 Qdrant에서 추출한다. 추출된 컨텍스트와 사전에 정의된 Steering 벡터를 결합하여 LLM에 전달함으로써, 모델이 외부 지식에 더 밀착하여 답변하도록 강제하는 시스템을 구축했다.
python
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
doc = converter.convert("./data/Gastroesophageal-Reflux-Disease.pdf")
with open("disease.md", "w") as f:
f.write(doc.document.export_to_markdown())Docling을 사용하여 PDF 문서를 마크다운 형식으로 변환하는 과정
python
from chunkie import Pipeline
docs = (Pipeline()
.fetch_from("file", dir="./data/", ext=[".md"])
.process_with("text")
.chunk_with("semantic", threshold=0.5, chunk_size=1024)
.store_in("qdrant", collection_name="gastrology", url="http://localhost:6333")
.run())Chunkie 라이브러리를 활용해 시맨틱 청킹을 수행하고 Qdrant 벡터 DB에 저장하는 파이프라인
25:30
성능 비교 및 레이어 활성화 분석
Steering을 적용했을 때와 적용하지 않았을 때의 답변 품질을 비교한 결과, Steering 적용 시 모델이 제공된 문서의 수치와 전문 용어를 훨씬 더 정확하게 인용했다. 레이어별 활성화 통계를 시각화하여 분석한 결과, 초기 레이어보다는 중간 레이어에서 Steering 벡터의 영향력이 가장 크다는 사실을 확인했다. 이를 통해 특정 레이어 범위를 타겟팅하여 Steering 효율을 최적화할 수 있다.
용어 해설
- LLM 조종(LLM Steering)
- — 모델의 가중치를 직접 수정하는 파인튜닝과 달리, 추론 시점에 특정 벡터를 주입하여 모델의 행동이나 답변 스타일을 실시간으로 제어하는 기법이다. 모델 내부의 활성화 단계에 개입하여 특정 방향으로 출력을 유도함으로써 할루시네이션을 줄이거나 특정 도메인 지식을 강조할 수 있다. 이는 모델의 기본 능력을 유지하면서도 상황에 맞는 유연한 제어가 가능하다는 장점이 있다.
- 대조 쌍(Contrastive Pairs)
- — 특정 행동을 유도하기 위해 의도적으로 구성된 긍정적 예시와 부정적 예시의 데이터 쌍이다. Steering 벡터를 추출하기 위해 동일한 질문에 대해 모델이 보여주길 원하는 답변과 피해야 할 답변을 대조하여 모델 내부 레이어의 활성화 값 차이를 계산하는 데 사용된다. 이 차이값이 곧 모델을 특정 방향으로 유도하는 Steering 벡터의 기초가 된다.
- 활성화(Activation)
- — 신경망의 각 레이어에서 입력 데이터가 처리된 후 다음 레이어로 전달되는 중간 출력값이다. LLM Steering에서는 특정 레이어의 활성화 값에 Steering 벡터를 더함으로써 모델의 최종 판단을 물리적으로 편향시킨다. 어떤 레이어에서 활성화가 가장 활발하게 일어나는지 분석하는 것이 Steering의 효율성을 결정하는 핵심 요소이다.
- 시맨틱 청킹(Semantic Chunking)
- — 단순히 글자 수나 문장 단위로 텍스트를 자르는 것이 아니라, 문맥적 의미가 유사한 부분끼리 묶어서 데이터를 분할하는 기술이다. RAG 시스템에서 검색의 정확도를 높이기 위해 사용되며, 검색된 컨텍스트가 모델에 주입될 때 정보의 손실을 최소화한다. 이는 모델이 외부 지식을 더 정확하게 이해하고 답변을 생성하도록 돕는 기초 작업이다.
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 02. 21.수집 2026. 02. 21.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.