2 pontos por GN⁺ 2023-09-07 | 1 comentários | Compartilhar no WhatsApp
  • A fast.ai, ao ajustar finamente um modelo para o Kaggle LLM Science Exam, observou uma curva de perda que parecia indicar que o LLM memorizava exemplos do conjunto de dados depois de vê-los uma única vez
  • Redes neurais comuns costumam aprender gradualmente ao longo de vários epochs, mas neste experimento a perda de treino despencava em degraus nas fronteiras entre epochs, o que diferia da experiência anterior
  • Um padrão parecido apareceu independentemente de usar Hugging Face Trainer, LoRA ou ajuste fino completo, o que tornou difícil tratá-lo como um simples bug de biblioteca
  • Em experimentos com taxa de aprendizado cíclica e 1cycle, as mudanças em perda de treino, perda de validação e MAP@3 em geral batiam com a hipótese de memorização, e a piora da perda de validação não significava necessariamente queda de acurácia
  • Se LLMs pré-treinados realmente aprendem muito rápido, pode ser necessário revisar estratégias de ajuste fino como catastrophic forgetting, aumento de dados, mistura de dados e dropout

Curvas de perda diferentes do aprendizado típico de redes neurais

  • Classificadores neurais ajustam as probabilidades de saída vendo repetidamente a entrada e o rótulo correto
    • O processo de passar uma vez por todos os dados de treino é chamado de epoch
    • A perda (loss) indica o quanto o modelo errou e aplica uma penalidade maior quando a previsão errada foi feita com alta confiança
  • Em geral, no início do treinamento a perda de treino cai rapidamente e depois desacelera, enquanto a perda de validação melhora mais devagar
    • Normalmente não é fácil identificar claramente, só pelo gráfico de perda, onde um epoch começa e termina
    • Havia uma limitação empírica: redes neurais geralmente precisam de vários epochs para aprender bem uma imagem específica
  • A fast.ai encontrou um padrão diferente ao treinar um modelo para resolver questões objetivas de ciências no Kaggle LLM Science Exam
    • O treinamento por 3 epochs usou o grande conjunto de perguntas criado por Radek Osmulski
    • Ao fim de cada epoch, aparecia uma queda em degraus na perda de treino

Da suspeita de bug à hipótese de memorização

  • No começo, a suspeita foi de algum bug no processo de treinamento
    • Por exemplo, se o modelo continuasse aprendendo durante a avaliação no conjunto de validação, poderia parecer que ele melhorava de repente logo após a validação
    • A primeira possibilidade analisada foi um problema no Hugging Face Trainer que estava sendo usado
  • Desenvolvedores open source do Alignment Lab AI Discord responderam que já tinham visto curvas de perda parecidas
    • Como todos os primeiros respondentes usavam Trainer, a hipótese de bug de biblioteca parecia plausível
    • Depois, também foram compartilhados casos em que a mesma curva apareceu em loops de treinamento personalizados
  • Também foi verificado se isso era algo específico de LoRA, mas o mesmo padrão apareceu em ajuste fino completo
    • Na comunidade de ajuste fino de LLMs, esse tipo de curva de perda já era praticamente um fenômeno comum

O padrão de memorização rápida visto nos experimentos do Kaggle

  • A interpretação proposta por colegas do open source foi que a curva de perda mostrava overfitting
    • Isso significaria que o modelo aprendia a reconhecer a entrada depois de vê-la uma ou duas vezes, o que a princípio parecia impossível
    • No primeiro gráfico, a perda caía de 0,8 para 0,5 após o primeiro epoch e de 0,5 para menos de 0,2 após o segundo
    • No meio do segundo e do terceiro epoch, quase não parecia haver aprendizado novo
  • Se essa interpretação estiver correta, o modelo praticamente memorizou o conjunto de treino vendo cada linha apenas 3 vezes
    • Em cada questão, o sinal que o modelo recebe é apenas a comparação entre o rótulo correto e sua própria escolha
    • Mesmo assim, a perda de treino cai bastante

