O que é treinamento de modelo?

O que é treinamento de modelos?

Treinamento de modelo é o processo de "ensinar" um modelo de aprendizado de máquina para otimizar o desempenho em um conjunto de dados de treinamento de tarefas de amostra relevantes para eventuais casos de uso do modelo. Se os dados de treinamento se assemelharem muito aos problemas do mundo real com os quais o modelo será encarregado, aprender seus padrões e correlações permitirá que um modelo treinado faça previsões precisas sobre novos dados.

O processo de treinamento é a etapa mais crítica no ciclo de vida dos modelos de IA, desde sistemas de previsão criados com base em algoritmos de regressão linear básicos até as complexas redes neurais que alimentam a IA generativa.

O treinamento do modelo é a etapa de aprendizado de máquina (ML) em que ocorre o "aprendizado". No aprendizado de máquina, o aprendizado envolve o ajuste dos parâmetros de um modelo de ML. Esses parâmetros incluem as ponderações e os vieses nas funções matemáticas que compõem seus algoritmos. O objetivo desse ajuste é produzir respostas mais precisas. Os valores específicos para essas ponderações e vieses, que são o resultado final do treinamento do modelo, são a manifestação tangível do "conhecimento" do modelo.

Matematicamente, o objetivo desse aprendizado é minimizar uma função de perda que quantifica o erro das produções do modelo nas perguntas de treinamento. Quando a produção da função de perda fica abaixo de algum limite predeterminado – o que significa que o erro do modelo nas tarefas de treinamento é suficientemente pequeno – o modelo é considerado "treinado". No aprendizado por reforço, o objetivo é o contrário: em vez de minimizar uma função de perda, os parâmetros do modelo são otimizados para maximizar uma função de recompensa.

Na prática, o treinamento do modelo envolve um ciclo de coleta e seleção de dados, execução do modelo nesses dados de treinamento, medição da perda, otimização adequada dos parâmetros e teste do desempenho do modelo em conjuntos de dados de validação. Esse fluxo de trabalho prossegue de forma iterativa até que resultados satisfatórios sejam alcançados. O treinamento adequado também pode exigir o ajuste de hiperparâmetros – escolhas estruturais que influenciam o processo de aprendizagem, mas não são "aprendíveis" – em um processo chamado ajuste de hiperparâmetros.

Às vezes, um modelo já treinado pode passar por um ajuste fino para tarefas ou domínios mais específicos por meio de aprendizado adicional sobre novos dados de treinamento. Embora tanto o treinamento original do zero quanto o ajuste fino subsequente sejam "treinamento", o primeiro é normalmente chamado de "pré-treinamento" nesse contexto (para fins de desambiguação). O ajuste fino é um dos vários tipos de aprendizado por transferência, um termo genérico para técnicas de aprendizado de máquina que adaptam modelos pré-treinados para novos usos.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Modelos versus algoritmos

Embora as palavras "modelo" e "algoritmo" sejam frequentemente usadas de forma intercambiável no campo da inteligência artificial, elas não são a mesma coisa. A distinção está principalmente na relação de cada termo com o treinamento de modelo.

  • Algoritmos são procedimentos, geralmente descritos em linguagem matemática ou pseudocódigo, usados para produzir previsões ou tomar decisões com base na entrada que eles recebem.

  • Os modelos são o resultado do processo de otimização dos parâmetros de um algoritmo para melhorar seu desempenho em um conjunto de dados de treinamento específico e, em seguida, em novos dados que se assemelham a esses exemplos de treinamento. Em termos de ciência de dados, esse processo é chamado de "ajuste" de um algoritmo a um conjunto de dados.

Em outras palavras, um modelo de IA é usado para fazer previsões ou tomar decisões, e um algoritmo é a lógica matemática pela qual esse modelo opera. Dois modelos podem usar o mesmo algoritmo subjacente, mas ter valores diferentes para as ponderações e vieses dentro desse algoritmo porque foram treinados com dados diferentes.

O deep learning é um subconjunto do aprendizado de máquina cujos modelos são redes neurais com muitas camadas, portanto, "profundas", em vez de algoritmos explicitamente projetados, como regressão logística ou Naïve Bayes. Dois modelos de deep learning podem ter a mesma estrutura, como um autoencoder padrão, mas diferirem no número de camadas, no número de neurônios por camada ou nas funções de ativação de cada neurônio.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Tipos de treinamento de modelo

Na maioria dos contextos, treinar é quase sinônimo de aprendizado: um cientista de dados treina; um modelo aprende. O aprendizado implica o ajuste dos parâmetros de um algoritmo de aprendizado de máquina até que as produções do modelo resultante atendam a alguma métrica de precisão ou utilidade. O treinamento envolve a coleta de dados de treinamento e o ajuste de hiperparâmetros – como escolher uma função de perda, definir a taxa de atualização de parâmetros ou alterar a arquitetura de uma rede neural – para facilitar esse aprendizado.

Os modelos de IA são normalmente categorizados como pertencentes a um dos três paradigmas de aprendizado de máquina distintos: aprendizado supervisionada, aprendizado não supervisionado ou aprendizado por reforço. Cada tipo de aprendizado de máquina tem seus próprios casos de uso, hiperparâmetros, algoritmos e processos de treinamento exclusivos.

  • O aprendizado supervisionado é usado quando um modelo é treinado para prever a produção "correta" para um input. Ela se aplica a tarefas que requerem algum grau de precisão em relação a alguma "verdade absoluta" externa, como classificação ou regressão.

  • O aprendizado não supervisionado é usado quando um modelo é treinado para discernir padrões intrínsecos e correlações nos dados. Ao contrário do aprendizado supervisionado, o aprendizado não supervisionado não pressupõe a existência de nenhuma verdade absoluta externa com relação a qual suas saídas devam ser comparadas.

  • O aprendizado por reforço é usado quando um modelo é treinado para avaliar seu ambiente e tomar a ação que gerará a maior recompensa.

É importante observar que as definições e distinções entre cada paradigma de aprendizado de máquina nem sempre são formais ou absolutas. Por exemplo, o aprendizado autossupervisionado (SSL) pode ser classificado como aprendizado supervisionado ou não supervisionado, dependendo de qual aspecto das definições desses termos a pessoa se concentra. O aprendizado semissupervisionado combina o aprendizado não supervisionado e o supervisionado.

Também vale observar que vários tipos de aprendizado de máquina às vezes podem ser usados para treinar um único sistema de IA. Por exemplo, as versões de grandes modelos de linguagem (LLMs) usadas para aplicações conversacionais, como chatbot, normalmente passam por pré-treinamento autossupervisionado, seguido de ajuste fino supervisionado e, posteriormente, aprendizado por reforço com feedback humano (RLHF).

Aprendizado supervisionado

Como a forma dominante de treinamento para as redes neurais que compõem os modelos de deep learning, o aprendizado supervisionado é a base da maioria dos modelos de IA de última geração atualmente. O aprendizado supervisionado é o principal paradigma de treinamento para tarefas que exigem precisão, como classificação ou regressão.

Treinar um modelo para precisão requer comparar suas previsões de saída para um input específico com as previsões "corretas" para esse input, geralmente chamadas de verdade absoluta. No aprendizado supervisionado convencional, essa verdade absoluta é fornecida por pares de dados rotulados. Por exemplo, dados de treinamento para modelos de detecção de objetos combinam imagens brutas (o input) com versões anotadas das imagens indicando a localização e a classificação de cada objeto dentro delas (a saída).

Como esse método de treinamento requer uma pessoa no circuito para apresentar essa verdade absoluta, ele é chamado de aprendizado "supervisionado". Mas a característica definitiva do aprendizado supervisionado não é o envolvimento de humanos, mas sim o uso de alguma verdade absoluta e a minimização de uma função de perda que mede a divergência dela. Essa distinção tornou-se importante à medida que novas técnicas de aprendizado inovadoras desenvolveram maneiras de inferir implicitamente "pseudo rótulos" a partir de dados não rotulados.

