Introdução geral
O Aphrodite Engine é o mecanismo de back-end oficial do PygmalionAI, projetado para fornecer um ponto de extremidade de inferência para sites do PygmalionAI e oferecer suporte à rápida implementação de modelos compatíveis com o Hugging Face. O mecanismo aproveita a tecnologia Paged Attention do vLLM para permitir o gerenciamento eficiente de K/V e o processamento sequencial em lote, o que melhora significativamente a velocidade de inferência e a utilização da memória. O aphrodite Engine oferece suporte a uma ampla variedade de formatos de quantização e inferência distribuída, e é adequado para uma ampla variedade de dispositivos modernos de GPU e TPU.
Lista de funções
- Processamento contínuo em loteTratamento eficiente de várias solicitações e aumento da velocidade de inferência.
- Atenção PagedOtimização do gerenciamento de K/V para melhorar a utilização da memória.
- Kernel otimizado para CUDAMelhoria do desempenho da inferência.
- Suporte quantitativoSuporte a vários formatos de quantificação, como AQLM, AWQ, Bitsandbytes, etc.
- inferência distribuídaSuporte ao cache KV de 8 bits para requisitos de alto comprimento de contexto e alta taxa de transferência.
- Suporte a vários dispositivosCompatível com GPUs NVIDIA, AMD, Intel e TPUs do Google.
- Implementação do DockerFornecimento de imagens do Docker para simplificar o processo de implantação.
- Compatível com APISuporte a APIs compatíveis com OpenAI para facilitar a integração com os sistemas existentes.
Usando a Ajuda
Processo de instalação
- Instalação de dependências::
- Certifique-se de que as versões 3.8 a 3.12 do Python estejam instaladas em seu sistema.
- Para usuários do Linux, o seguinte comando é recomendado para instalar as dependências:
sudo apt update && sudo apt install python3 python3-pip git wget curl bzip2 tar
- Para usuários do Windows, recomenda-se a instalação do WSL2:
wsl --install sudo apt update && sudo apt install python3 python3-pip git wget curl bzip2 tar
- Instalação do motor Aphrodite::
- Use o pip para instalar:
pip install -U aphrodite-engine
- modelo de priming::
- Execute o seguinte comando para iniciar o modelo:
bash
aphrodite run meta-llama/Meta-Llama-3.1-8B-Instruct
- Isso criará um servidor de API compatível com o OpenAI com uma porta padrão de 2242.
- Execute o seguinte comando para iniciar o modelo:
Implementação com o Docker
- Extração de uma imagem do Docker::
docker pull alpindale/aphrodite-openai:latest
- Executando um contêiner do Docker::
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 2242:2242 \
--ipc=host \
alpindale/aphrodite-openai:latest \
--model NousResearch/Meta-Llama-3.1-8B-Instruct \
--tensor-parallel-size 8 \
--api-keys "sk-empty"
Funções principais
- Processamento contínuo em lote::
- O Aphrodite Engine melhora significativamente a velocidade de inferência por meio da tecnologia de processamento contínuo em lote, que permite que várias solicitações sejam processadas ao mesmo tempo. Os usuários simplesmente especificam os parâmetros de processamento em lote na inicialização.
- Atenção Paged::
- Essa tecnologia otimiza o gerenciamento de K/V e melhora a utilização da memória. Não é necessária nenhuma configuração adicional por parte do usuário e a otimização é aplicada automaticamente pelo sistema.
- Suporte quantitativo::
- Há suporte para vários formatos de quantificação, como AQLM, AWQ, Bitsandbytes, etc. O usuário pode especificar o formato de quantificação desejado ao iniciar o modelo:
aphrodite run --quant-format AQLM meta-llama/Meta-Llama-3.1-8B-Instruct
- inferência distribuída::
- Oferece suporte ao cache KV de 8 bits para requisitos de alto comprimento de contexto e alta taxa de transferência. Os usuários podem iniciar o raciocínio distribuído com o seguinte comando:
aphrodite run --tensor-parallel-size 8 meta-llama/Meta-Llama-3.1-8B-Instruct
- Integração de API::
- O Aphrodite Engine fornece APIs compatíveis com OpenAI para facilitar a integração com os sistemas existentes. Os usuários podem iniciar o servidor de API com o seguinte comando:
bash
aphrodite run --api-keys "your-api-key" meta-llama/Meta-Llama-3.1-8B-Instruct
- O Aphrodite Engine fornece APIs compatíveis com OpenAI para facilitar a integração com os sistemas existentes. Os usuários podem iniciar o servidor de API com o seguinte comando: