SARAM이 로봇 평생학습의 저장 증가와 배포 비용을 함께 끊는다

SARAM: Sparse Adapter Allocation with Reuse and Merging for Lifelong Robot Learning

arXiv2610.24804v1

SeongJun Jeong2026-10-17

무엇인가

대규모 사전학습 VLA(비전-언어-행동) 백본에 태스크별 LoRA 어댑터를 붙여 순차 학습하는 방식은 강한 망각 방어를 제공한다. 문제는 그 어댑터와 선택 모듈이 태스크 스트림을 따라 계속 쌓인다는 점이다. 학습이 진행될수록 디스크에 태스크별 상태가 누적되고, 배포 시에는 어댑터와 라우터가 GPU에 상주한 채 제어 루프 내내 계산된다. CLARE나 DMPEL처럼 입력에 따라 태스크별 모듈을 동적으로 고르는 구조는 특히 그렇다. 온보드 저장·메모리·연산 예산이 고정된 로봇에서는 태스크 수가 곧 배포 비용이 되는 셈이다. SARAM은 이 두 축, 즉 학습 중의 디스크 증가와 실행 시의 GPU 비용을 각각 다른 단계에서 끊겠다고 주장한다.

어떻게 동작하나

핵심 설계는 태스크별 업데이트를 백본 가중치에 대한 하나의 선형 델타로 정의하는 것이다. 태스크 t의 ℓ번째 레이어 업데이트는 이전 태스크들이 남긴 동결된 LoRA 어댑터들을 결합계수 c로 선형 결합한 항과, 이번 태스크가 그 레이어에 새 어댑터를 배정받았을 때만 더해지는 항의 합으로 표현된다. 두 항 사이에 비선형성이 없으므로 이 델타는 별도 모듈로 평가할 필요 없이 백본 가중치에 그대로 더할 수 있다. 태스크를 배울 때는 이 분해를 세 단계로 채운다.

무엇과 다른가

1단계는 새 용량을 넣기 전에 기존 어댑터 라이브러리만으로 새 태스크를 맞춰 보는 단계다. 새 어댑터를 모두 끄고 결합계수만 모방 손실로 학습하며, 손실이 평탄해지면 멈춘다. 남은 오차가 라이브러리만으로는 표현하지 못하는 몫이 된다. 2단계는 어느 레이어에 새 어댑터를 남길지 정한다. 모든 레이어에 후보 어댑터와 스칼라 게이트를 붙이고 게이트에 ℓ1 페널티를 걸어 근위 기울기 하강으로 최적화한다. 각 스텝 뒤에 소프트 임계 연산으로 게이트를 0 쪽으로 밀어내고, 살아남은 게이트의 지지집합이 새 어댑터를 둘 레이어 집합이 된다. 3단계는 살아남은 어댑터와 결합계수를 함께 학습하되, 새 어댑터가 라이브러리가 이미 펼치는 부분공간을 다시 표현하지 않도록 중복 패널티를 더한다. 새 어댑터 중 라이브러리 스팬으로 설명되는 성분을 프로베니우스 노름으로 나눈 값이며, 라이브러리가 동결돼 있어 역행렬은 태스크당 한 번만 계산하면 된다. 학습이 끝나면 그 태스크의 파라미터는 동결되어 이후 태스크가 덮어쓸 수 없다.

어떻게 쓰나

배포 쪽에서는 태스크 선택을 제어 루프 밖으로 뺀다. 태스크를 배운 뒤 각 시연의 첫 관측과 지시문을 어댑터 없는 백본에 통과시키고, 레이어별 입력 활성화의 Gram 행렬을 상위 k개 고유쌍으로 요약해 태스크 시그니처로 저장한다. 개별 학습 샘플은 남기지 않고 합산 통계만 남긴다. 에피소드가 시작되면 같은 방식으로 현재 관측·지시문의 스케치를 만들어 저장된 시그니처들과 비중심 선형 CKA 유사도로 비교해 태스크를 한 번 고른다. 그다음 선택된 델타를 백본 가중치에 병합하고 에피소드가 끝날 때까지 그대로 쓴다. 제어 루프 안에는 어댑터도 라우터도 없이 수정된 가중치를 가진 백본 하나만 남는다.

전제와 한계

실험은 LIBERO의 Long·Goal·Spatial·Object 네 스위트에서 각 10개 태스크를 순차 학습하며, 태스크당 1만 스텝, 800스텝마다 20 에피소드 프로브, 보존 평가 40 에피소드, 시드 3개로 돌렸다. 백본은 LIBERO-90으로 사전학습한 DiT 기반 플로우 매칭 정책에 DINOv2 비전 인코더와 CLIP 텍스트 인코더를 붙인 것이고, SARAM은 rank-8 LoRA, ξ=2, 800스텝 할당 단계, λ=0.3, 레이어당 상위 2개 고유쌍을 썼다. 결과적으로 네 스위트 모두에서 최종 성공률과 AUC가 가장 높았고 NBT는 세 스위트에서 가장 낮았다. 태스크당 디스크 상태는 3.8MB(새 어댑터 2.7MB, 시그니처 1.1MB, 결합계수 10KB 미만)로, CLARE 17.4MB, DMPEL 6.0MB 대비 최대 4.5배 적다. 배포 비용은 10개 태스크 후 15.2Hz·748MB로 백본 단독과 동일했고, CLARE는 922MB·10.1Hz, DMPEL은 829MB·5.0Hz로 느려졌다. 첫 관측 스케치, 시그니처 비교, 병합에 드는 약 140ms는 에피소드당 한 번만 지불된다. 자원 효율적 평생학습 방법인 SHARE는 모든 스위트에서 부진해, 단일 공유 어댑터로는 이 설정을 감당하기 어렵다는 것을 보였다.

실물 실험은 UR5에 Robotiq 2F-85 그리퍼, 외부 카메라와 손목 카메라를 붙여 7개 태스크를 순차 학습했다. 태스크당 약 50개의 원격조작 시연과 10회 롤아웃, 백본은 π0, ξ=40이다. SARAM의 최종 성공률은 각 태스크를 배울 때의 성공률과 같았고, 홀드아웃 에피소드에서 태스크 선택이 모두 정확했다. 같은 장면의 주사위·컵 태스크도 구분했다. 반면 SeqLoRA는 마지막 태스크만 남았고 ER은 과거 시연을 재생해도 앞선 태스크 대부분을 잃었다. 절제 실험에서는 태스크마다 어댑터 위치를 무작위로 고르는 것이 AUC를 가장 크게 떨어뜨렸고, 하나의 무작위 레이어 집합을 모든 태스크가 공유하면 손실의 상당 부분이 회복됐다. 라이브러리 재사용을 끄거나(c=0) 중복 패널티를 빼면(λ=0) FWT와 AUC가 떨어지고 시드 간 분산이 커졌다. 희소성 가중치 ξ를 키우면 저장 파라미터는 줄고 평생학습 성능은 낮아지는 맞교환이 나타났다.

실무 관점에서 이 논문이 건드리는 지점은 모델 압축이 아니라 배포 파이프라인의 구조다. 태스크별 모듈을 제어 루프에서 빼고 에피소드 시작 시 한 번 병합하는 방식은, 태스크 수가 늘어도 추론 지연과 GPU 메모리가 변하지 않는 서빙을 가능하게 한다. 다만 이 병합이 성립하려면 태스크 업데이트가 가중치에 대해 선형이고 에피소드 내내 고정이어야 한다. 또한 태스크를 에피소드 첫 관측과 지시문으로 한 번만 식별하므로, 에피소드 도중 태스크가 바뀌는 환경은 전제 밖이다. 시그니처는 동결 백본의 활성화 통계로 만들어지므로 백본을 이후에 갱신하면 재계산이 필요하다. 실제 도입 전에는 자신의 태스크 집합에서 시그니처 인식률과 병합 후 지연을 먼저 재보는 편이 좋다.

원문에는 별도의 한계 절이 없지만 전제는 곳곳에 드러난다. 병합은 선형이고 에피소드 동안 고정된 업데이트에서만 성립하며, 기존 어댑터 기반 방법들은 실행 중 입력 의존 선택을 하므로 같은 방식으로 병합할 수 없다고 저자들은 명시한다. 태스크 인식은 온건한 바꿔쓰기에서는 정확했지만 문장 구조를 크게 바꾼 강한 바꿔쓰기에서는 오류가 나타났다. 평가는 LIBERO 네 스위트와 7개 태스크의 UR5 스트림에 한정된다. 또한 모든 태스크 업데이트가 동결된 채 남는다는 설계상, 결합계수는 레이어마다 라이브러리 어댑터당 하나씩 늘어나 과거 태스크 수에 비례해 증가한다. 저자들은 10개 태스크 스트림에서 10KB 미만이라고 밝혔을 뿐, 그보다 긴 스트림에서의 증가는 제시하지 않았다.