Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

Petals: execução distribuída de GPU compartilhada e ajuste fino de grandes modelos de linguagem, compartilhando recursos de GPU como uma rede BitTorrent

Introdução geral

O Petals é um projeto de código aberto desenvolvido pelo BigScience Workshop para executar grandes modelos de linguagem (LLMs) por meio de uma abordagem de computação distribuída. Os usuários podem executar e ajustar LLMs como Llama 3.1, Mixtral, Falcon e BLOOM em casa usando GPUs de nível de consumidor ou o Google Colab.O Petals usa uma abordagem semelhante ao BitTorrent para distribuir diferentes partes do modelo em vários dispositivos de usuários, permitindo inferência e ajuste fino eficientes.

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


 

Lista de funções

  • Execução de modelos de idiomas grandesLlama 3.1 (até 405B), Mixtral (8x22B), Falcon (40B+) e BLOOM (176B) são modelos suportados.
  • inferência distribuídaExecute o modelo por meio de uma rede distribuída com velocidades de inferência de lote único de até 6 tokens/seg (Llama 2 70B) e 4 tokens/seg (Falcon 180B).
  • Ajuste fino rápidoSuporte para o ajuste fino rápido de modelos pelo usuário para uma variedade de tarefas.
  • voltado para a comunidadeBaseando-se em uma comunidade de usuários que compartilham recursos de GPU, os usuários podem contribuir com suas próprias GPUs para aumentar a capacidade de computação do Petals.
  • API flexívelAPI flexível: fornece uma API flexível semelhante ao PyTorch e ao Transformers, com suporte para caminhos personalizados e visualização de estado oculto.
  • PrivacidadeProcessamento de dados: o processamento de dados ocorre em uma rede pública, e os usuários podem configurar redes privadas para proteger dados confidenciais.

 

Usando a Ajuda

Instalação e uso

  1. Instalação de dependências::
    • Linux + Anaconda::
      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: Consulte 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 + GPUs M1/M2 da Apple::
      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. modelo operacional::
    • Selecione qualquer um dos modelos disponíveis, por exemplo:
      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. Contribuição da GPU::
    • Os usuários podem aumentar o poder computacional do Petals conectando uma GPU. Modelo Hub.

Funções principais

  1. Selecione o modelo: Acesso Pétalas selecione o modelo desejado.
  2. Modelos de carregamentoCarregamento: Carregue e execute o modelo de acordo com as etapas de instalação acima.
  3. Ajuste fino do modeloUse a API fornecida pelo Petals para ajustar o modelo para uma variedade de tarefas.
  4. Gerar textoGeração de texto em redes distribuídas para chatbots e aplicativos interativos.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Petals: execução distribuída de GPU compartilhada e ajuste fino de grandes modelos de linguagem, compartilhando recursos de GPU como uma rede BitTorrent
pt_BRPortuguês do Brasil