14 분 소요

0. Introduction

Paper link

한 줄 요약: Just Pass Twice, JPT는 causal LLM에 같은 입력을 두 번 이어 붙이고 두 번째 구간의 hidden state만 분류에 사용함으로써, attention mask를 바꾸지 않고도 각 token이 문장 전체 문맥을 보게 만드는 zero-shot NER 방법이다.

이 논문을 지금 볼 가치가 있는 이유는 다음과 같음.

  • LLM의 world knowledge를 쓰면서도 autoregressive text generation 대신 token classification을 수행한다.
  • Causal attention의 future-context 부재를 architecture 수정 없이 input duplication으로 우회한다.
  • Entity type을 고정 label id가 아니라 natural-language definition으로 표현해 inference 시 schema를 바꿀 수 있다.
  • 성능뿐 아니라 prefill과 decode의 비용 차이를 이용해 generative NER보다 빠른 extraction path를 제시한다.
  • Document AI, PII detection, domain-specific extraction처럼 label schema가 자주 바뀌는 실무 문제와 직접 연결된다.

Zero-shot NER에는 서로 다른 장점을 가진 두 계열이 있다. Encoder 기반 token classifier는 한 번의 forward pass로 모든 token을 병렬 분류하고, 양방향 문맥을 자연스럽게 사용한다. 하지만 비교적 작은 encoder만으로는 희귀 entity나 전문 domain에 필요한 지식이 부족할 수 있다. 반대로 decoder LLM은 폭넓은 지식과 instruction following 능력을 갖지만, entity list를 token-by-token으로 생성해야 하므로 느리고 format error나 hallucination도 생길 수 있다.

JPT는 이 둘 사이에서 꽤 직접적인 질문을 던진다.

Decoder LLM을 그대로 두고, generation 없이 bidirectional token classification만 시킬 수 있는가?

논문의 답은 같은 문장을 두 번 읽게 하라는 것이다. 첫 번째 입력은 전체 문맥을 두 번째 입력에 제공하는 memory처럼 작동하고, 두 번째 입력의 각 token은 causal attention을 유지하면서도 첫 번째 구간 전체를 볼 수 있다. 여기에 entity definition을 prompt와 classifier 양쪽에 주입해, 어떤 type을 추출할지 natural language로 제어한다.

1. Problem Setting

1-1. Problem definition

입력 token sequence를 다음과 같이 두자.

\[\mathbf{x} = (x_1, x_2, \ldots, x_n)\]

그리고 inference 시 주어지는 entity type 집합을 다음처럼 둔다.

\[\mathcal{C} = \{c_1, c_2, \ldots, c_N\}\]

각 type에는 이름뿐 아니라 자연어 정의가 함께 주어진다. 목표는 각 input token에 대해 O 또는 하나의 entity type을 예측하는 것이다.

일반적인 encoder NER에서는 token $x_i$가 왼쪽과 오른쪽 문맥을 모두 본다. 예를 들어 문장 초반의 Washington이 사람인지 장소인지 판단하려면 뒤에 나오는 동사, 조직명, 지리 표현이 중요할 수 있다.

하지만 decoder-only LLM의 causal attention에서는 $x_i$가 $x_{i+1}, \ldots, x_n$을 직접 볼 수 없다. 따라서 마지막 hidden state를 바로 token classifier에 넣으면, 문장 앞쪽 token일수록 불완전한 문맥에서 label을 결정하게 된다.

반대로 LLM에게 entity span을 text로 생성하게 하면 future context 문제는 줄어들지만 다른 비용이 생긴다.

  • Entity마다 span과 type을 output token으로 순차 생성해야 한다.
  • 긴 문장이나 entity가 많은 문장에서는 decode 길이가 늘어난다.
  • Input span과 생성된 span이 정확히 정렬되지 않을 수 있다.
  • 존재하지 않는 entity를 만들거나 output schema를 깨뜨릴 수 있다.
  • 같은 label을 여러 방식으로 표현해 post-processing이 복잡해질 수 있다.

JPT가 정의하는 문제는 LLM의 semantic knowledge를 유지하면서 이 두 병목을 함께 줄이는 것이다.

