Multilingual-Multimodal-NLP/LoopCoder-V2 · Hugging Face
요약
LoopCoder-V2는 Parallel Loop Transformer(PLT)를 기반으로 한 7B 파라미터 규모의 코드 생성 모델입니다. 테스트 시간 계산 스케일링을 위해 공유된 트랜스포머 블록을 반복 적용하며, 최적의 성능을 위한 루프 횟수와 효율적인 메커니즘을 제안합니다.
핵심 포인트
- Parallel Loop Transformer(PLT) 기반의 7B 인스트럭션 튜닝 모델
- 2-루프 설정이 SWE-bench Verified 점수를 43.0에서 64.4로 대폭 향상
- CLP와 G-SWA 메커니즘을 통해 병렬 루프 실행 및 메모리 효율성 확보
- 루프 횟수가 무조건 높다고 성능이 좋아지지 않는 이득-비용 트레이드오프 존재
GitHub : https://github.com/CSJianYang/LoopCoder
arXiv : https://arxiv.org/abs/2606.18023
Full Paper PDF : https://arxiv.org/pdf/2606.18023
LoopCoder-V2
LoopCoder-v2는 Parallel Loop Transformer (PLT)를 기반으로 하는 7B 인스트럭션 튜닝 (instruction-tuned) 코드 모델입니다. 이 모델은 파라미터 수를 고정된 상태로 유지하면서 공유된 Transformer 블록을 반복적으로 적용함으로써 테스트 시간 계산 스케일링 (test-time computation scaling)을 연구합니다.
공개된 체크포인트는 2-루프 PLT 변형 (plt_num_loops=2)입니다. 동반된 논문에 따르면, 이 설정이 가장 좋은 이득-비용 트레이드오프 (gain-cost trade-off)를 제공합니다. 즉, 두 번째 루프가 유용한 잠재적 정교화 (latent refinement)의 대부분을 제공하는 반면, 추가적인 루프는 점진적인 감소 또는 불안정한 업데이트를 보여줍니다.
주요 특징 (Highlights)
18T 토큰의 혼합 텍스트 및 코드 데이터로 처음부터 학습된 7B 밀집 (dense) PLT 코더.
일치하는 지도 미세 조정 (supervised fine-tuning) 레시피로 인스트럭션 튜닝 (instruction-tuned)됨.
교차 루프 위치 오프셋 (cross-loop position offsets) 및 공유-KV 게이트 슬라이딩 윈도우 어텐션 (shared-KV gated sliding-window attention)을 사용.
코드 생성 (code generation), 다국어 코드 (multilingual code), 코드 추론 (code reasoning), 에이전트 기반 소프트웨어 엔지니어링 (agentic software engineering), 그리고 도구 사용 (tool-use) 워크플로우를 목표로 함.
논문에서 가장 강력한 루프 횟수 설정: 두 개의 루프, 그 이상은 아님.
LoopCoder-v2: 효율적인 테스트 시간 계산 스케일링 (Test-Time Computation Scaling)을 위해 단 한 번만 루프하세요
요약 (TL;DR). Parallel Loop Transformers (PLT)의 경우, 루프를 더 많이 돌린다고 해서 더 나은 것은 아닙니다. 평소보다 딱 한 번 더 루프하는 (총 두 번의 패스) 7B 코더는 SWE-bench Verified 점수를 43.0에서 64.4로 끌어올리는 반면, 세 번 이상의 루프는 성능이 퇴보합니다. 우리는 루핑(looping)에 대한 이득-비용 관점으로 이를 설명하며, 무차별 대입 탐색 (brute-force sweeps) 없이 루프 횟수를 선택할 수 있는 진단 방법을 제공합니다.
개요 (Overview)
루프형 트랜스포머 (Looped Transformers)는 공유된 블록을 반복적으로 적용하여 잠재 계산 (latent computation)을 확장하지만, 순차적 루핑은 루프 횟수에 따라 지연 시간 (latency)과 KV-캐시 (KV-cache) 메모리를 증가시킵니다. Parallel Loop Transformers (PLT)는 다음 두 가지 메커니즘을 통해 이를 완화합니다:
CLP — 교차 루프 위치 오프셋 (cross-loop position offsets)으로, 이는 순차적인 루프 간 의존성을 깨뜨리고 병렬 루프 실행을 가능하게 합니다.
G-SWA — shared-KV gated sliding-window attention (공유 KV 게이트형 슬라이딩 윈도우 어텐션)으로, 이는 루프 횟수에 관계없이 캐시 점유율 (cache footprint)을 거의 일정하게 유지합니다.
비용이 평탄화되면, 루프 횟수는 자유로운 설계 노브 (design knob)가 됩니다. 그러면 질문은 다음과 같이 바뀝니다: 실제로 몇 번의 루프가 가치가 있는가? 우리는 이를 이득-비용 (gain–cost) 관점에서 연구합니다. 추가적인 루프는 표현 (representations)을 정교화할 수 있지만 (이득), CLP는 또한 각 루프 경계에서 대략적으로 일정한 위치 불일치 (positional mismatch)를 유발하며 (비용), 우리는 이를 고유 오프셋 비용 (intrinsic offset cost) $\Omega(r)$로 정량화합니다.
우리는 동일한 학습, 지시어 튜닝 (instruction tuning) 및 평가 조건 하에서 18T 토큰의 혼합 텍스트 및 코드 (1:1 비율, 100개 이상의 프로그래밍 언어)로 처음부터 학습된 7B PLT 코더 제품군인 LoopCoder-v2를 통해 이 연구를 구체화합니다.
제출자: /u/pmttyji
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기