Como a Netflix implanta IA de código aberto para revelar seus favoritos

Neste artigo de ciência baseada em IA, exploramos como a Netflix adotou um modelo de código aberto para melhorar seus sistemas de recomendação de entretenimento.

Como a Netflix implanta IA de código aberto para revelar seus favoritos

Neste artigo Ciência baseada em IA, exploramos como Netflix adotou um modelo de código aberto para melhorar seus Sistemas de recomendação de entretenimento.

Primeiro, vamos discutir brevemente o que o Aprendizado de Máquina significa basicamente. Em termos simples, o aprendizado de máquina é uma técnica pela qual um computador pode aprender a partir de dados, sem usar um conjunto complexo de regras diferentes. Essa abordagem é baseada principalmente no treinamento de um modelo de conjuntos de dados. Quanto melhor a qualidade dos conjuntos de dados, melhor será a precisão do modelo de aprendizado de máquina.

Primeiro, uma rápida olhada no aprendizado de máquina e aprendizado profundo

Existem basicamente três formas de aprendizado de máquina:

  • Aprendizagem Supervisionada
  • Aprendizagem não supervisionada
  • Aprendizagem por Reforço

A aprendizagem supervisionada é baseada no treinamento em conjuntos de dados rotulados.

A aprendizagem não supervisionada usa conjuntos de dados não rotulados.

A aprendizagem por reforço é baseada em recompensar um algoritmo com base em seus resultados corretos e puni-lo se ele falhar na tentativa.

Os intervalos de anos acima podem estar relacionados às datas usadas neste artigo | Netflix open source Vectorflow em 2017, que é uma biblioteca de aprendizado profundo | Fonte da imagem aqui

Relacionado a um assunto amplamente conhecido como Redes Neurais Artificiais, há também Aprendizado Profundo, que é uma técnica para realizar Aprendizado de Máquina que é inspirado em Nossa própria Rede do Cérebro de Neurônios.

Como a Netflix usa IA para recomendação de conteúdo

Se você é ou já foi assinante da Netflix, com certeza sabe que a Netflix não usa um modelo baseado em propaganda. Em vez disso, eles usam um modelo puramente baseado em assinatura. É por isso que a Netflix deseja tornar sua experiência o mais personificada possível para você.

Para fazer isso, a Netflix começou a explorar uma série de maneiras de como eles poderiam criar um modelo tão perspicaz. Mesmo que você não seja assinante da Netflix, você deve estar se perguntando como a Netflix faz essas recomendações incríveis na conta de um usuário da Netflix e como as pessoas passaram a amar a Netflix, que é tão óbvio nos dias de hoje Você ficaria surpreso em saber que algumas dessas recomendações podem ter sido baseadas no cérebro de uma mosca de fruta!

No início, suas metodologias eram muito simples, baseadas em Big Data e contando apenas com um sistema baseado em classificação. As recomendações de filmes/programas de TV foram totalmente baseadas em quão bom ou ruim um determinado programa ou filme foi classificado. Essas classificações foram baseadas no feedback do usuário, número de visualizações, se os vídeos estavam sendo assistidos na íntegra/partes e/ou classificações IMDB.

Aqui está um artigo da Universidade de Stanford, datado de 12 de março de 2008, que ilustra como as recomendações da Netflix foram baseadas nas classificações do IMDB.

Construída sobre uma base sólida de decisões estratégicas, a Netflix percorreu um longo caminho na construção de um ótimo modelo de aprendizagem para prever qual poderia ser o próximo filme não assistido favorito de seus usuários, com um nível de precisão consideravelmente alto.

Em 21 de setembro de 2009, um prêmio de $ 1 milhão foi concedido à equipe BellKor’s Pragmatic Chaos por melhorar o modelo de recomendação da Netflix. Conhecido como Prêmio Netflix, essa foi uma iniciativa da Netflix para aprimorar a experiência do usuário em 10% ou mais.

O algoritmo de predição a ser improvisado e atualizado baseava-se na filtragem colaborativa. A filtragem colaborativa é uma técnica de recomendação totalmente baseada em feedback coletivo derivado do usuário.

Uma abordagem de aprendizado de máquina para prever preferências de filme | Vídeo completo incluído em sistemas de recomendação Digamos, um grupo de pessoas assistiu a um filme que tem grande possibilidade de você realmente gostar. Mas é provável que você nunca tenha ouvido falar do filme antes. Ao coletar e interpretar suas preferências de visualização anteriores com as daqueles que terminaram de assisti-lo, um sistema de recomendação pode sugerir esse filme em particular.

A filtragem baseada em conteúdo, por outro lado, não é baseada nas preferências dos usuários. Em vez disso, as comparações são feitas entre os próprios vídeos com base em um tipo de classificação, como um gênero, por exemplo. Isso poderia ser uma comédia, romance, terror, suspense e assim por diante.

Mais adiante, também temos um modelo híbrido que acopla ambas as técnicas de filtragem acima descritas. Se você quiser aprender mais sobre isso, assista a este clipe:

A Netflix até lançou um artigo na revista ACM intitulado The Netflix Recommendation System: Algorithms, Business Value, and Innovation. O jornal está disponível em acesso aberto. Algumas das metodologias perceptíveis destacadas no artigo são as seguintes:

Recursos e técnicas que a Netflix usa para oferecer a melhor experiência possível aos usuários:

  • Video Ranker personalizado: PVR
  • Top-N Video Ranker
  • Tendências agora
  • Continue assistindo
  • Similaridade de vídeo-vídeo
  • Geração de página: Seleção e classificação de linha
  • Seleção de evidências
  • Experiência de pesquisa
  • Técnicas estatísticas e de aprendizado de máquina para todos os itens acima

Para poder nos relacionar com os recursos acima, seguimos em frente e nos inscrevemos para a assinatura gratuita do primeiro mês da Netflix e foi assim que a experiência foi:

Após a inscrição, tivemos que escolher 3 ou mais filmes ou programas de TV favoritos. Por isso, escolhemos Baahubali 2, Bright, Sherlock e Altered Carbon. Havia muito mais opções para escolher do que as mostradas abaixo:

Em seguida, Netflix’s Artificial Brain entrou em ação:

Então, basicamente, quanto maior o número de seleções que teríamos feito, melhor seria a personalização. Depois disso, fomos recebidos com a página de navegação da Netflix parecida com esta:

Minha lista pode ser relacionada ao Ranker de vídeo personalizado: PVR, correspondendo à primeira das 9 técnicas listadas acima.

Há muito tempo queríamos assistir Altered Carbon. Então, vimos alguns segundos no início:

Voltando à página inicial, notamos uma nova recomendação:

Isso corresponde à Similaridade Vídeo-Vídeo porque acabamos de assistir um pouco de Carbono Alterado.

Havia também outra linha de recomendação interessante que nos mostrou as principais escolhas em que poderíamos estar interessados e ficamos surpresos ao navegarmos por esta lista e descobrimos que não havia nenhuma que não gostaríamos de ver!

Isso estaria diretamente relacionado ao Top-N Video Ranker da lista acima. Ittefaq é um thriller de suspense que pertence a um gênero semelhante ao de Sherlock, que escolhemos logo após a inscrição. Revolt, como sugere a miniatura, deve pertencer a um gênero de ação, igual ao de Baahubali 2 ou Bright. Portanto, isso é derivado da filtragem baseada em conteúdo.

A recomendação, Stories By Rabindranath Tagore, nos surpreendeu ainda mais. A Netflix poderia ter recomendado isso com base no local. Eles realmente têm alguns algoritmos incríveis por aí!

Então, essa foi uma visão prática de como a Netflix praticamente funciona. Todas essas recomendações inteligentes não teriam sido possíveis se a Netflix não tivesse adotado uma abordagem de código aberto para Inteligência Artificial e Aprendizado de Máquina. Vamos agora dar uma olhada nas iniciativas de código aberto da Netflix.

Iniciativa Netflix Open Connect

O próprio Netflix rede de entrega de conteúdo (CDN) é alimentado por código aberto. Eles inicialmente terceirizaram seus serviços de streaming para Akamai, Level3 e Limelight. Mas, eventualmente, eles tiveram uma mudança de planos.

Netflix decidiu construir seu próprio CDN porque queria:

  • Cresça mais rápido
  • Reduzir custos
  • Controle o lado do servidor da conexão HTTP
  • Construir um CDN especializado em entrega de conteúdo Netflix
  • Coloque o conteúdo mais perto de um cliente

Assim, o Netflix Open Connect foi criado. Ou seja, a base CDN da Netflix foi construída sobre o servidor web NGINX e o sistema operacional FreeBSD simbolizando dois pilares fortes. A Netflix escolheu usar uma licença BSD em vez de GPL ao construir seu CDN. Isso ocorreu porque os ISPs estavam envolvidos principalmente como terceiros. Para comparar ambas as licenças em profundidade, pule aqui aqui.

O NGINX foi escolhido porque era conhecido por ser rápido e estável, o suporte comercial estava disponível na Nginx, Inc. e tinha uma estrutura flexível para módulos personalizados. O FreeBSD também era conhecido por ser um sistema operacional rápido e estável e tinha uma forte comunidade de desenvolvedores. Então, tornou-se uma escolha adequada.

Sendo ambos gratuitos e de código aberto, a Netflix usou outro projeto de código aberto chamado BIRD Internet Routing Daemon que, no entanto, usa a licença GPL. Essa ferramenta foi usada para transferir a topologia de rede dos ISPs para seu próprio sistema de controle que direcionaria os clientes aos seus respectivos conteúdos.

Todos os três serviram como ótimas ferramentas para lidar com:

  • 400.000 arquivos de fluxo por aparelho
  • 5.000 a 30.000 fluxos de cliente por dispositivo
  • 300-1000 clientes por disco

A Iniciativa Open Connect conforme descrito acima é discutida em detalhes nesta gravação abrangente Conferência NGINX:

Slides de apresentação aqui:

Netflix CDN e código-fonte aberto de Gleb Smirnoff Iniciativa de software de código-fonte aberto Netflix

Hoje, a iniciativa de software de código aberto da Netflix fala de seu compromisso com o código aberto. Eles têm o seu próprio Open Source Software Center! Página GitHub da Netflix mostra claramente seus 139 repositórios gerenciados por 52 desenvolvedores. Todos os resultados preditivos que acabamos de ver na prática são alimentados por esses projetos de código aberto exclusivos listados no GitHub.

A Netflix tem sua própria biblioteca de aprendizado profundo chamada Vectorflow, mencionada acima. Existe ainda outra ferramenta preditiva e analítica chamada Surus. Ele tem uma função conhecida como ScorePMML que permite a previsão de pontuação eficiente de modelos na nuvem. Surus também pode ser usado para detecção de outlier ou correspondência de padrão. A Netflix também publicou uma postagem no blog sobre eles.

Resumo

Então, para resumir, começamos apresentando o aprendizado de máquina para você, como o Netflix evoluiu como um recomendador de entretenimento, uma comparação prática com o modelo de recomendação do Netflix e sobre o Netflix Open Connect, seguido por sua Open Source Software Initiative.

Obrigado por dedicar seu tempo e ler o artigo com paciência. Estamos ansiosos para mais explorações emocionantes!

Como nota final, gostaríamos de destacar a abordagem notável da Netflix em relação a arte e ciência como duas entidades separadas. Mas como um belo uníssono para criar maravilhas!

Via itsfoss.com. Você pode conferir o post original em inglês:

How Netflix Deploys Open Source AI to Reveal Your Favorites

Última atualização deste artigo: 11 de abril de 2018

PROPAGANDA
PROPAGANDA