Mudanças na perda sob taxa de aprendizado cíclica

  • O modelo do Kaggle foi treinado por 2 epochs usando um agendamento de taxa de aprendizado cíclica baseado no artigo de 2015 de Leslie Smith, Cyclical Learning Rates for Training Neural Networks
  • A curva do primeiro epoch parecia um padrão de aprendizado normal
    • Nos primeiros 10%, a taxa de aprendizado passou por warmup
    • Depois disso, a taxa foi reduzida seguindo um agendamento cosseno
    • Assim que a taxa de aprendizado subia o suficiente, a perda de treino e a perda de validação caíam rapidamente e depois desaceleravam
  • No segundo epoch, o conjunto de dados não foi embaralhado novamente, então os lotes iniciais reapareceram com taxa de aprendizado baixa
    • Esses lotes também tinham sido vistos apenas com taxa baixa no primeiro epoch, então o modelo não tinha aprendido muito com eles
    • Perto do fim dos primeiros 10%, os lotes que tinham sido vistos com taxa alta no primeiro epoch reapareceram e a perda de treino despencou
  • Na mesma faixa, a perda de validação piorou
    • Em vez de generalizar melhor, o modelo parecia ter memorizado os dados de treino e passado a prever as respostas corretas com confiança extrema
    • Como a função de perda penaliza mais erros confiantes, a perda de validação se deteriora
  • Na parte final da curva, a perda de treino volta a piorar
    • Não é comum ver a perda de treino piorar com uma taxa de aprendizado razoável
    • Pela hipótese de memorização, isso pode ser interpretado como uma falha em memorizar bem os lotes vistos com taxa baixa, enquanto o excesso de confiança adquirido nos lotes imediatamente anteriores se mantinha
    • Depois, à medida que o modelo se reajusta para um nível de confiança mais razoável, a perda de validação volta a cair

O experimento com 1cycle e a diferença nos indicadores

  • No experimento seguinte, foi usado 1cycle training durante 3 epochs
    • O warmup da taxa de aprendizado aconteceu apenas uma vez, nos 10% iniciais dos lotes de treinamento
    • Nos lotes restantes, a taxa foi reduzida com um agendamento cosseno
    • Diferentemente do experimento anterior, não houve repetição de warmup e decaimento em cada epoch
    • O rank do LoRA foi aumentado para desacelerar a velocidade de aprendizado
  • A curva resultante em geral bateu com a interpretação anterior, mas o aumento da perda de validação apareceu no epoch 3, e não no 2
    • No experimento anterior, a perda de treino chegava a cerca de 0,2 no segundo epoch, o que permitia previsões muito confiantes
    • No experimento com 1cycle, esse nível de confiança só foi atingido no terceiro epoch, e a alta da perda de validação apareceu junto
  • A piora da perda de validação não significa necessariamente overfitting real
    • A métrica do leaderboard do Kaggle era Mean Average Precision @ 3, uma medida de acurácia baseada no ranking das 3 principais previsões em questões objetivas
    • O MAP@3 de validação por lote no treinamento com 1cycle continuou melhorando no último epoch, mesmo com a piora da perda de validação
  • Logs adicionais e o notebook de reprodução podem ser vistos no relatório de Johno

Por que aprender com um único exemplo pode ser possível

  • Não existe uma lei fundamental dizendo que redes neurais não podem reconhecer uma entrada a partir de um único exemplo
    • Pesquisadores e profissionais apenas passaram a considerar, empiricamente, que redes neurais precisam de muitos exemplos
    • Se a superfície de perda explorada pelo descenso de gradiente estocástico (SGD) for muito irregular, fica difícil dar grandes passos de uma vez
  • Já se conhecem fatores que tornam a superfície de perda mais suave
  • LLMs pré-treinados podem ter uma superfície de perda muito suave em regiões próximas do mínimo
    • Muitos trabalhos de ajuste fino na comunidade open source podem estar acontecendo justamente nessas regiões
    • Isso se conecta à premissa do artigo de 2018, ULMFiT
  • A ideia central do ULMFiT era que um modelo bom em modelagem de linguagem constrói internamente abstrações ricas e camadas de capacidade
    • Essas camadas podem ser adaptadas a outras tarefas com pouco ajuste fino
    • Os LLMs de hoje são muito maiores que os modelos tratados no ULMFiT, então podem ter camadas de abstração ainda mais ricas
  • O ajuste fino para questões objetivas de ciências pode estar mais próximo de extrair capacidades e conhecimento que o modelo já possui
    • Talvez não sejam necessários muitos ajustes nos pesos
    • Um modelo de linguagem pré-treinado com uma pequena cabeça de classificação aleatória adicionada pode já estar em uma posição a partir da qual se move suavemente para uma boa configuração de pesos
    • Com o otimizador Adam, gradientes consistentes e suaves podem aumentar a taxa de aprendizado dinâmica efetiva e levar a passos maiores

