Índicea conferência para engenheiros que criam aplicativos de pesquisa, análise e IA em escala, ocorreu na última quinta-feira, 2 de novembro, com participantes lotando o laboratório de aprendizagem do Pc Historical past Museum, bem como a transmissão ao vivo do Index.
A conferência foi uma celebração maravilhosa de toda a inovação de engenharia que envolve a construção dos aplicativos que permeiam nossas vidas. Muitas das palestras apresentaram aplicativos do mundo actual, como mecanismos de pesquisa, recomendação e chatbots, e discutiram os processos iterativos pelos quais eles foram implementados, ajustados e dimensionados. Tivemos até a oportunidade de marcar o 10º aniversário do RocksDB com um painel de engenheiros que trabalharam no RocksDB no início de sua vida. O Index foi realmente um momento para os construtores aprenderem com as experiências dos outros, por meio do conteúdo da sessão ou por meio de conversas improvisadas.
Padrões de design para aplicativos de última geração
O dia começou com Venkat Venkataramani de Conjunto de foguetes preparando o cenário com lições aprendidas com a construção em escala, destacando a escolha da pilha certa, a velocidade do desenvolvedor e a necessidade de escalar com eficiência. Ele foi acompanhado por Confluente O CEO Jay Kreps discutirá a convergência do streaming de dados e GenAI. Uma consideração importante é obter os dados necessários no lugar certo e na hora certa para esses aplicativos. Incorporar a atividade mais recente — novos fatos sobre o negócio ou clientes — e indexar os dados para recuperação em tempo de execução usando uma arquitetura RAG é essential para alimentar aplicativos de IA que precisam estar atualizados com o negócio.
Venkat e Jay foram seguidos por uma série de palestrantes ilustres, muitas vezes entrando em detalhes técnicos profundos enquanto compartilhavam suas experiências e lições aprendidas com a construção e o dimensionamento de aplicativos de busca e IA em empresas como Uber, Pinterest e Roblox. Conforme a conferência prosseguia, vários temas emergiram de suas palestras.
Evolução em tempo actual
Vários apresentadores fizeram referência a uma evolução dentro de suas organizações, nos últimos anos, em direção à pesquisa em tempo actual, análise e IA. Nikhil Garg de Funcho descreveu sucintamente como o tempo actual significa duas coisas: (1) serviço on-line de baixa latência e (2) serviço de resultados atualizados, não pré-computados. Ambos são importantes.
Em outras conversas, da JetBlue Sai Ravruru e Ashley Van Identify falaram sobre como o streaming de dados é essencial para seus análise operacional interna e aplicativo e website voltados para o clienteenquanto Girish Baliga descreveu como Uber constrói um caminho inteiro para suas atualizações ao vivo, envolvendo ingestão ao vivo por meio do Flink e o uso de índices ao vivo para complementar seus índices base. Yexi Jiang destacou como o frescor do conteúdo é crítico em Do Roblox recomendações de homepage por causa da sinergia entre conteúdo heterogêneo, como em casos onde novas conexões de amigos ou jogos jogados recentemente afetam o que é recomendado para um usuário. O que nãoEmmanuel Fuentes compartilhou como eles enfrentam uma infinidade de desafios em tempo actual – conteúdo efêmero, troca de canais e a necessidade de baixa latência de ponta a ponta para sua experiência do usuário – em personalizando seu feed de transmissão ao vivo.
Shu Zhang de Pinterest relataram sua jornada de feeds iniciais baseados em push, ordenados por tempo e relevância, para classificação em tempo actual, baseada em pull, no momento da consulta. Shu forneceu alguns insights sobre os requisitos de latência com os quais o Pinterest opera no lado da veiculação de anúncios, como ser capaz de pontuar 500 anúncios em 100 ms. Os benefícios da IA em tempo actual também vão além da experiência do usuário e, como Nikhil e Jaya Kawale da Tubos apontam, pode resultar em uso mais eficiente de recursos de computação quando recomendações são geradas em tempo actual, somente quando necessário, em vez de serem pré-computadas.
A necessidade de tempo actual é onipresente, e vários palestrantes destacaram o RocksDB como o mecanismo de armazenamento ou inspiração ao qual recorreram para fornecer desempenho em tempo actual.
Separação de indexação e veiculação
Ao operar em escala, quando o desempenho importa, as organizações passaram a separar a indexação do serviço para minimizar o impacto no desempenho que a indexação intensiva em computação pode ter nas consultas. Sarthank Nandi explicou que esse period um desafio com a implantação do Elasticsearch que eles tinham em Yelponde cada nó de dados do Elasticsearch period um indexador e um pesquisador, resultando em pressão de indexação que tornava a pesquisa mais lenta. Aumentar o número de réplicas não resolve o problema, pois todos os shards de réplica precisam executar a indexação também, levando a uma carga de indexação mais pesada no geral.
O Yelp reprojetou sua plataforma de busca para superar esses desafios de desempenho, de modo que, em sua plataforma atual, as solicitações de indexação vão para um primário e as solicitações de busca vão para réplicas. Somente o primário realiza a indexação e a mesclagem de segmentos, e as réplicas precisam apenas copiar os segmentos mesclados do primário. Nessa arquitetura, a indexação e o atendimento são efetivamente separados, e as réplicas podem atender às solicitações de busca sem disputar com a carga de indexação.
A Uber enfrentou uma situação semelhante em que a carga de indexação em seu sistema de serviço poderia afetar o desempenho da consulta. No caso da Uber, seus índices ativos são gravados periodicamente em snapshots, que são então propagados de volta para seus índices de pesquisa base. Os cálculos de snapshot causaram picos de CPU e memória, o que exigiu o provisionamento de recursos adicionais. A Uber resolveu isso dividindo sua plataforma de pesquisa em um cluster de serviço e um cluster dedicado à computação de snapshots, para que o sistema de serviço só exact lidar com o tráfego de consulta e as consultas possam ser executadas rapidamente sem serem impactadas pela manutenção do índice.
Arquitetura para Escala
Vários apresentadores discutiram algumas de suas realizações e as mudanças que tiveram que implementar conforme seus aplicativos cresceram e escalaram. Quando Tubi tinha um catálogo pequeno, Jaya compartilhou que classificar o catálogo inteiro para todos os usuários period possível usando trabalhos em lote offline. Conforme seu catálogo cresceu, isso se tornou muito intensivo em computação e Tubi limitou o número de candidatos classificados ou movidos para inferência em tempo actual. Recolherum aplicativo de busca no native de trabalho com tecnologia de IA, TR Vishwanath e James Simonsen discutiram como uma escala maior deu origem a backlogs de rastreamento mais longos em seu índice de pesquisa. Para enfrentar esse desafio, eles tiveram que projetar para diferentes aspectos de seu sistema escalando em taxas diferentes. Eles aproveitaram o processamento assíncrono para permitir que diferentes partes de seu rastreamento escalassem independentemente, ao mesmo tempo em que priorizavam o que rastrear em situações em que seus rastreadores estavam saturados.
O custo é uma preocupação comum ao operar em escala. Descrevendo compensações de armazenamento em sistemas de recomendação, Nikhil da Fennel explicou que encaixar tudo na memória é proibitivo em termos de custo. As equipes de engenharia devem planejar alternativas baseadas em disco, das quais o RocksDB é um bom candidato, e quando os SSDs se tornam caros, a hierarquização S3 é necessária. No caso do Yelp, sua equipe investiu na implantação de clusters de pesquisa em modo sem estado no Kubernetes, o que permitiu que eles evitassem custos contínuos de manutenção e dimensionassem automaticamente para se alinhar aos padrões de tráfego do consumidor, resultando em maior eficiência e redução de ~50% nos custos.
Essas foram apenas algumas das experiências de dimensionamento compartilhadas nas palestras e, embora nem todos os desafios de dimensionamento possam ser evidentes desde o início, é necessário que as organizações estejam atentas às considerações de escala desde o início e pensem no que é necessário para dimensionar em longo prazo.
Quer saber mais?
A conferência inaugural Index foi um ótimo fórum para ouvir todos esses líderes de engenharia que estão na vanguarda da construção, dimensionamento e produção de aplicativos de pesquisa e IA. Suas apresentações foram cheias de oportunidades de aprendizado para os participantes, e há muito mais conhecimento que foi compartilhado em suas palestras completas.
Veja o vídeo completo da conferência aqui. E junte-se à comunidade para se manter informado sobre a próxima #indexconf.