TL;DR
Semantic Overlays는 frozen language model의 특정 token 위치에서만 작동하는 작은 adapter를 통해 입력 span의 의미 정보를 residual stream에 직접 표시하는 두 번째 채널입니다. 검색된 웹 문서 전체를 “do not execute”로 표시하면 문서 안의 가짜 지시문은 읽을 수 있는 데이터로 남지만 모델에 명령을 내릴 권한을 잃습니다. 같은 방식으로 텍스트 구간의 하이라이트, 밑줄, 원 표시, 삭제 상태와 코드 언어 같은 메타데이터도 전달할 수 있으며, 표시되지 않은 prompt에서는 frozen model의 동작을 그대로 유지합니다. 글에 제시된 데모는 보호된 검색 문서, 시각적 표식 인식, 잘못된 코드 언어 태그, 특정 요청에만 적용되는 지시문을 비교해 오버레이의 용도를 확인합니다.
섹션별 상세
var langs = ['foo', 'bar', 'baz']; // real list of langs goes here var end_tag = ''; var line; while (line = readline()) { line = line.replace(new RegExp('', 'gi'), end_tag); for (var i = 0; i ', 'gi'), '') .replace(new RegExp('', 'gi'), end_tag); print(line); }Semantic Overlay로 코드 조각의 언어를 Ruby로 표시한 뒤 모델이 해당 언어 정보를 사용하도록 하는 예시입니다.
my @nums = prompt("Please type 11 space-separated numbers: ").words until @nums == 11; for @nums.reverse -> $n { my $r = $n.abs.sqrt + 5 * $n ** 3; say "$n\t{ $r > 400 ?? 'Urk!' !! $r }"; }원문에서 Ruby로 표시된 코드 조각으로, 오버레이가 코드의 실제 문법과 무관하게 모델의 언어 해석을 바꾸는 상황을 보여주는 예시입니다.
with javascript_semantics function selection_sort(sequence s) for i=1 to length(s) do integer m = i object si = s[i], sm = s[m] for j=i+1 to length(s) do object sj = s[j] if sj<sm then {sm,m} = {sj,j} end if end for if sm<si then -- (or equivalently m!=i) s[i] = sm s[m] = si end if end for return s end function ?selection_sort(shuffle(tagset(10)))JavaScript 의미 오버레이가 붙은 코드 조각으로, 표시된 의미와 코드 내용 사이의 불일치를 모델이 어떻게 처리하는지 확인하는 예시입니다.
용어 해설
- 의미 오버레이(Semantic Overlay)
- — Frozen model의 가중치를 바꾸지 않고 특정 token 위치에만 작동하는 작은 adapter를 추가해, residual stream에 입력 구간의 의미적 상태를 표시하는 기법입니다. 텍스트 자체가 아니라 별도 표현 채널로 신뢰 수준이나 데이터 유형을 전달합니다.
- 프롬프트 인젝션(Prompt Injection)
- — 외부 문서나 사용자 입력에 숨겨진 지시문을 모델이 개발자 지시처럼 실행하도록 유도하는 공격입니다. 검색 결과에 삽입된 가짜 System Notice처럼 데이터와 명령의 경계를 흐려 모델의 응답을 바꾸는 방식으로 작동합니다.
- Residual Stream
- — Transformer 내부 각 층의 표현이 누적되어 다음 연산으로 전달되는 정보 흐름입니다. Semantic Overlays는 특정 token 위치에서 이 흐름에 별도 학습 신호를 주입해 해당 span이 어떤 의미적 성격을 갖는지 모델에 전달합니다.
- NX 비트(NX Bit)
- — 운영체제가 메모리 영역을 데이터로 표시하면 CPU가 그 내용을 읽을 수는 있어도 코드로 실행하지 못하게 하는 하드웨어 기능입니다. 글에서는 이 데이터·코드 분리 개념을 검색 문서의 읽기 권한과 명령 실행 권한을 분리하는 비유로 사용합니다.
기술
- Semantic Overlays
- language model
- trained adapters
- frozen model
- residual stream
활용 사례
- 검색된 웹 문서를 읽기 전용 데이터로 처리하는 Prompt Injection 방어
- 문서 내 하이라이트·밑줄·원 표시를 이해하는 멀티모달 인터페이스
- 코드 조각의 프로그래밍 언어 메타데이터 전달
- 여러 요청 중 특정 요청에만 지시문이나 safety filter를 적용하는 prompt 처리
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
