"Pourquoi faisons-nous tous cela?" - Créateur de Prisma et ancien chef de projet VK à propos de son nouveau projet secret



Vous vous souvenez de l'application Prisma? En 2016, il semblait que chaque seconde photo du monde était passée à travers. L'histoire de la montée et de la chute de sa popularité a également été discutée partout (y compris sur Habré ).

Mais en juin de cette année, le créateur de Prism, Alexei Moiseenkov ( darkolorin ), avec le co-fondateur, a quitté l'entreprise sans commenter les raisons de son départ. Presque immédiatement, ils sont devenus connus et ainsi. Alexey a lancé une nouvelle startup et a déjà levé 1 million de dollars d'investissements.

L'entreprise s'appelle Capture Technologies inc., Mais ils ne diront pas ce qu'elle va publier. On sait qu'il s'agit d'une sorte «d'analogue d'un réseau social dans lequel la caméra et les technologies d'intelligence artificielle joueront un grand rôle».

Fillpackart et moi avons demandé une conversation et avons essayé de savoir, même si ce projet était sous le capot, mais nous sommes de nouveau tombés dans la discussion «être ou ne pas être».

À propos d'Alexey Moiseenkov



Alexey avait programmé depuis qu'il avait 11 ans, à l'école, il était un joueur professionnel de World of Warcraft (il joue toujours à Hearthstone), a réussi à gagner de l'argent en enseignant le patinage à roulettes, puis il a étudié à la Polytechnique de Saint-Pétersbourg à la faculté de cybernétique technique. Il a travaillé dans Yandex, Mail.ru, interviewé sur Google. Il a enseigné à l'Institut de physique et de technologie de Moscou, mais a déclaré que les étudiants ne faisaient pas confiance - "Je n'avais pas ma propre startup."

Plus tard, Prisma a commencé et a été pendant plusieurs mois au sommet de l'AppStore presque partout dans le monde. Des millions d'utilisateurs, l'attention constante des médias, des voyages dans la Silicon Valley. Cela semble beau, mais Alex semble le regarder de manière plus critique:

«Toute interview est une distorsion. Personne ne s'intéresse à la vérité, n'importe quel média s'adapte au lecteur et sature l'histoire de fiction. L'histoire selon laquelle, par exemple, deux mecs étaient assis et faisaient des startups sur des ordinateurs et tout ce dont ils avaient besoin était des ordinateurs, ne serait jamais populaire. Leur programme est peut-être populaire, mais les médias trouveront toujours quelque chose à propos de sa création. »

Mais nous ne sommes pas comme ça! Nous avons seulement besoin d'ordinateurs.

Cherchez-vous dans le code maintenant?

Alex: Je ne dirais pas. Juste pour moi, certaines choses sur le Deep Learning regardent comment former le réseau. Je comprends bien les mathématiques, parce que j'aime les mathématiques, mais je n'écris rien en production.

Mais cela aide-t-il le travail d'équipe?

Je peux lire le code, je comprends les schémas de projection. Vous comprenez techniquement ce qui se fait, vous pouvez vous y plonger. Mais encore, il s'agit plus d'un langage commun avec l'équipe.
En général, j'ai toujours joué un rôle semi-technique partout où je travaillais - chez Yandex et Mail.ru. J'ai toujours compris ce qui se passait autour.

Et qui avez-vous travaillé là-bas?

Chez Yandex, j'ai travaillé dans les derniers cours de l'université, j'étais manager chez Maps. Chez Mail.ru, j'ai travaillé à la jonction de l'analyse de produits pour plusieurs projets. Après avoir changé et commencé à m'occuper davantage de produits - vision, stratégie, etc. Et après cela, il y a eu Prisma et un tournant s'est produit.

Vous n'avez pas combiné "prisme" avec travail?

Au début, c'était un tel projet de côté - même plutôt une idée de projet parallèle. Fultime a commencé plus tard, lorsque l'application est apparue.

Phil: Vous avez commencé Prism alors qu’il n’y avait aucun réseau de neurones, n’est-ce pas?

Je dirais qu'il n'y avait tout simplement pas un tel battage médiatique. C'est maintenant partout et des masques, et le suivi, et la segmentation, et d'autres choses. Et puis ce n'était pas si populaire, probablement parce qu'il nécessitait beaucoup de ressources. Même la tâche de transfert de style a été effectuée pendant plusieurs minutes. Personne n'attendra une photo pendant cinq minutes. Mais j'avais compris que les réseaux de neurones monteraient certainement, alors j'ai commencé à les gérer.

À propos d'Oleg Illarionov



Au printemps 2018, le chef de projet Oleg Illarionov a quitté VK. Il y travaille depuis 2010 et a probablement vu toutes les étapes les plus importantes de la vie de l'entreprise.

"Pavel est assis dans un bureau de moi, juste sur le chemin de la table avec de la nourriture, près de laquelle nous discutons tous souvent de solutions à divers problèmes techniques", a-t-il déclaré il y a six ans.
En plus des principales fonctionnalités du réseau social, Oleg a participé au lancement des services de Vinci (un clone de Prisma), Snapster et Stickerface.

Comme Alex, il n'a pas commenté son départ au départ. Et ce n'est que récemment qu'il est devenu le directeur technique de Capture Technologies.

Oleg, aviez-vous le sentiment que vous ne pouviez plus écrire de code d'épicerie?

R: En fait non, j'écris toujours du code. C'était juste un désir de s'engager pleinement dans les applications. Autrement dit, je ne voulais pas quitter la programmation - je voulais prendre encore plus de responsabilités.

F: Mais il n'y avait aucun sentiment qu'en raison d'autres fonctions, vous ne pouvez plus faire de programmation aussi?