Requirement 필요한 성질
Context 각 token이 문장 전체를 볼 수 있어야 한다
Efficiency entity list를 autoregressive하게 생성하지 않아야 한다
Flexibility inference 시 새로운 entity type을 정의할 수 있어야 한다
Alignment prediction이 원문 token과 직접 대응되어야 한다
Control boundary case를 entity definition으로 조정할 수 있어야 한다

1-2. Why previous approaches are insufficient

1) Encoder 기반 open NER

GLiNER 같은 discriminative model은 빠르고 span alignment가 안정적이다. 그러나 backbone scale과 pretraining knowledge가 frontier decoder LLM보다 작을 수 있다. 전문 용어, long-tail entity, domain shift에서 이 차이가 나타날 가능성이 있다.

2) Generative NER

UniNER, GoLLIE, InstructUIE, GPT-NER, SaM 같은 방식은 task instruction과 schema를 text로 받을 수 있다는 장점이 있다. 하지만 extraction을 generation으로 풀기 때문에 output length와 latency가 직접 연결된다. 또한 entity omission, hallucination, duplicate span, malformed output을 별도로 다뤄야 한다.

3) Causal LLM 위의 단순 token classifier

Decoder LLM의 마지막 hidden state에 classification head만 붙이는 방법도 생각할 수 있다. 그러나 첫 번째 token은 사실상 자신과 prefix만 보고 분류된다. 논문에서 single-pass variant의 평균 micro-F1은 55.7이고, double-pass JPT는 70.9다. 같은 backbone에서도 future context를 확보하는 방식이 큰 차이를 만든다.

4) Type name만 사용하는 zero-shot classification

PERSON, LOCATION, PRODUCT 같은 이름만 주면 label semantics가 모호할 수 있다. 특히 LOCATION에 상대적 위치 표현인 nearby까지 포함할지, 주소 구성 요소를 어디까지 span으로 잡을지 같은 boundary rule은 type name 하나로 전달하기 어렵다.

결국 이 논문의 핵심 병목은 model scale만이 아니다. Causal LLM을 token-level prediction에 맞게 읽히는 방식과, label schema를 semantic interface로 바꾸는 방식이 함께 필요하다.

2. Core Idea

2-1. Main contribution

JPT의 핵심 기여는 세 가지다.

  1. Input duplication을 통한 bidirectional context 근사
    • 같은 input을 separator와 함께 두 번 이어 붙인다.
    • 두 번째 구간의 hidden state만 token classification에 사용한다.
    • 두 번째 구간의 모든 token은 causal mask를 유지하면서 첫 번째 input 전체를 볼 수 있다.
  2. Definition-guided entity typing
    • Entity type을 natural-language definition으로 표현한다.
    • Definition을 LLM prompt와 별도 entity embedding이라는 두 channel로 주입한다.
    • Inference 시 definition만 바꿔 새로운 schema나 boundary rule을 지정할 수 있다.
  3. Generation-free LLM extraction
    • Entity span을 text로 생성하지 않고 각 token을 병렬 분류한다.
    • 원문 token과 prediction의 alignment가 직접 유지된다.
    • Definition embedding은 cache할 수 있어 반복 inference에서 추가 비용이 작다.

2-2. Design intuition

JPT의 입력은 다음과 같이 구성된다.

\[\mathbf{x}' = (x_1, \ldots, x_n, \texttt{[SEP]}, x_1, \ldots, x_n)\]

두 번째 구간의 token $x_i$는 자기 위치보다 앞에 있는 첫 번째 구간 전체에 attention할 수 있다. 즉 원래 문장에서 뒤에 있던 token도 첫 번째 복사본에서는 이미 과거 위치에 놓인다.

예를 들어 원문이 다음과 같다고 하자.

The Eiffel Tower is in Paris, France.

두 번째 구간의 Eiffel은 첫 번째 구간의 Tower, Paris, France까지 모두 볼 수 있다. 원래 causal sequence에서 future였던 정보가 복사된 prefix에서는 past가 되는 셈이다.

이 설계는 attention mask를 bidirectional로 바꾸지 않는다. 따라서 pretrained decoder architecture와 optimized causal-attention stack을 그대로 사용할 수 있다. 대신 sequence length가 두 배가 되는 비용을 지불한다.

논문의 중요한 engineering intuition은 이 비용을 generative decode와 비교한다는 점이다.

  • Input duplication은 prefill 단계의 병렬 matrix computation을 늘린다.
  • Generative NER는 output token마다 순차 decode를 반복한다.
  • JPT는 더 많은 input token을 한 번에 처리하고, 비싼 serial output token을 없앤다.

따라서 JPT는 단순히 문장을 두 번 넣는 trick이 아니다. parallel prefill computeserial decode cost를 교환하는 설계다.

3. Architecture / Method

3-1. Overview

Item Description
Goal Causal LLM으로 generation-free zero-shot NER 수행
Backbone Frozen Qwen3-4B 또는 Qwen3-8B
Context method Input을 두 번 연결하고 second-pass hidden state 사용
Type interface Natural-language entity definition
Definition injection Prompt channel과 embedding channel
Token head Token projection MLP
Type head Definition embedding projection MLP
Classifier Bilinear token-type matching
Training LoRA와 lightweight heads만 학습
Output Token label을 연속 span으로 병합

3-2. Module breakdown

1) Double-pass input encoding

LLM은 duplicated input 전체를 한 번 forward한다. 첫 번째 occurrence는 context provider 역할을 하고, loss와 final prediction에는 두 번째 occurrence만 사용한다.

두 번째 token occurrence의 final hidden state를 $\mathbf{h}_i$라 하면, token projection은 다음과 같다.

\[\mathbf{t}_i = \mathrm{MLP}_{\mathrm{token}}(\mathbf{h}_i) \in \mathbb{R}^{d_p}\]

논문에서 shared projection dimension은 $d_p = 256$이다. Qwen3-4B와 Qwen3-8B의 hidden dimension은 다르지만, token과 entity를 같은 256-dimensional space로 보낸다.

2) Entity definition encoder

각 entity type $c_j$에는 definition text $\mathrm{def}_j$가 있다. 이 definition을 pretrained text embedding model로 encode한 뒤 projection한다.

\[\mathbf{p}_j = \mathrm{MLP}_{\mathrm{entity}}(\mathrm{Embed}(\mathrm{def}_j)) \in \mathbb{R}^{d_p}\]

실험에서는 Qwen3-Embedding-8B를 사용한다. Entity definition은 request마다 변하지 않는 경우가 많으므로 $\mathbf{p}_j$를 미리 계산해 cache할 수 있다.

논문은 O class도 단순한 zero vector가 아니라 다음 의미를 가진 definition embedding으로 둔다.

A token that is not part of any named entity.

이 선택은 entity와 non-entity를 동일한 semantic matching framework 안에 넣는다.

3) Dual-channel definition injection

Definition은 classifier embedding으로만 들어가지 않는다. Entity type과 definition 목록을 LLM input prompt에도 함께 넣는다.

  • Prompt channel: LLM이 token representation을 만들 때 definition을 직접 attend한다.
  • Embedding channel: Classifier가 token representation과 type semantics를 직접 비교한다.

두 channel은 역할이 다르다. Prompt는 context-dependent encoding을 바꾸고, embedding은 final decision boundary를 제공한다.

Ablation에서도 이 차이가 드러난다.

Configuration Avg. micro-F1
No definitions 58.3
Prompt-only definitions 63.3
Embedding-only definitions 65.2
Dual-channel definitions + double pass 70.9

Embedding-only가 prompt-only보다 높지만, 둘을 함께 사용했을 때 가장 큰 성능을 얻는다. 이는 definition을 단순 label description이 아니라 representation과 classifier를 동시에 조절하는 control interface로 볼 수 있음을 의미한다.

4) Bilinear token-type classifier

Projected token $\mathbf{t}_i$와 type embedding $\mathbf{p}_j$ 사이의 score는 다음과 같다.

\[s_{ij} = \mathbf{t}_i^\top \mathbf{W}\mathbf{p}_j + b_j\]

논문 본문은 설명을 단순화하기 위해 하나의 bilinear scorer를 제시한다. 실제 구현은 두 classifier head의 probability를 평균한다.

  1. Softmax head
    • O를 포함한 label을 mutually exclusive class로 본다.
    • Cross-entropy를 사용한다.
    • Class imbalance를 줄이기 위해 O class weight를 0.25로 둔다.
  2. Sigmoid head
    • 각 entity type을 independent binary decision으로 본다.
    • Focal loss를 사용한다.
    • $\gamma = 2.5$, positive weight는 5.0이다.

논문에 따르면 이 ensemble은 single softmax head보다 1-2 F1 정도 높다. Softmax는 decisive prediction에, sigmoid는 rare entity에 상대적으로 유리하다는 해석이다.

5) Span reconstruction

Inference 결과는 token-level label이다. 같은 entity type으로 연속 예측된 token을 하나의 span으로 병합하고, type이 바뀌는 위치에서 boundary를 나눈다.

이 방식은 간단하고 원문 alignment가 분명하지만, nested entity나 discontinuous span을 직접 표현하지는 못한다. JPT는 기본적으로 flat NER setting에 맞춰져 있다.

4. Training / Data / Recipe

4-1. Data

학습 데이터는 TELEClass의 DBpedia corpus에 포함된 Wikipedia text를 기반으로 구축한다. 각 passage에는 broad, intermediate, fine-grained level의 DBpedia topic hierarchy가 연결되어 있다.

Annotation은 Claude Sonnet 4.5를 이용해 두 단계로 자동 생성한다.

  1. Type generation
    • Passage와 topic hierarchy를 보고 domain에 맞는 entity type과 definition을 만든다.
  2. Entity detection
    • 생성된 type에 해당하는 entity span을 passage에서 찾는다.
    • 누락된 mention을 찾기 위한 추가 gap-detection pass를 수행한다.

Random sample 품질 검사는 Claude Opus 4.5로 수행한다. 논문이 보고한 학습 데이터 통계는 다음과 같다.

Statistic Value
Training examples 17,489
Total tokens 3,391,899
Entity mentions 374,705
Unique entity types 5,009
Avg. sequence length 194.9 tokens
Entity to non-entity ratio 1:1.5
Median mentions per type 4
Types with at most 10 mentions 71%

Long-tail type distribution은 definition-based generalization을 유도하기 위한 중요한 조건이다. 다만 data와 annotation pipeline이 완전히 공개되지 않은 상태에서는 label quality와 contamination check를 독립적으로 검증하기 어렵다.

저자들은 training data가 evaluation benchmark와 겹치지 않는다고 설명한다. 여기서 zero-shot은 test dataset과 test schema에 대한 zero-shot transfer를 뜻한다. 흔한 entity concept 자체를 pretraining이나 synthetic training 중 전혀 보지 않았다는 의미는 아니다.

4-2. Training strategy

Backbone은 frozen하고 다음 parameter만 학습한다.

  • Attention의 q_proj, k_proj, v_proj, o_proj에 적용한 LoRA
  • Token projection MLP
  • Entity projection MLP
  • Dual bilinear classifier
Configuration JPT-4B JPT-8B
Base model Qwen3-4B Qwen3-8B
LoRA rank 32 128
LoRA alpha 64 256
Trainable parameters 38.8M 142.8M
Backbone 대비 trainable ratio 0.95% 1.71%

주요 training hyperparameter는 다음과 같다.

Hyperparameter Value
Optimizer AdamW
Learning rate $5 \times 10^{-5}$
Scheduler Cosine with warmup
Warmup 전체 step의 10%
Effective batch size 8
Gradient accumulation 2
Epochs 5
Max sequence length 4096
Hardware 4 x H100
Reported training time 약 1.5 hours

Loss는 second-pass token에만 계산한다. First pass는 label supervision을 받지 않고, second pass를 위한 context source로만 쓰인다.

4-3. Engineering notes

1) Max length 계산은 원문 길이의 두 배를 기준으로 해야 한다

Prompt, definition, separator, duplicated text를 모두 합쳐 max sequence length 안에 들어가야 한다. Long document에서는 원문 token 수가 context window의 절반보다 작아야 할 수 있다.

2) Definition registry가 model checkpoint만큼 중요하다

동일한 LOCATION이라도 definition에 따라 포함 범위가 달라진다. Production에서는 type name만 versioning할 것이 아니라 definition text, 예시, boundary rule까지 함께 관리해야 한다.

3) Entity embedding cache를 request scope에 맞춰야 한다

고정 schema에서는 definition embedding을 global cache할 수 있다. User-defined schema가 자주 바뀌면 request별 cache key와 invalidation이 필요하다.

4) Tokenization과 span projection을 명확히 유지해야 한다

Subword token prediction을 character offset이나 OCR token id로 되돌리는 mapping이 필요하다. 특히 document extraction에서는 tokenizer span과 OCR bbox span을 어떻게 합칠지 별도 규칙이 필요하다.

5) Flat span merge의 후처리 한계를 따로 측정해야 한다

연속 token merge만으로는 nested entity, overlapping entity, discontinuous mention을 처리하기 어렵다. 이런 task에서는 BIO/BILOU head, span head, multi-label head로 확장할 필요가 있다.

5. Evaluation

5-1. Main results

CrossNER와 MIT benchmark

논문은 CrossNER의 5개 domain과 MIT Movie, MIT Restaurant을 주요 benchmark로 사용한다. Baseline 결과는 동일 코드로 재실행한 것이 아니라 prior work에서 가져왔다.

Model Avg. F1
UniNER-7B 61.8
GoLLIE 58.4
InstructUIE 47.8
SaM 66.2
GLiNER-L 60.9
JPT-4B 70.9
JPT-8B 74.1

JPT-8B는 표의 strongest baseline인 SaM보다 평균 7.9 F1 높다. JPT-4B도 SaM보다 4.7 F1 높다. 특히 Music, Restaurant, AI처럼 specialized terminology와 definition boundary가 중요한 domain에서 큰 개선을 보고한다.

Extended 20-dataset evaluation

Biomedical, social media, multilingual dataset을 포함한 20개 benchmark에서는 다음 평균을 보고한다.

Model Avg. F1
UniNER-7B 45.7
GLiNER-L 47.8
JPT-4B 55.5

JPT-4B는 20개 중 19개 dataset에서 두 baseline보다 높다. 예외는 GENIA로, JPT-4B 50.8보다 GLiNER-L 55.5가 높다. 이 예외는 biomedical nested structure나 domain-specific boundary가 JPT의 flat token merge와 잘 맞지 않을 가능성을 생각하게 한다. 다만 논문만으로 해당 원인을 단정할 수는 없다.

Efficiency

CrossNER-Politics, A100, batch size 1에서 측정한 결과는 다음과 같다.

Method Time, sec F1
UniNER-7B 1970.2 61.8
GNER 5831.5 75.8
GPT-5 579.6 67.1
GLiNER-L 33.3 60.9
JPT-4B 89.7 76.4
JPT-8B 146.2 77.0

JPT-4B는 UniNER-7B보다 약 22배 빠르고, JPT-8B는 약 13.5배 빠르다고 보고된다. 다만 GLiNER-L보다는 느리다. 즉 JPT의 position은 absolute fastest model이 아니라, larger LLM knowledge와 discriminative speed 사이의 trade-off다.

이 표는 한 dataset, 한 GPU, batch size 1 조건이다. Production throughput을 판단하려면 batch size, input length, entity type 수, quantization, definition prompt 길이, serving engine을 바꾼 curve가 추가로 필요하다.

5-2. What really matters in the experiments

1) Input duplication ablation이 핵심 mechanism을 직접 검증한다

Configuration Avg. micro-F1
Single pass 55.7
Double pass JPT 70.9

15.2 F1 차이는 성능 향상이 단순히 classifier head나 data 규모에서 나온 것이 아니라, second-pass context access와 직접 연결되어 있음을 보여준다.

