"Por que todos nós estamos fazendo isso?" - Criador do Prisma e ex-líder do projeto VK sobre seu novo projeto secreto



Lembra do aplicativo Prisma? Em 2016, parecia que cada segunda foto do mundo era passada por ela. A história da ascensão e queda de sua popularidade também foi discutida em todos os lugares (inclusive em Habré ).

Mas em junho deste ano, o criador do Prism, Alexei Moiseenkov ( darkolorin ), juntamente com o cofundador, deixou a empresa sem comentar os motivos da saída. Quase imediatamente eles se tornaram conhecidos e assim. Alexey lançou uma nova startup e já levantou US $ 1 milhão em investimentos.

A empresa se chama Capture Technologies inc., Mas eles não dizem o que será lançado. Sabe-se que esse é um tipo de “análogo de uma rede social na qual a câmera e as tecnologias de inteligência artificial desempenharão um grande papel”.

Fillpackart e eu pedimos uma conversa e tentamos descobrir, mesmo que esse projeto estivesse oculto, mas novamente caímos na discussão de "ser ou não ser".

Sobre Alexey Moiseenkov



Alexey programava desde os 11 anos, na escola, era jogador profissional de World of Warcraft (ainda joga no Hearthstone), conseguiu ganhar dinheiro ensinando patins, depois estudou no Politécnico de São Petersburgo, na faculdade de cibernética técnica. Ele trabalhou no Yandex, Mail.ru, entrevistado no Google. Ele ensinou no Instituto de Física e Tecnologia de Moscou, mas disse que os estudantes não confiavam: "Eu não tinha minha própria startup".

Mais tarde, o Prisma começou e por vários meses esteve no topo da AppStore em quase todo o mundo. Milhões de usuários, atenção constante da mídia, viajam ao Vale do Silício. Parece bonito, mas Alex parece estar olhando mais criticamente:

“Qualquer entrevista é uma distorção. Ninguém está interessado na verdade, qualquer mídia se adapta ao leitor e satura a história com ficção. A história de que, por exemplo, dois caras estavam sentados e fazendo startups em computadores e tudo o que eles precisavam era de computadores, nunca seria popular. O programa deles pode ser popular, mas a mídia sempre apresentará algo sobre sua criação. ”

Mas nós não somos assim! Nós só precisamos de computadores.

Você está olhando o código agora?

Alex: Eu não diria. Apenas para mim, algumas coisas no Deep Learning analisam como treinar a rede. Entendo bem a matemática, porque gosto de matemática, mas não escrevo nada em produção.

Mas isso ajuda no trabalho em equipe?

Eu posso ler o código, eu entendo os padrões de projeção. Você entende tecnicamente o que está sendo feito, pode se aprofundar. Mas, ainda assim, trata-se mais de um idioma comum com a equipe.
Em geral, sempre desempenhei um papel semi-técnico onde quer que trabalhasse - no Yandex e no Mail.ru. Eu sempre entendi o que estava acontecendo por aí.

E quem você trabalhou lá?

Na Yandex, trabalhei nos últimos cursos da universidade, fui gerente do Maps. No Mail.ru, trabalhei na junção de análises de produtos para vários projetos. Depois que mudei e comecei a lidar mais com produtos - visão, estratégia, etc. E depois disso houve Prisma e ocorreu um momento decisivo.

Você não combinou "prisma" com trabalho?

No começo, era um projeto paralelo - até uma ideia para um projeto paralelo. O fultime começou mais tarde, quando o aplicativo apareceu.

Phil: Você iniciou o Prism quando não havia redes neurais, certo?

Eu diria que simplesmente não havia esse hype. Agora está em todo lugar, máscaras, rastreamento, segmentação e outras coisas. E então não era tão popular, provavelmente porque exigia muitos recursos. Até a tarefa de transferência de estilos foi concluída por vários minutos. Ninguém vai esperar uma foto por cinco minutos. Mas eu entendia que as redes neurais iriam definitivamente subir, então comecei a lidar com elas.

Sobre Oleg Illarionov



Na primavera de 2018, o líder do projeto Oleg Illarionov deixou a VK. Ele trabalha lá desde 2010 e provavelmente viu todas as etapas mais importantes da vida da empresa.

"Pavel fica sentado em um escritório meu, logo a caminho da mesa com comida, perto do qual todos discutimos soluções para vários problemas técnicos", disse ele há seis anos.
Além das principais características da rede social, Oleg esteve envolvido no lançamento dos serviços da Vinci (um clone do Prisma), Snapster e Stickerface.

Como Alex, ele não comentou sua partida a princípio. E apenas recentemente anunciou que ele se tornou o diretor técnico da Capture Technologies.

Oleg, você sentiu que não podia mais escrever código de compras?

A: Na verdade não, ainda estou escrevendo código. Era apenas um desejo de participar de aplicativos totalmente. Ou seja, não queria sair da programação - queria assumir ainda mais responsabilidades.

F: Mas não havia a sensação de que, devido a outras tarefas, você não possa mais programar também?

A: Claro, não posso lidar com isso tão bem como se estivesse apenas escrevendo código. Por outro lado, na VK, sempre dedicamos muito tempo ao produto. Quando a tarefa era criar algum recurso, redesenho, seção de amigos ou algo assim, eu tinha que me comunicar com o designer, decidir como funcionaria. Em geral, eu tinha um histórico de mercearia quase desde o começo e só queria mais.

Eu li sua entrevista antiga do ano de 2011. Você já trabalhou na VK e falou muito sobre isso. Acontece que você encontrou todos os marcos mais importantes da empresa. Me fale sobre isso?

A: é verdade. Consegui ver, eu diria, empresas muito diferentes durante esse período. Eu me estabeleci em um, alguns meses atrás, deixei completamente diferente - e em espírito, e em caráter, e tudo mais.

A VK mudou suavemente ao longo dos anos, houve todos os tipos de períodos de transição em que ninguém entendeu o que a empresa se tornaria em alguns anos. Eles entenderam que ela não continuaria sendo uma pequena startup, mas também não sabia o que iria crescer com ela. Eu anotaria três etapas.

O estágio de rápido desenvolvimento foi quando cheguei lá - em 2010. Durou até 2012–13. Então nós apenas experimentamos, sentamos no escritório de manhã à noite, fizemos todos os tipos de recursos. Eles fizeram muitas coisas.

Depois, houve uma fase de recusa de recursos. Nós nos concentramos em coisas importantes, analisamos as métricas e tentamos não pulverizar. Provavelmente é de 2013 a 2014.

E houve um estágio de grande crescimento - de 2014 até o presente momento. A VK está se transformando em uma grande empresa, com muitas pessoas, com uma complexa cultura corporativa.

Então, o crescimento começou quando Durov saiu?

A: Sim, então. A empresa começou a crescer e contratar novas pessoas. Antes disso, o tamanho da equipe era praticamente inalterado. Não havia muitas pessoas e, quando alguém disse que não estava a tempo, não conseguiu - a opção de contratar uma pessoa para ajudar nem foi discutida. Houve uma abordagem de inicialização com recursos limitados.

Essas são duas abordagens diferentes para o desenvolvimento - você pode criar ótimos produtos legais com uma equipe pequena, mas não pode se limitar em recursos e contratar uma equipe grande. Cada abordagem tem seus prós e contras. Com uma equipe grande, você pode cobrir muitas coisas; com uma equipe pequena, você pode criar um produto muito polido.

Uma equipe pequena é mais fácil de gerenciar, mais fácil prestar atenção ao importante. Nas grandes empresas, muitas coisas desaparecem, caem nas junções de responsabilidades quando não está claro quem é responsável por essas coisas. Como resultado, há casos frequentes em que coisas importantes para uma empresa simplesmente desaparecem de vista e não se desenvolvem.

F: Eu trabalhei em um dos gigantes da indústria como desenvolvedor regular e passei a maior parte do tempo classificando pelo correio e todos os tipos de comunicações. Tenho medo de imaginar quanto tempo o líder do projeto gasta nessas coisas.

R: Com o aumento do número de pessoas na VK, mais e mais tempo foi gasto nela. Quando o VK estava em um formato de inicialização, usamos uma abordagem muito interessante para resolver problemas - uma vez por semana, às sextas-feiras, durante cerca de uma hora, toda a equipe se reunia em uma sala (a propósito, em uma pequena e todos estavam lá). Tínhamos um projetor e uma tela, todo mundo saiu e apenas contou e mostrou o que ele havia feito. Praticamente não havia opção para não sair e não contar. Era necessário explicar o que a semana levou, para que todos trabalhassem muito produtivamente.

Em uma grande empresa, posso facilmente imaginar pessoas que não trabalham por um tempo relativamente longo e ninguém percebe. Em uma empresa pequena, não é que você não trabalhe - é até impossível trabalhar relaxado.

Sobre burnout e sucesso




Há coisas em que você pensa - torne-se minha startup uma grande empresa, esse lixo nunca estará lá.

R: Eu vim para a Yandex em 2013, e cerca de mil e quinhentas pessoas foram contratadas comigo. Havia um cronograma interno e era possível ver em tempo real como as pessoas crescem. Mesmo em nosso escritório, pessoas foram adicionadas.

Quando você começa a contratar centenas e milhares, para garantir que você controla todo mundo, todo mundo vem e diz alguma coisa - é simplesmente impossível. Estou profundamente convencido culturalmente de que problemas nesta fase não podem ser evitados.

Outra questão é se a gerência pode construir uma cultura (como os valores são entregues de cima para baixo) de tal maneira que as pessoas tenham o desejo e a capacidade de concluir tarefas quando não tiverem vergonha de falar sobre seus problemas e dificuldades para as pessoas próximas. Não que eu apareça e relatei que hoje encerrei três tarefas - mas que havia abertura. Dizer imediatamente do limiar: "praticamos a transparência".

Se essa transparência surgir entre as pessoas empregadas - ainda que não seja impossível, porque é impossível -, isso simplificará bastante o crescimento. As pessoas vão se acostumar a fazer, acostumar-se a falar sobre seus problemas, sobre suas expectativas. Isso é importante para mim.

Mas não acredito que farei meu blackjack agora e tudo estará lá como eu quero, e tudo será perfeito. Problemas de crescimento são naturais e impossíveis de evitar.

A propósito, você me disse que antes do Prisma, ele se esgotava muito no trabalho.

R: Na Yandex, eu estava envolvido em gerenciamento universal. Como eu não tinha uma lista específica de responsabilidades, fiz tudo seguidamente. E depois de cerca de um ano, houve um sentimento tão pessoal que eu fui queimada por isso.

Que pensamentos então mais atormentaram?

A: Provavelmente, me atormentou o fato de eu ficar parado e não entender se estava pronto para seguir em frente. Não pude me avaliar objetivamente. Nada parecia estar acontecendo. Sempre houve uma pergunta muito grande na minha cabeça - por que estamos fazendo isso globalmente? Às vezes, é muito difícil obter uma resposta para essa pergunta. Isso me atormentou muito no devido tempo. Eu vim aos comícios e não entendi o que estava por vir.

A combinação do fato de estar fazendo tudo em sequência foi atormentada pela mesma coisa e não entendo para onde tudo corre. Eu me comi constantemente na minha cabeça. É bastante pessoal quando não há resposta para suas próprias perguntas. Você não pode responder e começar a queimar.

E quando o Prisma aconteceu, e ficou claro que algo legal estava começando - foi curado?

A: A sensação de que algo legal estava começando a aparecer apenas quando o crescimento foi selvagem. E quando lançamos o aplicativo, parecia que ninguém precisava dele. Durante cerca de uma semana houve um silêncio mortal absoluto. Pode ser de cem ou duzentos downloads.

Este é o momento de transição em que você está sentado e, caramba, realmente, de novo, ninguém precisa? Então, o que fazer sobre isso?

E então, em algum momento, começou um rápido crescimento, e parecia que muitas coisas tinham que ser feitas agora. Muitas coisas. E deu uma volta. Quando milhões de pessoas usam o seu produto e você tem uma equipe pequena de cinco pessoas e meia, tudo cresce, as pessoas ao redor estão tentando descobrir alguma coisa, pergunte. E você ainda tem tarefas do produto - essa é a unidade e ela se torna interessante. É difícil obter essa experiência em outro lugar.

Outro dia, conversamos com caras que voltaram do vale após o acelerador e receberam investimentos - eles estão cheios de entusiasmo. E como você se sentiu depois do vale?

A: Eu tinha um pouco diferente. Seus olhos não ardiam pelo fato de estarmos no vale e reconheceríamos as pessoas, mas pelo fato de que algo impensável estava acontecendo. Eu tinha três milhões de downloads por dia. Eu não conseguia imaginar uma situação dessas. Na Rússia, tínhamos 350 mil downloads por dia e a AppStore principal naquele momento era 13 mil. Você sabe que lacuna? E assim por vários meses. Simplesmente sentamos organicamente no topo, sem fazer nada, sem esforços de marketing.

Pegar uma onda dessas é, naturalmente, inestimável.

Como foram organizados Vinci e Prisma




Parece-me que você constantemente fazia algo semelhante - Prisma e Vinci, Sticky AI e Stickerface. Honestamente, quem estava espionando quem?

A: Para ser sincero, nunca escondemos que havíamos espionado. Vinci começou após o lançamento do Prisma. Vimos e decidimos - precisamos copiar. E sobre Stickerface - geralmente são coisas diferentes, e aqui ninguém espiou ninguém. Além disso, a idéia do Stickerface veio à mente há muito, muito tempo atrás, quando ninguém fazia algo assim. Se eu pudesse pegá-lo com todas as minhas mãos e cabeça, então talvez algo desse certo. E agora já existem muitos jogadores.

Como é que vocês se reuniram em uma empresa?

R: Começamos a conversar no momento em que lançamos o Vinci. Para minha surpresa, Alexey reagiu muito positivamente a isso. Eu pensei que ele ficaria furioso, e ele de alguma forma percebeu com um sorriso que tínhamos copiado o aplicativo. Essa foi a origem da comunicação.

A: Percebi na universidade que não tinha medo de copiar. Eu acho que isso é normal. Portanto, eu não tinha nenhum ódio ou ódio.

Quem você acha que tecnicamente aconteceu para fazer isso melhor?

A: Eu acho legal fazer algo primeiro, e copiar não é legal. Geralmente não gosto de copiar e gosto de fazer coisas originais que ninguém fez antes.

Apesar de durante todo o meu trabalho estar envolvido em algum tipo de projeto não original, do ponto de vista tecnológico, sempre tentei lidar com as tarefas que ainda não foram resolvidas.

Muito do que VK tinha que fazer quando não havia informações sobre isso. Eu tive que inventar e inventar. No Snapster, apesar do fato de a ideia em si ser secundária, houve uma correção de cor adulta completa com imersão profunda, o que ninguém havia feito antes no aplicativo móvel. Lançamos uma coisa relativamente única na época. Outra questão é que a implementação técnica não foi suficiente para atrapalhar o mercado.

