Ejecute modelos de lenguaje grandes en casa, al estilo BitTorrent.
Ajuste e inferencia hasta 10 veces más rápido que la descarga
Genere texto con Llama 3.1 distribuido (hasta 405B), Mixtral (8x22B), Falcon (40B+) o BLOOM (176B) y ajústelos para sus propias tareas, directamente desde su computadora de escritorio o Google Colab:
from transformers import AutoTokenizer
from petals import AutoDistributedModelForCausalLM
# Choose any model available at https://health.petals.dev
model_name = "meta-llama/Meta-Llama-3.1-405B-Instruct"
# Connect to a distributed network hosting model layers
tokenizer = AutoTokenizer . from_pretrained ( model_name )
model = AutoDistributedModelForCausalLM . from_pretrained ( model_name )
# Run the model as if it were on your computer
inputs = tokenizer ( "A cat sat" , return_tensors = "pt" )[ "input_ids" ]
outputs = model . generate ( inputs , max_new_tokens = 5 )
print ( tokenizer . decode ( outputs [ 0 ])) # A cat sat on a mat...
Pruébalo ahora en Colab
? ¿Quieres ejecutar Llama? Solicite acceso a sus pesos, luego ejecute huggingface-cli login
en la terminal antes de cargar el modelo. O simplemente pruébalo en nuestra aplicación de chatbot.
? Privacidad. Sus datos serán procesados con la ayuda de otras personas del enjambre público. Obtenga más información sobre la privacidad aquí. Para datos confidenciales, puede configurar un enjambre privado entre personas de su confianza.
¿Alguna pregunta? ¡Envíanos un ping en nuestro Discord!
Petals es un sistema administrado por la comunidad: dependemos de que las personas compartan sus GPU. ¿Puedes ayudar a servir uno de los modelos disponibles o alojar un nuevo modelo desde ? ¡Centro de modelos!
Como ejemplo, aquí se explica cómo alojar una parte de Llama 3.1 (405B) Instruct en su GPU:
? ¿Quieres hospedar a Llama? Solicite acceso a sus pesos, luego ejecute huggingface-cli login
en la terminal antes de cargar el modelo.
? Linux + Anaconda. Ejecute estos comandos para GPU NVIDIA (o siga esto para AMD):
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. Siga esta guía en nuestra Wiki.
? Estibador. Ejecute nuestra imagen de Docker para GPU NVIDIA (o siga esto para AMD):
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 + GPU Apple M1/M2. Instale Homebrew, luego ejecute estos comandos:
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
Obtenga más información (cómo utilizar varias GPU, iniciar el servidor al arrancar, etc.)
Seguridad. Alojar un servidor no permite que otros ejecuten código personalizado en su computadora. Obtenga más información aquí.
¿Alguna pregunta? ¡Envíanos un ping en nuestro Discord!
? ¡Gracias! Una vez que cargue y aloje más de 10 bloques, podemos mostrar su nombre o enlace en el monitor del enjambre como una forma de agradecerle. Puedes especificarlos con --public_name YOUR_NAME
.
Leer artículo Ver preguntas frecuentes
Tutoriales básicos:
Herramientas útiles:
Guías avanzadas:
Consulte la Sección 3.3 de nuestro documento.
Consulte nuestras preguntas frecuentes sobre cómo contribuir.
Alexander Borzunov, Dmitry Baranchuk, Tim Dettmers, Max Ryabinin, Younes Belkada, Artem Chumachenko, Pavel Samygin y Colin Raffel. Pétalos: inferencia colaborativa y ajuste de modelos grandes. Actas de la 61ª Reunión Anual de la Asociación de Lingüística Computacional (Volumen 3: Demostraciones de sistemas). 2023.
@inproceedings { borzunov2023petals ,
title = { Petals: Collaborative Inference and Fine-tuning of Large Models } ,
author = { Borzunov, Alexander and Baranchuk, Dmitry and Dettmers, Tim and Riabinin, Maksim and Belkada, Younes and Chumachenko, Artem and Samygin, Pavel and Raffel, Colin } ,
booktitle = { Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations) } ,
pages = { 558--568 } ,
year = { 2023 } ,
url = { https://arxiv.org/abs/2209.01188 }
}
Alexander Borzunov, Max Ryabinin, Artem Chumachenko, Dmitry Baranchuk, Tim Dettmers, Younes Belkada, Pavel Samygin y Colin Raffel. Inferencia distribuida y ajuste de grandes modelos de lenguaje a través de Internet. Avances en los sistemas de procesamiento de información neuronal 36 (2023).
@inproceedings { borzunov2023distributed ,
title = { Distributed inference and fine-tuning of large language models over the {I}nternet } ,
author = { Borzunov, Alexander and Ryabinin, Max and Chumachenko, Artem and Baranchuk, Dmitry and Dettmers, Tim and Belkada, Younes and Samygin, Pavel and Raffel, Colin } ,
booktitle = { Advances in Neural Information Processing Systems } ,
volume = { 36 } ,
pages = { 12312--12331 } ,
year = { 2023 } ,
url = { https://arxiv.org/abs/2312.08361 }
}
Este proyecto es parte del taller de investigación BigScience.