R: Bien sûr, je ne peux pas y faire face aussi bien que si je n'écrivais que du code. En revanche, chez VK, nous avons toujours consacré beaucoup de temps au produit. Lorsque la tâche consistait à créer une fonctionnalité, une refonte, une section d'amis ou quelque chose comme ça, j'ai dû communiquer avec le concepteur moi-même, décider comment cela fonctionnerait. En général, j'avais une formation en épicerie presque depuis le tout début et je ne voulais que ça.

J'ai lu votre ancienne interview de l'année 2011. Vous avez déjà travaillé chez VK et en avez beaucoup parlé. Il s'avère que vous avez trouvé tous les jalons les plus importants de l'entreprise. Parlez-moi de ça?

R: C'est vrai. J'ai réussi à voir, je dirais, des entreprises très différentes pendant cette période. Je me suis installé dans un, il y a quelques mois, laissé complètement différent - et dans l'esprit, et dans le caractère, et tout.

VK a évolué en douceur au fil des ans, il y a eu toutes sortes de périodes de transition où personne ne comprenait ce que l'entreprise allait devenir dans quelques années. Ils ont compris qu'elle ne resterait pas une petite startup, mais ne savaient pas non plus ce qui allait sortir d'elle. Je noterais trois étapes.

Le stade de développement rapide a été lorsque je suis arrivé là-bas - en 2010. Elle a duré jusqu'en 2012-13. Ensuite, nous avons juste expérimenté, assis dans le bureau du matin au soir, fait toutes sortes de fonctionnalités. Ils ont fait beaucoup, beaucoup de choses.

Puis il y a eu une phase de refus des fonctionnalités. Nous nous sommes concentrés sur des éléments clés, avons examiné les paramètres et avons essayé de ne pas vaporiser. C'est probablement de 2013 à 2014.

Et il y a eu une étape de grande croissance - de 2014 à nos jours. VK se transforme en une grande entreprise, avec beaucoup de gens, avec une culture d'entreprise complexe.

Alors, la croissance a commencé quand Durov est parti?

R: Oui, à peu près à ce moment-là. L'entreprise a commencé à croître et à embaucher de nouvelles personnes. Avant cela, la taille du personnel était presque inchangée. Il n'y avait pas beaucoup de monde, et quand quelqu'un a dit qu'il n'était pas à temps, il ne pouvait pas le faire - la possibilité d'embaucher une personne pour l'aider n'a même pas été discutée. Il y avait une approche de démarrage avec des ressources limitées.

Ce sont deux approches différentes du développement - vous pouvez faire d'excellents produits sympas avec une petite équipe, mais vous ne pouvez pas vous limiter en ressources et embaucher une grande équipe. Chaque approche a ses avantages et ses inconvénients. Avec une grande équipe, vous pouvez couvrir beaucoup de choses, avec une petite, vous pouvez faire un produit très poli.

Une petite équipe est plus facile à gérer, plus facile à faire attention à l'important. Dans les grandes entreprises, beaucoup de choses échappent à la vue, tombent à la jonction des responsabilités lorsqu'il n'est pas clair qui est responsable de ces choses. Par conséquent, il arrive fréquemment que des éléments clés d'une entreprise tombent tout simplement hors de vue et ne se développent pas.

F: J'ai travaillé dans l'un des géants de l'industrie en tant que développeur régulier et j'ai passé la majeure partie du temps à trier le courrier et toutes sortes de communications. J'ai peur d'imaginer combien de temps le chef de projet passe sur de telles choses.

R: Avec l'augmentation du nombre de personnes à VK, de plus en plus de temps y a été consacré. Lorsque VK était dans un format de démarrage, nous avons utilisé une approche très intéressante pour résoudre les problèmes - une fois par semaine, le vendredi, pendant environ une heure, toute l'équipe se réunissait dans une salle (en passant, dans une petite, et tout le monde était là). Nous avions un projecteur et un écran, tout le monde est sorti et vient de dire et de montrer ce qu'il avait fait. Il n'y avait pratiquement pas d'option de ne pas sortir et de ne rien dire. Il était nécessaire d'expliquer ce que la semaine a pris, donc tout le monde a travaillé de manière très productive.

Dans une grande entreprise, je peux facilement imaginer des gens qui ne travaillent pas depuis assez longtemps, et personne ne le remarque même. Dans une petite entreprise, ce n'est pas que vous ne travaillez pas - c'est même impossible de travailler détendu.

À propos de l'épuisement professionnel et du succès




Il y a de telles choses auxquelles vous pensez - devenir ma startup une grande entreprise, ces ordures ne seront jamais là.

R: Je suis arrivé à Yandex en 2013 et environ 1500 personnes ont été embauchées avec moi. Il y avait un calendrier interne et vous pouviez voir en temps réel comment les gens grandissaient. Même dans notre bureau, des gens ont été ajoutés.

Lorsque vous commencez à embaucher des centaines et des milliers de personnes, pour vous assurer que vous contrôlez tout le monde, tout le monde vient et dit quelque chose - c'est tout simplement impossible. Je suis profondément convaincu culturellement que les problèmes à ce stade ne peuvent être évités.

Une autre question est de savoir si la direction peut construire une culture (comment les valeurs sont transmises de haut en bas) de telle manière que les gens aient le désir et la capacité de réaliser des tâches quand ils n'ont pas honte de parler de leurs problèmes et difficultés aux gens assis à proximité. Non pas que je sois venu vous annoncer qu'aujourd'hui j'ai clôturé trois tâches - mais qu'il y avait une ouverture. Dire immédiatement depuis le seuil: "nous pratiquons la transparence".