Para apresentar uma noção mais versátil do aprendizado supervisionado, a terminologia moderna do ML usa "supervisão" ou "sinais de supervisão" para se referir a qualquer fonte de verdade absoluta. No aprendizado autosupervisionado, que é nominalmente "não supervisionado", pois usa dados não rotulados, os sinais de supervisão são derivados da própria estrutura dos dados não rotulados. Por exemplo, os LLMs são pré-treinados por meio de SSL, prevendo palavras mascaradas em amostras de texto, com o texto original servindo como verdade absoluta.

Aprendizado não supervisionado

Diferentemente do aprendizado supervisionado, o aprendizado não supervisionado não pressupõe a preexistência de respostas "corretas" e, portanto, não envolve sinais de supervisão nem funções de perda convencionais. Os algoritmos de aprendizado não supervisionado buscam descobrir padrões intrínsecos em dados não rotulados, como semelhanças, correlações ou agrupamentos potenciais, e são mais úteis quando esses padrões não são necessariamente aparentes para observadores humanos.

Algumas categorias proeminentes de algoritmos de aprendizado não supervisionado incluem:

  • Os algoritmos de agrupamento particionam pontos de dados não rotulados em "clusters" ou agrupamentos, com base na proximidade ou semelhança entre si. Por exemplo, o clustering k-means, um algoritmo de clustering popular, é usado na segmentação de mercado para agrupar clientes com atributos semelhantes em k grupos.

  • Os algoritmos de associação discernem correlações, como entre uma ação específica e certas condições. Por exemplo, empresas de comércio eletrônico como a Amazon usam modelos de associação não supervisionada para alimentar mecanismos de recomendação.

  • Os algoritmos de redução de dimensionalidade são projetados para reduzir a complexidade dos dados representando-os com um número menor de funcionalidades, ou seja, representando-os em menos dimensões, preservando suas características significativas. Eles têm vários casos de uso, incluindo compactação de dados, visualização de dados e engenharia de recursos.

Como o nome sugere, os algoritmos de aprendizado não supervisionado podem ser, de forma geral, vistos como "otimizando a si mesmos". Por exemplo, esta animação do professor Andrey Shabalin, Ph.D., da Universidade de Utah, demonstra como um algoritmo de clustering k-means otimiza iterativamente o centroide de cada cluster.

Dessa forma, o treinamento de modelos de IA que usam algoritmos de aprendizado não supervisionado geralmente é uma questão de ajuste do hiperparâmetro. Por exemplo, em um algoritmo de clustering, o número ideal de clusters (k) nem sempre é óbvio e pode exigir experimentação manual para obter os melhores resultados.

Aprendizado por reforço

Enquanto o aprendizado supervisionado treina modelos otimizando-os para corresponder a exemplares ideais e os algoritmos de aprendizado não supervisionado se ajustam a um conjunto de dados, os modelos de aprendizado por reforço são treinados holisticamente por meio de tentativa e erro. Os problemas de reforço não envolvem uma resposta "certa"; em vez disso, eles envolvem decisões "boas" e decisões "ruins" (ou talvez neutras).

Em vez dos pares independentes de dados de input-saída usados no aprendizado supervisionado, o aprendizado por reforço (RL) opera em tuplas de dados estado-ação-recompensa interdependentes. Um framework matemático para o aprendizado por reforço é construído principalmente com base nestes componentes:

  • O espaço de estado contém todas as informações disponíveis relevantes para as decisões que o modelo pode tomar. Normalmente, ele muda com cada ação executada pelo modelo.

  • O espaço de ação contém todas as decisões que o modelo pode tomar em um momento. Em um jogo de tabuleiro, o espaço de ação compreende todos os movimentos legais disponíveis naquele momento. Na geração de texto, o espaço de ação abrange todo o "vocabulário" de tokens disponíveis para um LLM.

  • A função de recompensa determina o feedback positivo (ou negativo) a ser fornecido ao modelo como resultado de cada ação em um sinal de recompensa: uma quantificação em escala desse feedback. Por exemplo, ao treinar um programa de xadrez com RL, uma função de recompensa pode incentivar movimentos que aumentam a probabilidade de vitória e desincentivar movimentos que diminuem a probabilidade de vitória. Ao treinar um carro autônomo, uma função de recompensa pode desincentivar manobras que infringem leis ou diminuem a probabilidade de segurança.

  • Uma política é o "processo de pensamento" que impulsiona o comportamento de um agente de aprendizado por reforço. Em termos matemáticos, uma política (π) é uma função que recebe um estado (s) como input e retorna uma ação (a): π(s)a.

