TL;DR
토크나이저 없는 바이트-레벨 모델은 긴 바이트 시퀀스로 인해 계산 비용이 증가한다. Patch 기반 접근은 패치 수를 줄여 효율성을 높이지만 패치 lag이 커지면 품질 저하가 발생한다. Scratchpad Patching(SP)은 패치 내부에 transient scratchpad를 삽입해 패치 표현을 점진적으로 갱신함으로써 patch lag를 완화하고, patch 크기와 무관하게 정보가 풍부한 영역에 계산을 집중할 수 있게 한다. 이로써 Patch 기반 모델이 더 큰 패치를 사용하더라도 품질 손실을 줄이고 KV-cache 및 추론 compute를 크게 절감한다.
왜 중요한가
토크나이저 없는 바이트-레벨 모델은 긴 바이트 시퀀스로 인해 계산 비용이 증가한다. Patch 기반 접근은 패치 수를 줄여 효율성을 높이지만 패치 lag이 커지면 품질 저하가 발생한다. Scratchpad Patching(SP)은 패치 내부에 transient scratchpad를 삽입해 패치 표현을 점진적으로 갱신함으로써 patch lag를 완화하고, patch 크기와 무관하게 정보가 풍부한 영역에 계산을 집중할 수 있게 한다. 이로써 Patch 기반 모델이 더 큰 패치를 사용하더라도 품질 손실을 줄이고 KV-cache 및 추론 compute를 크게 절감한다.
핵심 기여
Scratchpad Patching 도입
Patch 크기에 의존하지 않고 patch lag를 감소시키는 일반적 메커니즘을 제시한다. patch 내부에 transient scratchpad를 다중 상태로 두고, 각 상태가 trunk에 동일하게 전달되되 KV cache에는 저장되지 않는다.
Compute-Patched decoupling
Patch size 증가에도 불구하고 정보가 dense한 영역에 추가 compute를 할당하는 방식으로 compute를 patch size와 독립적으로 분할한다. 추론 시 KV-cache footprint는 변하지 않는다.
Next-byte entropy로 scratchpad 트리거
encoder의 예측 엔트로피를 활용해 scratchpad 업데이트를 선택적으로 수행한다. 이는 정보-밀집 영역에 compute를 집중시키고, 추론 시 compute를 post-hoc으로 조정 가능하게 한다.
추론-시간 compute 조정 가능성
Scratchpad 업데이트 빈도와 patch 크기를 inference 시에 재조정해 retraining 없이도 성능과 compute 사이의 트레이드오프를 조절할 수 있다.
핵심 아이디어 이해하기
출발점과 한계: patch-based byte-level 모델은 바이트 시퀀스를 patch로 축약해 연산을 줄이지만, patch lag은 patch 크기가 커질수록 커진다. 즉, 비-최종 바이트 예측은 이전 patch의 표현에 의존해야 하므로, 정보가 충분히 반영되지 않는 경우가 생긴다. 해결 원리: Scratchpad Patching은 patch 내부에 z_t^ℓ 같은 transient scratchpad를 도입해, 현 patch의 부분 구간까지의 정보를 점진적으로 aggregate하고 trunk로 전달한다. 이렇게 하면 비-최종 바이트가 stale patch 표현 대신 최근 scratchpad 상태를 참조하게 되어 patch lag를 gálrid(=최근 scratchpad까지의 간격)로 축소한다. scratchpad 상태는 KV cache에 저장되지 않으므로Committed patch sequence 길이와 KV-cache footprint는 유지된다. 수행적 변화: 선택적 scratchpad 업데이트는 엔트로피 임계치 τSP를 통해 결정되며, 정보 밀집 영역에 compute를 집중시킨다. SP를 도입하면 patchifier의 차이가 줄고, 같은 FLOPs에서 더 나은 BPB와 다운스트림 성능을 얻을 수 있다. SP를 적용해 16바이트 패치에서도 byte-level baseline에 근접하거나 이를 넘어서는 성능을 달성할 수 있으며, inference KV-cache은 16× 감소한다. 또한 patching 방식 간 차이는 SP 도입으로 좁혀진다.
학습-생성적 특성: SP는 patch 기반(backbone) 구조에 일반적으로 적용 가능하고, training 시 scratchpad를 병렬로 처리할 수 있는 masked-attention으로 확장한다. inference 시 scratchpad는 transient으로 계산되며 KV 캐시에 저장되지 않는다. 따라서 PATCH 수는 동일하게 유지되면서도 within-patch refinement를 통해 전체 품질이 개선된다.
방법론
아키텍처: encoder E, patchifier P, main trunk M, unpatchifier U, decoder D로 구성된 patch-based byte-level 모델을 사용한다. 바이트 b1..bN를 E가 임베딩하고, patchifier P가 L개의 contiguous patch [sℓ,eℓ]를 만들며 각 patch의 zℓ는 patch 내부의 xsℓ:eℓ를 Cross-Attn으로 집약해 zℓ를 얻는다. z0는 sentinel이다. trunk M은 z0..zL의 patch 시퀀스를 처리하고, U가 trunk 출력을 바이트 위치로 확장해 decoder에 전달한다. patch lag은 un_n = zeℓ−1 + xn (n≠eℓ), zeℓ + xn (n=eℓ)로 정의된다.
Scratchpad Patching의 핵심: patch ℓ마다 pn ∈ {0,1}의 binary 트리거를 정의해, n이 sℓ..eℓ 사이일 때 pn=1이면 z tℓ = Aggregate(xsℓ:n)를 M에 전달해 ze tℓ를 얻고, un은 ze tℓ + xn(또는 zeℓ + xn)로 업데이트된다. patch당 Tℓ = ∑j=sℓ^eℓ pj이며, Tℓ=0은 일반 patch 기반 모델과 동일하다. n이 eℓ이면 이전 scratchpad 대신 scratchpad가 반영된 patch representation이 사용된다. 트레이닝 중에는 scratchpad 상태를 입력 시퀀스에 병렬로 unrolled하여 loss를 모든 바이트 위치에서 계산하고, inference 시에는 scratchpad는 transient으로 계산되며 committed patch representation(zℓ)만 KV cache에 저장된다.
트리거 정책: 엔트로피 Hn = −∑b∈V p(b|x≤n) log p(b|x≤n) 이 임계값 τSP를 초과하면 pn=1이 된다. 대표적 후보로 fixed-size patching, SpaceByte, entropy-based, H-Net patching이 있으며 각 patcher에 대해 τSP를 다르게 설정한다. 훈련 중에는 scratchpad가 각 patch에 대해 동일한 위치 인덱스를 공유한다. Inference 시에는 scratchpad가 transient으로 계산되고, committed patch state zℓ만 KV cache에 저장된다.
학습·구현: 전체 모델은 약 2B 파라미터, 약 400B 바이트의 데이터로 50,000스텝 학습. patch size p ∈ {2,4,8,16}, 각 patch마다 Tℓ의 값이 다를 수 있으며 encoder/ trunk/ decoder는 서로 다른 차원의 트랜크를 사용한다. Training은 TPUs에서 수행하며, AdamW 최적화를 사용하고, patch-based 구성과 SP를 결합해 BPB와 downstream 성능을 평가한다. Inference 시 patch 크기 τP를 변화시켜 realized patch size를 달리 적용해도 SP 모델은 견고하게 작동한다.
한계 및 비교: SP는 patch-based 모델의 training-time FLOPs를 직접 감소시키지는 않지만, patch 수를 고정한 상태에서 내재된 내부 정제 순서를 통해 compute를 조정한다. H-Net의 경우 SP의 이득이 FLOPs-매칭에서 다소 감소할 수 있다. 이 연구는 단일 스테이지의 patching에 초점을 맞추며, 다층/다단계 patching의 확장은 향후 연구 과제이다.
관련 Figure

SP의 작동 원리와 patch 단위 구성의 관계를 직관적으로 보여준다. patch boundary 우선순위와 scratchpad의 비저장성 특성을 강조하여, patch 크기 증가에 따른 patch lag의 영향 완화가 어떻게 이루어지는지 설명하는 도식이다.
Scratchpad Patching 아키텍처 다이어그램: Encoder-Patchifier-Main Trunk-Unpatchifier-Decoder의 흐름과 scratchpad의 위치를 시각화한다.
주요 결과
주요 벤치마크에서 SP는 patchifier 가족 전반에서 BPB(frontier) 개선을 보여준다. Fixed(p=16) + SP의 BPB는 54.2로 바이트레벨 baseline 54.1에 근접하며, Patch 기반 모델이 일반적으로 겪는 품질 저하를 SP가 회복한다. 코드 생성 MBPP에서 SP의 향상은 MBPP Pass@1를 18.2에서 27.5까지 끌어올렸고, HumanEval에서 10.5에서 14.8로 상승했다. Entropy-based + SP는 MBPP 27.2, HumanEval 16.3 등으로 SP 도입 시 크게 개선된다. SpaceByte + SP의 MBPP은 30.3, HumanEval은 16.6으로 개선된다. H-Net + SP는 28.5 MBPP, 15.4 HumanEval로 나타났다. FLOPs 관점에서 SP 도입 후 Patchifier들 간의 차이가 줄고, BPB-FLOPs 공간에서 여러 패치 방식이 더 비슷한 위치에 모인다. FLOPs 매칭 시 SP는 BPB를 대폭 개선하는 경향을 보이나, H-Net의 경우 예외가 나타난다.
추론 시점의 compute 조정 가능성: τSP나 realized patch size를 inference 시에 바꾸면 성능 곡선이 부드럽게 감소/회복하는 형태를 보이며, scratchpad 빈도를 조정해도 비선형이 아닌 매끄러운 트레이드오프를 보인다. Patch-큰 크기에서도 SP가 compute를 더 효율적으로 분배하여 BPB를 직접 향상시키는 경향이 있다. MULTILINGUAL: FLORES-200에서 평균 BPB 순위는 바이트-레벨에 비해 Tokenizer-기반 모델이 낮고, SP를 추가한 patch-based 모델이 언어별 편향을 줄이며 평균 순위를 개선한다.
관련 Figure