Si cette transparence est instaurée parmi les travailleurs - même si ce n'est pas du tout, parce que c'est impossible - cela simplifiera considérablement la croissance. Les gens s'habitueront à faire, à s'habituer à parler de leurs problèmes, de leurs attentes. C'est important pour moi.

Mais je ne crois pas que je vais faire mon blackjack maintenant et tout sera là comme je veux, et tout sera parfait. Les problèmes de croissance sont naturels et impossibles à éviter.

Au fait, vous m'avez dit qu'avant Prisma, il s'était épuisé très fort au travail.

R: Chez Yandex, j'étais engagé dans la gestion universelle. Je n'avais pas de liste précise de responsabilités, alors j'ai tout fait d'affilée. Et après environ un an, il y avait un tel sentiment personnel que je l'ai brûlé.

Quelles pensées ont alors le plus tourmenté?

R: Probablement, cela m'a tourmenté de rester immobile et de ne pas comprendre si j'étais prêt à passer à autre chose. Je ne pouvais pas m'évaluer objectivement. Rien ne semblait se passer. Il y a toujours eu une très grande question dans ma tête - pourquoi faisons-nous tous cela à l'échelle mondiale? Il est parfois très difficile d'obtenir une réponse à cette question. Cela m'a beaucoup tourmenté en temps voulu. Je suis venu aux rassemblements et je n'ai pas compris ce qui allait suivre.

La combinaison du fait que je fais tout de suite, a été tourmentée par la même chose, et je ne comprends pas où tout se passe. Je me mangeais constamment dans ma tête. C'est plutôt personnel quand il n'y a pas de réponse à vos propres questions. Vous ne pouvez pas y répondre et commencer à brûler.

Et quand Prisma est arrivé, et il est devenu clair que quelque chose de cool commençait - était-il guéri?

R: Le sentiment que quelque chose de cool commençait à apparaître seulement lorsque la croissance s'est déchaînée. Et lorsque nous avons publié l'application, il semblait que personne n'en avait besoin. Pendant environ une semaine, il y a eu un silence de mort absolu. Ce pourrait être cent ou deux cents téléchargements.

C'est le moment de transition où vous êtes assis et tant pis, vraiment, encore une fois, personne n'a besoin? Que faire alors?

Et puis à un moment donné, une croissance rapide a commencé, et la réalisation est apparue que beaucoup de choses devaient être faites en ce moment. Beaucoup de choses. Et cela a donné une impulsion. Lorsque des millions de personnes utilisent votre produit et que vous avez une petite équipe de cinq personnes et demie, tout grandit, les gens essaient de découvrir quelque chose, demandez. Et vous avez encore des tâches de produit - c'est le lecteur, et cela devient intéressant. Une telle expérience est difficile à acquérir ailleurs.

L'autre jour, nous avons discuté avec des gars qui sont revenus de la vallée après l'accélérateur et ont reçu des investissements - ils sont pleins d'enthousiasme. Et comment vous sentiez-vous après la vallée?

R: J'en avais un peu différent. Ses yeux ne brûlaient pas du fait que nous étions dans la vallée et que nous reconnaissions les gens, mais du fait qu'il se passait quelque chose d'impensable. J'avais trois millions de téléchargements par jour. Je ne pouvais pas imaginer une telle situation. En Russie, nous avions 350 000 téléchargements par jour, et le meilleur AppStore à l'époque était 13 000. Tu sais quel écart? Et donc pendant plusieurs mois. Nous nous sommes simplement assis organiquement au sommet sans rien faire, aucun effort de marketing.

Attraper une telle vague est, bien sûr, inestimable.

Comment Vinci et Prisma ont-ils été arrangés




Il me semble que vous avez constamment fait quelque chose de similaire - Prisma et Vinci, Sticky AI et Stickerface. Honnêtement, qui espionnait qui?

R: Pour être honnête, nous n'avons jamais caché que nous avions espionné. Vinci a commencé après la sortie de Prisma. Nous avons vu et décidé - nous devons copier. Et à propos de Stickerface - ce sont généralement des choses différentes, et ici personne n'a regardé personne. De plus, l'idée de Stickerface est venue à l'esprit il y a très, très longtemps quand personne n'a rien fait de tel. Si je pouvais réussir à le prendre de toutes mes mains et de ma tête, alors peut-être que quelque chose marcherait. Et maintenant, il y a déjà beaucoup de joueurs.

Pourquoi vous êtes-vous réunis dans une seule entreprise?

R: Nous avons commencé à parler dès le lancement de Vinci. À ma grande surprise, Alexey a réagi très positivement à cela. Je pensais qu'il serait furieux, et il a en quelque sorte perçu avec un sourire que nous avions copié la demande. Ce fut l'origine de la communication.

R: J'ai réalisé à l'université que je n'avais pas peur de copier. Je pense que c'est normal. Par conséquent, je n'avais ni haine ni haine.

Selon vous, qui est-il arrivé techniquement de mieux faire cette chose?

R: Je pense que c'est cool de faire quelque chose d'abord, et la copie n'est pas cool. Je n'aime généralement pas copier et j'aime faire des choses originales que personne n'a faites auparavant.

Malgré le fait que pendant tout mon travail, j'ai été engagé dans une sorte de projets non originaux, d'un point de vue technologique, j'ai toujours essayé de faire face aux tâches qui n'avaient pas encore été résolues.

