Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EdgeLoRA Adapter Router

EdgeLoRA의 Adaptive Adapter Selection 컴포넌트 분석 및 개선 실험

개요

이 레포지토리는 EdgeLoRA의 adapter router 성능을 분석하고 개선하기 위한 실험을 수행합니다. Multi-label classification을 통해 주어진 텍스트에 가장 적합한 adapter(s)를 선택하는 모델을 학습합니다.

지원 Task: BBH, GPQA, IFEval, Math, MMLU-Pro, MuSR (총 7개 adapter)

환경 설정

요구사항

  • Python 3.11
  • CUDA 12.4
  • PyTorch 2.0+
  • Custom transformers (EdgeLoRA 지원)

설치

# Custom transformers 설치 (EdgeLoRA 지원)
pip install git+https://github.com/shenzheyu/transformers.git@edgelora

# 기타 의존성
pip install accelerate peft trl datasets pandas scipy fire

사용법

학습

# 기본 설정으로 학습 (rank=32, 3 epochs)
bash finetune.sh

# 커스텀 설정
CUDA_VISIBLE_DEVICES=0 python finetune.py \
  --base_model 'meta-llama/Llama-3.1-8B-Instruct' \
  --output_dir './trained_models/my_experiment' \
  --lora_r 32 \
  --lora_alpha 64 \
  --num_epochs 3 \
  --batch_size 32 \
  --micro_batch_size 4

주요 파라미터

  • --lora_r: LoRA rank (default: 32)
  • --lora_alpha: LoRA alpha (default: 64, alpha/r = 2.0)
  • --num_epochs: 학습 epoch 수 (default: 3)
  • --cutoff_len: 최대 시퀀스 길이 (default: 1024)
  • --batch_size: 전체 배치 크기 (default: 32)
  • --micro_batch_size: GPU당 배치 크기 (default: 4)

실험 결과

최신 실험 결과는 docs/experiments/ 디렉토리를 참고하세요.

Baseline (rank_32_full)

  • LoRA rank: 32
  • 평균 정확도: 38.27%
  • 학습 시간: 약 2.7시간 (RTX 4090 1개)

Task별 성능:

Task Accuracy
BBH 54.13%
IFEval 49.06%
MuSR 39.86%
MMLU-Pro 38.83%
GPQA 34.30%
Math 13.41%

자세한 내용: rank_32_full 실험 보고서

프로젝트 구조

adapter-router/
├── finetune.py          # 학습 스크립트
├── finetune.sh          # 학습 실행 스크립트
├── train.csv            # 학습 데이터
├── test.csv             # 테스트 데이터
├── docs/
│   └── experiments/     # 실험 결과 문서
├── logs/                # 학습 로그 (gitignore)
└── trained_models/      # 학습된 모델 (gitignore)

주요 개선사항

v0.2.0 (2025-02-15)

  • ✅ 평가 로직 버그 수정: 단일 GPU 환경에서 테스트 정확도 미측정 문제 해결
  • ✅ torch.compile 비활성화: 학습 안정성 개선
  • ✅ tokenizer max_length 명시: 일관성 향상
  • ✅ 실험 문서화 시스템 구축

개발 로드맵

  • Validation set 추가 및 early stopping 구현
  • Learning rate scheduling (cosine annealing)
  • Rank ablation study (r=8, 16, 32, 64)
  • Task-specific adapter weight 분석
  • Math task 성능 개선 연구

참고 자료

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages