Introdução geral
KTransformers: uma estrutura Python de alto desempenho projetada para romper o gargalo da inferência de grandes modelos. O KTransformers é mais do que uma simples ferramenta de execução de modelos, é um conjunto de mecanismos de otimização de desempenho extremo e uma plataforma de capacitação de interface flexível. O KTransformers se dedica a melhorar a eficiência da inferência de modelos grandes de baixo para cima, acelerando significativamente a velocidade de inferência do modelo e reduzindo o limite de hardware por meio de otimização avançada do kernel, estratégias avançadas de paralelismo (multi-GPU, atenção esparsa) e outras tecnologias essenciais.
Além de simplesmente executar modelos, o KTransformers oferece uma gama completa de aprimoramentos de desempenho e escalabilidade de aplicativos. Além de obter uma interface nativa compatível com o Transformers para migrar perfeitamente seus projetos existentes, você também pode criar facilmente aplicativos compatíveis com o OpenAI e o Ollama serviços de API RESTful padrão para integração rápida em todos os tipos de aplicativos. Também fornecemos serviços prontos para uso ChatGPT Interface da Web de estilo para experiência rápida e teste dos efeitos do modelo sem configuração tediosa.
O KTransformers foi projetado para usuários que exigem mais desempenho. Seja você um desenvolvedor que busca o máximo em velocidade de raciocínio, um engenheiro que precisa implantar com eficiência aplicativos de modelos grandes ou um usuário que deseja experimentar facilmente modelos grandes de alto desempenho localmente, o KTransformers oferece um suporte avançado para liberar todo o potencial dos modelos grandes para impulsionar aplicativos inovadores.
Principais pontos fortes:
- Desempenho extremo: Otimizações em nível de kernel e estratégias paralelas trazemRaciocínio mais rápido em uma ordem de magnitude.
- Interfaces flexíveis: Interfaces compatíveis com Transformers, APIs RESTful e interfaces da Web.Atender às necessidades de diferentes cenários de aplicativos.
- Amplamente compatível: Suporte a várias GPUs, várias arquiteturas de CPU e vários macromodelos convencionais.Acomodar uma ampla gama de opções de hardware e modelagem.
- A facilidade de uso anda de mãos dadas com a capacidade de personalização: existenteConveniência pronta para usoTambém disponívelOpções de configuração avançadaspara atender às necessidades de otimização profunda dos usuários avançados.
Lista de funções
- Interface compatível com transformadores de alto desempenho O sistema de gerenciamento de arquivos: fornece uma interface totalmente compatível com a biblioteca Transformers.Migre projetos existentes a custo zero e aproveite as melhorias de desempenho instantaneamente!.
- Serviços de API RESTful flexíveis e fáceis de usar Seguindo os padrões da OpenAI e da Ollama.Crie rapidamente serviços de API escalonáveisOs produtos da empresa são projetados para serem facilmente integrados a uma variedade de aplicativos e plataformas.
- Interface da Web no estilo ChatGPT pronta para uso Interface amigável e interativa: fornece uma interface amigável e interativa.Código zero para experimentar e testar rapidamente o desempenho do modelopara facilitar a demonstração e a validação.
- Mecanismo de computação paralela multi-GPU :: Libere o poder de várias GPUsmelhorando linearmente a velocidade de inferência e reduzindo drasticamente o tempo de resposta.
- Otimização profunda do desempenho no nível do kernel Uso de técnicas avançadas de otimização do kernel.Aproveitamento do potencial do hardware de baixo para cimae obtendo um salto qualitativo no desempenho da inferência de modelos.
- Estrutura de atenção esparsa inteligente Suporte para o mecanismo de atenção esparsa em bloco.Espaço de memória significativamente reduzidoe suporta decodificação com eficiência de CPU.Eliminação de gargalos de hardware.
- Amplo suporte ecológico para modelos grandes Compatível com InternLM, DeepSeek-Coder, etc.Uma variedade de modelos grandes convencionais (em expansão contínua).Flexibilidade para escolher a melhor solução de modelagem.
- Raciocínio local leve e de alto desempenho Não há necessidade de hardware especializado caro.Desempenho superior de inferência em um ambiente de desktop comumreduzindo o limite de uso.
Usando a Ajuda
montagem
- armazém de clones ::
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
- Instalação de dependências ::
pip install -r requirements-local_chat.txt
- Instalação de KTransformers ::
python setup.py install
Primeiros passos
- Modelos de carregamento ::
from ktransformers import KTransformers
model = KTransformers(nome_do_modelo="nome_do_seu_modelo")
- Exemplo de raciocínio ::
input_text = "Olá, KTransformers!"
output = model.infer(input_text)
print(output)
- Usando a API RESTful : Inicie o serviço de API:
python -m ktransformers.api
Enviar solicitação:
curl -X POST "http://localhost:8000/infer" -d '{"text": "Hello, KTransformers!"}'
Recursos avançados
- Suporte a várias GPUs Edite o arquivo de configuração no diretório raiz do projeto
config.yaml
Especifique as configurações de várias GPUs para melhorar a velocidade de inferência. - pouca atenção Arquivo de configuração no diretório raiz do projeto
config.yaml
Adicione a configuração de atenção esparsa para otimizar o uso da memória, especialmente para ambientes com recursos limitados. - inferência local Arquivo de configuração no diretório raiz do projeto
config.yaml
Especifique os parâmetros de memória e memória de vídeo para uma inferência eficiente em um ambiente de desktop local, com suporte a 24 GB de VRAM e 150 GB de DRAM.
Detalhes de configuração
- Configuração de várias GPUs Editar arquivo de configuração
config.yaml
::
gpu.
- id: 0 Índice 0 do dispositivo de GPU #
- id: 1 Índice 1 do dispositivo de GPU #
- Possibilitando a atenção esparsa Adicione-o no arquivo de configuração:
atenção.
tipo: esparso
- Configurações de raciocínio local Memória de vídeo: Especifique os parâmetros de memória e memória de vídeo no arquivo de configuração:
Memória.
vram: limite de memória # de 24 GB (GB), ajustado de acordo com a situação real
dram: 150 GB Limite de memória # (GB), ajustado de acordo com a situação real