Questões levantadas para estratégias de ajuste fino

  • Se o modelo aprende muito rápido, pressupostos básicos dos métodos atuais de treinamento podem deixar de valer
    • Modelos que aprendem devagar conseguem observar dados variados por muitos epochs e extrair gradualmente informações generalizáveis
    • Modelos que aprendem rápido podem memorizar imediatamente os exemplos vistos e produzir outros efeitos
  • Catastrophic forgetting pode se tornar mais evidente
    • Depois de ver 10 exemplos de uma relação muito comum, ao encontrar 1 contraexemplo menos frequente o modelo pode memorizá-lo em vez de apenas reduzir um pouco a força da memória dos 10 exemplos anteriores
  • O efeito anti-overfitting de data augmentation também pode enfraquecer
    • Se o LLM já extrai bem a representação da informação de entrada, misturar paráfrases ou back-translation pode, na prática, fornecer quase a mesma informação
  • Como possíveis formas de mitigação, aparecem dropout e stochastic depth
    • Dropout já é usado um pouco em técnicas de ajuste fino como LoRA
    • Stochastic depth ainda não parece ter casos de uso realmente significativos em NLP
  • Outra abordagem é manter uma mistura rica de conjuntos de dados ao longo de todo o treinamento
    • O Llama Code sofreu catastrophic forgetting, com forte melhora em código enquanto outras capacidades pioravam bastante
    • Na época, a proporção de dados não relacionados a código era de 10%
    • Com uma mistura mais próxima de 50/50, talvez fosse possível ganhar desempenho em programação sem perder as capacidades anteriores

