이미지 분류와 관련 비전 작업을 위한 Vision Transformer(ViT) 및 다양한 변형 모델의 PyTorch 구현체입니다.
lucidrains/vector-quantize-pytorch
VQ-VAE 같은 이산 잠재 모델을 학습하기 위한 벡터·잔차·스칼라·룩업 프리 양자화 레이어를 구현한 PyTorch 라이브러리입니다.
- 스타
- 4,019
- 포크
- 342
- 열린 이슈
- 74
- 마지막 커밋
- 29일 전
어떤 프로젝트인가요?
vector-quantize-pytorch는 PyTorch에서 바로 사용할 수 있는 양자화 레이어를 제공하는 Python 패키지입니다. 벡터 양자화는 연속적인 신경망 특성을 학습된 이산 코드 집합에 대응시키는 기법으로, 이미지·오디오·비디오 생성 모델인 VQ-VAE 등에 사용됩니다. 이 라이브러리는 논문을 참고해 레이어를 직접 구현하는 대신, 몇 줄의 코드로 모델에 추가할 수 있도록 관련 레이어를 패키징합니다.
핵심 클래스인 VectorQuantize는 지수 이동 평균으로 코드북을 업데이트하고 양자화된 출력, 코드 인덱스, 커밋먼트 손실을 반환합니다. 여기에 여러 양자화기를 쌓는 ResidualVQ와 GroupedResidualVQ가 제공되며, k-means 코드북 초기화, 코사인 유사도 거리, 사용되지 않는 코드 만료, 그래디언트 흐름을 위한 rotation trick 또는 DiVeQ 등의 옵션도 지원합니다. 다른 양자화 방식으로는 SimVQ, Finite Scalar Quantization(FSQ), Lookup-Free Quantization(LFQ), Latent Quantization, 음성 자기지도 학습용 random projection quantizer가 포함됩니다.
각 양자화기는 인덱스를 코드로 되돌리는 메서드를 제공하므로, 생성된 토큰을 디코딩할 때 유용합니다. 이 패키지는 pip로 설치할 수 있으며 MIT 라이선스로 배포됩니다.
핵심 기능
- 01EMA 코드북 업데이트와 커밋먼트 손실을 지원하는 벡터 양자화 레이어입니다.
- 02여러 코드북을 쌓는 잔차 및 그룹 잔차 양자화기입니다.
- 03k-means 초기화, 코사인 유사도 거리, 사용되지 않는 코드 만료 옵션을 제공합니다.
- 04straight-through estimator, rotation trick, DiVeQ를 비롯한 그래디언트 처리 방식을 지원합니다.
- 05FSQ, LFQ, Latent Quantization, SimVQ 등 스칼라 방식의 대안을 제공합니다.
활용 사례
- PyTorch에서 VQ-VAE 또는 VQ-GAN 방식의 이미지·오디오 토크나이저를 학습할 수 있습니다.
- 신경망 오디오 코덱용 잔차 양자화를 구현할 수 있습니다.
- 이산 표현 연구에서 코드북 붕괴를 완화하는 방법을 실험할 수 있습니다.
- 마스크 음성 사전 학습용 random projection quantizer를 만들 수 있습니다.
빠른 시작
- 1
PyPI에서 패키지를 설치합니다
pip install vector-quantize-pytorch - 2
VectorQuantize를 가져와 무작위 텐서에 적용합니다
사용 전 알아둘 점
- VQ 레이어만 제공되므로, 이를 둘러싼 모델은 직접 구성하고 학습해야 합니다.
- PyTorch가 필요하며, README 예제는 PyTorch가 정상적으로 설치되어 있다고 가정합니다.
토픽
자주 묻는 질문
- vector-quantize-pytorch은(는) 무엇인가요?
- VQ-VAE 같은 이산 잠재 모델을 학습하기 위한 벡터·잔차·스칼라·룩업 프리 양자화 레이어를 구현한 PyTorch 라이브러리입니다. vector-quantize-pytorch는 PyTorch에서 바로 사용할 수 있는 양자화 레이어를 제공하는 Python 패키지입니다. 벡터 양자화는 연속적인 신경망 특성을 학습된 이산 코드 집합에 대응시키는 기법으로, 이미지·오디오·비디오 생성 모델인 VQ-VAE 등에 사용됩니다. 이 라이브러리는 논문을 참고해 레이어를 직접 구현하는 대신, 몇 줄의 코드로 모델에 추가할 수 있도록 관련 레이어를 패키징합니다.
- vector-quantize-pytorch은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- vector-quantize-pytorch은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- vector-quantize-pytorch은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. vector-quantize-pytorch의 마지막 커밋은 2026년 9월 24일입니다.
- vector-quantize-pytorch은(는) 어디에 사용할 수 있나요?
- PyTorch에서 VQ-VAE 또는 VQ-GAN 방식의 이미지·오디오 토크나이저를 학습할 수 있습니다. 신경망 오디오 코덱용 잔차 양자화를 구현할 수 있습니다. 이산 표현 연구에서 코드북 붕괴를 완화하는 방법을 실험할 수 있습니다. 마스크 음성 사전 학습용 random projection quantizer를 만들 수 있습니다.
- vector-quantize-pytorch는 어떻게 설치하나요?
- PyPI에서 패키지를 설치합니다: pip install vector-quantize-pytorch VectorQuantize를 가져와 무작위 텐서에 적용합니다
- vector-quantize-pytorch은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/lucidrains/vector-quantize-pytorch
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
모바일, 임베디드 및 데스크톱 기기에서 딥러닝 모델을 실행하기 위한 고성능 C++ 신경망 추론 프레임워크입니다.
20개 이상의 오픈 웨이트 모델을 사전 학습, 파인튜닝, 평가, 서빙할 수 있는 PyTorch 기반 LLM 구현 툴킷입니다.
이미지 및 1D 시퀀스 생성 모델을 학습하기 위한 Denoising Diffusion Probabilistic Models의 PyTorch 구현입니다.
『Build a Large Language Model (From Scratch)』의 공식 보조 코드로, PyTorch에서 GPT와 유사한 LLM을 단계별로 구현합니다.
Microsoft가 제공하는 12주 24강 초급 AI 커리큘럼으로, 기호 AI, 신경망, 컴퓨터 비전, NLP, 윤리를 다루며 PyTorch와 TensorFlow 노트북을 제공합니다.