O que eu vi Strata + Hadoop World NY 2015 - PARTE 1

Na última semana (29-01 de Outubro) estive na Strata em Nova Iorque, o evento de Big Data mais importante do ano, pela Globo.com.

O evento foi bem interessante, foi importante a confirmação que a arquitetura usada por nós do time de Big Data da Globo.com é a mesma usada nos players mais respeitados e o futuro parece ser na direção de Deep Learning, tema discutido em várias apresentações.

No primeiro dia foram os tutoriais, eu escolhi o Hardcore Data Science, na verdade era uma sala dedicada a apresentações somente do tema de Data Science que uniu profissionais do mercado (Facebook, Microsoft e Databricks) com pesquisadores das principais universidades americanas (MIT, Stanford e Berkeley), ficou claro nessa apresentação que o Spark MLlib é largamente usada, que há um tendência em cada vez usar mais algoritmos de redes neurais (Deep Learning), outro assunto que foi muito comentado foi a união de tempo real com Machine Learning (Spark Streaming e MLlib).

Nem todas as apresentações já disponibilizaram os slides, as que estão disponíveis são acessíveis via link no título.

Hardcore Data Science em mais detalhes

GPU/CPU acceleration for matrix computations and neural networks on Spark

Foi apresentado por Reza Zadeh, que é de Stanford e da Databricks, ele trabalha nos projetos dedicados a Machine Learning e algébra linear do Spark.

Foi apresentado como o Spark pode ser usado para Deep Learning, mostrou a API de redes neurais disponível no Spark. O foco era como o Spark facilita para escalar as redes neurais, mostrando como o Spark pode ser usado para distribuir as matrizes pelo cluster. Falou que a ideia de “maquina barata” do Hadoop para o cluster precisa mudar um pouco para processar matrizes (indo até Deep Learning), precisando de mais CPU e GPU locais para aumento de performance. No final ele mostrou quais são os milestones do Spark para esse caminho, que para o 1.6 são Convolutional Neural Networks e Dropout, different layer types, e para o 1.7 Recurrent Neural Networks and LSTMs.

Probabilistic topic models and user behavior

Foi apresentado por David Blei, que é de Columbia.

Foi tratado do problema de como representar um texto por meio de palavras-chave e anotações. Foi dito que tópico é uma sequência de palavras em um determinado momento, isso diz que as palavras chave de um texto podem mudar dado o tempo, o exemplo dado foi como coisas como tecnologia viram commodites com o passar do tempo. Foi dito que LDA é um ótimo algoritmo para a classificação de um documento ser automatizada. Contou o problema dos termos não terem metadados (ontologias servem para suprir esse ponto), outro ponto muito comentado foi como é importante classificar com imparcialidade dado que isso pode mudar completamente a descrição de um texto. Ele mudou a matriz de lado e mostrou como os leitores podem falar sobre o texto usando a abordagem conhecida como Collaborative Topic Models. Foi uma apresentação bem densa e vale a pena a consulta sobre os detalhes apresentados.

FBLearner Flow - Facebook machine learning platform

Foi apresentado por Hussein Mehana, que é o principal engenheiro da plataforma de Machine Learning interna do Facebook.

Foi mostrada a plataforma usada pelos cientistas de dados do Facebook tanto para fazer exploração como para rodar em produção algoritmos. Essa plataforma tem toda uma camada de Workflow junto com sampling de dados para facilitar a integração dos códigos novos bem como o tuning dos mesmos, eles chamam isso de ML-Pipeline, para um job entrar nesse workflow ele usa decoradores no código (a linguagem de exemplo foi Python), ele mostrou a interação entre dois jobs com interdependência (chamou isso de channel), sendo transparente para os usuários. Além da parte de orquestração de jobs ele mostrou uma interface gráfica que é gerada após os resultados ajudando na exploração, nesse ponto me pareceu com o HUE. Um ponto levantado foi a importância de ter 1 ambiente de sandbox separado da infraestrutura para o cliente final, mas que tenha a mesma carga do outro ambiente possibilitando testes sem impactar o usuário.

KeystoneML: Building large-scale machine learning pipelines on Apache Spark

Foi apresentado por Ben Recht, que é de Berkeley.

Começou a apresentação explicando o Keystone ML que é um framework para criação de pipelines para Machine Learning. Pareceu muito promissor eles contribuíram fortemente com o spark.ml. Um exemplo de pipeline foi do processamento de textos com saco de palavras, indo para TF-IDF, LDA e CRF. Ele mostrou como eles tão usando essa arquitetura aplicada a Deep Learning. Esse projeto tem bind para C em vários pontos pensando em performance. Me pareceu uma biblioteca bem madura, testada e documentada. É um projeto para ficar de olho.

Crowdsourcing your data

Foi apresentado por Jenn Wortman Vaughan, que é pesquisadora da Microsoft.

Nessa apresentação foi levantado o ponto de que ter muitos dados para Machine Learning é complicado, a maioria das empresas tem que validar as suas ideias com poucos usuários. O ponto é que há mecanismos como o Amazon Mechanical Turk que ajudam a coletar dados fazendo com que pessoas de verdade sejam usuários em um experimento. Algumas empresas também estão pagando a alguns usuários para preencherem pesquisas ajudando na coleta de mais informações sobre eles. Há uma grande demanda do mercado por dados, ela mostrou como empresas grandes como Facebook e Netflix já abriram parte dos seus dados anonimizados gerando uma gama de papers que podem melhorar seus próprios produtos “de graça”. Ela mostrou como que a falta de conhecimento dos usuários no caso de anúncios pode gerar prejuízo para quem disponibiliza um banner, anúncios ruins podem custar mais de $1 à cada 1000 pageviews feitos.

Minds and machines: Humans where they’re best, robots for the rest

Foi apresentado por Adam Marcus, que é co-fundador da Unlimited Labs.

Lançou uma plataforma Open Source chamada ORCHESTRA, essa plataforma visa a curadoria de conteúdos por especialistas, ele cria todo um workflow e permite a interação dos especialistas com o autor do trabalho, o foco é como melhorar o trabalho em equipe unindo-o com o trabalho das máquinas, como por exemplo deixando crop de imagens para o computador fazer.

Learning with Counts: Extreme-scale featurization made easy

Foi apresentando por Mikhail Bilenko, que é pesquisador líder da divisão de Machine Learning da Microsoft (Azure).

Ele seguiu a apresentação mostrando como o estado da arte da área de Machine Learning pode sofrer com problemas de performance. Ele apresentou o DRACULA (Algoritmo robusto distribuído para aprendizagem baseada em contagem), que é como um objeto é referenciado olhando um histórico de contagem, por exemplo clique em matérias. O objetivo é que o Azure ML consiga calcular todos os dados de forma rápida com muito valor agregado, um ponto que foi destacado foi usar o máximo de dados reais para o experimento, mostrando como dados em produção podem se comportar diferente dos amostrais.

Sketching big data with Spark: Randomized algorithms for large-scale data analytics

Foi apresentado por Reynold Xin, que é co-fundador da Databricks e líder do Spark.

Ele mostrou como o caminho do Sketching é muito bom para conhecer os seus dados e fazer um processamento com resultados mais rápidos e nos ajustes dos parâmetros de tuning dos algoritmos. Falou sobre como podemos usar as técnicas de sketching no Spark (bloom filter, itens frequentes e modelo de Bernoulli, ordenação randomica) e como ele é um ótimo caminho para isso.


Se você gosta de Big Data e quer fazer parte de uma empresa que investe no conhecimento do profissional, como em idas a eventos internacionais e nacionais e com ótimos treinamentos internos, estamos contratando.

http://talentos.globo.com/

Renan Oliveira

Desenvolvedor Full Stack. Integrante da área de Big Data, entusiasta de Web Semântica. Atualmente envolvido no projeto que visa facilitar o acesso as plataformas de Big Data por toda Globo.com.

Rio de Janeiro - Brazil http://renanoliveira.com