Beaucoup de ce que VK avait à faire quand il n'y avait aucune information à ce sujet. J'ai dû inventer et inventer. Dans Snapster, malgré le fait que l'idée elle-même était secondaire, il y avait une correction des couleurs adulte à part entière avec une immersion profonde, ce que personne n'avait fait auparavant dans l'application mobile. Nous avons sorti une chose relativement unique à l'époque. Un autre problème est que la mise en œuvre technique n'a pas suffi à perturber le marché.

Chez Vinci, l'idée et la technologie elle-même étaient secondaires. Mais ce fut une expérience intéressante, car nulle part n'a été décrite comment le faire. Je devais comprendre et faire face à des tâches non évidentes.
Oleg parle des technologies utilisées par Vinci avant de lancer le traitement hors ligne sur le CPU.


La première version a été réalisée en 24 heures, la sortie - en 2 semaines.

Stack: Torch pour travailler avec les réseaux de neurones, mais il y a beaucoup de problèmes avec ça. Lua / Turbo pour la communication entre le frontend et le backend - et avec eux aussi, tout ne se passe pas bien. Le backend était d'abord sur NodeJS par manque de temps, puis il a été réécrit sur Go.

Iron: au début, nous avons envisagé l'option de serveurs virtuels avec des cartes vidéo, mais nous avons décidé d'acheter notre équipement. Nous avons choisi entre quatre options de Nvidia - Tesla M40, Tesla K80, GTX 1080 et Titan X. Nous avons choisi les deux dernières, car le principal avantage des options industrielles (Tesla) est la tolérance aux pannes, et ce problème a déjà été résolu par l'architecture.

Architecture: Chaque style est traité sur sa propre carte vidéo. La distribution des styles sur les cartes vidéo est dynamique et est régulée par une fonction spéciale.

Le botnek le plus inattendu - la carte vidéo peut traiter plus d'images que le réseau ne passe.

Organisation de la formation: ils ont mis FGlab sur tous les serveurs, ont commencé à bombarder chaque image avec des paramètres aléatoires et à choisir manuellement ceux qu'ils préfèrent. Cela a contribué à rendre les styles très différents les uns des autres.

Le rapport des vitesses de couche: entrée - 42%, intermédiaire - 10% et sortie 28%.

Et comment Prisma était-elle arrangée sous le capot?

R: Les modèles étaient sur la «Torche». C'est une chose si ancienne, maintenant pas très populaire, car il y a PyTorch et TensorFlow. Le modèle lui-même a été intégré au traitement sur une carte vidéo. Elle a conduit Inference, et de là, "Python" a tout tiré à l'étage. Autrement dit, le backend, le wrapper sur Python, les files d'attente et le côté serveur sont également sur Python. Il n'y avait pas de pile compliquée. L'appareil n'est qu'un client léger, une interface et un travail avec l'API.

Nous avons traversé deux étapes. Le premier, c'est quand tout était en ligne. Nous avons d'abord accéléré l'algorithme une centaine de fois dans le temps à partir de la version de rétropropagation, l'avons lancé sur des cartes de jeux vidéo louées. Toute la difficulté était que lorsque l'application s'est développée, des files d'attente se sont élevées. Le flux de demandes d'images était énorme. Les images sont allées au serveur et avec une charge de plusieurs millions de téléchargements, il a été très coûteux de générer des téraoctets de photos. Il nous faudrait payer plus pour le serveur et pour le trafic que pour les ressources - même si nous réduisions le temps d'attente.

La deuxième étape a donc commencé. Nous avons pensé s'il était possible de le faire hors ligne ou avec un processeur peu coûteux. Nous avons réussi à le faire en août 2016 et, fin septembre, nous avons commencé à nous déployer. Ensuite, il n'y avait pas de Core ML, pas de traitement au téléphone. Nous étions des pionniers du métal, nous avons tout construit à partir de béquilles et de bâtons, mais nous avons compris que c'était l'avenir. Parce qu'il préserve la confidentialité - il ne conduit pas de photos de l'utilisateur n'importe où, ce qui a considérablement réduit le coût du traitement.

La transition a été clé pour nous, nous avons pu mettre en place une famille d'algorithmes pour le traitement des modèles sur l'appareil. Et nous avons commencé à comprendre que toute l'industrie du traitement, l'IA, l'apprentissage automatique - tout sera sur l'appareil, avec les données qui se trouvent sur cet appareil.

F: Autrement dit, au début des travaux sur Prism, l'idée de faire des calculs sur le client n'était même pas envisagée?

R: Pas vraiment. Nous avons regardé de cette façon, mais nous avons pensé: «Oh, allez! C'est irréaliste. " Au début, même ces modèles ne rentrent guère dans la mémoire du GPU, et il y en a 8 ou 12 Go. L'idée que cela était possible sur l'appareil semblait futuriste.

Mais nous avons commencé à grandir - tout est en feu, les serveurs sont en feu, il y a des millions d'utilisateurs. L'attention s'est déplacée sur le fonctionnement du système que nous avons construit sur le GPU.Nous avons optimisé la partie serveur pendant un mois, mais nous avons réalisé que sans traitement sur l'appareil, nulle part. Sinon, vous ferez faillite instantanément.

Je ne pensais pas qu'il y aurait un tel flux d'images.

Et à quelle charge vous attendiez-vous?

R: Avant le lancement, nous pensions qu'il y aurait un maximum de trois images par seconde. Le maximum! De là, vous faites semblant - 60 x 60, 3 x 600, 12 autres, et il semble déjà - beaucoup, où tant! Imaginez combien d'utilisateurs devraient être et pensez, trois images par seconde - c'est normal.

Nous avons exécuté le traitement et l'ensemble du cycle a pris 400 millisecondes. Je pensais que c'était génial. Comme il est devenu plus tard clair, ce n'est pas du tout excellent. Lorsque des millions d'utilisateurs ont afflué, toutes les pensées ont commencé à aller dans une direction complètement différente.

Et qu'avez-vous fait? Ils ont couru, éteints?

R: Lorsqu'il a brûlé, nous avons utilisé toutes les ressources possibles sur le marché. Tout ce qu'ils ont pu trouver. Je me souviens, nous avons même appelé des amis pour leur demander s'ils avaient des serveurs sur des cartes vidéo. J'ai appelé presque tout le monde que je connaissais. Les développeurs de Yandex, d'ailleurs, ont dit: "Merde les gars, aidez quelqu'un qui a quelques brouettes à lever." Ils ont pris 5-6 voitures à quelqu'un, et ils n'étaient même pas sur des cartes graphiques de jeu, leurs processeurs étaient plus lents.

Ils ont appelé Amazon, où ils nous ont donné une augmentation des limites. Sérieusement, lorsque nous avons eu quatre voitures jusqu'à quatre cartes vidéo sur Amazon, nous étions si heureux - la ligne de dix images est tombée à huit. Nous étions partenaires avec Servers.com - ils ont également beaucoup aidé à ce moment-là.

F: Est-ce que le code a été mal écrit et a dû être corrigé et réécrit après la sortie?

R: À la volée, il y a eu beaucoup de corrections, sérieusement. Ce sont précisément les goulots d'étranglement déchirés qui ont été corrigés là où il était impossible de s'attendre à une telle charge. Après tout, tout a été écrit pour fonctionner. Au début, il n'y avait aucune file d'attente. Il est probablement difficile pour moi d'apprécier la propreté et l'alphabétisation du code. Puisque tout a été écrit littéralement en un mois - oui, il n'y avait probablement pas d'approche industrielle, comme tout le monde aime, en tenant compte des charges, en tenant compte de l'extensibilité. Par conséquent, beaucoup de tout correspondait.

Qu'adviendra-t-il de l'IA, du ML et des neurones


F: Quand j'ai compris comment fonctionnaient les réseaux de neurones, j'ai perdu le sentiment que c'était magique et une percée. Et vous?

R: En fait, oui. Pour moi, tout apprentissage en profondeur n'est pas magique. La géométrie différentielle est magique et le deep learning est assez transparent et techniquement compréhensible. Du point de vue des algorithmes à l'intérieur et de leur fonctionnement, il existe une certaine boîte noire construite sur l'heuristique des expériences. Mais en général, la chose elle-même à l'époque n'était certainement pas quelque chose de surnaturel. Il fallait croire que cela fonctionnerait rapidement sur les appareils, et lorsque nous y sommes parvenus, je n'ai fait que consolider mes convictions.

Donc, avec n'importe quelle technologie. Prenons les bases de données dans les années nonante. Il y avait aussi le sentiment que rien de compliqué, mais d'une manière ou d'une autre, ça allait mal. Et quand tout le monde a compris que cela fonctionne, c'est utile et généralement la seule chose sur laquelle les données doivent être stockées, les bases de données sont devenues une chose absolument normale, maintenant tout le monde les utilise. La même chose devrait se produire avec les modèles ML.

F: Supposons que j'ai vu une IA plutôt abstraite utilisant des algorithmes de réseau neuronal dans un garage. Et maintenant, le sentiment ne me laisse pas que si j'étudie attentivement comment cela se fait, alors la connaissance réduira la gamme des opportunités que je déciderai. Parce que je cesserai de croire aux possibilités de la technologie. Vous n'en avez pas?

R: Une IA commune à tout n'existe pas encore. Même les combinaisons de technologies sont peu nombreuses. Google Duplex est un bon exemple de plusieurs technologies associées. Il écoute ce que vous dites et essaie de dériver un contexte et essaie d'analyser ce contexte d'une manière ou d'une autre, et il génère également de la parole. C'est un ensemble complexe, mais même cela reste une histoire très étroite - appels et tables de livres. Autrement dit, il exécute des tâches avec des scénarios compréhensibles et des ensembles de tâches précises et bien décrites.

Il me semble que c'est maintenant le stade de développement de l'IA et du ML, où ils ne peuvent effectuer que des tâches bien définies et bien étudiées pour lesquelles il existe un ensemble de données suffisant. Mais je n'ai pas vu d'application plus générale.

Le sens des capacités de la technologie précède ses capacités réelles.

R: Oui. Mais je pense que bientôt nous verrons des tentatives de faire une combinaison d'algorithmes et de systèmes qui nous permettront d'effectuer des tâches plus abstraites.

F: J'ai souvent entendu dire que nous avons volé la mise en œuvre du traitement d'image de la vue, du mécanisme biologique. Le pensez-vous?

R: Non, ce n'est pas le cas. Quand il y avait un boom dans les réseaux de neurones qui s'embrasait précisément à cause des neurones convolutionnels, cela ressemblait à une vision humaine, et que tout se développerait de cette façon. Il y a, bien sûr, des schémas similaires, mais dire que tout un à un fonctionne de la même manière est définitivement impossible. Du point de vue de la neurotechnologie, les réseaux convolutionnels sont une petite pièce. Et il y a tellement de types de réseaux différents.

F: Pensez-vous que cette approche a le droit d'exister en général - pour essayer de comprendre les mécanismes humains naturels et copier leur mise en œuvre?

R: Sur la base de mes observations sur les dernières tendances, maintenant, au contraire, les technologies d'apprentissage en profondeur s'éloignent de cela. Il existe toutes sortes de décisions délicates qui ne sont pas similaires à la biologie. Mais de temps en temps, il y a des tentatives, des articles, etc. Je ne sais pas avec quoi nous nous retrouverons.