O objetivo de um algoritmo de aprendizado por reforço é otimizar uma política para obter a máxima recompensa. No aprendizado profundo por reforço, a política é representada como uma rede neural cujos parâmetros são continuamente atualizados para maximizar a função de recompensa (em vez de minimizar uma função de perda).

Com treinar um modelo de aprendizado de máquina

O ciclo de vida de desenvolvimento de um modelo compreende vários processos, alguns dos quais são repetidos ciclicamente de maneira iterativa até que resultados satisfatórios sejam alcançados.

Embora o aprendizado por reforço, o aprendizado supervisionado e o aprendizado não supervisionado tenham elementos de treinamento exclusivos do seu paradigma, o fluxo de trabalho geral necessário para treinar um modelo consiste nestas etapas:

  • Seleção do modelo

  • Coleta de dados

  • Preparação de dados

  • Seleção de hiperparâmetros

  • Desempenho em dados de treinamento

  • Cálculo da perda (ou recompensa)

  • Parâmetros de otimização 

  • Avaliação de modelos

Seleção de modelos

Selecionar o algoritmo correto (ou a arquitetura de rede neural) não é apenas uma função do problema que você precisa resolver e dos tipos de dados com os quais o modelo funcionará. O tipo de modelo ideal também depende de você priorizar a velocidade e a eficiência em vez da precisão e do desempenho (ou o contrário) e do orçamento e dos recursos de hardware ou computação disponíveis para você. Por exemplo, treinar ou realizar um ajuste fino de um LLM geralmente requer várias unidades de processamento gráfico (GPUs).

Coleta de dados

Obter dados de treinamento de alta qualidade para o seu caso de uso não é trivial, especialmente para modelos de deep learning que geralmente requerem milhares, se não milhões, de exemplos para um treinamento adequado. Embora um pipeline de dados proprietário apresente oportunidades únicas de personalização e vantagens competitivas, existem conjuntos de dados de código aberto respeitáveis disponíveis para a maioria dos domínios e tarefas. Em algumas áreas, especialmente no processamento de linguagem natural (PLN), a geração de dados sintéticos é uma opção cada vez mais viável.

Preparação de dados

Para serem usados para treinamento, os dados brutos, especialmente quando coletados em primeira mão ou agrupados de várias fontes de dados, normalmente exigem algum pré-processamento, que pode incluir a limpeza dos dados, a normalização dos valores e a padronização da formatação. Existem muitos serviços para automatizar parte ou todo esse processo, como o Docling, uma ferramenta de código aberto que converte PDFs e outros formatos de arquivo em texto mais legível por máquina, mantendo elementos estruturais importantes.

Para o aprendizado supervisionado, os dados devem ser rotulados e, às vezes, receber anotações com detalhes significativos. Por exemplo, as imagens usadas para treinar modelos de segmentação de imagens devem ser rotuladas até o nível do pixel. Essa rotulagem pode demandar bastante tempo e mão de obra, os quais devem ser levados em consideração nos cronogramas e no orçamento.

Seleção de hiperparâmetros

Mesmo depois de escolher um algoritmo ou arquitetura de modelo, você ainda tem mais escolhas a fazer. Os algoritmos de ML convencionais raramente servem para todos os casos de uso e as redes neurais são ainda menos padronizadas. Selecionar os hiperparâmetros corretos, os elementos modulares de um algoritmo que são externos à otimização de parâmetros, é essencial para um treinamento eficiente e bem-sucedido.

Quando o treinamento não está ocorrendo de forma satisfatória – ou ao trabalhar com algoritmos de aprendizado não supervisionado ou algoritmos de aprendizado supervisionado não paramétrico, como árvores de decisão – o desempenho do modelo pode ser ajustado e aprimorado por meio do ajuste de hiperparâmetros. Algumas tentativas e erros podem ser necessários para chegar à taxa de aprendizado, tamanho do lote, função de perda (e termos de regularização) ou algoritmo de otimização ideais.

