Repolode
lucidrains

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. 1

    PyPI에서 패키지를 설치합니다

    pip install vector-quantize-pytorch
  2. 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 통계는 매일 갱신됩니다.

관련 프로젝트