Desbloqueando o "Algoritmo" do Twitter - Introdução a Grafos
Fabio Akita
O Twitter liberou parte do código que chamou de "The Algorithm", que forma o sistema que popula a aba de recomendações "Para Você".
Vamos entender qual é o contexto de ciência da computação e história necessários pra começar a entender esse código todo. E uma pequena introdução à ciência por trás de recomendações e grafos em geral.
Finalmente, vou poder mostrar na prática a diferença de "código de curso" e "código de verdade" e exatamente porque software nunca acaba.
Capítulos
00:00:00 - Intro 00:00:57 - CAP 1 - Avisos e Descrevendo o Repositório 00:02:51 - CAP 2 - Interpretando Errado: Não Acredite em Blog Posts 00:07:14 - CAP 3 - Derrubando o Meme: Pessoas Idiotas 00:11:30 - CAP 4 - Objetivos do Video: derrubar os Clones. Código de Verdade 00:16:37 - CAP 5 - Entendendo Grafos. Introdução a Relevância 00:21:47 - CAP 6 - Primeira Geração de Relevância: WTF 00:27:49 - CAP 7 - Relevância nos Primórdios da Web: PageRank e HITS 00:35:43 - CAP 8 - Segunda Geração de Relevância: RealGraph e SALSA 00:39:22 - CAP 9 - Escalando com Hadoop e MapReduce: HDFS e Pig 00:43:15 - CAP 10 - Algoritmos Escaláveis de Grafos: Relembrando Mergesort 00:46:58 - CAP 11 - Terceira Geração de Relevância: GraphJet 00:50:36 - CAP 12 - Earlybird: Light Ranker. Apache Lucene 00:51:37 - CAP 13 - Ids para Sistemas Distribuídos: Snowflake 00:55:23 - CAP 14 - Serialização Eficiente sem JSON: Thrift e Protobufs 01:01:07 - CAP 15 - A Controvérsia do "Rails Não Escala". Por que Scala? 01:07:37 - CAP 16 - Introdução a Similarity Clusters: Similaridade de Cosseno 01:16:08 - CAP 17 - Resumindo os demais Projetos: Aplicando o que Aprendemos 01:20:22 - CAP 18 - Qualidade do Código: Mini-Assessment 01:22:43 - CAP 19 - Sendo Educado na Web: Memes Idiotas 01:24:32 - CAP 20 - Refletindo sobre o Código: Lições a Aprender 01:27:31 - Bloopers
Links
Fio no Twitter (https://twitter.com/AkitaOnRails/status/1641887891327537158?s=20)
Twitter: The Algorithm (https://github.com/twitter/the-algorithm)
Twitter: The Algorithm ML (https://github.com/twitter/the-algorithm-ml)
Twitter's Recommendation Algorithm (https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm)
Steven Tey: # How the Twitter Algorithm works in 2023 (https://steventey.com/blog/twitter-algorithm)
Aakash Gupta: The Real Twitter Files: The Algorithm (https://aakashgupta.substack.com/p/the-real-twitter-files-the-algorithm)
Earlybird: Real-Time Search at Twitter (https://stephenholiday.com/notes/earlybird/)
Twitter Search is Now 3x Faster (https://blog.twitter.com/engineering/en_us/a/2011/twitter-search-is-now-3x-faster)
Paper: GraphJet: Real-Time Content Recommendations at Twitter (https://www.vldb.org/pvldb/vol9/p1281-sharma.pdf)
Paper: RealGraph: User Interaction Prediction at Twitter (https://www.ueo-workshop.com/wp-content/uploads/2014/04/sig-alternate.pdf)
Paper: Real-Time Twitter Recommendation: Online Motif Detection in Large Dynamic Graphs (http://www.vldb.org/pvldb/vol7/p1379-lin.pdf)
Paper: Discovering Similar Users on Twitter (http://snap.stanford.edu/mlg2013/submissions/mlg2013_submission_20.pdf)
GitHub: FlockDB (https://github.com/twitter-archive/flockdb)
GitHub: Cassovary (https://github.com/twitter/cassovary)
GitHub: GraphJet (https://github.com/twitter/GraphJet)
Twitter: Finagle (https://twitter.github.io/finagle/)
Apache Avro (https://avro.apache.org/)
AkitaOnRails: Chatting with Blaine Cook (Twitter) (https://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter)
Fireship: Vector databases are so hot right now. WTF are they? (https://www.youtube.com/watch?v=klTvEwg3oJ4)
Slideshare: Restrição == Inovação (https://www.slideshare.net/akitaonrails/devconf-2019-so-carlos)
Elastic: Vector Search (https://www.elastic.co/what-is/vector-search)
Podcast: https://podcasters.spotify.com/pod/show/akitando/episodes/Akitando-140---Desbloqueando-o-Algoritmo-do-Twitter---Introduo-a-Grafos-e225io4 ... https://www.youtube.com/watch?v=uIflMYQnp8A
906428273 Bytes