L'apprentissage en profondeur a certaines tâches - améliorer la qualité et améliorer les résultats. Et de quelle manière cela se produira, en tant que personne ou non en tant que personne, cela n'a pas d'importance. C'est une sphère qui se développe librement, où cela se produira comme ça.

Et maintenant, tout le monde discute des réseaux de neurones capsulaires. Avez-vous essayé de faire quelque chose avec eux?

R: Jusqu'à présent, malheureusement, cela ne convient pas à une utilisation proche de la production. Il n'y a toujours pas d'implémentations adéquates et rapides. Ces exemples qui fonctionnent avec de très petits ensembles de données simples. Je pense que la communauté a beaucoup de travail à faire avec eux pour que quelque chose fonctionne. Mais l'idée me semble très correcte, ainsi que la direction du développement dans son ensemble.

Après tout, vous avez également travaillé avec feystreking. Est-il vrai que d'autres algorithmes y gagnent?

R: Eh bien, pas qu'ils gagnent. Par exemple, MSQRD est construit sur des arbres de décision avec différentes astuces. Mais maintenant, probablement, tout passe aux neurones. Ils sont devenus aussi rapides que les implémentations précédentes, mais il y a plus de potentiel pour y améliorer la qualité. Je ne suis pas très familier avec le suivi, mais il semble qu'il existe une sorte de botnek difficile. Et dans les neurones, du fait qu'ils ont mieux appris à les utiliser, la puissance des appareils a augmenté, les téléphones sont devenus plus puissants - la qualité augmente de version en version. Il semble donc qu'ils aient beaucoup plus de perspectives que les approches précédentes.

Ce qui se cache sous le capot d'une application secrète



Sur quelles technologies comptez-vous maintenant?

R: Nous avons maintenant décidé de nous éloigner des approches standard pour construire un backend et nous construisons tout sur FondationDB, qui est récemment apparu en open source. Nous aurons plus de soutien que Prism ou Vinci. Nous faisons une application en temps réel, et cela nécessitera des travaux sur des optimisations complexes.

L'essentiel ici, bien sûr, n'est pas FoundationDB lui-même, mais son approche - le stockage des valeurs clés transactionnelles, en termes de transactions réelles qui sont synchronisées entre les serveurs. Cette approche semble être un avenir pour les backends. Nous avons choisi FoundationDB comme le référentiel le plus prometteur avec de telles caractéristiques, nous allons le tester, puis, peut-être, nous passerons à un autre référentiel si quelque chose montre de meilleurs résultats.

Il s'agit du stockage de données. Ensuite, nous avons tout sur Go maintenant. Vinci a également été écrit sur Go. Lyosha a déclaré que Python était à l'origine dans Prism, mais ils l'ont également copié sur Go. Il semble que ce soit un bon langage pour faire du backend maintenant. Je vois des réactions positives de la communauté. Il est beaucoup plus facile d'embaucher des gens, et en général, il semble que ce soit la bonne décision.

En termes d'infrastructure, nous allons essayer de tout construire sur Amazon pour l'instant. À cet égard, je pense que cela n'a aucun sens de sauvegarder et de chercher autre chose. Vous devez d'abord commencer, pour comprendre si vous devez enregistrer. Mais dans l'ensemble, Amazon n'a pas de prix aussi élevés. Ils les indexent périodiquement.

En conséquence, du fait que nous nous lançons sur un hébergement mutualisé, l'architecture sera différente de tels projets et applications comme VK. Dans VK, beaucoup d'astuces provenaient de la vie complète sur le serveur. Là, sur un serveur, des rôles très différents pouvaient être exécutés - ils pouvaient stocker des images, contenir une base de données et faire autre chose.

On décompose tout en instances, tout est très atomique. Je me suis fixé comme objectif de créer un backend qui ne tombe pas. Je veux que les utilisateurs ne remarquent rien à chaque goutte de fer, jusqu'au centre de données d'Amazon.

Je ne promets pas que cela réussira. Mais je veux vraiment réaliser l'architecture la plus protégée des chutes. Je ne suis pas sûr de pouvoir vous en dire plus sans brûler notre concept.

Nous n'avons pas peur que quelqu'un le copie. Nous voulons juste résister à une certaine intrigue.

F: Pourriez-vous nous en dire plus sur la motivation à utiliser Go? De plus, quoi de plus pratique pour embaucher des développeurs?

R: En général, la langue n'est pas une chose aussi importante. Nous ne sommes pas ceux qui ne feront que dans une telle langue et plus dans aucune. Si quelqu'un voulait le faire en PHP, nous le ferions en PHP. Mais en ce moment, il semble que Go soit la meilleure option sur le marché, la chose la plus cool.

F: Comment est-il plus correct pour une startup de choisir la technologie? Vous avez donc décidé d'écrire sur Noda, mais vous avez 5 millions de personnes et c'est tout - votre Noda ne peut pas le supporter, et maintenant c'est très cher à réécrire. Comment le prévoir?

Nod ne voulait pas choisir un peu pour une autre raison. Je ne dirais pas que Noda est très lent. Si le code est bien écrit, il fonctionnera bien.

F: Il y a moins d'espace pour les optimisations.

R: J'aurais peur de sauvegarder le nœud car il est très facile de se tromper dessus. Lorsque vous devez faire quelque chose de toute urgence ou réparer quelque chose, des situations désagréables peuvent survenir. Et même si vous utilisez TypeScript, tout est intelligent, en tapant, etc. - tout de même, des situations complexes, des bogues difficiles à détecter sur le nœud se produisent.