1 comentários

 
GN⁺ 2023-09-07
Opiniões do Hacker News
  • Obrigado por postar este texto no HN. Sou um dos coautores, e foi realmente interessante investigar com Johno esse fenômeno estranho de memorização rápida em LLMs
    Trabalho com redes neurais há 30 anos e faço fine-tuning de modelos de linguagem desde 2017, mas esse comportamento foi muito surpreendente. Outras pessoas também viram fenômenos parecidos em LLMs, mas ainda não vi uma análise desse tipo, e talvez tenhamos deixado algo passar

    • No artigo do Palm-E (https://palm-e.github.io/), achei interessante que, quando descongelam o LLM e o treinam apenas com novos dados de imagem, como esperado ocorre bastante esquecimento catastrófico em tarefas de processamento de linguagem natural, mas esse efeito diminui muito conforme aumenta o tamanho do LLM antes do treinamento
      O modelo de 12B teve queda média de desempenho de -87,3%, o de 84B de -61,6%, e o de 562B de apenas -3,9%. Parecia que estávamos quase chegando a algum insight, e fiquei me perguntando se evitar o esquecimento catastrófico poderia ser simplesmente uma questão de escala
    • Acho que foi um grande erro omitir o que é o modelo-base, e não acho que isso deva ser atribuído a um fenômeno dos LLMs em geral
      Não sou pesquisador, mas é claro que nem todos os LLMs têm a mesma arquitetura, e mesmo arquiteturas parecidas podem evoluir para se comportar de forma funcionalmente bem diferente com a mesma entrada. Ainda assim, muitos textos parecem tratar LLMs como se fossem uma única arquitetura e um único modelo
    • Jeremy, sempre gosto do seu trabalho. Como astronomia é minha área, acrescentando um detalhe técnico: o exemplo de MOND descrito aqui, na verdade, deveria ter a alternativa (E) como resposta correta
    • Jeremy, se você calcular a perda do batch uma vez, atualizar o gradiente e depois recalcular a perda do mesmo batch com no_grad, acho que dá para calcular exatamente quanto o modelo aprendeu em uma etapa
      Parece que poderia dar resultados interessantes se você plotasse a diferença entre a primeira e a segunda perda por batch ou por observação/pergunta
    • Muito interessante. Antigamente, em uma issue do Hugging Face transformers, houve uma conversa parecida, e naquela época também concluí que memorização era o motivo mais provável. É bom ver que outro lado chegou à mesma conclusão
      https://github.com/huggingface/transformers/issues/18730
  • Não sei se as pessoas realmente usam “over confident” nesse sentido. É uma expressão bastante enganosa, e o que está acontecendo aqui deveria ser chamado de overfitting
    Se pensarmos nos dados como pontos, um modelo que generaliza bem tenta criar a função mais simples que se ajusta razoavelmente bem aos pontos dos dados de treino. Mas, se você continuar treinando, os parâmetros podem ficar muito grandes, e a curva da função, tentando passar exatamente pelos dados de treino, pode oscilar bastante para muito além do intervalo dos dados reais
    Assim, embora tecnicamente se ajuste melhor aos dados de treino, ela se torna uma função estranha que produz saídas extremas em novos dados, e a generalização fica perto do pior possível. Porém, overfitting não é o mesmo que memorização. Modelos grandes conseguem memorizar datasets pequenos mesmo sem overfitting, e, como têm parâmetros em enorme quantidade, só precisam de pequenas mudanças para ajustar os dados de treino. Nesse caso, o treinamento para, mas não ocorre generalização, e isso é chamado de subdeterminação
    Também há modelos que produzem saída junto com confiança, então “excesso de confiança” também pode significar que o modelo previu incorretamente uma confiança alta, isto é, uma baixa variância de erro

    • Se você enxergar uma rede neural com argmax aplicado às probabilidades de saída como uma função, isso não é overfitting de forma alguma. A acurácia de classificação em dados não vistos, isto é, no conjunto de validação, continua melhorando
      O ponto central aqui é um problema de calibração: https://en.m.wikipedia.org/wiki/Calibration_(statistics). Isso significa que as probabilidades de saída da rede neural não refletem as probabilidades realmente observadas. Quando as probabilidades são sistematicamente subestimadas, chamamos de “subconfiança”; quando são superestimadas, de “excesso de confiança”
      Nesse caso, mesmo que a calibração piore e a perda de validação aumente, o classificador para dados não vistos ainda pode estar melhorando
    • Não se usa o termo overfitting para um modelo cuja acurácia está melhorando. Acho que isso induz a erro
    • Como a perda no conjunto de treino melhorou e a perda no conjunto de validação piorou, acho que é uma forma de overfitting. Só que é diferente do overfitting comum, em que a acurácia no conjunto de validação piora
      Aqui, a acurácia nos dados de validação continuou melhorando, mas, quando erra, o modelo erra com mais confiança do que antes. Por exemplo, antes ele podia errar dizendo que a resposta era X com 60% de certeza; agora continua errando ao dizer X, mas com uma certeza maior, como 70%. Então é uma forma estranha de overfitting, e “excesso de confiança” parece ser uma expressão mais específica e adequada
  • Não sou especialista em LLMs, mas, do ponto de vista geral de machine learning, isso não é tão surpreendente
    Já existe um modelo generativo com dezenas de bilhões de parâmetros que atribui alguma massa de probabilidade às amostras de fine-tuning. Agora calcula-se o gradiente que aumenta essa massa de probabilidade e dá-se um passo nessa direção. No fim, o autor se surpreende com o fato de esse único passo aumentar bastante a massa de probabilidade da amostra
    Mas modelos generativos são extremamente sobreparametrizados e já atribuem alguma massa de probabilidade às amostras de fine-tuning. Seria mais surpreendente se, em um espaço de parâmetros com dezenas de bilhões de dimensões, não houvesse uma direção que aumentasse rapidamente a probabilidade de um conjunto relativamente pequeno de amostras

    • Pensei a mesma coisa. Não achei nada surpreendente, então fiquei me perguntando se eu é que estava deixando algo passar
  • Não era um resultado que já decorria de forma mais ou menos clara do fato de a maioria dos LLMs hoje ser treinada por apenas uma época?
    Porque, se eles são treinados por apenas uma época, isso significa que só passar pelos dados uma segunda vez já traz preocupação de overfitting. Ainda assim, isso parece um pouco em conflito com os resultados deste artigo [0], que viu que dados antigos continuam tão bons quanto dados novos até pelo menos 4 épocas
    [0]: https://arxiv.org/abs/2305.16264

    • Uma pequena correção: uma boa parte dos LLMs públicos é treinada por pelo menos um pouco mais de uma época, e normalmente roda várias épocas em subconjuntos específicos de dados, como a Wikipedia
    • Não é treinado por apenas uma época. Dados de alta qualidade passam por várias épocas. A equipe do Llama, da Meta, também mostrou que, ao treinar mais e com mais tokens, a perda continua diminuindo
  • Talvez não tenha relação, mas pedi ao ChatGPT para escrever um código que controlasse programaticamente, no PowerShell, os detalhes dos filtros de coluna de uma planilha do Excel
    Todas as tentativas falharam; chegaram bem perto, mas não funcionaram. No fim, encontrei um código em C# que corrigia o problema, colei no ChatGPT e, depois que ele leu, pedi para corrigir o problema no PowerShell. Ele disse que tinha entendido a solução, ajustou o script, e funcionou perfeitamente
    Por algum motivo, esse comportamento foi uma experiência bem reveladora. Ao fornecer, dentro da pergunta, um material no qual ele não havia sido treinado, ele conseguiu resolver. Entendo como isso é possível do ponto de vista de aprendizado de linguagem, mas achei realmente incrível que um LLM consiga fazer esse tipo de coisa

    • É uma anedota interessante. Acho que hoje existe uma tendência comum de as pessoas se concentrarem demais na busca de conhecimento dentro do modelo, e subestimarem a parte de “modelo de linguagem”
      Essas coisas são tão boas em falar e explicar que são facilmente antropomorfizadas. Elas fazem isso tão bem que passamos a tratar uma conquista enorme e quase mágica da engenharia estatística como se fosse um bloco básico trivial. Mas esse bloco é um tijolo de ouro
      Traduzir de linguagem natural para código, de texto para áudio, de imagem para imagem, de uma linguagem natural para outra; editar, resumir, expandir e extrapolar: é isso que esses modelos fazem. O “conhecimento” embutido é apenas contexto
      Vejo embeddings vetoriais de forma um pouco diferente: são uma forma de catalogação semântica, como a classificação decimal de Dewey, que permite a busca. Mas recuperar dados diretamente do modelo, como “quem era o presidente dos EUA em 1984?”, pessoalmente não acho muito interessante
  • Fico curioso se LLMs já foram usados para reforçar seus próprios dados de treinamento
    Imagino o que aconteceria se treinássemos um LLM com poucas entradas e depois gerássemos muitas entradas sintéticas para adicioná-las aos dados de treinamento. Penso nisso como uma espécie de “sonhar”. Talvez isso só acrescente ruído, mas LLMs conseguem reforçar o próprio contexto e melhorar a saída ao “pensar em voz alta”, então talvez consigam fazer a mesma coisa com os dados de treinamento

    • Sim. Boa parte das pesquisas recentes tem usado saídas de LLMs como dados de treinamento, e essa tem sido uma linha de pesquisa muito bem-sucedida
    • Na prática, RLHF é isso. Usando como orientação um pequeno conjunto de dados selecionado por humanos que indica o que são boas e más saídas, o LLM faz autoaprendizado apenas com suas próprias saídas
    • Curiosamente, essa conclusão é exatamente oposta à do comentário irmão, que sugere que um pequeno corpus selecionado por humanos pode ser mais eficaz do que um grande conjunto de dados sintéticos
    • Se o modelo treina com os mesmos dados que ele próprio gerou, nenhuma informação nova é adicionada ao sistema. Ele acabará reforçando tanto o que já acerta quanto o que erra, então não haverá melhora
      Porém, é comum usar um modelo grande para criar dados de treinamento sintéticos e treinar outro modelo menor. Assim é possível transferir o conhecimento de um modelo para outro
    • Você pode encontrar a resposta testando diretamente: gere dados aleatórios de acordo com algum modelo, ajuste uma regressão linear ou outra distribuição e depois amostre dessa distribuição para adicionar ao conjunto de treinamento
  • Acho que o título é enganoso
    No contexto de treinamento, aprender a partir de um único exemplo não é algo desejável, enquanto memorizar não é? O primeiro é um objetivo por se alinhar ao modo como animais aprendem, e o segundo é um modo de falha frequente. O texto parece mostrar um caso de memorização inexplicada, não de aprendizado

  • Ao treinar ViT do zero, vi curvas de perda parecidas, e isso sempre me incomodou, mas havia preocupações maiores e acabei não investigando a fundo
    A diferença é que, durante cada época, a perda de treinamento subia. A queda brusca entre épocas era grande o suficiente para que, no geral, a perda de treinamento caísse, e a perda de validação também continuasse caindo. O modelo chegava bem perto do estado da arte, então parecia “normal”
    Nunca treinei uma rede neural convolucional nessa escala, então não sei se algo parecido apareceria ali também, mas imagino que, se acontecesse, alguém já teria mencionado. Por isso penso que essas curvas de perda estranhas talvez sejam uma característica especialmente de modelos baseados em Transformer

    • No texto original foi dito que LLMs exigem abstrações fortes, e redes Transformer são basicamente esse caso; isso fica evidente ao treiná-las do zero
      O modelo passa bastante tempo quase sem sair do lugar, parecendo completamente inútil, até que, em algum momento, depois de vários ciclos de treinamento, os pesos encontram algum mínimo na superfície de erro e de repente começam a funcionar direito. Isso acontece porque o Transformer aprendeu uma abstração que funciona para todos os dados de entrada do ponto de vista do mecanismo de atenção. Pense em como você percorre uma frase ao ler. Estou explicando a partir da lembrança de um texto que vi no HN tempos atrás, então não é uma explicação perfeita
    • Já vi curvas de perda de treinamento de outras pessoas subirem durante a época e despencarem no fim da época. Nunca aconteceu comigo, e não faço a menor ideia da causa
    • Depois da primeira época, o tempo médio desde a última vez em que o item de dados atual foi usado no treinamento é curto no início da época e vai ficando cada vez maior à medida que a época avança. Eu esperaria que esse tempo tivesse correlação positiva com a perda da iteração atual
    • Se a perda sobe já na primeira época, isso parece meio estranho
  • Agora fico pensando se isso significa que é computacionalmente eficiente fazer o modelo aprender ou memorizar, na hora, informações como o contexto do chat atual como parte dos pesos do modelo
    A codificação one-shot, na qual o hipocampo é muito bom, permite transformar experiências em memórias pesquisáveis conectadas a conceitos semânticos previamente aprendidos. Na prática, isso melhora da infância para a idade adulta, conforme a conceitualização semântica dos eventos fica mais rica
    Se a memorização de eventos por LLMs é acelerada por esse arcabouço semântico profundo, isso poderia abrir um caminho para janelas de contexto longas?

    • Talvez seja possível, mas há muita coisa que não sabemos. A questão é se a memorização imediata vem acompanhada de esquecimento catastrófico de outras informações, e como controlar a memorização de conteúdos recentes versus a lembrança de conteúdos antigos
    • É só uma ideia de iniciante, mas gosto dela. Você precisaria de uma cópia modificável do seu próprio modelo, e em geral isso é enorme. Além disso, seria necessário backpropagation, então custaria um pouco mais de computação
      Com modelos locais menores que GPT-3.5/4, talvez seja possível. Também seria preciso decidir o que fica na memória de longo prazo e o que fica na memória de curto prazo
  • Se isso for verdade, reforça a ideia de que um conjunto de dados curado por humanos, muito menor do que conjuntos de dados sintéticos gerados por LLMs, passa a ter um valor muito maior

    • Quem tiver mais informação vence. Se a informação tiver estrutura, é possível aproveitá-la bastante para gerar dados sintéticos
      Um exemplo é o Apple Sim. É um repositório de modelos 3D de ambientes internos; controlando o renderizador, dá para gerar informações em várias camadas e depois usá-las em fotos reais. Como esse método é usado de forma ampla em imagens, o espaço vetorial fica bastante natural para embeddings. Em termos algébricos, não é preciso acrescentar muita estrutura
      Se o domínio tiver um caráter fortemente algébrico, também é possível gerar exemplos corretos de forma arbitrária, e eu recomendaria esse tipo de situação a qualquer pessoa
    • O Google chegou a essa conclusão há cerca de 2 anos, mas ainda não conseguiu mostrar resultados claros. A palavra-chave acima é curado
    • Deve haver alguma métrica de valor que equilibre quantidade e qualidade, e, em um momento como o atual, em que entendemos moderadamente como a tecnologia funciona, parece que essa métrica pode ser aproveitada. Ou seja, há ganhos potenciais a obter com dados sintéticos
      Ainda assim, acredito que em algum momento a regra de que não existe almoço grátis vai entrar em ação, e dados sintéticos nem sempre levam em conta o processo de geração de dados dos outliers
    • Discordo. Pelo contrário, vejo que a IA da era ULMFiT finalmente acabou com a necessidade de dados curados por humanos
      O ChatGPT 4 já é usado como modelo oráculo para treinar modelos de IA cotidianos. Um modelo oráculo verdadeiramente enorme tornará quase tudo desnecessário, exceto uma quantidade muito pequena de entrada humana
    • Por que só conseguimos teorizar sobre essas coisas? Por que não conseguimos saber como e por que elas funcionam?