엔트로피 임계치에 따라 scratchpad 업데이트가 언제 발생하는지 보여준다. patch boundary와 scratchpad 업데이트 간의 관계를 통해 patch lag이 줄어드는 메커니즘을 시각적으로 뒷받침한다.
Scratchpad Patching dynamics on fixed-size patching: patch boundaries와 scratchpad 업데이트의 상호작용을 시각화한 그래프

Patchifier 간 BPB-압축률 관계를 보여주며, SP 도입 시 동일한 압축률에서도 BPB가 감소하는 경향이 있음을 시사한다. 결과는 BPB와 compression에 따른 벤치마크 성능의 차이를 설명하는 증거로 작용한다.
BPB 대 Compression Rate 그래프: patch 크기와 SP 적용 여부에 따른 BPB 변화를 요약

추론 시 patch 크기와 scratchpad 빈도 변경에 따른 성능 곡선을 제시한다. SP 모델은 training에서 얻은 구성과 다르게 적용하더라도 품질 저하를 완만하게 하며, post-hoc compute 조정의 효과를 뚜렷이 보여준다.
Inference-time patch size variation: realized patch size에 따른 BPB와 MBPP/Code 성능 변화
기술 상세
아키텍처 검토: 엔코더 E, patchifier P, 메인 트렁크 M, 언패처 U, 디코더 D로 구성된 패치 기반 바이트-레벨 모델의 공통 백본. 엔코더가 바이트 시퀀스를 x로 매핑하고, patchifier가 바이트 시퀀스를 L개의 연속 구간으로 분리해 xsℓ:eℓ를 이용해 patch-level representation zℓ를 생성한다. patch-level 표현은 쿼리 qℓ(평균 풀링으로 생성)과 patch 내 바이트 임베딩의 Cross-Attn으로 얻는다. M은 patch 시퀀스를 처리하고, U가 이를 바이트 단위로 확장해 decoder로 전달한다. 패치 lag은 n이 eℓ일 때의 조건부 표현에 의존하는 구조로 정의된다. Scratchpad Patching은 각 patch ℓ에 pn ∈ {0,1} 트리거를 두고, pn=1이면 z_tℓ = Aggregate(xsℓ:n)로 업데이트된 scratchpad 상태를 M에 적용한다. z_tℓ는Committed zℓ 대신 사용되며, patch boundary에선 patchification이 우선한다. Tℓ = ∑ pj는 각 patch에서의 scratchpad 업데이트 수이며, Tℓ=0은 기본 패치 기반 모델과 동일하게 동작한다. 학습 시 scratchpad 상태는 트렁크 입력 시퀀스에 병렬 인볼드되고, 손실은 모든 바이트 위치에서 계산된다. 추론 시 scratchpad는 transient으로 계산되고, committed patch representations 만 KV 캐시에 저장된다. 트리거 정책은 next-byte 엔트로피 Hn가 τSP를 초과할 때 pn=1이 되도록 설정되며, patch boundary의 영향은 patchification이 제한한다. Patch 기반 모델의 4개 패치 파생: Fixed-size patching(p ∈ {2,4,8,16}), SpaceByte, Entropy-based, H-Net. Entropy head는 encoder 위에 두 개 Transformer 층과 next-byte head로 구성되며 encoder로의 gradient는 정지된다. SP 구성은 τSP 값으로 patch boundary와 scratchpad trigger를 함께 조율한다. 학습 데이터는 대용량 코드+자연어+수학 데이터셋이며, 50k 스텝, 배치 8MB, TPU에서 학습한다. Inference 시, SP는 patch 크기, scratchpad 빈도를 post-hoc로 조정 가능하며, patch 수는 고정된 상태로 남겨진다. 제한점: 단일 스테이지 patching에 한정되며, 다중 스테이지 patching에 대한 체계적 연구는 향후 과제이다. 또한 SP가 학습 시간 FLOPs를 직접 감소시키지는 않으며, scratchpad 설계에 따라 효율성 차이가 존재한다.
한계점
본 연구는 단일 스테이지 Patch-based 구조에 초점을 맞추며, 다중 스테이지 패치링크(H-Net AU-Nets 등)에서는 추가 연구가 필요하다. Scratchpad의 재계산 정책이 더 복잡한 규칙으로 확장될 수 있지만, 본 논문은 현재의 간단한 Scratchpad 업데이트 규칙에 한정된다. 또한 SP가 학습-시간 FLOPs를 직접 줄이지 못한다는 점과, 일부 patchifier(H-Net)에서 FLOPs 매칭 시 이득이 제한될 수 있다는 점이 한계로 제시된다.
실무 활용
SP는 patch-based byte-level 모델에서 patch size와 inference 시 compute를 분리해, 더 큰 patch를 사용하더라도 품질 저하를 낮추고 KV-cache를 대폭 축소할 수 있는 실용적 방법이다. inference 시 post-hoc로 patch 크기와 scratchpad 빈도를 조정해 비용-성능 트레이드오프를 관리할 수 있다.
- 대형 패치 크기를 사용하는 바이트-레벨 모델에서 실시간 응답성을 확보하고자 할 때, SP를 통해 KV-cache를 줄이며 품질을 유지할 수 있다.
- 다양한 patchifier를 이용하는 시스템에서 compute 분배를 균일하게 맞추어 FLOPs를 줄이고, 성능 저하를 최소화한다.
- 다언어 데이터셋에서 엔트로피 기반 patching과 SP를 조합해 patch 경계의 편향을 줄이고 multilingual 성능을 안정화한다.
- 추론 시간에 patch 크기를 조정해 비용을 줄이면서도 코드/자연어 이해/수학 문제 해결에서의 품질을 보존한다.
코드 공개 여부: 미확인
키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.