Treine e implemente IA generativa mais rapidamente com a MosaicML e a Oracle
22 de maio de 2023 | 10 um minuto
Os modelos de IA generativa nos deslumbraram com sua capacidade de resumir e responder perguntas, criar software e até mesmo escrever poesia. Essas ferramentas possuem implicações práticas para indústrias como serviços financeiros, em que podem ser usadas na identificação de riscos, proteção contra fraudes e atendimento ao cliente. Em ciências biológicas, elas podem ajudar na descoberta, desenvolvimento e até mesmo testes clínicos de medicamentos. No entanto, a maioria das organizações ainda não fez uso dos sistemas baseados nesses modelos.
O motivo é complicado. A dimensão do poder de computação, dados e conhecimento necessários para criar um modelo de IA generativa proprietário cria um enorme desafio de recursos para muitas organizações. As pessoas possuem preocupações coerentes sobre como esses modelos funcionam e o que acontece com os dados empresariais usados para treinar esses modelos, especialmente para as empresas. Aqui, a MosaicML e o Oracle AI podem ajudar. A plataforma MosaicML foi projetada para facilitar ao máximo o treinamento e a implantação de modelos de aprendizado profundo, para que mais empresas possam aproveitar essa tecnologia transformadora na Oracle Cloud Infrastructure (OCI) e em outros provedores de nuvem.
Esta postagem no blog detalha os obstáculos à adoção e explica por que a plataforma MosaicML na OCI é a melhor solução para empresas que desejam operacionalizar a IA generativa. Nós nos concentramos em uma classe de modelos de aprendizado profundo, conhecidos como modelos de base. Um subconjunto desses modelos são os grandes modelos de linguagem (LLMs) que alimentam serviços como o ChatGPT.
Aprendizado profundo e modelos de base
Um modelo de aprendizado profundo (deep learning) é um programa de computador que você pode ensinar a executar tarefas específicas ao inserir uma grande quantidade de dados - não uma vez, mas repetidamente - em um processo chamado de treinamento. O resultado é uma ferramenta que pode ser consultada em relação a uma vasta quantidade de tópicos e acessível por meio de uma interface de programação de aplicativos (API).
Modelos de base treinados em conjuntos grandes de dados e diversos podem aprender automaticamente recursos e desenvolver capacidades emergentes. Eles podem gerar novos conteúdos para uma ampla gama de aplicativos, e por isso costumam ser chamados de IA generativa. O que torna os modelos de base diferentes de outros modelos de aprendizado profundo é que eles são treinados de maneira auto-supervisionada. Especificar o que o modelo deve aprender não é necessário por causa dos muitos exemplos fornecidos e pré-rotulados. Podemos otimizar ainda mais a precisão de um modelo treinado para casos de uso do setor empresarial, por meio do treinamento em conjuntos de dados específicos do domínio.
Desafios de recursos para o treinamento de modelos
O treinamento de um modelo de base requer três recursos principais: Modelos, dados e computação. Cada recurso apresenta um conjunto exclusivo de desafios para as empresas enfrentarem antes que possam operacionalizar a IA generativa.
Modelos
Essencialmente, uma IA generativa é um modelo matemático capaz de aprender representações abstratas de dados. Um determinado modelo de aprendizado profundo tem um conjunto associado de pesos, ou parâmetros, que são ajustados durante o processo de treinamento para aprender várias características dos dados de entrada. O número de parâmetros que um modelo contém é normalmente conhecido como o tamanho do modelo.
Existem várias arquiteturas de modelo, dependendo da modalidade das tarefas. Por exemplo, o transformador pré-treinado generativo (GPT) é uma arquitetura comum para LLMs, capaz de aprender com dados de texto. Uma determinada arquitetura de modelo pode conter milhões, bilhões ou até trilhões de parâmetros com potencialmente centenas de outros atributos que você pode usar para customizar e otimizar ainda mais o modelo.
Dados
Treinar um LLM de alta qualidade requer um grande volume de dados de uma diversidade de textos. Quanto maior o modelo, mais dados são necessários para treiná-lo. Para obter esse grande volume de texto, um método comum de criação de conjuntos de dados públicos dessa escala é pesquisar minusciosamente na internet, o que pode causar implicações legais significativas para o uso comercial.
A qualidade do modelo pode ser muito melhorada, treinando modelos adicionais em dados específicos de um domínio, um processo que chamamos de ajuste de domínio. Em última análise, recebemos vários conjuntos de dados em escala de terabytes abertos e proprietários, que devem ser armazenados, mantidos e acessados repetidamente com segurança.
Computação
Para treinar modelos e processar dados na escala que estamos discutindo, precisamos de nada menos que um supercomputador de IA, como um OCI Supercluster. O supercomputador requer centenas de aceleradores de hardware especializados, como GPUs NVIDIA, todos conectados a redes de alto desempenho em escala de data center, com tecnologia NVIDIA ConnectX SmartNICs. Os LLMs devem ser treinados por várias semanas ou meses nesses supercomputadores.
Construir essa infraestrutura complexa de forma econômica é extremamente difícil. Ela requer especialistas que possuem uma grande compreensão de várias estruturas e ferramentas de aprendizado de máquina (ML) e sabem como utilizar esses aceleradores com eficiência. Você deve provisionar e manter os recursos de computação, exigindo ferramentas complexas para permitir a orquestração e a coordenação entre vários usuários. Em escala, as falhas de hardware são comuns, colocando uma sobrecarga ainda maior nos departamentos de TI para gerenciar recursos adaptados e diagnosticar problemas complexos.
O treinamento de IA generativa, como LLMs, é caro e complicado. Por esse motivo, a maioria das empresas de IA generativa dedica a maior parte de seus recursos e conhecimentos ao treinamento de um único modelo, depois, vendem serviços comoditizados em torno das capacidades desse modelo. Algumas dessas empresas até mesmo permitem que você ajuste seus modelos de domínio para melhorar sua qualidade. Eles lidam com as complexidades do treinamento e hospedam o modelo por trás de uma API enquanto você acessa os benefícios e é cobrado pelo uso. Problema resolvido, certo?
Dados empresariais e APIs de terceiros
Embora uma API de terceiros possa funcionar bem para algumas empresas, ela não é viável para empresas limitadas por políticas rigorosas de exportação de dados de negócios. As empresas de assistência médica são legalmente obrigadas a proteger os registros dos pacientes. As instituições financeiras devem cumprir os regulamentos da SEC relacionadas a informações financeiras confidenciais. As empresas de tecnologia inovadoras precisam proteger sua propriedade intelectual contra vazamentos. Essas empresas não podem fornecer com facilidade seus dados a terceiros, não importa o quão capaz seja o modelo.
Outra complicação com modelos de terceiros é a propriedade. Muitas das empresas de IA generativa fornecem serviços de personalização que permitem que seus modelos sejam ajustados ao domínio, melhorando a qualidade. No entanto, elas ainda mantêm a propriedade do modelo e o acesso aos parâmetros ajustados pelo domínio, criando uma série de preocupações em relação à dependência do fornecedor e a usos futuros.
Plataforma MosaicML
Figura 1: Arquitetura da plataforma MosaicML
A MosaicML foi fundamentada em um princípio básico: os modelos de IA de uma empresa são tão valiosos quanto qualquer outro IP principal. A plataforma MosaicML foi criada para permitir que as empresas mantenham o controle de seus dados e a propriedade de seus modelos sem restrições. Vamos analisar como a plataforma MosaicML na OCI resolve as barreiras para operacionalizar a IA generativa para a empresa.
Figura 2: Treinamento da plataforma MosaicML
A pilha da plataforma começa com modelos de IA generativa estado-da-arte. Ela fornece código e exemplos de modelo otimizados e fáceis de usar para grandes modelos de difusão e linguagem. Os modelos podem ser treinados do zero e vêm com receitas de treinamento comprovadas criadas por pesquisadores de nível internacional. A MosaicML também fornece checkpoints pré-treinados e de alta qualidade treinados em diversos conjuntos de dados para ajudá-lo a começar a usar rapidamente. Você pode ajustar esses checkpoints de domínio em dados proprietários para maximizar a qualidade do modelo para casos de uso específicos. Você também pode portar e treinar rapidamente todos os modelos de código aberto, prontos para uso e proprietários na plataforma MosaicML.
O treinamento de um modelo estado-da-arte requer uma estrutura que possa alimentar os dados de treinamento para um modelo e implementar o algoritmo usado para atualizar os pesos do modelo durante o processo de treinamento, tudo com eficiência usando recursos de computação. O tempo de execução de treinamento da MosaicML usa os seguintes componentes principais para atingir esse objetivo:
- Biblioteca de treinamento do compositor: Estrutura de treinamento testada, de alto desempenho e escalável
- Biblioteca StreamingDataset: Carga de dados rápida e eficiente de qualquer armazenamento de objetos na nuvem
- Imagens de treinando do Docker: Todos os softwares necessários empacotados como imagens do Docker
Juntos, esses componentes tornam o tempo de execução de treinamento da MosaicML o mais versátil e o único tempo de execução nativo da nuvem disponível para modelos de treinamento. O Composer é um treinador poderoso e extensível capaz de escalar facilmente para vários aceleradores e oferece todas as ferramentas necessárias para treinar um modelo de aprendizado profundo. Ele também pode carregar e armazenar artefatos do armazenamento na nuvem, permitindo que o tempo de execução de treinamento seja implantado em qualquer nuvem.
O StreamingDataset permite que você transmita dados de forma segura para qualquer local de computação sem afetar o desempenho. O tempo de execução do treinamento está empacotado, para sua conveniência, como uma imagem do Docker incluindo o Composer, Streaming e todos os outros softwares necessários para fazer o treinamento funcionar com eficiência.
O gerenciamento das grandes quantidades de infraestrutura de computação necessárias para treinar um modelo generativo requer uma estrutura sofisticada. O objetivo é retirar a complexidade do provisionamento e da orquestração de recursos de computação e permitir que você envie execuções com facilidade. Para atingir esse objetivo, a camada de infraestrutura da plataforma MosaicML é dividida em três partes: interfaces do cliente, o plano de controle e o de computação. Os usuários interagem com a plataforma por meio de uma API Python simples, interface de linha de comando (CLI) ou um console web. O plano de controle gerencia a orquestração dos recursos de computação necessários para executar o treinamento do modelo. Ele também monitora erros e falhas, permitindo a recuperação automática da execução. A natureza sem monitoramento de estado do plano de computação contém os aceleradores físicos que executam a execução do treinamento, mas não mantém nenhum dado do usuário.
Figura 3: Interação entre o plano de controle e o plano de computação sem monitoramento de estado
A arquitetura da plataforma MosaicML garante que os dados de negócios críticos sejam mantidos isolados e seguros, oferecendo a flexibilidade para que os recursos de computação estejam disponíveis na nuvem de preferência do cliente, em várias nuvens ou no data center on-premises.
IA da Oracle Cloud Infrastructure
O treinamento de LLMs requer uma rede de alto desempenho para coordenar e compartilhar informações em centenas ou milhares de servidores independentes. As GPUs NVIDIA na OCI são conectadas por uma rede ethernet simples e de alto desempenho, com tecnologia NVIDIA ConnectX SmartNICs, usando RDMA sobre Ethernet Convergente v2 (RoCEv2). A largura de banda que a OCI fornece excede significativamente o Amazon Web Service (AWS) e o Google Cloud Platform (GCP), o que, por sua vez, reduz o tempo e o custo do treinamento de ML.
A OCI inclui vários recursos para IA, incluindo a infraestrutura de IA. As máquinas virtuais (VMs) da OCI Compute e as instâncias de GPU NVIDIA bare metal podem alimentar aplicativos para visão computacional, processamento de linguagem natural (NLP), sistemas de recomendação e muito mais. Para treinar LLMs em escala, o OCI Supercluster fornece rede de cluster de latência ultrabaixa, armazenamento de computação de alto desempenho (HPC) e instâncias bare metal do OCI Compute com tecnologia GPUs NVIDIA A100 Tensor Core e ConnectX SmartNICs.
Figura 4: OCI Supercluster
MosaicML e OCI, melhor juntas
A plataforma MosaicML com tecnologia OCI oferece a você a solução de pilha completa, pronta para a empresa, de melhor desempenho e econômica para treinamento de modelos de IA generativa. Com os aceleradores de GPU e a rede ethernet mais rápidos da NVIDIA, a OCI oferece os seguintes benefícios:
- Preços competitivos para infraestrutura de IA
- Rede de supercluster de banda larga permitindo movimentação rápida de dados em aceleradores e escala de desempenho forte
- Grandes tamanhos de blocos de computação para escalar para milhares de GPUs
- Sem taxas de saída na OCI para streaming de dados do Oracle Cloud Storage
Os modelos da MosaicML com StreamingDataset e Composer podem aproveitar ao máximo as GPUs NVIDIA mais recentes, interconexões rápidas e grandes tamanhos de blocos para treinar modelos de forma rápida e bem-sucedida. Você pode hospedar grandes conjuntos de dados no armazenamento e fluxo da OCI de forma econômica para treinar nos recursos de computação da OCI. Juntas, a MosaicML e a OCI permitem que todas as empresas alcancem o poder da IA generativa.
Quer saber mais? Entre em contato conosco e obtenha uma demonstração da plataforma MosaicML na Oracle Cloud Infrastructure. Para obter mais informações, consulte os seguintes recursos: