paint-brush
자신만의 지역 LLM을 운영하는 방법(2024년 업데이트)~에 의해@thomascherickal
19,583 판독값
19,583 판독값

자신만의 지역 LLM을 운영하는 방법(2024년 업데이트)

~에 의해 Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

이 기사에서는 Hugging Face Transformers, gpt4all, Ollama 및 localllm과 같은 Generative AI 모델을 로컬에서 사용하는 방법에 대한 자세한 가이드를 제공합니다. 창의적인 애플리케이션과 혁신적인 솔루션을 위해 AI의 힘을 활용하는 방법을 알아보세요.

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 자신만의 지역 LLM을 운영하는 방법(2024년 업데이트)
Thomas Cherickal HackerNoon profile picture
0-item

https://wallpapers.com/wallpapers/theoretical-physics-green-particles-ht1c16rgtu5ilkhc.html에서


올해는 제너레이티브 AI(Generative AI)의 획기적인 해입니다


잘; 최소한 올해에는 LLM 모델을 로컬에서 실행하는 방법에 대해 선택의 여지가 없었습니다.


시작하자:


1) 허깅페이스 트랜스포머:

Bing Image Creator로 생성된 모든 이미지

인터넷 접속 없이 오프라인으로 Hugging Face Transformers를 실행하려면 다음 단계를 따르십시오. 설치 중 자동 업데이트에 의존하지 않는 동시에 필요한 종속성을 갖춘 Transformers를 설치하십시오. Hugging Face 문서에 설명된 대로 pip 또는 conda를 통해 설치할 수 있습니다.


 pip install transformers==4.xy

인터넷 접속이 가능한 Hugging Face Hub에서 사전 훈련된 모델을 다운로드한 후 로컬 컴퓨터에서 로드하세요. save_pretrained()를 사용하여 모델을 저장한 다음 나중에 오프라인 모드에서 로드하세요.

 from transformers import AutoModelForSequenceClassification, BertTokenizerFast

처음으로 모델을 다운로드하고 저장합니다.

 model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") model.save_pretrained("/my/local/directory/bert-base-uncased")

나중에 저장된 모델을 오프라인으로 로드하세요.

 model = AutoModelForSequenceClassification.from_pretrained("/my/local/directory/bert-base-uncased") tokenizer = BertTokenizerFast.from_pretrained("/my/local/directory/bert-base-uncased")


오프라인 사용을 활성화하려면 환경 변수 TRANSFORMERS_OFFLINE 및 HF_DATASETS_OFFLINE을 설정하세요.

 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1

개별 파일을 다운로드하지 않으려면 모델 리포지토리를 직접 복제하세요.


 git clone https://huggingface.co/<username>/<repository> /my/local/directory


스크립트를 실행하려는 디렉터리에 필요한 모든 파일이 있는지 확인하세요. 모델을 로컬에서 아직 사용할 수 없는 경우 TRANSFORMERS_OFFLINE을 1로 설정하는 것만으로는 작동하지 않습니다. 인터넷 액세스를 통해 모델을 다운로드하고 로컬에 저장하거나 모델 리포지토리를 복제해야 합니다.




2) gpt4all


gpt4all은 누구나 GPT-3와 같은 강력한 AI 모델에 액세스하고 사용할 수 있는 오픈 소스 프로젝트입니다. 다음은 gpt4all 설치 및 사용에 대한 단계별 지침입니다.

  1. 설치:
  • gpt4all에는 Python 3.7 이상이 필요하며 몇 가지 Python 패키지 종속성이 필요합니다. gpt4all을 설치하는 가장 쉬운 방법은 pip를 사용하는 것입니다.
 pip install gpt4all
  1. API 키 받기:
  • gpt4all을 통해 모델에 액세스하려면 API 키가 필요합니다. https://platform.openai.com 에 가입하시면 무료 API 키를 받으실 수 있습니다.
  1. 인증 설정:
  • API 키가 있으면 API 키를 값으로 사용하여 OPENAI_API_KEY 라는 환경 변수를 설정합니다.
 export OPENAI_API_KEY="YOUR_API_KEY_HERE"
  1. gpt4all을 사용하십시오.
  • 이제 Python에서 gpt4all을 사용하여 GPT-3 및 기타 모델에 액세스할 준비가 되었습니다. 다음은 Davinci(GPT-3 버전)가 텍스트 구절을 요약하도록 유도하는 예입니다.
 from gpt4all import completions summary = completions.generate(engine="text-davinci-003", prompt="Summarize this text: [insert long text here]", max_tokens=50) print(summary.text)
  • 다양한 모델을 사용하는 방법에 대한 추가 예는 gpt4all 문서를 참조하세요.


3) 올라마


