5.7 LoRA 기반 파인튜닝
5.7.1 저랭크 업데이트
LoRA는 pretrained weight 를 고정하고 저랭크 행렬만 학습한다.
full matrix의 parameter는 , LoRA adapter는 다. code/lora_budget.py로 규모를 비교할 수 있다. LoRA 원 논문은 Hu et al., 2021이다.
계산기의 값은 동일 크기 square projection을 가정한 단순 추정이다. 실제 SmolVLA 기본 PEFT target은 LM expert의 q/v projection과 task-dependent state/action projection을 포함할 수 있다. 학습 시작 시 framework가 출력한 trainable/total parameter 목록을 권위 있는 값으로 기록한다.
5.7.2 rank와 alpha
- rank : 높을수록 update 표현력이 커지지만 parameter와 memory가 증가한다.
- alpha : update scaling에 관여한다.
- target modules: 어떤 projection에 adapter를 넣을지 결정한다.
- modules to save: 새 action/state projection처럼 full training이 필요한 모듈을 함께 저장한다.
현재 LeRobot의 PEFT training 문서는 SmolVLA에서 PEFT를 지원하고 --peft.r, --peft.lora_alpha를 제공한다. 공식 설정의 default target을 확인하고 임의의 정규식이 backbone 전체를 예상치 않게 포함하지 않는지 trainable parameter 목록을 출력한다.
5.7.3 full fine-tuning과 LoRA 선택
LoRA는 GPU memory와 checkpoint 크기를 줄이고 task별 adapter 관리에 유리하다. 그러나 새로운 embodiment의 action/state projection은 pretrained VLM과 성격이 다르므로 adapter만 학습할지, 일부 새 layer를 full train할지 검토해야 한다. 데이터가 충분하고 compute가 허용되면 full fine-tuning을 baseline으로 비교한다.