Petals: 대규모 언어 모델의 분산 공유 GPU 실행 및 미세 조정, BitTorrent 네트워크와 같은 GPU 리소스 공유

최신 AI 리소스9개월 전 업데이트 AI 공유 서클
2.5K 00

일반 소개

Petals는 빅사이언스 워크숍에서 분산 컴퓨팅 접근 방식을 통해 대규모 언어 모델(LLM)을 실행하기 위해 개발한 오픈 소스 프로젝트입니다. 사용자는 가정에서 소비자용 GPU 또는 Google Colab을 사용하여 Llama 3.1, Mixtral, Falcon, BLOOM과 같은 LLM을 실행하고 미세 조정할 수 있습니다. Petals는 BitTorrent와 유사한 접근 방식을 사용하여 모델의 여러 부분을 여러 사용자의 장치에 배포함으로써 효율적인 추론과 미세 조정을 가능하게 합니다.

Petals:分布式共享GPU运行和微调大语言模型,像BitTorrent网络一样共享GPU资源

 

기능 목록

  • 대규모 언어 모델 실행지원되는 모델: Llama 3.1(최대 405B), Mixtral(8x22B), Falcon(40B+) 및 BLOOM(176B) 모델.
  • 분산 추론최대 6 토큰/초(Llama 2 70B) 및 4 토큰/초(Falcon 180B)의 단일 배치 추론 속도로 분산 네트워크를 통해 모델을 실행합니다.
  • 빠른 미세 조정다양한 작업을 위해 사용자가 모델을 신속하게 미세 조정할 수 있도록 지원합니다.
  • 커뮤니티 중심GPU 리소스를 공유하는 사용자 커뮤니티에 의존하여 사용자는 자신의 GPU를 제공하여 Petals의 컴퓨팅 성능을 향상시킬 수 있습니다.
  • 유연한 API파이토치 및 트랜스포머와 유사한 유연한 API를 제공하며, 사용자 지정 경로와 숨겨진 상태 보기를 지원합니다.
  • 개인정보 보호데이터 처리는 공용 네트워크를 통해 이루어지며, 사용자는 민감한 데이터를 보호하기 위해 비공개 네트워크를 설정할 수 있습니다.

 

도움말 사용

설치 및 사용

  1. 종속성 설치::
    • Linux + 아나콘다::
      conda install pytorch pytorch-cuda=11.7 -c pytorch -c nvidia
      pip install git+https://github.com/bigscience-workshop/petals
      python -m petals.cli.run_server meta-llama/Meta-Llama-3.1-405B-Instruct
      
    • Windows + WSL다음을 참조하세요. Wiki.
    • Docker::
      sudo docker run -p 31330:31330 --ipc host --gpus all --volume petals-cache:/cache --rm \
      learningathome/petals:main \
      python -m petals.cli.run_server --port 31330 meta-llama/Meta-Llama-3.1-405B-Instruct
      
    • macOS + Apple M1/M2 GPU::
      brew install python
      python3 -m pip install git+https://github.com/bigscience-workshop/petals
      python3 -m petals.cli.run_server meta-llama/Meta-Llama-3.1-405B-Instruct
      
  2. 운영 모델::
    • 예를 들어 사용 가능한 모델 중 하나를 선택합니다:
      from transformers import AutoTokenizer
      from petals import AutoDistributedModelForCausalLM
      model_name = "meta-llama/Meta-Llama-3.1-405B-Instruct"
      tokenizer = AutoTokenizer.from_pretrained(model_name)
      model = AutoDistributedModelForCausalLM.from_pretrained(model_name)
      inputs = tokenizer("A cat sat", return_tensors="pt")["input_ids"]
      outputs = model.generate(inputs, max_new_tokens=5)
      print(tokenizer.decode(outputs[0]))
      
  3. 기여 GPU::
    • 사용자는 GPU를 연결하여 Petals의 연산 능력을 높일 수 있습니다. 모델 허브.

주요 기능

  1. 모델 선택액세스 꽃잎 웹 사이트에서 원하는 모델을 선택합니다.
  2. 모델 로드위의 설치 단계에 따라 모델을 로드하고 실행합니다.
  3. 모델 미세 조정꽃잎에서 제공하는 API를 사용하여 다양한 작업에 맞게 모델을 미세 조정할 수 있습니다.
  4. 텍스트 생성챗봇 및 대화형 애플리케이션을 위해 분산 네트워크를 통해 텍스트를 생성합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...