Ollamma는 GPT-3와 같은 대규모 언어 모델에 쉽게 액세스할 수 있는 오픈 소스 라이브러리입니다. 시스템 요구 사항, 설치 및 사용법에 대한 세부 정보는 다음과 같습니다.

시스템 요구 사항:

  • 파이썬 3.7 이상
  • 요청 라이브러리
  • 유효한 OpenAI API 키

설치:

 pip install ollamma

용법:

  1. API 키 설정
 import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
  1. 클라이언트 가져오기 및 만들기
 from ollamma import Client client = Client()
  1. 텍스트 생성
 response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)

생성 메소드를 사용하면 엔진, 프롬프트 및 최대 토큰과 같은 매개변수를 지정하여 요청을 구성할 수 있습니다.

엔진을 미세 조정하고 콘텐츠를 조정하는 등의 작업도 수행할 수 있습니다. 사용 가능한 모든 방법에 대한 자세한 내용은 Ollamma 설명서를 참조하세요.

요약하자면, Ollamma를 사용하면 설치 및 구성한 후 Python 코드 몇 줄만으로 GPT-3 및 기타 모델을 정말 쉽게 활용할 수 있습니다!


4) LM 스튜디오


LM Studio는 최첨단 언어 모델을 로컬에서 훈련, 평가 및 사용하는 프로세스를 간소화하는 오픈 소스 도구입니다. LM Studio를 로컬에서 실행하는 단계는 다음과 같습니다.


  1. 설치:
    LM Studio에는 Docker와 Docker Compose가 필요합니다. 설치하기 위해서:

ㅏ. 머신에 Docker 엔진 및 Docker Compose 설치
비. LM Studio GitHub 저장소를 복제합니다.
git clone https://github.com/lm-studio/lm-studio.git


  1. 구성:
    LM Studio는 config/ 폴더 아래의 구성 파일을 사용합니다. 일반적인 파일은 다음과 같습니다:

ㅏ. model.yaml : 모델 아키텍처 지정
비. training.yaml : 훈련 매개변수 설정
씨. evaluation.yaml : 평가 설정 조정


  1. LM 스튜디오 실행:
    기본 인터페이스는 Docker Compose를 통해 이루어집니다. 몇 가지 일반적인 명령:

ㅏ. 이미지 빌드: docker-compose build
비. 모든 서비스 시작: docker-compose up -d
씨. 로그 보기: docker-compose logs -f
디. 서비스 중지: docker-compose down


서비스는 UI, API, 노트북 등과 상호 작용하는 데 사용할 수 있는 다양한 포트를 노출합니다.

요약하면 LM Studio는 로컬 언어 모델 실험을 간소화합니다. 사용자는 저장소를 복제하고, 설정 파일을 구성하고, 간단한 Docker 명령을 사용하여 모델 훈련, 평가 및 사용을 시작하기만 하면 됩니다.


5) 로컬LM


나는 이것이 가장 편리하고 간단한 방법이라고 생각합니다. 전체 설명은 아래 링크에 나와 있습니다.

https://cloud.google.com/blog/products/application-development/new-localllm-lets-you-develop-gen-ai-apps-locally-without-gpus

요약:

Cloud Workstations와 결합된 localllm Google Cloud 환경 내 CPU 및 메모리에서 로컬로 LLM을 사용할 수 있도록 하여 AI 기반 애플리케이션 개발에 혁신을 가져옵니다. GPU의 필요성을 제거함으로써 GPU 부족으로 인한 문제를 극복하고 LLM의 잠재력을 최대한 활용할 수 있습니다. 향상된 생산성, 비용 효율성 및 향상된 데이터 보안을 통해 localllm을 사용하면 혁신적인 애플리케이션을 쉽게 구축할 수 있습니다.


6) 라마마.cpp

로컬 교육 및 추론을 위해 Llama.cpp를 설치하고 사용하려면 다음 단계를 따르세요.

종속성을 설치합니다.

 Python 3 CMake Optional (for GPU acceleration) NVIDIA drivers, CUDA, and cuDNN For Windows, use Visual Studio Community with Desktop C++ Environment and Python 3 Clone the repository:

git clone --recursive https://github.com/abetlen/llama-cpp-python.git GPU 가속을 사용하려면 저장소에 설명된 대로 환경 변수를 설정합니다(예: Linux의 경우).

 export CMAKE_ARGS="-DLLAMA_CUBLAS=ON" Install Llamma.cpp:

로컬 빌드 및 시스템 컴파일의 경우:

 cd llama-cpp-python pip install -e . For Windows, or if you want prebuilt binaries, consider the following: No GPU support: pip install llama-cpp-python[server]

선택적으로 다음 명령을 사용하여 고급 인터페이스를 사용합니다.

 python -m llama_cpp.server --model models/7B/llama-model.gguf With GPU support: set FORCE_CMAKE=1 set CMAKE_ARGS=-DLLAMA_CUBLAS=ON pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir

Windows의 경우 고급 인터페이스를 사용하려면 선택 사항입니다.

 python -m llama_cpp.server --model "path/to/your/model" Download and place Llama models in the models/ subdirectory within the Llama.cpp repository if they are not included (models like llama-model.gguf or ggml-* files are available on Hugging Face or GGML).


설치를 테스트합니다.


 The llama_cpp/llama_cpp.py script provides a simple high-level interface in Python. Replace llama-model.gguf with your downloaded Llama model to test inference. If you want to train your own Llama model, you'll need to train it according to the official documentation and manually convert the GGML files into GGUF files (for GPU deployment).



7) 오바구바

이것은 langchain을 사용하여 텍스트를 생성하기 위한 webui의 오픈 소스 그라디오 구현입니다.


README.md 파일에서 일부 발췌:

텍스트 생성-webui-확장

이것은 다음의 확장 디렉토리입니다. https://github.com/oobabooga/text- Generation-webui

자신만의 확장 프로그램을 만드는 경우 PR에서 이 목록에 제출할 수 있습니다.

장기 기억

채팅 모드에서 봇을 위한 장기 기억을 생성하는 정교한 확장 프로그램입니다.

https://github.com/wawawario2/long_term_memory

올톡TTS

AllTalk는 텍스트 생성 webUI용 Coqui_tts 확장과 유사한 Coqui TTS 엔진을 기반으로 하지만 다양한 고급 기능을 지원합니다.

  • 사용자 정의 시작 설정: 기본 시작 설정을 조정합니다. 스크린샷
  • 내레이터: 주인공과 내레이션에 서로 다른 목소리를 사용합니다. 예시 내레이션
  • 낮은 VRAM 모드: GPU 메모리가 작은 사람이나 VRAM이 LLM으로 채워지는 경우에 적합합니다. 스크린샷
  • DeepSpeed: TTS를 생성하는 3~4배 성능 향상입니다. DeepSpeed Windows/Linux 지침 스크린샷
  • 로컬/사용자 정의 모델: XTTSv2 모델(API 로컬 및 XTTSv2 로컬)을 사용합니다.
  • 선택적 wav 파일 유지 관리: 이전 출력 wav 파일을 삭제하도록 구성 가능합니다. 스크린샷
  • 미세 조정 더 나은 재현을 위해 선택한 음성에 맞게 모델을 구체적으로 훈련하세요.
  • 문서화: 내장된 웹페이지로 완벽하게 문서화되어 있습니다. 스크린샷
  • 콘솔 출력 경고나 문제에 대한 명령줄 출력을 지웁니다.
  • JSON 호출을 통한 API Suite 및 타사 지원 JSON 호출을 통해 타사 애플리케이션과 함께 사용할 수 있습니다.
  • 텍스트 생성-webui 내부뿐만 아니라 독립형 앱으로 실행할 수 있습니다 .

https://github.com/erew123/alltalk_tts

엣지GPT

봇의 빠른 인터넷 액세스를 위한 acheong08의 EdgeGPT 기반 텍스트 생성 Webui용 확장입니다.

https://github.com/GiusTex/EdgeGPT

XTTSv2

기본 저장소에 있는 coqui_tts 확장의 변형입니다. 둘 다 XTTSv2 모델을 사용하지만 이 모델에는 *별표* 사이에 작성된 텍스트에 대한 "내레이터" 기능이 있습니다.

https://github.com/kanttouchthis/text_ Generation_webui_xtts

작가들의 놀이터

이 확장은 상단 탭에 항상 표시되는 독립적인 고급 노트북을 제공합니다. 노트북에는 없는 많은 기능이 있습니다.

  • 모드에 관계없이 항상 존재하는 두 개의 독립적인 노트북 A와 B
  • 인라인 교육(텍스트 자체 내에서 질문을 하거나 작업을 제공하는 기능)
  • 선택 및 삽입 - 텍스트 중간에 텍스트를 생성합니다.
  • 영구 기억, 요약, 의역
  • LoRA-Rama - LoRA 체크포인트와 체크포인트 간 전환 기능을 보여줍니다.
  • LoRA 스케일링(실험적) - 슬라이더를 사용하여 LoRA 영향 조정

https://github.com/FartyPants/Playground

그리고 더 많은 탐색할 내용이 있습니다. 확인해 보세요:

https://github.com/oobabooga/text- Generation-webui-extensions



결론?


그리고 더 있습니다! 훨씬 더 많이! LangChain, llm, ollamma, 목록이 점점 더 커지고 있습니다!

아름다운 창의성이 빛나는 영광스러운 한 해가 되기를 바랍니다. 건배!