Papers·2일 전
Code2LoRA — 하이퍼네트워크로 저장소 지식을 LoRA 어댑터에 주입, 추론 시 토큰 오버헤드 제로

Waterloo 대학 연구팀이 저장소별 LoRA 어댑터를 생성하는 하이퍼네트워크 프레임워크 Code2LoRA를 제안했습니다. 정적 트랙에서 per-repository LoRA와 동등한 정확도(63.8% cross-repo exact match)를 달성하면서도 추론 시 추가 토큰이 전혀 필요 없습니다. 진화 트랙에서는 GRU 상태로 코드 diff를 반영하는 Code2LoRA-Evo가 단일 공유 LoRA 대비 5.2%p 향상된 60.3%를 기록했습니다. 단, 벤치마크가 Python 604개 저장소에 한정되어 있고, 하이퍼네트워크 학습에 GPU 자원이 추가로 필요합니다.
Code2LoRA는 저장소별 LoRA 어댑터를 생성하는 하이퍼네트워크로, 추론 시 토큰 오버헤드 없이 저장소 지식을 주입합니다.
핵심 결론
- 정적 트랙 — Code2LoRA-Static, 604개 Python 저장소 중 40K 학습/12K 테스트에서 cross-repo exact match 63.8%, in-repo 66.2%로 per-repository LoRA와 동등.
- 진화 트랙 — Code2LoRA-Evo, 215K 커밋 기반 학습/87K 테스트에서 cross-repo exact match 60.3%로 단일 공유 LoRA 대비 5.2%p 향상.
- 추론 시 추가 토큰이 전혀 없어 기존 코드 LM에 붙이기만 하면 됩니다.
방법
- 하이퍼네트워크 — 저장소의 파일 집합을 인코딩하여 LoRA 어댑터 가중치를 직접 생성. 저장소별 파인튜닝 없이 어댑터를 얻습니다.
- Code2LoRA-Static — 저장소 스냅샷 전체를 인코딩하여 단일 어댑터 생성. 안정적인 코드베이스 이해에 적합.
- Code2LoRA-Evo — GRU 기반 상태를 유지하며 각 코드 diff로 상태를 업데이트, 어댑터를 점진적으로 갱신. 진화하는 저장소에 적합.
- RepoPeftBench라는 604개 Python 저장소 벤치마크를 함께 구축하여 정적·진화 두 트랙을 제공합니다.
한계·조건
- 언어 — Python 저장소만 포함. 다른 언어로의 일반화는 추가 검증 필요.
- 자원 — 하이퍼네트워크 학습에 GPU가 필요하며, 저장소 규모가 클수록 인코딩 비용이 증가.
- 코드·데이터 — 코드, 모델 체크포인트, RepoPeftBench 데이터셋 모두 공개되어 재현 가능.
편집자 한 줄
저장소별 LoRA를 매번 학습할 필요 없이 하이퍼네트워크로 한 번에 생성한다는 발상이 깔끔합니다. 진화 트랙에서 GRU로 diff를 반영하는 점도 실용적이네요.
- #code-lm
- #lora
- #hypernetwork
- #repository-level
- #waterloo
University of Waterloo