Et Go est une langue très simple. Il fait exactement ce que vous écrivez. Il ne fournit pas d'espace pour toutes sortes d'abstractions et d'astuces. Il est beaucoup plus calme d'écrire un backend avec. Vous pouvez prendre et refaire un gros morceau de code à tout moment, et tout ira bien. Si quelque chose ne va pas, il ne sera probablement pas compilé et pas pour que tout ne fonctionne pas.

F: Autrement dit, pensez-vous que le typage statique et fort est un facteur déterminant?

R: C'est très important pour une startup, plus important que la performance. Il est important que vous puissiez corriger rapidement les bogues sans en créer de nouveaux. Pour minimiser les risques.

Si vous utilisez des modèles de développement modernes sur Node, en particulier s'il existe une bibliothèque tierce, il est très facile de contacter une fuite de mémoire. Et puis lui trouver toute une histoire. Et pendant que vous recherchez cette fuite, vous perdez du temps, votre backend chute dix fois par jour. Je voudrais éviter de telles choses, c'est un très gros danger pour une startup.

De nombreuses applications ont été lancées et l'équipe, au lieu de voir de nouvelles fonctionnalités, soutenant et renforçant l'intérêt pour le projet, s'est engagée à corriger un million de bogues. L'application a fonctionné de manière instable, ce qui a tué un projet sympa.

Quel genre de personnes recrutez-vous maintenant?

R: Au niveau du backend, nous n'avons pas encore commencé à recruter qui que ce soit. J'ai écrit l'intégralité du backend moi-même. Et donc, j'ai une approche légèrement Google pour embaucher des gens - ce n'est pas très important qu'une personne le sache en ce moment. L'esprit principal, l'apprentissage et la bonne connaissance de votre langue. Pendant le boom de VK, j'ai interviewé beaucoup de gens et je l'ai toujours regardé.

Un nouvel employé devra encore consacrer beaucoup de temps à comprendre l'architecture du backend. N'importe quelle langue peut être apprise - ce n'est pas si difficile. Par conséquent, tout développeur backend qui comprend simplement le fonctionnement des bases de données, qui est suffisamment intelligent et suffisamment intelligent, nous conviendrait.

En termes de neurones, d'autres conditions. Nous embauchons déjà des personnes possédant certaines compétences. Dans notre cas, l'apprentissage et l'attente ne fonctionneront pas. Dans les neurones, la période d'entraînement est très longue.

Avec les développeurs mobiles, l'attention aux détails est importante. Le développeur qui fait l'interface doit lui-même remarquer et corriger beaucoup de petites choses. Sinon, vous devez le piquer tout le temps, et cela va manger beaucoup de temps et de nerfs.

Chez VK, vos ressources n'étaient pas limitées. Je l'imagine comme ceci: j'ai besoin de voir Tesla pour 5000 $ - au moins dix. Nous avons besoin d'un serveur pour 700 $ par mois - prenez-le. Pouvez-vous vous permettre de telles expériences maintenant?

R: Il ne semble pas que nous ayons eu des problèmes de ressources. À propos de VK - c'est vrai. Quand nous avons réalisé que nous avions besoin de serveurs avec vidyashki, on nous a dit - sans aucun doute. Nous avons loué presque un avion privé pour livrer ces vidyoshki le plus rapidement possible. À cet égard, les mains étaient toujours déliées et personne n'a épargné le fer.

Mais d'un autre côté, nous voulons maintenant utiliser Amazon non pas parce qu'il n'y a pas de ressources.

Mais vous n'aurez plus de chance avec un jet privé.

Et bien oui. Mais d'un autre côté, ce n'est pas nécessaire.

Quel est l'intérêt des startups




Vous voulez garder l'intrigue autour du projet, et j'ai promis de ne pas jouer avec les questions. A cette occasion, je me suis souvenu d'une histoire. J'ai lu sur reddit comment un gars est arrivé à une présentation privée d'un casque VR et n'a pas pu en parler à cause de l'embargo. Par conséquent, il a écrit une critique de son dîner. Mais avec une prise, comme "l'assiette de nourriture était un peu plus lourde que le HTC Vive, mais elle était assez confortable dans la main." Pouvez-vous nous parler de votre dîner d'hier?

Eh bien, nous ne faisons pas de fer, nous faisons des logiciels, vous ne pouvez pas comparer avec le dîner.

Merde, la tentative a échoué. Mais le fait qu'il s'agisse d'un réseau social - vous l'avez déjà dit.

R: Il n'est probablement pas judicieux d'appeler un réseau social. Il s'agit plutôt d'un produit basé sur une sorte d'interaction sociale.

A-t-il été difficile de convaincre les gens de cette idée?

R: Il est important pour les investisseurs de dire non seulement une idée, il est important de dire qui vous avez dans votre équipe.

En général, la probabilité qu'ils vous donnent des investissements dépend de qui est dans votre équipe, quelle est votre idée et si vous allez aux bonnes personnes.

Aller vers des gens au hasard et simplement leur prendre de l'argent n'est probablement pas très juste. Ils peuvent mal comprendre ce que vous faites. Amasser de l'argent au stand pour les personnes qui fabriquent des roquettes? Ils ne comprennent pas le métier de vendre du shawarma.

Par conséquent, il est important d'aller chercher des investissements aux bonnes personnes qui sont pertinentes pour le domaine dans lequel vous travaillerez. J'ai fait juste ça.

Si vous touchez l'équipe, il est très important pour moi qu'une personne aime ce qu'il fait. Il est difficile de décrire une idée ou pas difficile, selon la façon dont une personne comprend ce domaine. Parfois, les opinions convergent, la foi en quelque chose converge et vous travaillez avec de telles personnes.

