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.
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
- 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 \ sala de aula/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
- Linux + Anaconda::
- modelo operacional::
- Selecione qualquer um dos modelos disponíveis, por exemplo:
from transformers import AutoTokenizer from petals import AutoDistributedModelForCausalLM nome_do_modelo = "meta-llama/Meta-Llama-3.1-405B-Instruct" tokenizer = AutoTokenizer.from_pretrained(nome_do_modelo) model = AutoDistributedModelForCausalLM.from_pretrained(nome_do_modelo) inputs = tokeniser("A cat sat", return_tensors="pt")["input_ids"] outputs = model.generate(inputs, max_new_tokens=5) print(tokeniser.decode(outputs[0]))
- Selecione qualquer um dos modelos disponíveis, por exemplo:
- Contribuição da GPU::
- Os usuários podem aumentar o poder computacional do Petals conectando uma GPU. Modelo Hub.
Funções principais
- Selecione o modelo: Acesso Pétalas selecione o modelo desejado.
- Modelos de carregamentoCarregamento: Carregue e execute o modelo de acordo com as etapas de instalação acima.
- Ajuste fino do modeloUse a API fornecida pelo Petals para ajustar o modelo para uma variedade de tarefas.
- Gerar textoGeração de texto em redes distribuídas para chatbots e aplicativos interativos.