이 저장소는 LangChain과 함께 양자화된 오픈 소스 LLM(언어 모델 모델)을 기반으로 하는 애플리케이션 개발을 위한 실제 사례가 포함된 잠재적인 프레임워크를 제공합니다. 특히 이 가이드는 WizardLM 및 WizardLM-Mega와 같은 다양한 LLM의 4비트 양자화 GPTQ 변형의 구현 및 활용에 중점을 둡니다. 이 특정 주제에 전념하는 리소스는 온라인으로 제한되어 있지만 이 저장소는 이러한 격차를 해소하고 포괄적인 가이드를 제공하는 것을 목표로 합니다.
LLM을 로컬에서 실행하면 개인 정보 보호가 핵심 요소라는 점에서 수많은 이점을 얻을 수 있습니다. 데이터를 자체 하드웨어에 보관하면 외부 API에 의존하지 않고도 이러한 모델의 기능을 활용할 수 있으므로 데이터에 대한 제어력이 향상되고 흥미로운 애플리케이션을 개발할 수 있습니다.
nvidia-smi
명령이 작동해야 함)참고: Docker 지원이 추가됩니다.
현재 다음 GPTQ 모델이 지원됩니다.
langchain과 함께 GPTQ 모델을 사용하려면 몇 가지 중요한 단계가 있습니다:
quant_cuda
올바르게 설정하세요.demo.py
실행하고 LangChain과 함께 LLM을 사용할 수 있습니다.공식 사이트의 지침에 따라 Miniconda를 설치하십시오.
Conda가 올바르게 설정되었는지 확인하려면
$ conda --version
쉘에서 콘다 초기화
$ conda init
새 conda 환경을 생성합니다. 3.10.9
에서만 테스트되었으므로 지정된 Python 버전을 사용하십시오.
$ conda create -n wizardlm_langchain python=3.10.9
새 환경이 생성되면 활성화합니다.
$ conda activate wizardlm_langchain
위에서 설명한 2번부터 4번까지의 전체 프로세스는 setup.sh
bash 스크립트를 사용하여 자동화됩니다. 취향에 따라 자유롭게 수정해 보세요.
$ bash ./setup.sh
환경이 올바르게 설정된 경우 모든 단계는 이상적으로 오류 없이 실행되어야 합니다.
데모를 실행하는 동안 다음 예외가 발생하는 경우:
Exception: Error while deserializing header: HeaderTooLarge
그러면 모델이 완전히 다운로드되지 않았음을 의미하므로 setup.py
에 있는 git clone
명령을 사용하여 다시 다운로드해 볼 수 있습니다.
데모를 실행하기 전 처음 환경을 설정할 때 환경을 비활성화했다가 다시 활성화하는 것이 좋습니다.
데모를 실행하세요:
$ python demo.py
setup.sh
사용하면 기본적으로 WizardLM-7B-GPTQ 모델이 다운로드되지만 이 프로젝트에서 테스트한 다른 모델을 사용하려면 download_model.sh
스크립트를 사용할 수 있습니다.
$ download_model.sh < HUGGING FACE MODEL NAME >
# Example
$ ./download_model.sh " TheBloke/WizardLM-7B-uncensored-GPTQ "
참고: HF에서 전체 모델을 다운로드할 수 없는 경우 Git LFS가 올바르게 구성되었는지 확인하세요.
git lfs install
명령을 사용하면 작업이 완료되는 경우도 있습니다.
설정 프로세스가 완료되면 다음 단계에 따라 LangChain에서 GPTQ 모델을 사용할 수 있습니다.
전역적으로 사용하려면
wizardlm_langchain
프로젝트 루트 디렉토리를 PYTHONPATH에 추가해야 합니다.
사용 방법을 이해하려면 demo.py
스크립트 예제를 참조하세요.
이 저장소에 대한 기여를 환영합니다. 문제를 발견하거나 개선을 위한 제안 사항이 있으면 언제든지 문제를 공개하거나 풀 요청을 제출해 주세요.
기여할 때 다음 지침을 준수하십시오.
이 저장소는 GNU Public License에 따라 라이센스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
우리는 오픈 소스 커뮤니티와 이 저장소에 사용된 원래 GPTQ 모델 개발자의 기여에 감사를 표하고 싶습니다. oobabooga/text- Generation-webui 덕분에 그들의 작업은 langchain을 사용하여 GPTQ 모델을 설정하는 데 큰 도움이 되었습니다.