토큰화부터 사전 학습, 파인튜닝, 평가, 채팅까지 LLM 파이프라인 전체를 다루는 간결하고 수정하기 쉬운 하네스이며, 단일 GPU 노드에서 실행할 수 있습니다.
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
CUDA 12.1 wheel을 사용해 PyTorch를 설치합니다
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121 - 2
학습 의존성을 설치합니다(pytorch-lightning은 1.9.5로 유지)
pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade - 3
RWKV-7 참조 학습 디렉터리로 이동합니다
cd RWKV-v7/train_temp/ - 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 통계는 매일 갱신됩니다.
관련 프로젝트
WebGPU와 OpenAI 호환 API를 사용해 브라우저에서 LLM 추론을 전부 실행하는 TypeScript 엔진입니다.
Mamba는 선택적 상태 공간 모델을 기반으로 한 PyTorch 시퀀스 모델링 아키텍처로, 언어를 비롯한 시퀀스 작업에서 Transformer를 대체할 선형 시간 연산 방식을 제공합니다.
『Build a Large Language Model (From Scratch)』의 공식 보조 코드로, PyTorch에서 GPT와 유사한 LLM을 단계별로 구현합니다.
Python과 PyTorch로 LLaMA 스타일의 소형 GPT를 처음부터 만들고 학습하는 12개 챕터 주석형 튜토리얼입니다.
Jan은 LLM을 로컬에서 다운로드하고 실행할 수 있는 오픈소스 데스크톱 앱으로, ChatGPT와 비슷한 인터페이스를 제공하며 선택적으로 클라우드 모델에 연결할 수 있습니다.