2) Definition은 label description 이상의 역할을 한다

No-definition 58.3에서 dual-channel 70.9로 12.6 F1 오른다. 특히 MIT Restaurant에서 LOCATION definition에 nearby 같은 relative indicator를 포함하도록 명시했을 때 해당 type F1이 32.6 points 개선된다.

이는 zero-shot extraction에서 prompt wording을 부수적인 요소로 보면 안 된다는 뜻이다. Definition은 model behavior를 결정하는 executable schema에 가깝다.

3) Attention visualization은 mechanism을 보조적으로 보여준다

Figure 3에서 second-pass subword token은 first-pass의 완성된 word와 뒤쪽 context에 attention한다. 이는 duplication으로 future context가 실제 attention path에 들어왔음을 보여준다.

다만 attention weight가 곧 causal contribution을 완전히 증명하는 것은 아니다. 가장 강한 evidence는 attention visualization보다 single-pass ablation이다.

4) Error analysis는 남은 병목을 구체화한다

논문이 제시하는 대표 error는 다음과 같다.

  • Entity boundary를 너무 길거나 짧게 잡는 오류
  • 의미가 가까운 type 사이의 confusion
  • Atypical mention이나 adjectival mention 누락
  • Context cue를 과도하게 해석한 overprediction
  • Predicted span과 gold span이 부분적으로만 겹치는 오류

즉 bidirectional context를 확보했다고 NER의 모든 문제가 사라지는 것은 아니다. Boundary representation과 flat label space는 여전히 별도 병목이다.

6. Limitations

  1. Input length와 attention cost가 크게 늘어난다
    • 원문을 두 번 넣으므로 sequence length는 거의 두 배가 된다.
    • Dense self-attention의 이론적 계산량은 길이에 대해 quadratic이므로 같은 원문 기준 최대 약 4배가 될 수 있다.
    • 논문은 decode 제거로 end-to-end latency 이득을 보이지만, long document에서는 이 trade-off가 달라질 수 있다.
  2. Flat NER에 맞춰진 output structure다
    • Consecutive same-label token을 span으로 합치는 방식이다.
    • Nested, overlapping, discontinuous entity를 직접 표현하지 못한다.
  3. Training data가 자동 생성되고 완전히 공개되지 않았다
    • Claude 기반 type generation과 annotation 품질에 의존한다.
    • Random sample validation만으로 전체 long-tail label consistency를 확인하기 어렵다.
    • 재현성을 판단하려면 annotation prompt, filtering rule, raw and processed data가 필요하다.
  4. Zero-shot의 범위를 정확히 해석해야 한다
    • Evaluation dataset과 schema에 대해 zero-shot이라는 의미는 타당하다.
    • 하지만 backbone pretraining과 5,009-type synthetic training을 통해 유사 concept을 봤을 가능성은 있다.
    • 완전히 unseen semantic concept에 대한 transfer와는 구분해야 한다.
  5. Definition engineering이 새로운 운영 부담이 된다
    • Definition이 조금만 바뀌어도 boundary와 recall이 달라질 수 있다.
    • 서로 겹치는 type definition, 모순된 definition, 지나치게 긴 schema에 대한 robustness가 추가로 필요하다.
  6. Baseline comparison 조건이 완전히 통제되지는 않았다
    • Main benchmark baseline 수치는 prior work에서 가져왔다.
    • Prompt, model version, decoding setting, data preprocessing 차이가 결과에 섞일 수 있다.
  7. Efficiency 결과가 제한된 serving condition에 기반한다
    • A100, batch size 1, CrossNER-Politics의 한 setting이다.
    • Long input, large schema, batch serving, quantized inference에서의 latency와 memory curve는 별도로 봐야 한다.
  8. Strong decoder LLM을 쓰는 만큼 absolute cost는 encoder보다 높다
    • JPT는 generative LLM NER보다 빠르지만 GLiNER-L보다 느리다.
    • 실무에서는 accuracy gain이 4B 또는 8B serving cost를 정당화하는지 task value에 따라 판단해야 한다.

7. My Take

7-1. Why this matters for my work

JPT의 가장 큰 가치는 LLM을 생성기로만 쓰지 않아도 된다는 점을 매우 단순한 구조로 보여준 데 있다.

최근 information extraction에서는 flexible schema를 위해 LLM generation을 선택하는 경우가 많다. 하지만 extraction의 본질은 원문에 있는 span과 label을 정렬하는 일이다. Output generation은 flexible하지만, 원문 alignment와 latency를 희생한다.

JPT는 decoder LLM의 hidden state를 다시 discriminative reader로 사용한다. 이 관점은 NER뿐 아니라 다음 task에도 확장 가능하다.

  • PII token classification
  • Document field candidate tagging
  • Evidence sentence classification
  • OCR token grounding
  • Hallucination span detection
  • Safety or policy span labeling
  • Code token role classification

특히 dynamic schema가 필요한 Document AI에서는 entity definition을 natural-language contract로 제공할 수 있다는 점이 유용하다. 다만 OCR document는 sequence length가 길고, token과 bbox mapping이 필요하며, table과 nested structure가 많다. 따라서 JPT를 그대로 적용하기보다 chunking, span head, bbox-aware projection을 결합하는 방향이 현실적이다.

7-2. Reuse potential

1) Definition-driven extraction API

Model endpoint에 fixed label id 대신 다음 구조를 입력할 수 있다.

name: contract_period
Definition: 계약의 효력이 시작되는 날짜부터 종료되는 날짜까지의 기간.
Boundary rule: 날짜 표현만 포함하고 주변 설명 문구는 제외.

이렇게 하면 schema migration을 retraining보다 definition update로 처리할 수 있다. 단, definition version과 regression set을 함께 관리해야 한다.

2) Two-pass read를 다른 token task에 적용

같은 causal backbone 위에서 token-level output이 필요하면 input duplication을 가장 단순한 baseline으로 둘 수 있다. Architecture를 bidirectional로 바꾸거나 별도 encoder를 붙이기 전에 mechanism baseline으로 유용하다.

3) Prefill versus decode 기준의 시스템 설계

JPT는 model architecture보다 serving phase를 기준으로 task formulation을 다시 보는 사례다. 동일한 정확도를 낼 수 있다면 serial decode를 parallel prefill로 바꾸는 것이 GPU 활용률과 latency에 유리할 수 있다.

4) Dual-channel label semantics

Definition을 prompt에만 넣거나 classifier에만 넣지 않고, representation 생성과 final matching 양쪽에 넣는 구조는 open-vocabulary classification 전반에 재사용 가능하다.

5) Definition sensitivity test

동일 type에 대해 broad, narrow, adversarial, contradictory definition을 만들어 성능 변화를 측정하면 schema robustness를 평가할 수 있다. 이 실험은 production deployment 전에 꼭 필요하다.

7-3. Follow-up papers

  • GLiNER: Generalist Model for Named Entity Recognition using Bidirectional Transformer
  • UniversalNER: Targeted Distillation from Large Language Models for Open Named Entity Recognition
  • GoLLIE: Annotation Guidelines improve Zero-Shot Information-Extraction
  • GPT-NER: Named Entity Recognition via Large Language Models
  • SaM: A Framework for Zero-Shot Named Entity Recognition

8. Summary

  • JPT는 같은 input을 두 번 이어 붙여 causal LLM의 second-pass token이 전체 문맥을 보게 만든다.
  • Entity type은 natural-language definition으로 표현되고, prompt와 embedding 두 channel을 통해 주입된다.
  • Qwen3-4B와 Qwen3-8B backbone은 frozen하며 LoRA, projection MLP, bilinear classifier만 학습한다.
  • JPT-8B는 CrossNER와 MIT 평균 74.1 F1을 기록하고, prior-work strongest baseline보다 7.9 F1 높다.
  • JPT의 핵심 trade-off는 input length를 늘리는 대신 autoregressive output decode를 제거하는 것이다.
  • 실무 적용에서는 long-document cost, flat NER 한계, definition versioning, synthetic data 재현성을 함께 봐야 한다.

댓글남기기