
의미론적 워터마킹: 하위 문장 단위에 대한 순서-견고 탐지
SwordStamp는 임베딩 기반 의미 워터마크에 순서에 강건한 탐지와 의미 구간 단위를 추가합니다. 이 아티팩트에는 논문의 정확한 구성, 생성 및 탐지 코드, 변경되지 않은 공격 제품군, 품질 평가, 그리고 결정론적 결과 추출 및 플로팅이 포함되어 있습니다.
논문: 하위 문장 단위에 대한 순서 강건 탐지를 통한 의미 워터마킹 (arXiv:2608.27666)
5% 위양성률과 90% 콘텐츠 보존 요구 사항에서, 기법별 임베딩 변위 공격(EDA-S)은 다음을 달성합니다:
| 워터마크 | EDA-S 공격 성공률 |
|---|---|
| SemStamp | 47.9% |
| k-SemStamp | 33.3% |
| PMark | 46.1% |
| SAMark | 32.6% |
| SwordStamp | 18.7% |
| k-SwordStamp | 10.8% |
공개된 기준선과 비교하여 SwordStamp와 k-SwordStamp는 EDA-S 성공률을 29.2 및 22.5 퍼센트 포인트 감소시키며, 깨끗한 충실도 비용은 1.8 및 4.4 포인트입니다. 이들의 깨끗한 탐지율은 94.9% 및 97.0%입니다. 더 강력한 탐지기 접근 EDA-D 스트레스 테스트에서, 최대 품질 게이트 성공률은 k-SwordStamp에서 39.7%로 k-SemStamp의 65.5%와 대비됩니다.


이 결과는 영어 뉴스 연속문, 하나의 제공자 모델, 두 개의 제공자 인코더, 그리고 하나의 EDA 패러프레이저/서로게이트 쌍을 다룹니다.
visualization은 컴파일된 CSV/Parquet 번들만 사용합니다. 부분적인 그림을 그리는 대신 누락된 논문 셀에서 실패합니다.
uv sync --frozen --only-group plot --no-install-project
uv run --no-sync python -m visualization extract \
--bundle results/paper --output results/paper
uv run --no-sync python -m visualization render \
--bundle results/paper --output results/paper
results/paper/tables/ 아래에 감사 가능한 표를, results/paper/figures/ 아래에 PNG와 PDF 형식의 그림 일곱 개를 작성합니다. 익명 검토 브랜치에는 컴파일된 번들이 포함되어 있으며, 릴리스 브랜치에서 전체 실행을 수행하면 python -m visualization compile로 동일한 파일이 생성됩니다.
임베딩 변위 공격(EDA)은 적응형 전체 텍스트 바꿔쓰기 공격입니다. 각 출력 단위에서 K개의 연속 후보를 샘플링하고, 대리 인코더 하에서 소스 앵커로부터 코사인 변위가 가장 큰 후보를 유지합니다. 모든 후보가 전체 재작성 접두사를 이어가기 때문에, 하나의 목적함수로 내용을 바꿔 쓰고, 순서를 재배열하며, 탐지기 단위를 분할하거나 병합할 수 있습니다.
No-box EDA는 표시된 텍스트와 공개 워터마크 설계를 확인합니다. 탐지기나 생성기를 쿼리하지 않으며, 비밀 키, 제공자 인코더, 품질 오라클을 받지 않습니다.
| 변형 | 앵커 및 단위 | 구성 |
|---|---|---|
| EDA-P | 위치 기반 문장 | adaptive, anchor=positional, 공격자 단위 sentence |
| EDA-S | 대상의 공개 설계 | SemStamp, k-SemStamp, PMark에는 위치 기반 문장; SAMark에는 bag/sentence; 두 SwordStamp 변형에는 bag/semspan |
| EDA-D | 제공자 탐지기 | oracle; 방어자 인코더, 파티션, 세그멘테이션을 상속 |
bag 앵커링의 경우, 논문에서는 attack.bag_agg=min을 사용합니다. 즉, 가장 가까운 소스 앵커로부터의 거리를 최대화합니다. 보고된 no-box 실행은 Qwen/Qwen2.5-3B-Instruct, BAAI/bge-base-en-v1.5, K={1,2,4,8,16,32,64}, temperature 1.0, top-p 0.95, 후보당 최대 96 토큰, 최대 512 재작성 토큰을 사용합니다.
다른 워터마크 설계자들은 EDA를 직접 호출할 수 있습니다:
from attacks.paraphrasing.adaptive import adaptive_attack_paraphrase
attacked = adaptive_attack_paraphrase(
texts,
base_model="Qwen/Qwen2.5-3B-Instruct",
surrogate_model="BAAI/bge-base-en-v1.5",
num_candidates=32,
anchor="positional", # EDA-P; use "bag" for an order-robust design
bag_agg="min",
segmentation_type="sentence",
segmentation_backend="nltk",
)
논문의 SwordStamp 인식 EDA-S의 경우 anchor="bag", segmentation_type="semspan", semcut_max_words=15, semcut_window=5로 설정합니다. 이 저장소 내에서 동등한 CLI는 다음과 같습니다:
uv run python -m attacks DATA_PATH --config PRESET \
--set attack.paraphraser=adaptive \
--set attack.custom_model=Qwen/Qwen2.5-3B-Instruct \
--set attack.surrogate_model=BAAI/bge-base-en-v1.5 \
--set attack.num_candidates=32 \
--set attack.anchor=bag --set attack.bag_agg=min \
--set segmentation.attacker_type=semspan \
--set segmentation.attacker_backend=nltk
DATA_PATH는 항상 기본 코퍼스이며 PRESET은 워터마크가 적용된
셀을 식별합니다. 유지되는 모든 공격과 구성 필드는 attacks/README.md를 참조하세요.

config/paper.py가 단일 진실 공급원입니다. LSH와 k-means 각각에 대해
scripts/experiments/swordstamp.sh는 64개의
프로바이더 후보를 사용하여 다음 다섯 단계의 누적 사다리를 실행합니다:
그리드에는 이 10개의 셀과 하나의 워터마크 없는 기준선만 포함됩니다. PMark는
온라인 전용이며; SAMark는 실행당 하나의 플래그 패턴을 사용합니다. EDA-D 예산은
K={4,8,16,32,64}입니다.
비교 서브모듈은 공개된 PMark 및 SAMark 평가 소스를 데이터셋/결과 경계와 공유된 거짓 양성 보정에서만 조정하며; 워터마크 알고리즘은 변경되지 않습니다.
필수 조건은 Git, uv, Python 3.11, 모델 실행을 위한 CUDA, 고정된 모델 리비전에 대한 접근, 그리고 스크래치 저장 공간입니다.
git clone --recurse-submodules [email protected]:D-Diaa/SwordStamp.git
cd SwordStamp
bash scripts/setup.sh
uv run --frozen python scripts/check_artifact.py
결정론적이고 서로 겹치지 않는 C4 파티션을 준비합니다:
uv run --frozen python scripts/prepare_c4.py --output-dir data
고정된 스케줄러를 설치하고 구성합니다. 설치 프로그램은 변경하기 전에 사용자 수준의 부작용을 출력합니다:
bash scripts/install_gpu_scheduler.sh --print-plan
bash scripts/install_gpu_scheduler.sh --yes
gpu-scheduler init --gpus 0,1
gpu-scheduler start
미리 본 다음, 모든 물리적 샤드를 제출하세요:
for shard in c4-val-def-256 c4-val-def-256b c4-val-def-512; do
BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/swordstamp.sh
BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/pmark.sh
BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/samark.sh
done
# Remove DRY_RUN=1 after inspecting the exact DAGs.
컴파일, 추출 및 렌더링:
uv run --frozen python -m visualization all \
--bundle results/paper --output results/paper
스케줄러가 CUDA_VISIBLE_DEVICES를 제공하므로, nvidia-smi를 탐색하여 GPU를 선택하지 마십시오. 전체 재현은 며칠이 걸리는 GPU 작업입니다. ARTIFACT.md에는 하드웨어, 모델 리비전, 예상 출력, 그리고 주장-명령 매핑이 나열되어 있습니다. scripts/experiments/README.md에는 재개 및 강제 실행 동작이 문서화되어 있습니다.
config/, segmentation/, sampling/, watermarking/: SwordStamp.attacks/: EDA 및 유지된 공격 제품군.quality/: 충실도 및 콘텐츠 보존 평가.visualization/: 논문 전용 컴파일, 표, Matplotlib 그림.scripts/experiments/: 스케줄러 기반의 정확한 논문 워크플로.external/: 고정된 PMark 및 SAMark 비교 서브모듈.자체 개발 코드는 MIT 라이선스로 배포됩니다. 모델, 데이터셋, 생성된 텍스트, 비교 서브모듈은 각자의 약관을 유지합니다. THIRD_PARTY.md를 참조하십시오.
SwordStamp를 사용하는 경우 다음 논문을 인용해 주십시오:
@misc{diaa2026semantic,
title = {Semantic Watermarking with Order-Robust Detection over Sub-sentence Units},
author = {Abdulrahman Diaa and Jonathan Petit and Florian Kerschbaum},
year = {2026},
eprint = {2608.27666},
archivePrefix = {arXiv},
primaryClass = {cs.CR},
url = {https://arxiv.org/abs/2608.27666},
}
SwordStamp 소프트웨어는 Abdulrahman Diaa가 작성했으며, 논문 저자는 Abdulrahman Diaa, Jonathan Petit, Florian Kerschbaum입니다. 기계 판독 가능한 소프트웨어 및 선호 논문 인용 메타데이터는 CITATION.cff에 있습니다.