Mâncio é um provedor global de plataforma em nuvem para criar aplicativos de IA e gerenciá-los em escala. A plataforma de desenvolvimento de ponta a ponta da Mantium permite que empresas e negócios de todos os tamanhos criem aplicativos de IA e automação de maneira mais rápida e fácil do que era tradicionalmente possível. Com a Mantium, equipes técnicas e não técnicas podem prototipar, desenvolver, testar e implantar aplicativos de IA, tudo com uma abordagem low-code. Por meio de recursos automáticos de registro, monitoramento e segurança, a Mantium também libera software e engenheiros de DevOps de gastar seu tempo reinventando a roda. Em alto nível, o Mantium oferece:
- IA de última geração – Experimente e desenvolva com uma ampla seleção de modelos de linguagem grande de código aberto e privado com uma interface de usuário ou API simples.
- Automação de processos de IA – Crie facilmente aplicativos orientados por IA com uma biblioteca crescente de integrações e o AI Builder gráfico da Mantium.
- Desenvolvimento rápido – Reduza o cronograma de produção de meses para semanas ou até dias com a implantação de um clique. Esse recurso transforma aplicativos de IA em aplicativos da Web compartilháveis com um clique.
- Segurança e regulamentação – Garantir a segurança e o cumprimento das políticas de governança e suporte aos processos human-in-the-loop.
Com o Mantium AI Builder, você pode desenvolver fluxos de trabalho sofisticados que integram APIs externas, operações lógicas e modelos de IA. A captura de tela a seguir mostra um exemplo do aplicativo Mantium AI, que encadeia uma entrada Twilio, política de governança, bloco AI (que pode contar com um modelo de código aberto como GPT-J) e saída Twilio.
Para oferecer suporte a este aplicativo, a Mantium fornece acesso abrangente e uniforme não apenas a APIs de modelos de provedores de IA, como Open AI, Co:here e AI21, mas também a modelos de código aberto de última geração. Na Mantium, acreditamos que qualquer pessoa deve ser capaz de criar aplicativos modernos de IA próprios, de ponta a ponta, e apoiamos isso fornecendo acesso sem código e com pouco código a modelos de código aberto com desempenho otimizado.
Por exemplo, um dos principais modelos de código aberto da Mantium é GPT-J, um modelo de processamento de linguagem natural (NLP) de última geração desenvolvido por Eleuther AI. Com 6 bilhões de parâmetros, o GPT-J é um dos modelos de geração de texto de código aberto maiores e com melhor desempenho. Os usuários do Mantium podem integrar o GPT-J em seus aplicativos de IA por meio do AI Builder do Mantium. No caso do GPT-J, isso envolve especificar um pronto (uma representação em linguagem natural do que o modelo deve fazer) e configurar alguns parâmetros opcionais.
Por exemplo, a captura de tela a seguir mostra uma demonstração abreviada de um prompt de análise de sentimentos que produz explicações e previsões de sentimentos. Neste exemplo, o autor escreveu que a “comida estava maravilhosa” e que seu “serviço foi extraordinário”. Portanto, este texto expressa um sentimento positivo.
No entanto, um desafio com os modelos de código aberto é que eles raramente são projetados para desempenho de nível de produção. No caso de modelos grandes como GPT-J, isso pode tornar a implantação de produção impraticável e até inviável, dependendo do caso de uso.
Para garantir que nossos usuários tenham acesso ao melhor desempenho da categoria, estamos sempre procurando maneiras de diminuir a latência de nossos modelos principais. Neste post, descrevemos os resultados de um experimento de otimização de inferência no qual usamos o mecanismo de inferência do DeepSpeed para aumentar a velocidade de inferência do GPT-J em aproximadamente 116%. Também descrevemos como implantamos a implementação do Hugging Face Transformers do GPT-J com DeepSpeed em nosso Amazon Sage Maker terminais de inferência.
Visão geral do modelo GPT-J
O GPT-J é um modelo de linguagem generativo pré-treinado (GPT) e, em termos de arquitetura, é comparável a modelos de linguagem populares, privados e grandes, como o GPT-3 da Open AI. Conforme observado anteriormente, ele consiste em aproximadamente 6 bilhões de parâmetros e 28 camadas, que consistem em um bloco feedforward e um bloco de autoatenção. Quando foi lançado, o GPT-J foi um dos primeiros grandes modelos de linguagem a usar embutidos rotativos, uma nova estratégia de codificação de posição que unifica codificadores de posição absoluta e relativa. Ele também emprega uma estratégia de paralelização inovadora onde camadas densas e feedforward são combinadas em uma única camada, o que minimiza a sobrecarga de comunicação.
Embora o GPT-J possa não se qualificar como grande para os padrões atuais - modelos grandes geralmente consistem em mais de 100 bilhões de parâmetros - ainda tem um desempenho impressionante e, com alguma engenharia imediata ou ajuste mínimo, você pode usá-lo para resolver muitos problemas. Além disso, seu tamanho relativamente modesto significa que você pode implantá-lo mais rapidamente e a um custo muito menor do que os modelos maiores.
Dito isto, o GPT-J ainda é muito grande. Por exemplo, treinar GPT-J no FP32 com atualizações de peso total e o otimizador Adam requer mais de 200 GB de memória: 24 GB para os parâmetros do modelo, 24 GB para os gradientes, 24 GB para os gradientes quadrados de Adam, 24 GB para os estados do otimizador, e os requisitos de memória adicionais para carregar lotes de treinamento e armazenar ativações. É claro que o treinamento no FP16 reduz esses requisitos de memória quase pela metade, mas um espaço de memória de mais de 100 GB ainda exige estratégias de treinamento inovadoras. Por exemplo, em colaboração com SageMaker, a equipe de PNL da Mantium desenvolveu um de gestão de documentos para treinamento (ajuste fino) GPT-J usando a biblioteca paralela de modelo distribuído SageMaker.
Por outro lado, servir GPT-J para inferência tem requisitos de memória muito menores – no FP16, os pesos de modelo ocupam menos de 13 GB, o que significa que a inferência pode ser facilmente conduzida em uma única GPU de 16 GB. No entanto, inferência com implementações prontas para uso do GPT-J, como os Hugging Face Transformers implementação que usamos, é relativamente lento. Para oferecer suporte a casos de uso que exigem geração de texto altamente responsiva, nos concentramos em reduzir a latência de inferência do GPT-J.
Desafios de latência de resposta do GPT-J
A latência de resposta é um obstáculo central para os transformadores pré-treinados generativos (GPTs), como o GPT-J, que alimentam a geração de texto moderna. Os modelos GPT geram texto por meio de sequências de etapas de inferência. Em cada etapa de inferência, o modelo recebe um texto como entrada e, condicionalmente a essa entrada, ele amostra uma palavra de seu vocabulário para anexar ao texto. Por exemplo, dada a sequência de tokens “Preciso de um guarda-chuva porque está”, um próximo token de alta probabilidade pode estar “chovendo”. No entanto, também pode ser “ensolarado” ou “encadernado”, o que pode ser o primeiro passo para uma sequência de texto como “Preciso de um guarda-chuva porque está prestes a começar a chover”.
Cenários como esse levantam alguns desafios interessantes para a implantação de modelos GPT porque os casos de uso do mundo real podem envolver dezenas, centenas ou até milhares de etapas de inferência. Por exemplo, gerar uma resposta de 1,000 tokens requer 1,000 etapas de inferência! Assim, embora um modelo possa oferecer velocidades de inferência que parecem rápidas o suficiente isoladamente, é fácil para a latência atingir níveis insustentáveis quando textos longos são gerados. Observamos uma latência média de 280 milissegundos por etapa de inferência em uma GPU V100. Isso pode parecer rápido para um modelo de parâmetros de 6.7 bilhões, mas com essas latências, leva aproximadamente 30 segundos para gerar uma resposta de 500 tokens, o que não é ideal do ponto de vista da experiência do usuário.
Otimizando velocidades de inferência com DeepSpeed Inference
Velocidade Profunda é uma biblioteca de otimização de aprendizado profundo de código aberto desenvolvida pela Microsoft. Embora se concentre principalmente na otimização do treinamento de modelos grandes, o DeepSpeed também fornece uma estrutura de otimização de inferência que suporta um conjunto selecionado de modelos, incluindo BERT, Megatron, GPT-Neo, GPT2 e GPT-J. O DeepSpeed Inference facilita a inferência de alto desempenho com grandes arquiteturas baseadas em Transformer por meio de uma combinação de paralelismo de modelo, kernels CUDA otimizados para inferência e quantização.
Para aumentar a velocidade de inferência com o GPT-J, usamos o mecanismo de inferência do DeepSpeed para injetar kernels CUDA otimizados na implementação do Hugging Face Transformers GPT-J.
Para avaliar os benefícios de velocidade do mecanismo de inferência do DeepSpeed, realizamos uma série de testes de latência nos quais cronometramos o GPT-J em várias configurações. Especificamente, variamos se o DeepSpeed foi ou não usado, hardware, comprimento da sequência de saída e comprimento da sequência de entrada. Nós nos concentramos no comprimento da sequência de saída e entrada, porque ambos afetam a velocidade de inferência. Para gerar uma sequência de saída de 50 tokens, o modelo deve realizar 50 etapas de inferência. Além disso, o tempo necessário para realizar uma etapa de inferência depende do tamanho da sequência de entrada – entradas maiores exigem mais tempo de processamento. Embora o efeito do tamanho da sequência de saída seja muito maior do que o efeito do tamanho da sequência de entrada, ainda é necessário levar em conta ambos os fatores.
Em nosso experimento, usamos o seguinte design:
- Mecanismo de inferência DeepSpeed - Ligado desligado
- Hardware – T4 (ml.g4dn.2xgrande), V100 (ml.p3.2xgrande)
- Comprimento da sequência de entrada - 50, 200, 500, 1000
- Comprimento da sequência de saída - 50, 100, 150, 200
No total, esse design tem 64 combinações desses quatro fatores e, para cada combinação, executamos 20 testes de latência. Cada teste foi executado em um endpoint de inferência SageMaker pré-inicializado, garantindo que nossos testes de latência reflitam os tempos de produção, incluindo trocas de API e pré-processamento.
Nossos testes demonstram que o mecanismo de inferência GPT-J do DeepSpeed é substancialmente mais rápido do que a implementação básica do Hugging Face Transformers PyTorch. A figura a seguir ilustra as latências médias de geração de texto para GPT-J com e sem aceleração DeepSpeed em endpoints de inferência ml.g4dn.2xlarge e ml.p3.2xlarge SageMaker.
Na instância ml.g4dn.2xlarge, que é equipada com uma GPU NVIDIA T16 de 4 GB, observamos uma redução de latência média de aproximadamente 24% [Desvio Padrão (SD) = 0.05]. Isso correspondeu a um aumento de uma média de 12.5 (SD = 0.91) tokens por segundo para uma média de 16.5 (SD = 2.13) tokens por segundo. Notavelmente, o efeito de aceleração do DeepSpeed foi ainda mais forte na instância ml.p3.2xlarge, que é equipada com uma GPU NVIDIA V100. Nesse hardware, observamos uma redução de latência média de 53% (SD = 07). Em termos de tokens por segundo, isso correspondeu a um aumento de uma média de 21.9 (SD = 1.97) tokens por segundo para uma média de 47.5 (SD = 5.8) tokens por segundo.
Também observamos que a aceleração oferecida pelo DeepSpeed atenuou ligeiramente em ambas as configurações de hardware à medida que o tamanho das sequências de entrada crescia. No entanto, em todas as condições, a inferência com as otimizações de GPT-J do DeepSpeed ainda foi substancialmente mais rápida do que a linha de base. Por exemplo, na instância g4dn, as reduções de latência máxima e mínima foram 31% (tamanho da sequência de entrada = 50) e 15% (tamanho da sequência de entrada = 1000), respectivamente. E na instância p3, as reduções de latência máxima e mínima foram de 62% (tamanho da sequência de entrada = 50) e 40% (tamanho da sequência de entrada = 1000), respectivamente.
Implantando GPT-J com DeepSpeed em um endpoint de inferência do SageMaker
Além de aumentar drasticamente as velocidades de geração de texto para GPT-J, o mecanismo de inferência do DeepSpeed é simples de integrar a um endpoint de inferência do SageMaker. Antes de adicionar o DeepSpeed à nossa pilha de inferência, nossos endpoints estavam sendo executados em uma imagem personalizada do Docker baseada em uma imagem oficial do PyTorch. O SageMaker facilita muito a implantação de endpoints de inferência personalizados, e a integração do DeepSpeed foi tão simples quanto incluir a dependência e escrever algumas linhas de código. O guia de código aberto para o fluxo de trabalho de implantação para implantar GPT-J com DeepSpeed está disponível em GitHub.
Conclusão
A Mantium se dedica a liderar a inovação para que todos possam construir rapidamente com IA. Da automação de processos orientada por IA a configurações rigorosas de segurança e conformidade, nossa plataforma completa fornece todas as ferramentas necessárias para desenvolver e gerenciar aplicativos de IA robustos e responsáveis em escala e reduz a barreira de entrada. O SageMaker ajuda empresas como a Mantium a chegar ao mercado rapidamente.
Para saber como a Mantium pode ajudá-lo a criar fluxos de trabalho complexos orientados por IA para sua organização, visite www.mantiumai.com.
Sobre os autores
Joe Hoover é um Cientista Aplicado Sênior na equipe de P&D de IA da Mantium. Ele é apaixonado por desenvolver modelos, métodos e infraestrutura que ajudam as pessoas a resolver problemas do mundo real com sistemas de PNL de ponta. Em seu tempo livre, ele gosta de mochilar, jardinagem, cozinhar e sair com sua família.
Dhawal Patel é Arquiteto Principal de Machine Learning na AWS. Ele trabalhou com organizações que vão desde grandes empresas até startups de médio porte em problemas relacionados à computação distribuída e Inteligência Artificial. Ele se concentra em aprendizado profundo, incluindo domínios de PNL e Visão Computacional. Ele ajuda os clientes a obter inferência de modelo de alto desempenho no SageMaker.
Sunil Padmanabhan é arquiteto de soluções de inicialização na AWS. Como ex-fundador de startups e CTO, ele é apaixonado por aprendizado de máquina e se concentra em ajudar startups a alavancar IA/ML para seus resultados de negócios e projetar e implantar soluções ML/AI em escala.
- Coinsmart. A melhor troca de Bitcoin e criptografia da Europa.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. ACESSO LIVRE.
- CryptoHawk. Radar Altcoin. Teste grátis.
- Fonte: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- Sobre
- absoluto
- Acesso
- conformemente
- Conta
- Alcançar
- em
- Adição
- Adicional
- afetar
- AI
- Todos os Produtos
- Apesar
- sempre
- Amazon
- análise
- qualquer um
- api
- APIs
- app
- aplicações
- aplicado
- abordagem
- aproximadamente
- Aplicativos
- arquitetura
- artificial
- inteligência artificial
- Automático
- Automação
- disponível
- média
- AWS
- barreira
- Linha de Base
- Porque
- antes
- Benefícios
- bilhão
- Bloquear
- construir
- construtor
- Prédio
- negócio
- negócios
- casos
- desafiar
- desafios
- Na nuvem
- Plataforma em nuvem
- código
- colaboração
- combinação
- combinações
- combinado
- Comunicação
- Empresas
- completar
- integrações
- compliance
- compreensivo
- computador
- computação
- condições
- núcleo
- poderia
- CTO
- personalizadas
- Clientes
- ponta
- dedicado
- profundo
- entrega
- demonstrar
- Dependendo
- depende
- implantar
- implantado
- Implantação
- desenvolvimento
- descreve
- Design
- projetado
- desenvolver
- desenvolvido
- em desenvolvimento
- Desenvolvimento
- distribuído
- computação distribuída
- Estivador
- domínios
- dramaticamente
- facilmente
- efeito
- emprega
- permite
- end-to-end
- Ponto final
- Motor
- Engenharia
- Engenheiros
- assegurando
- empresas
- equipado
- avaliar
- todos
- exemplo
- Trocas
- vasta experiência
- experimentar
- extenso
- extraordinário
- Rosto
- fatores
- família
- RÁPIDO
- mais rápido
- Característica
- Funcionalidades
- Figura
- Primeiro nome
- focado
- concentra-se
- seguinte
- Pegada
- fundador
- Quadro
- da
- cheio
- Além disso
- gerar
- gerando
- geração
- generativo
- Global
- governo
- GPU
- Crescente
- guia
- Hardware
- ajudar
- ajuda
- ajuda
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- altamente
- Como funciona o dobrador de carta de canal
- Contudo
- HTTPS
- Centenas
- ideal
- imagem
- implementação
- Incluindo
- Crescimento
- aumentando
- Inovação
- inovadores
- entrada
- instância
- integrar
- integrações
- Inteligência
- isolamento
- IT
- língua
- grande
- Maior
- maior
- camada
- principal
- APRENDER
- aprendizagem
- Nível
- níveis
- Alavancagem
- Biblioteca
- linhas
- carregamento
- longo
- procurando
- máquina
- aprendizado de máquina
- fazer
- FAZ
- gerencia
- gestão
- mercado
- significa
- Memória
- métodos
- Microsoft
- poder
- mínimo
- ML
- modelo
- modelos
- monitoração
- mês
- mais
- natural
- necessário
- Nvidia
- obstáculo
- oferecer
- oferecido
- oficial
- aberto
- open source
- Operações
- otimização
- otimizado
- otimizando
- organização
- organizações
- próprio
- apaixonado
- Pessoas
- atuação
- perspectiva
- plataforma
- políticas
- Privacidade
- Popular
- posição
- positivo
- possível
- poder
- Previsões
- bastante
- Diretor
- privado
- problemas
- processo
- Automação de Processos
- processos
- em processamento
- Produção
- provedor
- fornecedores
- fornece
- fornecendo
- qualificar
- rapidamente
- R & D
- aumentar
- variando
- alcançar
- redução
- refletir
- liberado
- Releases
- representação
- requerer
- requeridos
- Requisitos
- exige
- resposta
- responsável
- Resultados
- Execute
- corrida
- Segurança
- Dito
- Escala
- Cientista
- segundo
- doadores,
- sentimento
- Série
- de servir
- conjunto
- simples
- solteiro
- Tamanho
- So
- Software
- Soluções
- RESOLVER
- alguns
- sofisticado
- especificamente
- velocidade
- velocidades
- Passar
- pilha
- padrão
- começo
- inicialização
- Startups
- estado-da-arte
- Unidos
- Ainda
- estratégias
- Estratégia
- mais forte
- ajuda
- suportes
- sistemas
- Profissionais
- Dados Técnicos:
- condições
- teste
- testes
- A
- assim sendo
- milhares
- Através da
- tempo
- vezes
- hoje
- juntos
- token
- Tokens
- ferramentas
- tradicionalmente
- Training
- tipicamente
- ui
- para
- Atualizações
- usar
- usuários
- vário
- visão
- maneiras
- web
- O Quê
- Roda
- se
- sem
- trabalhou
- fluxos de trabalho
- escrita
- investimentos