Na Vinci, tanto a ideia quanto a própria tecnologia eram secundárias. Mas foi uma experiência interessante, porque em nenhum lugar foi descrito como fazê-lo. Eu tive que entender e enfrentar tarefas não óbvias.
A palestra de Oleg sobre as tecnologias usadas pela Vinci antes de iniciar o processamento offline na CPU.


A primeira versão foi feita em 24 horas, o lançamento - em 2 semanas.

Stack: Torch para trabalhar com redes neurais, mas há muitos problemas com ela. Lua / Turbo para comunicação entre o front-end e o back-end - e com eles também, nem tudo está indo bem. O back-end foi o primeiro no NodeJS devido à falta de tempo e, em seguida, foi reescrito no Go.

Ferro: inicialmente consideramos a opção de servidores virtuais com placas de vídeo, mas decidimos comprar nossos equipamentos. Escolhemos entre quatro opções da Nvidia - Tesla M40, Tesla K80, GTX 1080 e Titan X. Escolhemos as duas últimas, já que a principal vantagem das opções industriais (Tesla) é a tolerância a falhas, e esse problema já foi resolvido pela arquitetura.

Arquitetura: cada estilo é processado em sua própria placa de vídeo. A distribuição de estilos nas placas de vídeo é dinâmica e é regulada por uma função especial.

O botnek mais inesperado - a placa de vídeo pode processar mais fotos do que a rede passou.

Organização do treinamento: eles colocaram o FGlab em todos os servidores, começaram a bombardear cada imagem com parâmetros aleatórios e escolhem manualmente quais preferem. Isso ajudou a tornar os estilos muito diferentes um do outro.

A proporção de velocidades da camada: entrada - 42%, intermediária - 10% e saída 28%.

E como foi organizado o Prisma sob o capô?

A: Os modelos estavam no "Torche". Isso é algo antigo, agora não muito popular, porque existem PyTorch e TensorFlow. O modelo em si foi compactado para processamento em uma placa de vídeo. Ela dirigiu Inference e, a partir daí, "Python" puxou tudo para cima. Ou seja, o back-end, o wrapper no Python, as filas e o lado do servidor também estão no Python. Não havia pilha complicada. O dispositivo é apenas um thin client, uma interface e trabalho com API.

Passamos por duas etapas. A primeira é quando tudo estava online. Inicialmente, aceleramos o algoritmo cerca de cem vezes a partir da versão backpropagation, lançando-o em placas de videogame alugadas. Toda a dificuldade era que, quando o aplicativo cresceu, surgiram filas. O fluxo de solicitações de imagem era enorme. As fotos foram para o servidor e, com uma carga de vários milhões de downloads, era muito caro gerar terabytes de fotos. Teríamos que pagar mais pelo servidor e pelo tráfego do que pelos recursos - mesmo que reduzíssemos o tempo de espera.

Então, o segundo estágio começou. Nós pensamos se é possível fazê-lo offline ou com algum processamento de processador barato. Conseguimos fazer isso em agosto de 2016 e, no final de setembro, começamos a implantar. Então não havia Core ML, nem processamento no telefone. Fomos pioneiros do Metal, construímos tudo de muletas e paus, mas entendemos que esse era o futuro. Como preserva a privacidade - não leva as fotos do usuário a lugar nenhum, e isso reduz muito o custo do processamento.

A transição foi fundamental para nós, fomos capazes de implementar uma família de algoritmos para processar modelos no dispositivo. E começamos a entender que toda a indústria de processamento, IA, aprendizado de máquina - tudo estará no dispositivo, com os dados contidos nesse dispositivo.

F: Ou seja, no início do trabalho em Prism, a idéia de fazer cálculos no cliente nem sequer foi considerada?

A: Na verdade não. Parecíamos assim, mas pensávamos: “Oh, vamos lá! Isso não é realista. No começo, mesmo esses modelos dificilmente cabem na memória da GPU, e existem 8 ou 12 GB. A ideia de que isso era possível no dispositivo parecia futurista.

Mas começamos a crescer - tudo está pegando fogo, os servidores pegando fogo, milhões de usuários. O foco mudou para fazer o sistema que construímos na GPU funcionar.Otimizamos a parte do servidor por um mês, mas percebemos que, sem processar no dispositivo, em nenhum lugar. Caso contrário, você irá à falência instantaneamente.

Não pensei que houvesse um fluxo de imagens tão grande.

E que carga você esperava?

R: Antes do lançamento, pensávamos que haveria no máximo três imagens por segundo. O máximo! A partir daqui você finge - 60 x 60, 3 x 600, outros 12, e já parece - muito, onde tanto! Imagine quantos usuários devem ter e pensar, três imagens por segundo - isso é normal.

Executamos o processamento e todo o ciclo levou 400 milissegundos. Achei ótimo. Como mais tarde ficou claro, isso não é de todo excelente. Quando milhões de usuários chegaram, todos os pensamentos começaram a seguir uma direção completamente diferente.

