Parecia óbvio, mas Andrew Ng teve que nos lembrar
Como o paradigma data-centric (em vez de model-centric), conceitos como small data, wide data, data quality e a função de MLOps e/ou DataOps estão passando Big Data a limpo
Andrew Ng é uma referência em Machine Learning, Deep Learning e Inteligência Artificial (IA). Chinês de Hong Kong que migrou ao Reino Unido e hoje reside nos EUA, foi fundador do Google Brain, cientista-chefe no Baidu (o “Google” da China), popularizou o uso de GPUs para treinamento de modelos, co-fundou o Coursera e a deeplearning.ai, leciona na Universidade de Stanford e se tornou um dos grandes educadores sobre IA da atualidade.
Em março de 2021, ele veio a público, em uma transmissão ao vivo no Youtube, para iniciar uma conversa sobre algo que, em retrospecto, já parecia óbvio, mas que acaba negligenciado tanto por técnicos da Ciência de Dados e do Machine Learning (talvez por estarem focados demais em ferramentas) quanto por lideranças da área e por decisões de negócio (talvez pela influência de consultores e vendedores de soluções de Big Data).
Na transmissão, intitulada “MLOps: From Model-Centric to Data-Centric”, Ng tratou, em resumo, sobre:
como melhorar a qualidade dos dados (abordagem data-centric) pode ser mais eficaz e eficiente do que apenas focar no desempenho dos modelos de ML (abordagem model-centric);
como ter mais dados não significam, necessariamente, mais precisão dos modelos: abordagens baseadas em “pequenos dados” (small data), além de mais viáveis, podem entregar resultados similares ou melhores do que abordagens de “grandes dados” (big data);
como uma categoria nascente de profissionais, chamada MLOps (e/ou DataOps; como são áreas recentes, ainda há bastante indefinição de nomenclaturas), torna-se fundamental para um controle de qualidade mais sistemático em soluções de ML, neste novo paradigma.
“Meu pressentimento é que, na verdade, para a maioria dos problemas de ML, você precisa de conjuntos relativamente pequenos de dados.
“Se pudermos tornar MLOps e Data-Centric mais sistemáticos, será mais eficiente para implantarmos sistemas de IA.”
— Andrew Ng.
Vamos percorrer as propostas de Ng e como elas confluem na direção de outras tendências de que o mercado já vem falando, como o conceito de small data, wide data (“dados amplos”, em tradução livre), data quality (qualidade de dados) e o próprio MLOps como sistematização de tudo isso.
Antes, porém, vamos voltar no tempo e relembrar o hype (e crenças questionáveis) em torno de Big Data, o que ajudará a entender melhor as propostas de Ng, na sequência.
Em 1998, ano em que a busca Google surgia, já se podia ver algum tratamento sobre Big Data como um paradigma que se realizaria no século XXI.
Uma apresentação intitulada “Big Data… and the Next Wave of InfraStress”, da época, por exemplo, tratava do termo em aspectos técnicos, como armazenamento, memória, processamento (CPUs) etc.. Quem lembra é Gil Press, em “A Very Short History of Big Data” (ele compilou outros ótimos históricos sobre Internet e Web, Tecnologia da Informação e Ciência de Dados).
O surgimento e consolidação das big techs, principalmente da Google, a partir dos 2000, com sua missão de “organizar toda a informação do mundo”, e, em meados da década, do Facebook, que se tornaria um grande repositório de dados não estruturados (nossas conversas, pensamentos, até nossos impulsos inconscientes), alavancou o hype em torno dos “grandes dados”.
Com a chegada e adentrando a década de 2010, a coisa explodiu, principalmente com o iPhone e a Internet móvel. Consequentemente, transbordou à mentalidade de negócio. A McKinsey, consultoria global, publicou em 2011, por exemplo: “Big data: The next frontier for innovation, competition, and productivity”.
Era a época do surgimento de Uber, AirBnB, do uso massivo de dados no Linkedin, quando nomes como DJ Patil e o próprio Ng ganharam relevância. Note-se os termos “next wave” (nova onda) e “next frontier” (nova fronteira), que ajudaram a catapultar a nova tendência como um mantra. Mais dados, mais insights, mais riqueza.
Essa mentalidade tratava de confirmar o que Chris Anderson já decretara na Wired, em 2006: “The End of Theory: The Data Deluge Makes the Scientific Method Obsolete” (“O fim da teoria: o dilúvio de dados torna o método científico obsoleto”) — que comentamos em “‘Tretas’ de família entre Ciência de Dados e Método Científico”. Bastava captar toneladas de dados e minerá-las como panaceia para disruptar negócios, superar a concorrência e lucrar muito. Afinal, Google e Facebook eram exemplos inequívocos de tal teoria.
Entretanto, não tardaram a surgir vozes críticas e revisionistas àquele paradigma baseado em “data first” (dados primeiro), “data-driven” (dirigido por dados) e terminologias do tipo, embora, pela força do mercado, permanecessem à margem da tendência. Reúnem-se neste flanco desde estudiosos da questão até personalidades da estatística.
Nicolas Nassim Taleb, trader, erudito da incerteza e autor de livros famosos como The Black Swan (O Cisne Negro), sobre eventos imprevisíveis de extrema magnitude, foi um dos que alertou sobre os riscos da nova tendência, com sua “marra” característica:
“Estamos mais enganados pelo ruído do que nunca e é por causa de um fenômeno desagradável chamado ‘big data’. Com o big data, os pesquisadores levaram a colheita seletiva a um nível industrial.
“A modernidade fornece muitas variáveis, mas poucos dados por variável. Assim, os relacionamentos espúrios crescem muito, muito mais rápido do que as informações reais.
“Em outras palavras: big data pode significar mais informações, mas também significa mais informações falsas.”
— Nassim Taleb, em “Beware the Big Errors of ‘Big Data’”, na Wired, em 2013.
A replicabilidade de estudos científicos e a inferência e previsão em sistemas complexos esbarraram no mesmo problema: correlações espúrias e previsões simplistas demais, por problemas de modelagem e/ou de dados, que não captavam nuances básicas da realidade (ou captavam ruído em vez de sinal, basicamente).
Negócios perceberam isso na prática e, é claro, na dor. Produziram mais e mais dados, caíram na sedução de consultorias em Big Data, contrataram data scientists e, mais recentemente, data engineers, tentaram Machine Learning, tentaram Deep Learning, e, mesmo assim, não conseguiram encontrar aquele pote de ouro no fim do arco-íris que os artigos de revistas e influenciadores de negócios prometiam.
Como no conto de fadas, o rei estava nu (mas acreditando vestir a roupa que só os sábios veriam, como o falsário lhe vendera) e ninguém ousava avisar-lhe do fato.
Andre Ng também atravessou toda essa onda ou fronteira e se especializou em modelos de Machine Learning e Deep Learning. Viu de perto, na prática, as questões que hábitos e cultura do pessoal técnico e mentalidade de negócios implicam. E se propôs a levantar o debate, como um contribuidor, sempre professoral, em torno da mudança de uma paradigma.
Talvez no Brasil, sobretudo em empresas que ainda estão amadurecendo em relação à Ciência de Dados, a tendência não seja tão proeminente. Mas um dos pontos que Ng trata é da cultura de técnicos de Data Science e do ML, herdada da academia, comum nos EUA: a abordagem model-centric (centrada no modelo).
Para ele, cientistas de dados e ML engineers, por influência das pesquisas acadêmicas, como se pode constatar em muitos papers científicos, aprenderam a olhar demasiadamente para o modelo, a “tunagem” de seus parâmetros e sua performance, acreditando que mais precisão inferencial ou preditiva resume-se a trabalhar no código.
Quanto aos dados, segundo ele, adquiriu-se como que um hábito de usar as bases de benchmark, como ImageNet, Íris e tantas outras, sem grande preocupação com a qualidade, até porque eles vinham prontos e em grandes quantidades. É um pouco do que ocorre com o Kaggle também, cujas bases de dados limpas e organizadas não espelham a realidade (bagunçada) que se encontra no mercado.
“O que estou descobrindo é que, para muitos problemas, pode ser útil mudar a mentalidade. Não apenas melhorar o código, mas, de uma forma mais sistemática, melhorar os dados [...]” — Andrew Ng.
Ele demonstra com exemplos como a mudança de abordagem, de centrada no modelo (model-centric) para centrada nos dados (data-centric), resulta em projetos de ML mais eficientes e eficazes.
Um dos exemplos é a detecção de falhas em chapas de aço na indústria, por meio de visão computacional. Um modelo de ML chegava a 76,2% de acertos na detecção, enquanto o pretendido (próximo à precisão humana) era de 90%. Melhorando-se o modelo (model-centric), houve 0% de ganho de performance. Melhorando-se os dados (data-centric), houve ganho de 16,9% na precisão, ou seja, 93,1%, ultrapassando o que era pretendido.
Brincando com o lugar-comum de que 80% de Data Science é limpeza de dados e só 20% é construção e aperfeiçoamento do modelo, Ng diz que adoraria ver uma mudança sistemática para a etapa em que é feita a maior parte do trabalho. Como? Por meio de:
rotulagem (classificação) de dados mais consistente, fundamental ao treinamento de modelos supervisionados e semissupervisionados, sejam em visão computacional, processamento de linguagem natural ou sistemas de recomendação, por exemplo;
conjuntos de dados com mais sinal e menos ruído, o que nos leva a small data.
Ele cita a classificação de imagens de iguanas (troque-se por gatos ou qualquer outra coisa) para falar de rotulagem mais consistente e com dados de voz para falar de mais sinal e menos ruído.
Quanto às iguanas, o que ocorre é que há necessidade de alguma classificação humana inicial das imagens para que os répteis sejam identificados corretamente. O mesmo princípio vale para atividades úteis, como detecção de defeitos em chapas de aço ou de sinais pulmonares em raio-x, como comentamos no último artigo.
O problema é que pode haver subjetividade, ambiguidade, várias formas de rotular uma mesma imagem de iguana, por parte dos classificadores humanos. (Abordagens inteiramente de máquina, isto é, não supervisionadas, são possíveis e estão em expansão, mas em geral são custosas e não aplicáveis a todos os domínios.)
É aqui que small data vs. big data se torna mais interessante. No exemplo de NG, digamos que contratamos alguém para ir no habitat das iguanas e capturar 500 fotos delas (fotos de iguanas, obviamente, existem aos montes na Internet, mas troque elas por produtos em uma loja específica ou na prateleira do supermercado e veja que faz sentido ter de contratar fotógrafos).
Percebemos que há ruído (rotulagem incorreta ou imprecisa) em 12% das imagens, ou seja, 60 delas têm problemas. Uma das abordagem de big data, até então, era: vamos pegar mais 500 fotos de iguanas e somar ao dataset, assim, diluímos o ruído (o que, no caso de contratar fotos ou modelos 3D, pode encarecer o projeto).
A outra saída, small data, é pensar que 12% são só 60 imagens das 500 que temos. Por que não nos debruçarmos nessas 60 imagens e melhorarmos a rotulagem delas? Por que, se é difícil decidir casos ambíguos, não criamos métodos para medir essa ambiguidade e decidir qual o exemplo mais preciso? Provavelmente, mesmo que demande trabalho de revisar os dados, resultará em menos custos e, de quebra, melhor compreensão sobre o conjunto de exemplos.
Fazer isso iterativamente, então, permite melhoria contínua sobre os dados que já se tem, sem precisar de milhares ou milhões de dados novos, o que, como dito por Taleb, só que em outras palavras, é o mesmo que adicionar mais palha no palheiro, quando o que nos interessa são algumas poucas agulhas.
O mesmo se aplica a dados de voz. Em vez de usarmos “Hmm, a previsão do tempo hoje…” ou “Hmm… a previsão do tempo hoje” (com interjeições, onomatopéias, pausas etc.), limparmos os dados para “a previsão do tempo hoje”. Mas isto não deve depender de um engenheiro solitário ou de práticas ad-hoc, na proposta de Ng, e sim de abordagem sistemática, padronizada, de controle de qualidade dos dados.
Uma imagem retirada da apresentação de Ng sintetiza bem o que é analisado nos exemplos:
No primeiro gráfico, com poucos dados e rotulagem ruidosa, teremos dificuldades com a precisão do modelo, obviamente. O big data, no segundo gráfico, dilui a imprecisão, mas tem seus custos e implicações. Uma abordagem small data, com rotulagem consistente, no terceiro gráfico, alia melhor compreensão dos dados com maior precisão do modelo.
Para dar ênfase a small data, Ng traz outra constatação interessante: com 500 exemplos de treino limpos, sua equipe atingiu praticamente a mesma precisão que com algo entre 1250 e 1500 exemplos. Ou seja, menos dados, com mais qualidade, tornam big data supérfluo.
Um dos subtítulos que Ng usa na apresentação, inclusive, é “From Big Data to Good Data” (“de grandes dados para dados melhores”, em tradução livre), o que, segundo ele, requer:
definição consistente dos dados (não ambiguidade nos rótulos);
boa cobertura dos dados na rotulagem;
ter feedback sobre se os dados em produção cobrem a variação de dados rotulados;
tamanho apropriado dos conjuntos de dados.
Na apresentação, ele também lança algumas pesquisas rápidas com usuários que trazem outros insights para sua argumentação. Pergunta, por exemplo, qual a quantidade de exemplos que o público considera necessária para treinamento de modelos, para justificar small data. Também questiona quem é mais indicado para fazer esse trabalho que chama de MLOps, se cientistas e engenheiros de dados, desenvolvedores de software ou pessoas de negócio.
A esta última, uma questão muito mais aberta, ele acredita que pessoas de diferentes funções podem ajudar, não se restringindo a um tipo de profissional. Ele também acrescenta sugestões sobre como vê o MLOps no ciclo dos projetos de ML: diferente de DevOps, que atuam mais no deploy e pós-deploy, MLOps atuam desde a busca e limpeza de dados, iterando sobre as demais etapas à medida que o modelo avança em produção.
“Hoje digo à minha equipe: não vamos mais mexer no modelo, vamos continuar sistematicamente melhorando a qualidade dos dados. [...]
“Nós, como comunidade, temos de descobrir [como fazer MLOps sistemático]. Não há livro escrito sobre como fazer.”
— Andrew Ng.
(Os slides que ele mostra em sua transmissão no Youtube estão disponíveis na íntegra em deeplearning.ai, em inglês. Facilita a leitura de alguns termos, que no vídeo podem ficar pequenos, a quem queira conferir o material na íntegra.)
O que Ng trata de uma forma mais técnica, ao público de data scientists e data engineers que o acompanham, encontra respaldo no que influenciadores e a mídia especializada em negócios também tem pregado, depois de reconhecer que big data não teve a correlação positiva esperada com “big lucro”.
O Gartner, um líder mundial em pesquisa e consultoria de negócios, noticiou logo depois da apresentação de Ng, em maio de 2021, que “70% das organizações mudarão seu foco de big data para small data e wide-data até 2025”. Quando consultorias de tal tamanho declaram uma tendência, têm força para enviesar o resultado a corresponder à previsão.
Nas palavras do Gartner, “small data é uma abordagem que requer menos dados, mas ainda oferece percepções úteis”, por meio de “certas técnicas de análise de série temporal ou aprendizado de poucos instantes, dados sintéticos ou aprendizado autossupervisionado”. Já wide-data “permite a análise e a sinergia de uma variedade de fontes de dados pequenas e grandes, não estruturadas e estruturadas”.
As práticas poderiam ser aplicadas a diversas áreas, com foco em demanda de varejo, inteligência comportamental e hiperpersonalização da experiência do cliente (consumo, basicamente), mas podendo ser levadas a ramos específicos, como segurança, detecção de fraude e sistemas autônomos adaptativos, como robôs.
(No âmbito de negócios, o conceito de small data pode ser confundido com o do livro de Martin Lindstrom, “Small Data: Como poucas pistas indicam grandes tendências”, que têm influência na área. O livro, porém, não trata de aspectos mais técnicos e, sim, fala de dados pequenos no sentido de dados mais qualitativos e etnográficos de consumidores, captados no convívio com eles, em contraposição a dados mais quantitativos e captados por ferramentas.)
Não fica claro, porém, para o Gartner, no que consistem tecnicamente esses “dados pequenos e amplos”. O buzz em torno dos conceitos, porém, é útil para levar mais gente a pensar a respeito e tentar definir melhor esses pontos.
É que parece tentar responder a Gradient Flow, uma empresa de consultoria em ciência de dados e conteúdo, quando fala de data quality (qualidade de dados). O argumento faz menção a abordagem data-centric de Andrew Ng e cita os modelos que se mostraram inúteis com o “cisne negro” da covid-19, como vimos no texto passado.
A solução, sugere a empresa, está na especialização de profissionais dedicados à qualidade de dados e em startups que estão surgindo para tratar especificamente deste problema.
É interessante o que a empresa diz que “produtos” voltados à qualidade de dados, devem conter: criação de perfil de dados (resumir os principais metadados de conjuntos), medições de qualidade de dados (estatísticas resumidas), diagnóstico de problemas nos dados e correções automatizadas, UX excelente (interface amigável a usuários finais) e recursos avançados para gerenciamento de metadados.
Um framework que fornece diretrizes para qualidade de dados vem da DAMA, uma instituição global, sem fins lucrativos, dedicada à gestão de dados e informação, mais especificamente de seu Data Management Body of Knowledge (DMBoK), no estilo do PMBOK (“bíblia” da gestão de projetos) e do BPM CBOK (gestão de processos):
“Olhando para o futuro, soluções e processos de qualidade de dados serão cada vez mais necessários antes que qualquer produto ou serviço de dados seja implantado. Ao longo dessas linhas, tem havido uma onda recente de startups lidando com dados estruturados. Mas ainda não vimos essa onda de dados não estruturados (por exemplo, texto), que ocupam uma área maior do que os dados estruturados e estão alimentando mais aplicativos novos. É aqui que veremos a próxima onda de startups de qualidade de dados.” — Gradient Flow.
No flanco mais técnico e acadêmico, tem surgido estudos para aprofundar as explicações de small data vs. big data no Machine Learning.
Um exemplo é “A Close Look at Deep Learning with Small Data”, que traz insights como: “[...] em problemas com amostras de treinamento escassas e sem aumento de dados, as redes neurais convolucionais de baixa complexidade têm um desempenho comparativamente bom ou melhor do que as arquiteturas de última geração”.
Outro caso é “Small Data Challenges in Big Data Era: A Survey of Recent Progress on Unsupervised and Semi-Supervised Methods”, que treinou modelos sofisticados de Deep Learning com dados pequenos, de forma supervisionada e semissupervisionada, visando propostas de aprimoramentos a respeito.
O que estes fatos indicam é uma guinada da Ciência de Dados e do Machine Learning, gradual e discreta, que deixa de olhar só a maquinaria dos modelos, como se nela estivesse seu grande desafio, para considerar a dimensão da matéria-prima que alimenta essa maquinaria (que em algum momento, com big data, poderia parecer um aspecto resolvido, bastando adicionar mais dados).
Usando uma analogia de Andrew Ng, é como se até então fôssemos cozinheiros mais preocupados ou apaixonados com o funcionamento e o motor da geladeira, quando pratos melhores são feitos com atenção a ingredientes frescos, de qualidade, bem selecionados.
Essas conversas abrem campo a uma série de outras explorações, como a retomada de aspectos da Ciência da Informação (que estuda a informação desde sua gênese até o processo de transformação de dados em conhecimento) em organizações, uma disciplina que acabou sufocada pela ascensão da Tecnologia da Informação ainda no século XX, como se todos os problemas informacionais fossem apenas questões de tecnologia e não questões de semântica, padronização, governança e política organizacional.
Elas também abrem espaço para surgimento de novas funções profissionais, como o próprio MLOps e DataOps, que estão sendo testados e, aos poucos, sistematizados em organizações mais avançadas no ciclo de dados e no aprendizado de máquina. Obviamente, tudo isso melhora e especializa a Ciência de Dados.
Outra percepção é que não há nada como a maturidade e alguns anos de prática para colocar hypes e modas em pratos limpos e mais realistas, sem mágica e as tais balas de prata com que, às vezes, nos empolgamos. Há trabalho, muito trabalho a ser feito, e uma dose considerável de raciocínio, crítica, diálogo e monitoramento constante para que a tecnologia funcione de forma satisfatória.
Certamente, falta-nos definir mais precisamente o que é small data em comparação com big data e o que é wide-data, que seria algo como muitas fontes de dados interligadas. Tabelas de bancos de dados relacionais já não fazem isso? Consigo, com apenas dez ou cem exemplos, treinar um modelo sofisticado para prever com precisão determinado comportamento de clientes? Ou preciso de mais de mil, dez mil, cem mil ou um milhão de exemplos? Há um número melhor para diversos casos? Como lidar com as caudas longas, como comenta Ng, em que tenho milhares ou milhões de dados, mas a grande maioria deles são únicos ou em pequena quantidade, comparados com o tamanho desproporcional das entradas mais frequentes? Não é necessário ter primeiro big data para se entender os dados e extrair e refinar small data a partir dele?
Uma boa maneira de se pensar, senão em dados pequenos, mas em dados suficientes, é seguir a própria Lei Geral de Proteção de Dados (LGPD). Ela é um guia tanto para se captar apenas os dados que são necessários como para alertar que ter muitos dados, sem governança adequada, sem documentação de uso, entre outras não observâncias, pode ser um risco desproporcional às vantagens que tais dados garantem, muitas vezes mais baseadas em crença ou piloto automático do que em evidências justificadas.
O assunto é novo, amplo e nos fornece alguns caminhos para tratar em artigos futuros, como uma exploração mais embasada do MLOps e um aprofundamento em todo esse outro lado, menos técnico, da Governança de Dados, que remete à Ciência da Informação. Fiquem à vontade para comentar e sugerir outras explorações no âmbito.
Como o próprio Andrew Ng diz, depende da comunidade construir abordagens mais sistemáticas para a qualidade dos dados e estamos em um momento “empolgante”, nas palavras dele, para fazê-lo.
Artigo escrito por Rogério Kreidlow, jornalista, que gosta de observar a tecnologia em relação a temas amplos, como política, economia, história e filosofia.