Um desses parâmetros é a inicialização dos parâmetros que podem ser aprendidos. Eles são normalmente randomizados, mas até mesmo a randomização de parâmetros tem várias estratégias. Os parâmetros iniciais ideais também podem ser "aprendidos" por meio de uma técnica chamada meta aprendizado.

Desempenho em dados de treinamento

Depois que os parâmetros iniciais e os hiperparâmetros forem definidos, o modelo processará um lote de exemplos de dados de input extraídos do conjunto de dados de treinamento. Como os parâmetros iniciais são aleatórios, o modelo geralmente ainda não produz "bons" resultados. O objetivo da primeira execução de treinamento é simplesmente estabelecer uma linha de base para depois otimizar. O tamanho do lote – o número de exemplos que são processados em cada "lote" antes do cálculo da perda e da otimização dos parâmetros – é por si só um hiperparâmetro importante.

Há muitos frameworks de código aberto para configurar e executar modelos de aprendizado de máquina para treinamento, como PyTorch, Keras ou TensorFlow. A maioria opera em Python ou JavaScript e, como projetos impulsionados pela comunidade, oferecem bibliotecas extensas de conteúdo tutorial para iniciantes.

Cálculo da perda (ou recompensa)

À medida que seu modelo trabalha com exemplos de treinamento, sua função de perda escolhida rastreia a discrepância entre a produção do modelo e as atualizações "corretas" para cada input. No deep learning, em que modelos são redes neurais que compreendem várias equações aninhadas umas nas outras, a retropropagação é usada para calcular como cada nó da rede neural contribui para a perda geral.

No aprendizado supervisionado, o objetivo formal do treinamento geralmente é minimizar essa função de perda. Em vez disso, algumas arquiteturas de modelo, como codificadores automáticos variacionais (VAEs), reformulam o problema em termos de maximizar algum proxy para a função de perda. Os algoritmos de RL normalmente buscam maximizar uma função de recompensa e, às vezes, minimizar simultaneamente um termo de regularização que penaliza comportamentos indesejados.

Parâmetros de otimização

A otimização de um algoritmo de ML geralmente é realizada por um algoritmo separado. Na matemática, um algoritmo de otimização é projetado para minimizar ou maximizar alguma outra função – nesse caso, uma função de perda ou função de recompensa – determinando valores ideais para as variáveis dessa função. No ML, essas variáveis são os pesos e as tendências em um algoritmo ou entre diferentes nós de uma rede neural.

O algoritmo de otimização ideal depende do tipo de modelo que está sendo treinado. Muitos algoritmos de ML, especialmente os modelos baseados em rede neural, usam variações de descida de gradiente. Alguns algoritmos com funções quadráticas, como máquinas vetoriais de suporte (SVMs), podem ser mais bem atendidos pela programação quadrática Os algoritmos de regressão linear são normalmente otimizados por meio de algoritmos de mínimos quadrados. O aprendizado por reforço tem seus próprios algoritmos de otimização, como a otimização de políticas proximais (PPO), otimização de políticas diretas (DPO) ou ator-crítico de vantagem (A2C). 

Essa sequência de etapas de treinamento – ajuste de hiperparâmetros, execução do modelo em um lote de dados de treinamento, cálculo de perda e otimização de parâmetros – é repetida em várias iterações até que a perda seja suficientemente minimizada.

Avaliação de modelos

Um excelente desempenho nos dados de treinamento não é, por si só, uma evidência conclusiva de que o modelo foi treinado e preparado com sucesso para a implementação no mundo real. É preciso ter cuidado para evitar o sobreajuste, em que um modelo basicamente memoriza os dados de treinamento, mas não consegue generalizar bem para novos dados (anulando, assim, o propósito do treinamento). O sobreajuste pode ser entendido como o equivalente do aprendizado de máquina a "ensinar para o teste".

Para evitar o sobreajuste, a prática padrão é separar uma parte do conjunto de dados de treinamento em um processo chamado validação cruzada. Esse processo permite que o modelo seja testado em novos dados que ele ainda não viu, garantindo que ele tenha sido treinado adequadamente.

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real