RWKV-LM — 훈련과 추론 사용법

RWKV-LM — 훈련과 추론 사용법

RWKV 공식 훈련 코드는 GitHub 저장소 RWKV/RWKV-LM 에 있어요. RWKV-7 'Goose'는 이 시점에 현존하는 가장 강한 선형 시간·상수 공간(no kv-cache)·어텐션 프리·100% RNN 아키텍처로, LLM과 멀티모달 애플리케이션에 적합합니다.

출처: https://github.com/RWKV/RWKV-LM

중요: 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.shdemo-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에서 검증됨).

더 알아보기