E o que você fez? Eles correram, extintos?

A: Quando queimou, usamos todos os recursos possíveis no mercado. Tudo o que eles puderam encontrar. Lembro que ligamos para amigos, perguntamos se eles tinham servidores em placas de vídeo. Liguei para quase todo mundo que conhecia. Os desenvolvedores da Yandex, de outro lugar, disseram "caramba, ajude alguém que tem alguns carrinhos de mão para aumentar". Eles pegaram de 5 a 6 carros de alguém e nem estavam em placas gráficas de jogos, seus processadores eram mais lentos.

Eles ligaram para a Amazon, onde nos deram um aumento nos limites. Sério, quando adquirimos quatro carros e quatro placas de vídeo na Amazon, ficamos muito felizes - a linha de dez imagens caiu para oito. Nós éramos parceiros do Servers.com - eles também ajudaram muito naquele momento.

F: O código foi escrito mal e teve que ser corrigido e reescrito após o lançamento?

R: Na hora, houve muitas correções, sério. Foram precisamente os gargalos que foram rasgados que foram consertados onde era impossível esperar uma carga dessas. Afinal, tudo foi escrito para funcionar. No início, não havia filas. Provavelmente é difícil para mim apreciar a limpeza e a alfabetização do código. Como tudo foi escrito literalmente em um mês - sim, provavelmente não havia uma abordagem industrial, como todo mundo adora, levando em consideração as cargas, levando em consideração a extensibilidade. Portanto, muito de tudo correspondeu.

O que acontecerá com AI, ML e neurônios


F: Quando descobri como as redes neurais funcionam, perdi a sensação de que isso é mágico e um avanço. E você?

A: Na verdade sim. Para mim, todo aprendizado profundo não é mágico. A geometria diferencial é mágica e o aprendizado profundo é bastante transparente e tecnicamente compreensível. Do ponto de vista de quais algoritmos estão dentro e como eles funcionam, existe uma certa caixa preta construída sobre a heurística dos experimentos. Mas, em geral, a coisa em si naquele momento definitivamente não era algo sobrenatural. Era necessário acreditar que isso funcionaria rapidamente em dispositivos, e quando conseguimos isso, apenas cimentei minhas crenças.

Assim, com qualquer tecnologia. Vamos pegar os bancos de dados nos anos noventa. Havia também um sentimento de que nada era complicado, mas de alguma forma estava indo difícil. E quando todos entendem que isso funciona, é útil e geralmente a única coisa na qual os dados devem ser armazenados, os bancos de dados se tornaram uma coisa absolutamente normal, agora todos os usam. O mesmo deve acontecer com os modelos ML.

F: Suponha que eu tenha visto uma IA bastante abstrata usando algoritmos de rede neural em uma garagem. E agora o sentimento não me deixa de que, se eu estudar cuidadosamente como isso é feito, o conhecimento diminuirá o leque de oportunidades que eu decidirei. Porque deixarei de acreditar nas possibilidades da tecnologia. Você não tem um?

R: Uma IA comum para tudo ainda não existe. Até combinações de tecnologias são poucas em número. Um bom exemplo de várias tecnologias em conjunto é o Google Duplex. Ele ouve o que você está dizendo e tenta derivar um contexto, e tenta analisar de alguma forma esse contexto, além de também gerar discurso. Este é um complexo inteiro, mas ainda permanece uma história muito estreita - chamadas e mesas de livros. Ou seja, ele executa tarefas com cenários compreensíveis e conjuntos de tarefas precisas e bem descritas.

Parece-me que agora é o estágio de desenvolvimento de IA e ML, quando eles só podem executar tarefas bem definidas e bem estudadas para as quais há um conjunto de dados suficiente. Mas eu não vi uma aplicação mais geral.

Um senso dos recursos da tecnologia ultrapassa seus reais recursos.

A: sim Mas acho que em breve veremos tentativas de fazer uma combinação de algoritmos e sistemas que nos permitirão executar tarefas mais abstratas.

F: Ouvi muitas vezes que roubamos a implementação do processamento de imagens de vista, a partir do mecanismo biológico. Você acha?

A: Não, na verdade não é. Quando houve um boom nas redes neurais que explodiu precisamente por causa dos neurônios convolucionais, parecia a visão humana, e que tudo se desenvolveria dessa maneira. É claro que existem padrões semelhantes, mas dizer que todos os trabalhos individuais funcionam da mesma maneira é definitivamente impossível. Do ponto de vista da neurotecnologia, as redes convolucionais são um pequeno pedaço. E existem tantos tipos diferentes de redes.

F: Você acha que essa abordagem tem o direito de existir em geral - para tentar entender os mecanismos humanos naturais e copiar a implementação deles?

R: Com base em minhas observações das últimas tendências, agora, pelo contrário, as tecnologias no aprendizado profundo estão se afastando disso. Há todo tipo de decisões complicadas que não são semelhantes à biologia. Mas, de tempos em tempos, há tentativas, artigos e assim por diante. Não sei com o que acabaremos.

O aprendizado profundo tem certas tarefas - melhorar a qualidade e melhorar os resultados. E de que maneira, como uma pessoa ou não, não importa mais. Essa é uma esfera que se desenvolve livremente, onde será assim.

E agora todo mundo está discutindo redes neurais capsulares. Você já tentou fazer algo com eles?

R: Até agora, infelizmente, isso não é adequado para uso próximo à produção. Ainda não há implementações adequadas e rápidas. Esses exemplos que funcionam com conjuntos de dados simples muito pequenos. Eu acho que a comunidade tem muito trabalho a fazer com eles para que algo funcione. Mas a ideia me parece muito correta, bem como a direção do desenvolvimento como um todo.

Afinal, você também trabalhou com feystreking. É verdade que outros algoritmos vencem lá?

A: Bem, não que eles ganhem. Por exemplo, o MSQRD é construído em árvores de decisão com vários truques. Mas agora, provavelmente, tudo está mudando para neurônios. Eles se tornaram tão rápidos quanto as implementações anteriores, mas há mais potencial para aumentar a qualidade lá. Não estou tão familiarizado com o rastreamento, mas parece que há algum tipo de botnek difícil. E, nos neurônios, devido ao fato de terem aprendido melhor como usá-los, o poder dos dispositivos aumentou, os telefones se tornaram mais poderosos - a qualidade está aumentando de lançamento em lançamento. Portanto, parece que eles têm muito mais perspectivas do que abordagens anteriores.

O que há por trás de um aplicativo secreto



Em que tecnologias você confia agora?

R: Agora decidimos nos afastar das abordagens padrão para criar um back-end e estamos construindo tudo no FondationDB, que apareceu recentemente em código aberto. Teremos mais apoio do que Prism ou Vinci. Estamos fazendo um aplicativo em tempo real, e isso exigirá trabalho em otimizações complexas.

A principal coisa aqui, é claro, não é o FoundationDB, mas sua abordagem - armazenamento transacional do valor da chave, em termos de transações reais sincronizadas entre servidores. Essa abordagem parece um futuro para back-end. Escolhemos o FoundationDB como o repositório mais promissor com essas características, testaremos nele e, talvez, passaremos para outro repositório se algo mostrar melhores resultados.

Isso é sobre armazenamento de dados. Então temos tudo em atividade agora. Vinci também foi escrito em Go. Lyosha disse que o Python estava originalmente no Prism, mas eles também o copiaram no Go. Parece ser uma boa linguagem para fazer back-end agora. Eu vejo reações positivas da comunidade. É muito mais fácil contratar pessoas e, em geral, parece que esta é a decisão certa.

Em termos de infraestrutura, tentaremos construir tudo na Amazon por enquanto. Penso que, a este respeito, não faz sentido guardar e procurar outra coisa. Você deve primeiro começar, para entender se precisa salvar. Mas, no geral, a Amazon não tem preços tão altos. Eles periodicamente os indexam.

Portanto, devido ao fato de estarmos lançando em uma hospedagem compartilhada, a arquitetura será diferente de projetos e aplicativos como o VK. No VK, muitos truques vieram da vida inteira no servidor. Lá, em um servidor, funções muito diferentes podem ser executadas - elas podem armazenar imagens, conter um banco de dados e fazer outra coisa.

Nós dividimos tudo em instâncias, tudo é muito atômico. Estabeleci uma meta para criar um back-end que não cai. Quero que os usuários não percebam nada em ferro, mesmo no data center da Amazon.

Não prometo que terá sucesso. Mas eu realmente quero entender a arquitetura mais protegida contra quedas. Não tenho certeza se posso contar mais sem queimar nosso conceito.

Não temos medo de que alguém o copie. Nós apenas queremos suportar uma certa intriga.

F: Você poderia nos contar mais sobre a motivação para usar o Go? Além disso, o que é mais conveniente contratar desenvolvedores?

A: Em geral, a linguagem não é uma coisa tão importante. Não somos nós que faremos apenas nessa língua e não mais em nenhuma. Se alguém quisesse fazer isso em PHP, faríamos isso em PHP. Mas, no momento, parece que o Go é a melhor opção do mercado, a coisa mais legal.

F: Como é mais correto para uma startup escolher a tecnologia? Então você decidiu escrever no Noda, mas você tem 5 milhões de pessoas e isso é tudo - o seu Noda não aguenta mais, e agora é muito caro reescrever. Como prever isso?

Nod não quis escolher um pouco por outro motivo. Eu não diria que Noda é muito lento. Se o código estiver bem escrito, ele funcionará bem.

F: Há menos espaço para otimizações.

R: Eu teria medo de fazer backup do nó, porque é muito fácil cometer um erro nele. Quando você precisa urgentemente fazer algo ou consertar algo, podem surgir situações desagradáveis. E mesmo se você usa o TypeScript, tudo é inteligente, digitando e assim por diante - todas as mesmas situações complexas, erros difíceis de detectar no nó.

E o Go é uma linguagem muito direta. Ele faz exatamente o que você escreve. Ele não fornece espaço para todos os tipos de abstrações e truques. É muito mais calmo escrever um back-end com ele. Você pode pegar e refazer um grande pedaço de código a qualquer momento, e tudo ficará bem. Se algo estiver errado, provavelmente não será compilado, e não para que tudo não funcione.

F: Ou seja, você acha que a digitação estática e forte é um fator determinante?

R: É muito importante para uma startup, mais importante que o desempenho. É importante que você possa corrigir rapidamente os erros sem criar novos. Minimizar riscos.

Se você usar padrões de desenvolvimento modernos no Node, especialmente se houver alguma biblioteca de terceiros, é muito fácil entrar em contato com um vazamento de memória. E então encontre uma história completa para ela. E enquanto você procura esse vazamento, perdendo tempo, seu back-end cai dez vezes por dia. Eu gostaria de evitar essas coisas, esse é um grande perigo para uma startup.

Havia muitos aplicativos lançados, e a equipe, em vez de ver novos recursos, apoiando e reforçando o interesse no projeto, estava empenhada em corrigir um milhão de bugs. O aplicativo funcionou de maneira instável, e isso acabou com um projeto interessante.

Que tipo de pessoas você está recrutando agora?

A: Pelo back-end, ainda não começamos a recrutar ninguém. Eu mesmo escrevi o backend inteiro. E, portanto, tenho uma abordagem ligeiramente do Google para contratar pessoas - não é muito importante que uma pessoa conheça agora. A mente principal, a aprendizagem e o bom conhecimento do seu idioma. Durante o boom do VK, entrevistei muitas pessoas e sempre olhei para ele.

Um novo funcionário ainda precisará gastar muito tempo para entender a arquitetura de back-end. Qualquer idioma pode ser aprendido - não é tão difícil. Portanto, qualquer desenvolvedor de back-end que simplesmente entenda como os bancos de dados funcionam, suficientemente inteligentes e inteligentes, nos convém.

Em termos de neurônios, outras condições. Já contratamos pessoas com certas habilidades. No nosso caso, aprender e esperar não funcionará. Nos neurônios, o período de treinamento é muito longo.

Com os desenvolvedores de dispositivos móveis, a atenção aos detalhes é importante. O desenvolvedor que cria a interface deve notar e consertar muitas pequenas coisas. Caso contrário, você deve cutucá-lo o tempo todo, e isso consumirá muito tempo e nervos.

Na VK, você não estava limitado em recursos. Eu imagino assim: preciso ver a Tesla por US $ 5.000 - pelo menos dez. Precisamos de um servidor por US $ 700 por mês - aceite. Você pode pagar tais experimentos agora?

A: Não parece que tivemos problemas com recursos. Sobre VK - é verdade. Quando percebemos que precisávamos de servidores com vidyashki, fomos informados - sem dúvida. Alugamos quase um avião particular para entregar esses vidyoshki o mais rápido possível. Nesse sentido, as mãos estavam sempre desamarradas e ninguém poupava o ferro.

Mas, por outro lado, agora queremos usar a Amazon não porque não há recursos.

Mas você não terá mais sorte com um jato particular.

Bem sim. Mas, por outro lado, não há necessidade.

Qual é o objetivo das startups




Você quer manter a intriga em torno do projeto, e prometi não mexer nas perguntas. Nesta ocasião, lembrei-me de uma história. Eu li no reddit como um cara chegou a uma apresentação particular de um fone de ouvido VR e não podia falar sobre isso por causa do embargo. Portanto, ele escreveu uma resenha de seu jantar. Mas com uma pegadinha, como "o prato de comida era um pouco mais pesado que o HTC Vive, mas era bastante confortável na mão". Você pode nos contar sobre o seu jantar ontem?

Bem, nós não fazemos ferro, fazemos software, você não pode comparar com o jantar.

Porra, a tentativa falhou. Mas o fato de que essa será uma rede social - você já disse.

R: Provavelmente não é correto ligar para uma rede social. Pelo contrário, é um produto baseado em algum tipo de interação social.

Foi difícil convencer as pessoas dessa idéia?

R: É importante que os investidores não digam apenas uma idéia, é importante dizer quem você tem em sua equipe.

Em geral, a probabilidade de que eles lhe ofereçam investimentos é composta por quem está na sua equipe, qual é a sua ideia e se você vai para as pessoas certas.

Ir a pessoas aleatórias e apenas tirar dinheiro delas provavelmente não está muito certo. Eles podem entender mal o que você está fazendo. Arrecadar dinheiro na barraca para quem constrói foguetes? Eles não entendem o negócio de vender shawarma.

Portanto, é importante procurar investimentos nas pessoas certas, relevantes para a área em que você trabalhará. Eu fiz exatamente isso.

Se você tocar na equipe, é muito importante para mim que uma pessoa goste do que faz. É difícil descrever uma ideia ou não, dependendo de como uma pessoa entende essa área. Às vezes, as opiniões convergem, a fé em algo converge e você trabalha com essas pessoas.

O sucesso das plataformas sociais muitas vezes depende de sua imagem, estereótipos, do público que se forma ao seu redor - talvez até mais do que de tecnologias. Isso te assusta?

A: Esse é um fator tão combinado, eu concordo. Há um momento cultural, uma combinação de como você o apresenta, como diz ao mercado. Por que é necessário, como melhora a vida. Muitos dizem que resolvem problemas com seus produtos. Costumo fazer melhor o que já foi feito, simplificar.

Há uma combinação de afinação e desempenho. E então vem o teste de hipótese - sua suposição é verdadeira? Qualquer produto é baseado em alguma suposição. Veja o Dropbox: a hipótese é que as pessoas precisam armazenar arquivos na nuvem, não há espaço no computador e precisam acessar em qualquer lugar. Eles fizeram e verificaram. Acabou que alguém precisava, as pessoas começaram a armazenar arquivos na nuvem. A hipótese foi confirmada.

Nossa hipótese é que o mundo precisa disso. Não acho que nenhum fator social seja importante aqui, porque já está costurado em uma hipótese.

Toda coisa social de sucesso também é uma grande responsabilidade, até um impacto no mundo. Lembre-se apenas da história recente de como Zuckerberg se reporta ao Senado. Você está pronto para esta responsabilidade se tudo disparar?

A: É difícil dizer. Deve atirar primeiro. A hipótese deve ser confirmada e sobreviver à fase de crescimento. Zuckerberg, obviamente, não respondeu ao senado no primeiro ano de seu trabalho, nem no terceiro, nem no quinto. Provavelmente, nesse momento, aprenderemos se essa oportunidade se apresenta. Eu gostaria de me apresentar.

Oleg, vou voltar ao seu relatório da Vinci. Se você alterar sua estrutura, poderá obter algum efeito cômico. Aqui você fica meia hora conversando sobre tecnologias avançadas, soluções de engenharia, arquiteturas, hardware caro - e, no final, é o seguinte: "é por isso que todos nós fizemos isso". E as imagens simplesmente aparecem na foto.

Daí a pergunta - você não acha que as melhores mentes do nosso tempo estão envolvidas em nada?

(Então houve sete segundos de silêncio muito longos. Aconteceu que Oleg havia perdido o contato, então Alex entrou)

A: Parece-me que isso não é inteiramente verdade. O setor de TI apareceu recentemente. Foi totalmente formado apenas no final dos anos 80. A Internet apareceu como uma espécie de projeto de infraestrutura que surgiu da tecnologia militar. Com base nisso, surgiu uma nova área e, no momento, vemos que ela penetra em todas as esferas da vida. Isso gera um grande número de oportunidades, mas o limiar de entrada aumenta.

Para começar algo simples na sua opinião, com um resultado simples - um porta-retrato com um padrão - você precisa conhecer toda a pilha de tecnologias, como tudo funciona, como o marketing e a distribuição funcionam.

E argumentar que as melhores mentes estão lutando por algum tipo de valor falso provavelmente não está certo. Apenas o limiar de entrada requer mais conhecimento e habilidades. É difícil entender com antecedência onde o valor realmente nascerá.

O Facebook no começo não era uma idéia técnica brilhante. Eles criaram o site, fizeram algumas coisas básicas, e ele foi e foi. E então surgem dificuldades técnicas e milhões de usuários.

Eu acho que parece assim pelo fato de a indústria ter crescido, e coisas simples se tornaram mais difíceis de fazer do que antes.

(Oleg apareceu aqui e concordou com Alexei).

Para que você está fazendo startups?

A: Eu apenas gosto de fazer essas aplicações. Tudo está se desenvolvendo e obtemos um ótimo e bom efeito para a indústria como um todo.

E por que nem todos estamos lançando foguetes espaciais, mas estamos fazendo algum tipo de aplicação social? Todos devem fazer o que ele gosta. Alexey e eu gostamos de aplicativos sociais, e precisamos lidar com eles. Se alguém gosta de lançar foguetes, na medida do possível, você precisa fazer isso.

Só não subestime aplicativos sociais. De fato, isso é uma coisa muito importante, tem um enorme impacto na sociedade.

A: Eu concordo com Oleg, é importante fazer o que você gosta. Parece um clichê, mas quero tornar a vida um pouco melhor, quero ajudar a tornar algumas coisas rotineiras mais rápidas, é melhor que as pessoas tenham novas oportunidades. Por exemplo, o Instagram oferece a oportunidade de postar uma foto, mas antes disso não era. Você mesmo vê como o Instagram afeta nossa vida com você. Anteriormente, isso parecia algo simples, e é isso que agora se tornou.

R: O Instagram provavelmente não é o melhor exemplo. Um bom exemplo seria o Facebook. Não no sentido de que estamos fazendo outro Facebook agora. Gostaria de pensar que estamos criando um aplicativo bastante útil que definitivamente traz mais benefícios sociais do que o Instagram.

Se você constantemente tornar o mundo cada vez melhor, isso não levará ao efeito oposto?

A: Ninguém sabe. Se eu soubesse que isso levaria a coisas ruins, talvez não. Ou talvez ele tenha. Ninguém conhece o futuro.

Source: https://habr.com/ru/post/pt421435/


All Articles