왜 필요한가
보안팀이 AI 면접에서 자주 흔들리는 지점은 공격기법보다 기본 용어다. “토큰이 뭐냐”, “파인튜닝이랑 RAG랑 뭐가 다르냐”에 막히면 이후 보안 논의 자체가 어색해진다. 아래는 몰라도 되는 수학(트랜스포머 내부 구조)은 빼고, 보안 논의에 바로 쓰이는 용어만 정리했다.
핵심 용어 사전
| 용어 | 한 줄 설명 |
|---|---|
| 토큰(Token) | 모델이 텍스트를 처리하는 최소 단위. 한글은 보통 한두 글자가 한 토큰 |
| 컨텍스트 윈도우 | 모델이 한 번에 참고할 수 있는 입력+출력 토큰 총량. 이걸 넘으면 앞부분을 잊는다 |
| 파라미터 | 모델 내부 가중치 개수. “70B 모델”이면 파라미터 700억 개 |
| 임베딩(Embedding) | 텍스트를 의미가 반영된 숫자 벡터로 변환한 것. 유사도 검색의 기반 |
| 프리트레이닝 | 대규모 텍스트로 언어 자체를 학습하는 1단계 |
| 파인튜닝(Fine-tuning) | 특정 목적/도메인 데이터로 모델 가중치 자체를 추가 학습 |
| RLHF | 사람 피드백으로 모델 응답 품질·안전성을 강화학습으로 조정하는 과정 |
| 프롬프트 엔지니어링 | 모델 가중치는 안 건드리고 입력(지시문)만 설계해 원하는 출력을 유도 |
| RAG | 외부 지식을 검색해 프롬프트에 주입한 뒤 답변 생성 (별도 문서 참고) |
| 시스템 프롬프트 | 사용자 입력 전에 모델에 미리 심어두는 역할·규칙 지시문 |
| 할루시네이션 | 모델이 그럴듯하지만 사실이 아닌 내용을 생성하는 현상 |
| 가드레일(Guardrail) | 입력·출력에 대해 정책 위반 여부를 걸러내는 안전장치 (별도 모델/룰 기반) |
| Temperature / Top-p | 응답의 무작위성(창의성)을 조절하는 생성 파라미터 |
| Zero-shot / Few-shot | 예시 없이(0) 또는 몇 개 예시를 주고(few) 원하는 형식의 답을 유도하는 방식 |
| 오픈웨이트 모델 | 가중치 파일을 공개해 자체 서버에 구동 가능한 모델 (완전 오픈소스와는 다름) |
| 추론(Inference) | 학습이 끝난 모델을 실제로 돌려 응답을 생성하는 단계 |
파인튜닝 vs RAG vs 프롬프트 엔지니어링
면접에서 자주 묻는 3자 비교.
| 구분 | 지식 반영 방식 | 비용 | 최신성 |
|---|---|---|---|
| 프롬프트 엔지니어링 | 매 요청마다 지시문으로 유도 | 가장 저렴 | 즉시 반영 |
| RAG | 외부 DB에서 검색해 컨텍스트로 주입 | 중간(인프라 필요) | DB만 갱신하면 즉시 반영 |
| 파인튜닝 | 모델 가중치 자체를 재학습 | 가장 비쌈 | 재학습 전까지 고정 |
보안 관점 요약
RAG와 프롬프트 엔지니어링은 “모델은 그대로 두고 입력/컨텍스트만 조작”하는 방식이라 프롬프트 인젝션 공격면이 그대로 열려 있다. 파인튜닝은 공격면이 다르다 — 학습 데이터 오염(poisoning), 모델 자체 유출/탈취가 핵심 리스크다.
모델 배포 형태와 보안 함의
- API 호출형(폐쇄 모델): 데이터가 외부 벤더 서버로 나간다 → 계약서의 데이터 처리 조항, 로그 보관 정책 확인이 핵심
- 사내/온프레미스 구동(오픈웨이트 모델): 데이터 유출 리스크는 줄지만, 모델 파일 자체의 무결성 검증(서명, 해시)과 인프라 보안이 새 책임으로 옮겨온다
- 온디바이스: 개인정보 처리 관점에서 가장 유리하지만 모델 경량화·탈취(디바이스 분해 후 가중치 추출) 리스크 존재
면접에서 나올 법한 질문
- RAG와 파인튜닝의 차이, 그리고 각각의 보안 리스크 차이를 설명해보라
- 시스템 프롬프트가 왜 보안적으로 중요한가
- 할루시네이션이 보안 사고로 이어질 수 있는 시나리오를 들어보라 (예: 존재하지 않는 API/패키지명을 생성 → 공격자가 그 이름으로 악성 패키지 선점)