Le succès des plateformes sociales dépend très souvent de leur image, des stéréotypes, du public qui se forme autour d'elles - peut-être même plus que des technologies. Est-ce que cela vous fait peur?

R: C'est un tel facteur de combo, je suis d'accord. Il y a un moment culturel, une combinaison de la façon dont vous le présentez, comment vous le dites au marché. Pourquoi est-il nécessaire, comment améliore-t-il la vie. Beaucoup disent qu'ils résolvent les problèmes avec leurs produits. J'ai tendance à mieux faire ce qui a déjà été fait, à simplifier.

Il y a une combinaison de hauteur et de performance. Et puis vient le test d'hypothèse - votre hypothèse est-elle vraie? Tout produit est basé sur une hypothèse. Prenez Dropbox: l'hypothèse est que les gens doivent stocker des fichiers dans le cloud, qu'il n'y a pas d'espace sur l'ordinateur et qu'ils ont besoin d'accéder partout. Ils l'ont fait et vérifié. Il s'est avéré que quelqu'un en avait besoin, les gens ont commencé à stocker des fichiers dans le cloud. L'hypothèse a été confirmée.

Notre hypothèse est que le monde en a besoin. Je ne pense pas qu'un facteur social soit important ici, car il est déjà inscrit dans une hypothèse.

Chaque chose sociale réussie est aussi une grande responsabilité, même un impact sur le monde. Rappelez-vous seulement l'histoire récente de la façon dont Zuckerberg fait rapport au Sénat. Êtes-vous prêt pour cette responsabilité si tout tourne?

R: C'est difficile à dire. Doit tirer en premier. L'hypothèse doit être confirmée et survivre au stade de croissance. Zuckerberg, évidemment, n'a pas répondu au Sénat la première année de son travail, ni même la troisième, ni la cinquième. Probablement, à ce moment-là, nous apprendrons si une telle opportunité se présente. Je voudrais me présenter.

Oleg, je reviens tous à votre rapport Vinci. Si vous changez sa structure, vous pouvez obtenir un effet comique. Ici, vous êtes une demi-heure à parler des technologies avancées, des solutions d'ingénierie, des architectures, du matériel coûteux - et à la fin c'est: "c'est pourquoi nous avons tous fait cela." Et les images apparaissent simplement sur la photo.

D'où la question - ne pensez-vous pas que les meilleurs esprits de notre temps ne sont engagés dans rien?

(Puis il y a eu un très très long silence de sept secondes. Il s'est avéré qu'Oleg avait perdu le contact, alors Alex est entré.)

R: Il me semble que ce n'est pas entièrement vrai. L'industrie informatique est récemment apparue. Il n'a été pleinement formé qu'à la fin des années quatre-vingt. Internet est apparu comme une sorte de projet d'infrastructure issu de la technologie militaire. Sur cette base, un nouveau domaine est apparu, et pour le moment, nous voyons qu'il pénètre dans toutes les sphères de la vie. Cela donne lieu à un grand nombre d'opportunités, mais le seuil d'entrée augmente.

Pour commencer une chose simple à votre avis, avec un résultat simple - un cadre photo avec un motif - vous devez connaître toute la pile technologique, comment tout cela fonctionne, comment le marketing et la distribution fonctionnent.

Et affirmer que les meilleurs esprits se battent pour une sorte de fausse valeur n'est probablement pas tout à fait raison. Seul le seuil d'entrée nécessite plus de connaissances et de compétences. Il est difficile de comprendre à l'avance où naîtra réellement la valeur.

Facebook au début n'était pas une brillante idée technique. Ils ont juste créé le site Web, ont fait des choses de base, et ça a continué. Et puis des difficultés techniques et des millions d'utilisateurs surgissent.

Je pense que cela semble dû au fait que l'industrie a grandi et que les choses simples sont devenues plus difficiles à faire qu'auparavant.

(Oleg est apparu ici et a convenu avec Alexei).

Pourquoi faites-vous des startups?

R: J'aime simplement faire de telles applications. Tout se développe, et nous obtenons un effet formidable sur l'ensemble de l'industrie.

Et pourquoi ne lançons-nous pas tous des fusées spatiales, mais faisons-nous une sorte d'applications sociales? Chacun devrait faire ce qu'il veut. Alexey et moi aimons les applications sociales, et nous devons y faire face. Si quelqu'un aime lancer des fusées, dans la mesure du possible, vous devez le faire.

Ne sous-estimez tout simplement pas les applications sociales. En fait, c'est une chose très importante, cela a un impact énorme sur la société.

R: Je suis d'accord avec Oleg, il est important de faire ce que vous aimez. Cela ressemble à un cliché, mais je veux rendre la vie un peu meilleure, je veux aider à accélérer certaines choses de routine, c'est mieux que les gens aient de nouvelles opportunités. Par exemple, Instagram vous donne la possibilité de publier une photo, mais avant cela ne l'était pas. Vous voyez vous-même comment Instagram affecte notre vie avec vous. Auparavant, cela semblait être une chose simple, et c'est ce qu'il est devenu.

R: Instagram n'est probablement pas le meilleur exemple. Un bon exemple serait Facebook. Pas dans le sens où nous faisons un autre Facebook en ce moment. J'aimerais penser que nous faisons une application plutôt utile qui apporte définitivement plus d'avantages sociaux qu'Instagram.

Si vous améliorez constamment le monde, cela ne conduira-t-il pas finalement à l'effet contraire?

R: Personne ne sait. Si je savais que cela conduirait à de mauvaises choses, peut-être que non. Ou peut-être qu'il l'a fait. Personne ne connaît l'avenir.

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


All Articles