RWKV-LM — 훈련과 추론 사용법
RWKV-LM — 훈련과 추론 사용법
RWKV 공식 훈련 코드는 GitHub 저장소 RWKV/RWKV-LM 에 있어요. RWKV-7 'Goose'는 이 시점에 현존하는 가장 강한 선형 시간·상수 공간(no kv-cache)·어텐션 프리·100% RNN 아키텍처로, LLM과 멀티모달 애플리케이션에 적합합니다.
중요: PreLN LayerNorm 사용
RWKV에서는 RMSNorm 대신 PreLN LayerNorm 을 사용해야 해요. 더 나은 초기 state와 관련이 있는데, trainable initial state를 쓰지 않기 때문이라고 합니다(RMSNorm 사용 시 쓸모없다고 판단).
MiniPile로 RWKV-5/6/7 훈련하기
1.5G 토큰 규모의 MiniPile 데이터셋으로 훈련할 때는 python 3.10+, torch 2.5+, cuda 12.5+, 최신 deepspeed를 쓰되, pytorch-lightning==1.9.5 를 유지하세요.
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121
pip install pytorch-lightning==1.9.5
- RWKV-7 훈련:
/RWKV-v5/폴더를 쓰고demo-training-prepare.sh와demo-training-run.sh에서--my_testing "x070"을 지정. - RWKV-6 훈련: 같은 폴더에서
--my_testing "x060"을 지정.
추론
RWKV-7 추론에는 rwkv pip 패키지 0.8.28+ 를 사용하세요. 평가와 추가 정보는 https://rwkv.com/ 에 있고, 개발자용은 BlinkDL/RWKV-LM 입니다.
관련 프로젝트
- RWKV-APP — Android / iOS / PC / Mac / Linux용 RWKV 앱
- Albatross — 매우 효율적인 추론 (7B fp16 bsz960 = 5090에서 10250+ tps)
- RWKV-Runner — API가 있는 데스크톱 GUI
- RWKV pip package — 참조용(더 느린) pip 패키지
- RWKV-PEFT — RWKV 파인튜닝 (9GB VRAM으로 7B 파인튜닝 가능)
- RWKV-server — WebGPU 추론 (NVIDIA/AMD/Intel, nf4/int8/fp16)
파인튜닝 데이터 형식
권장 SFT 데이터 형식은 \n을 새 줄로 씁니다:
User: xxxxxxxxxxxxxxx
Assistant: xxxxxxxxxxxxxxx
User: xxxxxxxxxxxxxxx
Assistant: xxxxxxxxxxxxxxx
repeat로 과적합이 생기면 SFT 데이터를 3~4회 반복하고 base 데이터를 추가하며 make_data.py에서 1회만 반복하는 식으로 조절할 수 있어요. RWKV-7은 매우 안정적이고 spike-free입니다(0.1/0.4/1.5/2.9b에서 검증됨).
더 알아보기
- 아키텍처는 Architecture and papers 참고
- 모델 선택은 Model selection 참고
- 공식 사이트 https://rwkv.com/, 위키 https://wiki.rwkv.com/ 참고