결정 경계 실험실 (Boundary Lab)
점이 아니라 결정 경계를 탐색합니다. 라벨을 매길 때마다 Potato는 최소한의 반사실적 편집이 그 라벨을 바꾸는지 묻고, 평범한 주석 작업에서 대조 집합과 품질 관리를 얻어냅니다.
v2.7.0의 새 기능
모든 주석 도구는 점 라벨을 모읍니다. 항목 X에 라벨 Y를 붙이는 식입니다. Boundary Lab은 Potato가 결정 경계를 모으게 합니다. 어노테이터가 라벨을 확정하는 순간, Potato는 텍스트의 최소 반사실적 편집을 보여주며 한 번에 하나씩 프로브를 던집니다.
당신은 Polite라고 했습니다. 이 편집을 거쳐도 그대로일까요?

답 하나에 클릭 한 번이면 됩니다. 그러면 평범한 주석 작업이 단순 라벨 내보내기로는 얻을 수 없는 세 가지 산출물을 만들어냅니다.
- 대조 집합을 덤으로. 답변된 프로브 하나하나가 라벨이 붙은 (원본, 반사실) 쌍입니다. 모델의 강건성을 높인다고 보고된 반사실 증강 데이터가 바로 이것입니다(Gardner et al. 2020; Kaushik et al. 2020). 대조 집합을 만드는 일은 보통 비용이 큰 별도 작업입니다.
- 경계 근거. 라벨이 뒤집히면 어노테이터가 무엇이 선을 넘게 했는지 밝힙니다. 이 근거는 코드북의 어느 대목이 모호한지 짚어 줍니다.
- 드러나지 않는 품질 관리. 불변성 프로브는 의미를 유지하는 패러프레이즈이므로, 일관된 어노테이터라면 여기서 라벨을 뒤집지 않습니다. 뒤집는 어노테이터는 대시보드에 표시되므로, 가짜 골드 항목을 하나도 심지 않고 주의력 신호를 얻습니다.
구성
boundary_probing:
enabled: true
schema: politeness # scheme to probe (default: first radio scheme)
probes_per_item: 3 # probes per (instance, label), invariance included
include_invariance: true # add one paraphrase probe (the QC signal)
sources: # probe generation tiers, in priority order
- precomputed
- llm
- rules
precomputed_key: counterfactuals # item-data field for precomputed probes
rationale_on_flip: true # ask "what crossed the line?" when a label flips
debounce_ms: 900 # delay between label selection and probe fetch프로브 소스
프로브는 세 계층에서 나옵니다. 앞 계층이 비워 둔 자리를 뒤 계층이 채우므로, 일부가 없어도 기능이 무너지지 않습니다.
precomputed — 직접 큐레이션한 반사실을 데이터와 함께 제공합니다. 결정론적이므로 통제된 연구에 적합합니다.
{"id": "req_02", "text": "Send me the slides before the meeting.",
"counterfactuals": [
{"text": "Please send me the slides before the meeting.", "kind": "flip",
"edit_hint": "added \"please\""},
{"text": "Before the meeting, send me the slides.", "kind": "invariance",
"edit_hint": "reordered clauses"}
]}llm — 구성해 둔 AI 엔드포인트(Anthropic, OpenAI, Ollama, vLLM)로 프로브를 즉석에서 생성합니다. 프로브는 (인스턴스, 라벨)마다 한 번 생성되어 어노테이터들이 공유하므로, LLM 비용은 어노테이터 수가 아니라 데이터셋 크기에 따라 정해집니다.
rules — 결정론적 어휘 변환입니다. 부정 전환, 강조어 교체, 공손 표지, 문장 부호의 세기, 그리고 불변성을 위한 축약형·인사말 패러프레이즈가 있습니다. 의존성도 모델 호출도 없으며, 덕분에 Boundary Lab을 LLM을 전혀 구성하지 않고도 실행할 수 있습니다.
프로브 종류와 판정
| 종류 | 의미 | 기대 동작 |
|---|---|---|
flip | 라벨 경계를 넘도록 의도한 최소 편집 | 뒤집힐 수도 유지될 수도 있으며, 어느 쪽이든 정보가 됩니다 |
invariance | 의미를 유지하는 패러프레이즈 | 뒤집혀서는 안 되며, 뒤집힘은 비일관성을 뜻합니다 |
어노테이터는 각 프로브에 유지됨(라벨이 그대로임), 뒤집힘(라벨이 바뀌며, 새 라벨을 고르고 원하면 이유를 적음), 판단 불가 중 하나로 답합니다.
대시보드
/boundary/dashboard(관리자 접근)에서 볼 수 있습니다.
- 라벨별 경계 민감도 — 각 라벨을 겨냥한 최소 편집 중 실제로 뒤집힌 비율입니다. 뒤집힘 비율이 90%라면 그 라벨은 아슬아슬한 자리에 있고, 10%라면 작은 교란에 강건합니다.
- 어노테이터 불변성 일관성 — 패러프레이즈 프로브에서 어노테이터별 유지 비율이며, 60% 아래면 빨간색으로 표시됩니다.
- 라벨이 뒤집히는 지점 — 확인된 뒤집힘을 단어 단위 diff와 어노테이터의 근거와 함께 모아 보여줍니다.
대조 집합 내보내기
GET /boundary/api/export(관리자)는 답변된 프로브마다 라벨이 붙은 쌍을 하나씩 담아 JSONL로 내려받습니다.
{"instance_id": "req_02", "schema": "politeness",
"original_text": "Send me the slides before the meeting.",
"original_label": "Impolite",
"counterfactual_text": "Please send me the slides before the meeting.",
"counterfactual_label": "Neutral",
"kind": "flip", "flipped": true,
"rationale": "please softens the command",
"edit_hint": "added \"please\"", "probe_source": "precomputed",
"annotator": "alice", "timestamp": 1783827299.4}holds 판정은 counterfactual_label이 원본 라벨과 같은 상태로 내보내지므로 hard negative로 쓸모가 있습니다. unsure 판정은 제외됩니다.
설계 노트
- 프로브는 (인스턴스, 스킴, 라벨)마다 캐시되어 어노테이터들이 공유하므로, 불변성 일관성을 어노테이터끼리 비교할 수 있습니다.
- 프로브 패널은 오버레이입니다. 주 주석 흐름을 막지 않고, 프로브 답변은 선택 사항이며, 어노테이터는 언제든 닫을 수 있습니다.
- 현재 프로빙은 작업당 하나의 단일 선택(
radio) 스킴을 대상으로 합니다.
추가 자료
- Truth Serum — 골드 라벨 없이 얻는 또 하나의 품질 신호
- 품질 관리 — 주의력 점검과 골드 스탠더드
- 골드 스탠더드와 주의력 점검
- 원본 문서