Repolode
BlinkDL

BlinkDL/RWKV-LM

GPT 트랜스포머처럼 병렬 학습도 가능한 RNN 스타일 언어 모델 아키텍처 RWKV의 공식 학습 및 레퍼런스 코드입니다.

스타
14,757
포크
1,025
열린 이슈
159
마지막 커밋
23일 전

어떤 프로젝트인가요?

RWKV-LM은 순환 신경망이면서 트랜스포머처럼 병렬로 학습할 수 있는 언어 모델 아키텍처 RWKV의 주요 학습 및 레퍼런스 저장소입니다. 현재 프로젝트는 RWKV-7 "Goose" 버전이며, README에서는 어텐션을 사용하지 않고 시간 복잡도가 선형이며 메모리 사용량이 일정하고 KV 캐시가 필요 없는 설계를 설명합니다. 추론 시 토큰마다 고정 크기의 hidden state만 전달하므로 컨텍스트 길이가 늘어나도 메모리 사용량은 증가하지 않습니다.

저장소에는 RWKV-7 레퍼런스 학습 구현(train_temp), 고속 CUDA 커널, GPT 스타일·RNN·결합 모드용 데모 스크립트와 이전 버전인 RWKV-4, 5, 6 코드가 포함되어 있습니다. 또한 jsonl 데이터를 binidx 형식으로 준비하는 방법, DeepSpeed 및 PyTorch Lightning 학습 설정, 안정적인 학습을 재현하기 위한 초기화 및 weight decay 규칙도 문서화되어 있습니다.

연결된 생태계에는 RWKV pip 패키지, GGUF 가중치, 모바일 및 WebGPU 추론 프로젝트, 그리고 다른 기여자들이 관리하는 PEFT 및 RLHF 구현 등의 파인튜닝 도구가 포함됩니다.

핵심 기능

  • 01GPT 스타일의 병렬 학습과 RNN 스타일의 일정한 메모리 사용량을 유지하는 추론을 지원합니다.
  • 02RWKV-7 레퍼런스 학습 구현과 CUDA 커널을 제공합니다.
  • 03GPT, RNN 및 결합 추론 모드용 데모 스크립트를 포함합니다.
  • 04jsonl에서 binidx로 데이터를 준비하는 방법과 DeepSpeed 기반 학습을 문서화합니다.
  • 05처음부터 안정적으로 학습하기 위한 초기화 및 weight decay 지침을 제공합니다.

활용 사례

  • 어텐션을 사용하지 않는 시퀀스 모델이나 시간 복잡도가 선형인 시퀀스 모델을 연구할 때.
  • 레퍼런스 코드로 단일 GPU에서 커스텀 RWKV 언어 모델을 학습할 때.
  • KV 캐시 메모리가 제약이 되는 긴 컨텍스트 추론을 실행할 때.
  • 엣지 또는 온디바이스 배포를 위한 트랜스포머의 RNN 기반 대안을 살펴볼 때.

빠른 시작

  1. 1

    CUDA 12.1 wheel을 사용해 PyTorch를 설치합니다

    pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121
  2. 2

    학습 의존성을 설치합니다(pytorch-lightning은 1.9.5로 유지)

    pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade
  3. 3

    RWKV-7 참조 학습 디렉터리로 이동합니다

    cd RWKV-v7/train_temp/
  4. 4

    MiniPile 데이터를 train_temp/data에 다운로드한 다음 준비 스크립트를 실행합니다

    sh ./demo-training-prepare.sh

사용 전 알아둘 점

  • 학습에는 NVIDIA CUDA GPU가 필요합니다. 기본 설정은 약 7 GB의 VRAM을 사용합니다.
  • 참조 학습 코드는 pytorch-lightning을 1.9.5로 고정하며 DeepSpeed와 CUDA 커널에 의존합니다.
  • README에 따르면 FLA의 RWKV-7 구현은 참조 구현과 일치하지 않고 성능도 더 낮으며, 간단히 교체해 사용할 수 있는 RWKV-7 레이어도 없습니다.

토픽

자주 묻는 질문

RWKV-LM은(는) 무엇인가요?
GPT 트랜스포머처럼 병렬 학습도 가능한 RNN 스타일 언어 모델 아키텍처 RWKV의 공식 학습 및 레퍼런스 코드입니다. RWKV-LM은 순환 신경망이면서 트랜스포머처럼 병렬로 학습할 수 있는 언어 모델 아키텍처 RWKV의 주요 학습 및 레퍼런스 저장소입니다. 현재 프로젝트는 RWKV-7 "Goose" 버전이며, README에서는 어텐션을 사용하지 않고 시간 복잡도가 선형이며 메모리 사용량이 일정하고 KV 캐시가 필요 없는 설계를 설명합니다. 추론 시 토큰마다 고정 크기의 hidden state만 전달하므로 컨텍스트 길이가 늘어나도 메모리 사용량은 증가하지 않습니다.
RWKV-LM은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
RWKV-LM은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
RWKV-LM은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. RWKV-LM의 마지막 커밋은 2026년 9월 28일입니다.
RWKV-LM은(는) 어디에 사용할 수 있나요?
어텐션을 사용하지 않는 시퀀스 모델이나 시간 복잡도가 선형인 시퀀스 모델을 연구할 때. 레퍼런스 코드로 단일 GPU에서 커스텀 RWKV 언어 모델을 학습할 때. KV 캐시 메모리가 제약이 되는 긴 컨텍스트 추론을 실행할 때. 엣지 또는 온디바이스 배포를 위한 트랜스포머의 RNN 기반 대안을 살펴볼 때.
RWKV-LM는 어떻게 설치하나요?
CUDA 12.1 wheel을 사용해 PyTorch를 설치합니다: pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121 학습 의존성을 설치합니다(pytorch-lightning은 1.9.5로 유지): pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade RWKV-7 참조 학습 디렉터리로 이동합니다: cd RWKV-v7/train_temp/ MiniPile 데이터를 train_temp/data에 다운로드한 다음 준비 스크립트를 실행합니다: sh ./demo-training-prepare.sh
RWKV-LM은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/BlinkDL/RWKV-LM

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트