"¿Por qué estamos haciendo esto?" - Creador de Prisma y ex líder del proyecto VK sobre su nuevo proyecto secreto.



¿Recuerdas la aplicación Prisma? En 2016, parecía que cada segunda foto en el mundo se pasaba por ella. La historia del auge y la caída de su popularidad también se discutió en todas partes (incluso en Habré ).

Pero en junio de este año, el creador de Prism, Alexei Moiseenkov ( darkolorin ), junto con el cofundador, abandonó la empresa sin comentar los motivos de su partida. Casi de inmediato se dieron a conocer y así. Alexey lanzó una nueva startup y ya ha recaudado $ 1 millón en inversiones.

La compañía se llama Capture Technologies inc., Pero no dirán qué lanzará. Se sabe que este es un tipo de "análogo de una red social en el que la cámara y las tecnologías de inteligencia artificial desempeñarán un papel importante".

Fillpackart y yo pedimos una conversación y tratamos de averiguarlo, incluso si este proyecto estaba bajo el capó, pero nuevamente caímos en la discusión de "ser o no ser".

Sobre Alexey Moiseenkov



Alexey había estado programando desde que tenía 11 años, en la escuela era un jugador profesional en World of Warcraft (todavía juega en Hearthstone), de alguna manera logró ganar dinero enseñando patinaje sobre ruedas, luego estudió en el Politécnico de San Petersburgo en la facultad de cibernética técnica. Trabajó en Yandex, Mail.ru, entrevistado en Google. Enseñó en el Instituto de Física y Tecnología de Moscú, pero dijo que los estudiantes no confiaban: "No tenía mi propia startup".

Más tarde, Prisma comenzó y durante varios meses estuvo en la cima de la AppStore en casi todo el mundo. Millones de usuarios, atención constante de los medios, viajes a Silicon Valley. Suena hermoso, pero Alex parece mirarlo más críticamente:

“Cualquier entrevista es una distorsión. Nadie está interesado en la verdad, ningún medio se adapta al lector y satura la historia con ficción. La historia de que, por ejemplo, dos tipos estaban sentados y haciendo startups en computadoras y todo lo que necesitaban era computadoras, nunca sería popular. Su programa puede ser popular, pero los medios siempre encontrarán algo sobre su creación ".

¡Pero no somos así! Solo necesitamos computadoras.

¿Estás buscando el código ahora?

Alex: no diría Solo para mí, algunas cosas en Deep Learning analizan cómo capacitar a la red. Entiendo bien las matemáticas, porque me gustan las matemáticas, pero no escribo nada en producción.

¿Pero esto ayuda al trabajo en equipo?

Puedo leer el código, entiendo los patrones de proyección. Técnicamente comprende lo que se está haciendo, puede profundizar. Pero aún así, se trata más de un lenguaje común con el equipo.
En general, siempre desempeñé un papel semi-técnico donde sea que trabajara, en Yandex y Mail.ru. Siempre entendí lo que estaba sucediendo a mi alrededor.

¿Y con quién trabajaste allí?

En Yandex, trabajé en los últimos cursos de la universidad, fui gerente en Maps. En Mail.ru, trabajé en la unión de análisis de productos para varios proyectos. Después de cambiar y comenzar a tratar más con productos: visión, estrategia, etc. Y después de eso hubo Prisma y ocurrió un punto de inflexión.

¿No combinaste "prisma" con trabajo?

Al principio, era un proyecto paralelo, incluso una idea para un proyecto paralelo. Fultime comenzó más tarde, cuando apareció la aplicación.

Phil: Comenzaste Prism cuando no había redes neuronales, ¿verdad?

Yo diría que simplemente no hubo tal exageración. Ahora está en todas partes y máscaras, y seguimiento, y segmentación, y otras cosas. Y luego no era tan popular, probablemente porque requería muchos recursos. Incluso la tarea de transferencia de estilo se completó durante varios minutos. Nadie esperará una foto durante cinco minutos. Pero entendí que las redes neuronales definitivamente irían cuesta arriba, así que comencé a tratar con ellas.

Sobre Oleg Illarionov



En la primavera de 2018, el líder del proyecto Oleg Illarionov dejó VK. Trabajó allí desde 2010 y probablemente vio todas las etapas más importantes de la vida de la empresa.

"Pavel se sienta en una oficina de mí, justo en el camino a la mesa con comida, cerca de la cual todos a menudo discutimos soluciones a varios problemas técnicos", dijo hace seis años.
Además de las características principales de la red social, Oleg participó en el lanzamiento de los servicios de Vinci (un clon de Prisma), Snapster y Stickerface.

Al igual que Alex, al principio no hizo comentarios sobre su partida. Y solo recientemente anunció que se convirtió en el director técnico de Capture Technologies.

Oleg, ¿tenías la sensación de que ya no podías escribir código de supermercado?

A: En realidad no, todavía estoy escribiendo código. Era solo un deseo de participar plenamente en las aplicaciones. Es decir, no quería dejar la programación, quería asumir aún más responsabilidades.

F: ¿Pero no tenía la sensación de que debido a otras tareas ya no puede hacer programación?

R: Por supuesto, no puedo lidiar con eso tan bien como si solo estuviera escribiendo código. Por otro lado, en VK, siempre dedicamos mucho tiempo al producto. Cuando la tarea consistía en realizar alguna función, rediseño, sección de amigos o algo así, tuve que comunicarme con el diseñador, decidir cómo funcionaría. En general, tenía un fondo de abarrotes casi desde el principio, y solo quería más.

Leí tu antigua entrevista del año 2011. Ya trabajaste en VK y dijiste mucho al respecto. Resulta que has encontrado todos los hitos más importantes de la empresa. ¿Cuéntame sobre eso?

A: es verdad. Pude ver, diría, compañías muy diferentes durante este tiempo. Me instalé en una, hace unos meses, me fui completamente diferente, y en espíritu, en carácter y todo.

VK cambió sin problemas a lo largo de los años, hubo todo tipo de períodos de transición en los que nadie entendió en qué se convertiría la empresa en unos pocos años. Entendieron que ella no seguiría siendo una pequeña empresa, pero tampoco sabían qué podría salir de ella. Me gustaría señalar tres pasos.

La etapa de rápido desarrollo fue cuando llegué allí, en 2010. Duró hasta 2012-13. Luego, simplemente experimentamos, nos sentamos en la oficina de la mañana a la tarde, hicimos todo tipo de funciones. Hicieron mucho, muchas cosas.

Luego hubo una fase de rechazo de las características. Nos centramos en cosas clave, observamos las métricas e intentamos no rociar. Esto es probablemente de 2013 a 2014.

Y hubo una etapa de gran crecimiento, desde 2014 hasta el momento presente. VK se está convirtiendo en una gran empresa, con mucha gente, con una cultura corporativa compleja.

Entonces, ¿el crecimiento comenzó cuando Durov se fue?

A: Sí, sobre entonces. La compañía comenzó a crecer y contratar nuevas personas. Antes de eso, el tamaño del personal casi no cambiaba. No había mucha gente, y cuando alguien dijo que no estaba a tiempo, no pudo hacerlo; ni siquiera se discutió la opción de contratar a una persona para ayudar. Hubo un enfoque de inicio con recursos limitados.

Estos son dos enfoques diferentes para el desarrollo: puede crear excelentes productos geniales con un equipo pequeño, pero no puede limitarse en recursos y contratar un equipo grande. Cada enfoque tiene sus pros y sus contras. Con un equipo grande puedes cubrir muchas cosas, con uno pequeño puedes hacer un producto muy pulido.

Un equipo pequeño es más fácil de administrar, más fácil prestar atención a lo importante. En las grandes empresas, muchas cosas se pierden de vista, caen en el cruce de responsabilidades cuando no está claro quién es responsable de estas cosas. Como resultado, hay casos frecuentes en los que las cosas clave para un negocio simplemente se pierden de vista y no se desarrollan.

F: Trabajé en uno de los gigantes de la industria como desarrollador habitual y pasé la mayor parte del tiempo clasificando por correo y todo tipo de comunicaciones. Me temo imaginar cuánto tiempo pasa el líder del proyecto en esas cosas.

R: Con el aumento en el número de personas en VK, se dedicó más y más tiempo a ello. Cuando VK estaba en un formato de inicio, utilizamos un enfoque muy interesante para resolver problemas: una vez a la semana, los viernes, durante aproximadamente una hora, todo el equipo se reunió en una habitación (por cierto, en una pequeña, y todos estaban allí). Teníamos un proyector y una pantalla, todos salieron y solo dijeron y mostraron lo que había hecho. Prácticamente no había opción de no salir y no contar. Era necesario explicar lo que tomó la semana, por lo que todos trabajaron de manera muy productiva.

En una gran empresa, puedo imaginar fácilmente a personas que no trabajan durante un tiempo relativamente largo, y nadie lo nota. En una empresa pequeña, no es que no trabajes, incluso es imposible trabajar relajado.

Sobre el agotamiento y el éxito




Hay cosas en las que piensas: conviértete en mi startup una gran empresa, esa basura nunca estará allí.

R: Vine a Yandex en 2013, y cerca de mil quinientas personas fueron contratadas conmigo. Había un horario interno, y se podía ver en tiempo real cómo crece la gente. Incluso en nuestra oficina se agregaron personas.

Cuando comienzas a contratar cientos y miles, para asegurarte de que controlas a todos, todos vienen y dicen algo: es simplemente imposible. Estoy profundamente culturalmente convencido de que los problemas en esta etapa no se pueden evitar.

Otra pregunta es si la gerencia puede construir una cultura (cómo se entregan los valores de arriba a abajo) de tal manera que las personas tengan el deseo y la capacidad de completar tareas cuando no se avergüencen de hablar sobre sus problemas y dificultades a las personas que se sientan cerca. No es que haya subido e informe que hoy cerré tres tareas, sino que había apertura. Para decir inmediatamente desde el umbral: "practicamos la transparencia".

Si esta transparencia se presentará entre las personas empleadas, aunque en absoluto, porque es imposible, entonces esto simplificará enormemente el crecimiento. La gente se acostumbrará a hacer, se acostumbrará a hablar sobre sus problemas, sobre sus expectativas. Esto es importante para mi.

Pero no creo que haga mi blackjack ahora y todo estará allí como yo quiera, y todo será perfecto. Los problemas de crecimiento son naturales e imposibles de evitar.

Por cierto, me dijiste que antes de Prisma, se quemó muy duro en el trabajo.

R: En Yandex, estaba comprometido con la gestión universal. No tenía una lista específica de responsabilidades, así que hice todo en una fila. Y después de aproximadamente un año, tuve una sensación tan personal que me quemé.

¿Qué pensamientos entonces atormentaron más?

R: Probablemente, me atormentó que me quedara quieto y no entendiera si estaba listo para seguir adelante. No pude evaluarme objetivamente. Nada parecía estar sucediendo. Siempre ha habido una gran pregunta en mi cabeza: ¿por qué estamos haciendo esto a nivel mundial? A veces es muy difícil obtener una respuesta a esta pregunta. Me atormentó mucho a su debido tiempo. Llegué a los mítines y no entendí lo que vendría después.

La combinación del hecho de que estoy haciendo todo en una fila, fue atormentada por lo mismo, y no entiendo dónde funciona todo. Me comía constantemente en mi cabeza. Es bastante personal cuando no hay respuesta a sus propias preguntas. No puedes responderlas y comenzar a arder.

Y cuando sucedió Prisma, y ​​quedó claro que algo genial estaba comenzando, ¿estaba curado?

R: La sensación de que algo genial comenzaba a aparecer solo cuando el crecimiento se volvía loco. Y cuando lanzamos la aplicación, parecía que nadie la necesitaba. Durante aproximadamente una semana hubo un silencio absoluto y mortal. Podrían ser cien o doscientas descargas.

Este es el momento de transición cuando estás sentado y, maldita sea, realmente, de nuevo, ¿nadie lo necesita? Entonces, ¿qué hacer al respecto?

Y luego, en algún momento, comenzó un rápido crecimiento, y se dio cuenta de que muchas cosas tenían que hacerse en este momento. Muchas cosas Y dio un impulso. Cuando millones de personas usan su producto, y usted tiene un pequeño equipo de cinco personas y media, todo crece, la gente alrededor está tratando de descubrir algo, pregunte. Y todavía tiene tareas de producto: esta es la unidad y se vuelve interesante. Tal experiencia es difícil de obtener en otro lugar.

Justo el otro día, hablamos con muchachos que regresaron del valle después del acelerador y recibieron inversiones; están llenos de entusiasmo. ¿Y cómo te sentiste después del valle?

A: tuve un poco diferente. Sus ojos ardían no por el hecho de que estábamos en el valle y reconoceríamos a la gente, sino por el hecho de que algo impensable estaba sucediendo. Tenía tres millones de descargas por día. No podría imaginarme tal situación. En Rusia, teníamos 350 mil descargas por día, y la AppStore superior en ese momento era de 13 mil. ¿Sabes qué brecha? Y así durante varios meses. Simplemente nos sentamos orgánicamente en la cima sin hacer nada, sin esfuerzos de marketing.

Atrapar una ola así, por supuesto, no tiene precio.

¿Cómo se organizaron Vinci y Prisma?




Me parece que constantemente hiciste algo similar: Prisma y Vinci, Sticky AI y Stickerface. Honestamente, ¿quién estaba espiando a quién?

R: Para ser sincero, nunca ocultamos que habíamos espiado. Vinci comenzó después del lanzamiento de Prisma. Vimos y decidimos: tenemos que copiar. Y sobre Stickerface: estas son cosas generalmente diferentes, y aquí nadie miró a nadie. Además, la idea de Stickerface me vino a la mente hace mucho, mucho tiempo, cuando nadie hizo algo así. Si pudiera tomarlo con todas mis manos y cabeza, entonces tal vez algo funcionaría. Y ahora ya hay muchos jugadores.

¿Cómo es que te uniste en una empresa?

R: Comenzamos a hablar en el momento en que lanzamos Vinci. Para mi sorpresa, Alexey reaccionó muy positivamente a esto. Pensé que estaría furioso, y de alguna manera percibió con una sonrisa que habíamos copiado la aplicación. Este fue el origen de la comunicación.

R: Me di cuenta en la universidad que no tenía miedo de copiar. Creo que esto es normal. Por lo tanto, no tenía odio ni odio.

¿Quién crees que técnicamente sucedió para hacer esto mejor?

R: Creo que es genial hacer algo primero, y copiar no es genial. Generalmente no me gusta copiar, y me gusta hacer cosas originales que nadie ha hecho antes.

A pesar de que durante todo mi trabajo estuve involucrado en algún tipo de proyectos no originales, desde un punto de vista tecnológico siempre traté de ocuparme de las tareas que aún no se han resuelto.

Mucho de lo que VK tenía que hacer cuando no había información al respecto. Tuve que inventar e inventar. En Snapster, a pesar del hecho de que la idea en sí misma era secundaria, hubo una corrección completa del color para adultos con inmersión profunda, que nadie había hecho antes en la aplicación móvil. Lanzamos una cosa relativamente única en ese momento. Otro problema es que la implementación técnica no fue suficiente para interrumpir el mercado.

En Vinci, tanto la idea como la tecnología en sí eran secundarias. Pero fue una experiencia interesante, porque en ninguna parte se ha descrito cómo hacerlo. Tenía que entender y enfrentar tareas no obvias.
Oleg habla sobre las tecnologías utilizadas por Vinci antes de lanzar el procesamiento fuera de línea en la CPU.


La primera versión se realizó en 24 horas, el lanzamiento, en 2 semanas.

Pila: Antorcha para trabajar con redes neuronales, pero hay muchos problemas con ella. Lua / Turbo para la comunicación entre el frontend y el backend, y con ellos también, no todo va bien. El backend fue primero en NodeJS debido a la falta de tiempo, luego fue reescrito en Go.

Hierro: al principio consideramos la opción de servidores virtuales con tarjetas de video, pero decidimos comprar nuestro equipo. Elegimos entre cuatro opciones de Nvidia: Tesla M40, Tesla K80, GTX 1080 y Titan X. Elegimos las dos últimas, ya que la principal ventaja de las opciones industriales (Tesla) es la tolerancia a fallas, y este problema ya ha sido resuelto por la arquitectura.

Arquitectura: cada estilo se procesa en su propia tarjeta de video. La distribución de estilos en las tarjetas de video es dinámica y está regulada por una función especial.

El botnek más inesperado: la tarjeta de video podría procesar más imágenes de las que pasó la red.

Organización de la capacitación: pusieron FGlab en todos los servidores, comenzaron a bombardear cada imagen con parámetros aleatorios y eligieron manualmente cuáles les gusta más. Esto ayudó a que los estilos fueran muy diferentes entre sí.

La relación de velocidades de capa: entrada - 42%, intermedia - 10% y salida 28%.

¿Y cómo se arregló Prisma debajo del capó?

A: Las modelos estaban en la "Torche". Esto es algo muy antiguo, ahora no muy popular, porque hay PyTorch y TensorFlow. El modelo en sí fue empaquetado en el procesamiento en una tarjeta de video. Condujo Inferencia, y desde allí, "Python" subió todo. Es decir, el backend, el contenedor en Python, las colas y el lado del servidor también están en Python. No hubo una pila complicada. El dispositivo es solo un cliente ligero, una interfaz y funciona con api.

Pasamos por dos etapas. La primera es cuando todo estaba en línea. Inicialmente aceleramos el algoritmo unas cien veces en el tiempo desde la versión de retropropagación, lo lanzamos en tarjetas de videojuegos alquiladas. Toda la dificultad fue que cuando la aplicación creció, surgieron colas. El flujo de solicitudes de imágenes fue enorme. Las imágenes fueron al servidor, y con una carga de varios millones de descargas, era muy costoso manejar terabytes de fotos. Tendríamos que pagar más por el servidor y por el tráfico que por los recursos, incluso si redujimos el tiempo de espera.

Entonces comenzó la segunda etapa. Pensamos si es posible hacerlo sin conexión o con un procesamiento de procesador barato. Logramos hacer esto en agosto de 2016, y para fines de septiembre comenzamos a implementar. Entonces no hubo Core ML, ni procesamiento en el teléfono. Fuimos pioneros del metal, construimos todo, desde muletas y palos, pero entendimos que este era el futuro. Debido a que preserva la privacidad, no conduce fotos del usuario a ninguna parte, y esto reduce en gran medida el costo de procesamiento.

La transición fue clave para nosotros, pudimos implementar una familia de algoritmos para procesar modelos en el dispositivo. Y comenzamos a comprender que toda la industria de procesamiento, IA, aprendizaje automático: todo estará en el dispositivo, con los datos que están en este dispositivo.

F: Es decir, al comienzo del trabajo en Prism, ¿ni siquiera se consideraba la idea de hacer cálculos en el cliente?

A: en realidad no. Nos miramos de esa manera, pero pensamos: “¡Oh, vamos! Esto no es realista ". Al principio, incluso estos modelos apenas caben en la memoria de la GPU, y hay 8 o 12 GB. La idea de que esto fuera posible en el dispositivo parecía futurista.

Pero hemos comenzado a crecer: todo está en llamas, los servidores están en llamas, hay millones de usuarios. El enfoque se ha desplazado a hacer que el sistema que creamos en la GPU funcione.Optimizamos la parte del servidor durante un mes, pero nos dimos cuenta de que sin procesamiento en el dispositivo, en ninguna parte. De lo contrario, irás a la bancarrota al instante.

No pensé que habría tal flujo de imágenes.

¿Y qué carga esperabas?

R: Antes del lanzamiento, pensamos que habría un máximo de tres imágenes por segundo. El maximo! Desde aquí finges - 60 x 60, 3 x 600, otros 12, y ya parece - ¡mucho, mucho! Imagine cuántos usuarios deberían ser y piense, tres imágenes por segundo, esto es normal.

Ejecutamos el procesamiento, y el ciclo completo tomó 400 milisegundos. Pensé que era genial. Como más tarde se hizo evidente, esto no es para nada excelente. Cuando llegaron millones de usuarios, todos los pensamientos comenzaron a ir en una dirección completamente diferente.

Y que hiciste ¿Corrieron, extinguidos?

R: Cuando se quemó, utilizamos todos los recursos posibles en el mercado. Todo lo que pudieron encontrar. Recuerdo que incluso llamamos a amigos y les preguntamos si tenían servidores en las tarjetas de video. Llamé a casi todos los que conocía. Los desarrolladores de Yandex, de otro lugar, dijeron "malditos muchachos, ayuden a alguien que tiene un par de carretillas para levantar". Le quitaron 5-6 autos a alguien, y ni siquiera estaban en tarjetas gráficas de juegos, sus procesadores eran más lentos.

Llamaron a Amazon, donde nos dieron un aumento en los límites. En serio, cuando obtuvimos cuatro autos y hasta cuatro tarjetas de video en Amazon, estuvimos muy contentos: la línea de diez imágenes se redujo a ocho. Éramos socios de Servers.com, también nos ayudaron mucho en ese momento.

F: ¿Fue que el código fue mal escrito y tuvo que ser corregido y reescrito después del lanzamiento?

R: Sobre la marcha hubo muchas correcciones, en serio. Fueron precisamente los cuellos de botella que se rompieron los que se arreglaron donde era imposible esperar tal carga. Después de todo, todo fue escrito para funcionar. Al principio no había colas en absoluto. Probablemente me sea difícil apreciar la limpieza y la alfabetización del código. Como todo se escribió literalmente en un mes, sí, probablemente no hubo un enfoque industrial, como a todos les gusta, teniendo en cuenta las cargas, teniendo en cuenta la extensibilidad. Por lo tanto, mucho de todo correspondía.

¿Qué pasará con la IA, ML y las neuronas?


F: Cuando descubrí cómo funcionan las redes neuronales, perdí la sensación de que esto es magia y un gran avance. Que hay de ti

A: en realidad sí. Para mí, todo aprendizaje profundo no es magia. La geometría diferencial es mágica, y el aprendizaje profundo es bastante transparente y técnicamente entendible. Desde el punto de vista de qué algoritmos están dentro y cómo funcionan, hay una cierta caja negra construida sobre la heurística de los experimentos. Pero en general, la cosa en sí en ese momento definitivamente no era algo sobrenatural. Era necesario creer que esto funcionaría rápidamente en dispositivos, y cuando lo logramos, solo cimenté mis creencias.

Entonces con cualquier tecnología. Tomemos las bases de datos en los noventa. También había una sensación de que nada era complicado, pero de alguna manera estaba yendo duro. Y cuando todos entendieron que esto funciona, es útil y, en general, lo único en lo que deben almacenarse los datos es que las bases de datos se han convertido en algo absolutamente normal, ahora todos los usan. Lo mismo debería suceder con los modelos ML.

F: Supongamos que vi una IA bastante abstracta usando algoritmos de redes neuronales en un garaje. Y ahora la sensación no me deja que si estudio cuidadosamente cómo se hace esto, entonces el conocimiento reducirá el rango de oportunidades que decidiré. Porque dejaré de creer en las posibilidades de la tecnología. ¿No tienes uno?

R: Aún no existe una IA común para todo. Incluso las combinaciones de tecnologías son pocas en número. Un buen ejemplo de varias tecnologías en conjunto es Google Duplex. Él escucha lo que estás diciendo, y trata de derivar un contexto, y trata de analizar de alguna manera este contexto, además de que también genera discurso. Este es un complejo completo, pero incluso sigue siendo una historia muy limitada: llamadas y tablas de libros. Es decir, realiza tareas con escenarios comprensibles y conjuntos de tareas precisas y bien descritas.

Me parece que ahora es la etapa de desarrollo de IA y ML, cuando solo pueden realizar tareas bien definidas y bien estudiadas para las que existe un conjunto de datos suficiente. Pero no he visto una aplicación más general.

Un sentido de las capacidades de la tecnología va por delante de sus capacidades reales.

A: si. Pero creo que pronto veremos intentos de hacer una combinación de algoritmos y sistemas que nos permitirán realizar tareas más abstractas.

F: A menudo escuché que robamos la implementación del procesamiento de imágenes de la vista, del mecanismo biológico. ¿Eso crees?

A: No, en realidad no lo es. Cuando hubo un auge en las redes neuronales que estalló precisamente debido a las neuronas convolucionales, parecía una visión humana, y que todo se desarrollaría de esa manera. Hay, por supuesto, patrones similares, pero decir que todos los trabajos uno a uno de la misma manera es definitivamente imposible. Desde el punto de vista de la neurotecnología, las redes convolucionales son una pequeña pieza. Y hay tantos tipos diferentes de redes.

F: ¿Cree que este enfoque tiene derecho a existir en general, a tratar de comprender los mecanismos humanos naturales y copiar la implementación de ellos?

R: Basado en mis observaciones de las últimas tendencias, ahora, por el contrario, las tecnologías en el aprendizaje profundo se están alejando de esto. Hay todo tipo de decisiones difíciles que no son similares a la biología. Pero de vez en cuando hay intentos, artículos, etc. No sé con qué terminaremos.

El aprendizaje profundo tiene ciertas tareas: mejorar la calidad y mejorar los resultados. Y de qué manera resultará, como una persona o no como una persona, ya no importa. Esta es una esfera de desarrollo tan libre, donde resultará así.

Y ahora todos están discutiendo redes neuronales capsulares. ¿Has intentado hacer algo con ellos?

R: Hasta ahora, desafortunadamente, esto no es adecuado para algún uso cercano a la producción. Todavía no hay implementaciones adecuadas y rápidas. Esos ejemplos que funcionan con conjuntos de datos simples muy pequeños. Creo que la comunidad tiene mucho trabajo que hacer con ellos para que algo funcione. Pero la idea me parece muy correcta, así como la dirección del desarrollo en su conjunto.

Después de todo, también trabajaste con feystreking. ¿Es cierto que otros algoritmos ganan allí?

A: Bueno, no es que ganen. Por ejemplo, MSQRD se basa en árboles de decisión con varios trucos. Pero ahora, probablemente, todo está cambiando a neuronas. Se volvieron tan rápidos como las implementaciones anteriores, pero hay más potencial para aumentar la calidad allí. No estoy tan familiarizado con el seguimiento, pero parece que hay algún tipo de botnek difícil. Y en las neuronas, debido al hecho de que han aprendido mejor cómo usarlas, la potencia de los dispositivos ha aumentado, los teléfonos se han vuelto más potentes: la calidad está creciendo versión por versión. Por lo tanto, parece que tienen muchas más perspectivas que los enfoques anteriores.

¿Qué hay bajo el capó de una aplicación secreta?



¿En qué tecnologías confías ahora?

R: Ahora hemos decidido alejarnos de los enfoques estándar para construir un backend y estamos construyendo todo en FondationDB, que recientemente apareció en código abierto. Tendremos más respaldo que Prism o Vinci. Estamos haciendo una aplicación en tiempo real, y esto requerirá trabajar en optimizaciones complejas.

Lo principal aquí, por supuesto, no es FoundationDB en sí, sino su enfoque: almacenamiento de valores de clave transaccional, en términos de transacciones reales que se sincronizan entre servidores. Este enfoque parece un futuro para los backends. Elegimos FoundationDB como el repositorio más prometedor con tales características, lo probaremos y luego, quizás, nos trasladaremos a otro repositorio si algo muestra mejores resultados.

Esto se trata del almacenamiento de datos. Entonces tenemos todo en Go ahora. Vinci también fue escrito en Go. Lyosha dijo que Python estaba originalmente en Prism, pero luego también lo copiaron en Go. Parece ser un buen lenguaje para hacer backend ahora. Veo reacciones positivas de la comunidad. Es mucho más fácil contratar personas y, en general, parece que esta es la decisión correcta.

En términos de infraestructura, intentaremos construir todo en Amazon por ahora. Creo que a este respecto no tiene sentido guardar y buscar otra cosa. Primero debe comenzar, para comprender si necesita guardar. Pero en general, Amazon no tiene precios tan altos. Periódicamente los indexan.

En consecuencia, debido al hecho de que estamos lanzando en un alojamiento compartido, la arquitectura será diferente de proyectos y aplicaciones como VK. En VK, surgieron muchos trucos de la vida completa en el servidor. Allí, en un servidor, se podrían realizar roles muy diferentes: podrían almacenar imágenes, contener una base de datos y hacer otra cosa.

Desglosamos todo en instancias, todo es muy atómico. Me puse una meta para hacer un backend sin caída. Quiero que los usuarios no noten nada en ninguna caída de hierro, hasta el centro de datos en Amazon.

No prometo que tendrá éxito. Pero realmente quiero darme cuenta de la arquitectura que está más protegida de las caídas. No estoy seguro de poder contarte más sin quemar nuestro concepto.

No tenemos miedo de que alguien lo copie. Solo queremos soportar una cierta intriga.

F: ¿Podría contarnos más sobre la motivación para usar Go? Además, ¿qué es más conveniente contratar desarrolladores?

R: En general, el lenguaje no es tan importante. No somos los que lo haremos solo en ese idioma y ya no lo haremos en ninguno. Si alguien quisiera hacerlo en PHP, lo haríamos en PHP. Pero en este momento, parece que Go es la mejor opción del mercado, la mejor opción.

F: ¿Cómo es más correcto que una startup elija tecnología? Así que decidiste escribir en Noda, pero tienes 5 millones de personas y eso es todo: tu Noda no puede soportarlo, y ahora es muy costoso reescribirlo. ¿Cómo predecir esto?

Nod no quiso elegir un poco por otra razón. No diría que Noda es muy lenta. Si el código está bien escrito, funcionará bien.

F: Hay menos espacio para optimizaciones.

R: Tendría miedo de hacer una copia de seguridad del nodo porque es muy fácil cometer un error. Cuando necesita hacer algo urgentemente o arreglar algo, pueden surgir situaciones desagradables. E incluso si usa TypeScript, todo es inteligente, mecanografía, etc., se producen situaciones complejas, errores que son difíciles de detectar en el nodo.

Y Go es un lenguaje muy sencillo. Él hace exactamente lo que escribes. No proporciona espacio para todo tipo de abstracciones y trucos. Es mucho más tranquilo escribir un backend con él. Puede tomar y rehacer un gran código en cualquier momento, y todo estará bien. Si algo está mal, lo más probable es que no se compile, y no para que todo no funcione.

F: Es decir, ¿crees que la escritura estática y fuerte es un factor determinante?

R: Es muy importante para una startup, más importante que el rendimiento. Es importante que pueda corregir rápidamente los errores sin crear nuevos. Para minimizar los riesgos.

Si usa patrones de desarrollo modernos en Node, especialmente si hay alguna biblioteca de terceros allí, es muy fácil contactar una pérdida de memoria. Y luego encontrarle una historia completa. Y mientras está buscando esta fuga, perdiendo el tiempo, su backend cae diez veces al día. Me gustaría evitar esas cosas, este es un peligro muy grande para una startup.

Se lanzaron muchas aplicaciones, y el equipo, en lugar de mostrar nuevas características, respaldar y reforzar el interés en el proyecto, se ocupó de corregir un millón de errores. La aplicación funcionó de manera inestable, y esto mató un proyecto genial.

¿Qué tipo de personas estás reclutando ahora?

R: Al final del proceso, todavía no hemos comenzado a reclutar a nadie. Escribí todo el backend yo mismo. Entonces, tengo un enfoque ligeramente de Google para contratar personas: no es muy importante que una persona lo sepa en este momento. La mente principal, el aprendizaje y el buen conocimiento de su idioma. Durante el auge de VK, entrevisté a muchas personas y siempre lo miraba.

Un nuevo empleado aún tendrá que pasar mucho tiempo para comprender la arquitectura del backend. Se puede aprender cualquier idioma, no es tan difícil. Por lo tanto, cualquier desarrollador de backend que simplemente entienda cómo funcionan las bases de datos, que es lo suficientemente inteligente e inteligente, nos conviene.

En términos de neuronas, otras condiciones. Contratamos personas que ya tienen ciertas habilidades. En nuestro caso, aprender y esperar no funcionará. En las neuronas, el período de entrenamiento es muy largo.

Con los desarrolladores móviles, la atención al detalle es importante. El desarrollador que hace la interfaz debe notar y arreglar muchas cosas pequeñas. De lo contrario, debes golpearlo todo el tiempo, y esto consumirá mucho tiempo y nervios.

En VK, no estabas limitado en recursos. Me lo imagino así: necesito ver a Tesla por $ 5000, al menos diez. Necesitamos un servidor por $ 700 por mes, tómalo. ¿Puedes permitirte tales experimentos ahora?

R: No parece que hayamos tenido problemas con los recursos. Sobre VK, es verdad. Cuando nos dimos cuenta de que necesitábamos servidores con vidyashki, nos dijeron que no había dudas. Arrendamos casi un avión privado para entregar estos vidyoshki lo más rápido posible. En este sentido, las manos siempre estaban desatadas, y nadie perdonaba el hierro.

Pero, por otro lado, ahora queremos usar Amazon no porque no haya recursos.

Pero ya no tendrás suerte con un jet privado.

Pues si. Pero por otro lado, no hay necesidad.

¿Cuál es el punto en las startups?




Desea mantener la intriga en torno al proyecto, y prometí no meterse con las preguntas. En esta ocasión, recordé una historia. Leí en reddit cómo un chico llegó a una presentación privada de un auricular VR y no pudo hablar sobre ello debido al embargo. Por lo tanto, escribió una reseña de su cena. Pero con un truco, como "el plato de comida era un poco más pesado que HTC Vive, pero era bastante cómodo en la mano". ¿Puedes contarnos sobre tu cena de ayer?

Bueno, no hacemos hierro, hacemos software, no se puede comparar con la cena.

Maldición, el intento falló. Pero el hecho de que esta será una red social, ya lo ha dicho.

R: Probablemente no sea correcto llamar a una red social. Más bien, es un producto basado en algún tipo de interacción social.

¿Fue difícil convencer a la gente de esta idea?

R: Es importante que los inversionistas digan no solo una idea, es importante decir quién tiene en su equipo.

En general, la probabilidad de que le den inversiones depende de quién está en su equipo, cuál es su idea y si se dirige a las personas adecuadas.

Ir a personas al azar y simplemente sacarles dinero probablemente no sea muy correcto. Pueden malinterpretar lo que estás haciendo. ¿Recaudar dinero en el puesto para las personas que construyen cohetes? No entienden el negocio de vender shawarma.

Por lo tanto, es importante realizar inversiones para las personas adecuadas que sean relevantes para el área en la que trabajará. Yo solo hice eso.

Si tocas al equipo, es muy importante para mí que a una persona le guste lo que hace. Es difícil describir una idea o no, dependiendo de cómo una persona entienda esta área. A veces las opiniones convergen, la fe en algo converge, y trabajas con esas personas.

El éxito de las plataformas sociales a menudo depende de su imagen, estereotipos, la audiencia que se forma a su alrededor, incluso, tal vez, más que en las tecnologías. ¿Esto te asusta?

A: Este es un factor combinado, estoy de acuerdo. Hay un momento cultural, una combinación de cómo lo presentas, cómo le cuentas al mercado. ¿Por qué es necesario? ¿Cómo mejora la vida? Muchos dicen que resuelven problemas con sus productos. Tiendo a hacer mejor lo que ya se ha hecho, a simplificar.

Hay una combinación de tono y rendimiento. Y luego viene la prueba de hipótesis: ¿es cierta su suposición? Cualquier producto se basa en alguna suposición. Tome Dropbox: la hipótesis es que las personas necesitan almacenar archivos en la nube, no hay espacio en la computadora y necesitan acceso a todas partes. Lo hicieron y lo revisaron. Resultó que alguien lo necesitaba, la gente comenzó a almacenar archivos en la nube. La hipótesis fue confirmada.

Nuestra hipótesis es que el mundo lo necesita. No creo que ningún factor social sea importante aquí, porque ya está cosido en una hipótesis.

Cada cosa social exitosa es también una gran responsabilidad, incluso un impacto en el mundo. Recordemos solo la historia reciente de cómo Zuckerberg informa al Senado. ¿Estás listo para esta responsabilidad si todo se dispara?

A: Es difícil de decir. Debe disparar primero. La hipótesis debe ser confirmada y sobrevivir a la etapa de crecimiento. Zuckerberg, obviamente, no respondió al Senado en el primer año de su trabajo, y ni siquiera en el tercero, ni en el quinto. Probablemente, en ese momento aprenderemos si tal oportunidad se presenta. Me gustaría presentarme.

Oleg, vuelvo a tu informe Vinci. Si cambia su estructura, puede lograr algún efecto cómico. Aquí tienes media hora hablando de tecnologías avanzadas, soluciones de ingeniería, arquitecturas, hardware costoso, y luego al final esto es: "es por eso que todos hicimos esto". Y las imágenes simplemente aparecen en la foto.

De ahí la pregunta: ¿no crees que las mejores mentes de nuestro tiempo no se dedican a nada?

(Luego hubo un silencio muy largo de siete segundos. Resultó que Oleg había perdido el contacto, por lo que Alex entró)

A: Me parece que esto no es del todo cierto. La industria de TI ha aparecido recientemente. Se formó completamente solo a fines de los años ochenta. Internet apareció como una especie de proyecto de infraestructura que surgió de la tecnología militar. En base a esto, ha surgido una nueva área, y en este momento vemos que penetra en todas las esferas de la vida. Esto da lugar a una gran cantidad de oportunidades, pero el umbral de entrada aumenta.

Para comenzar una cosa que es simple en su opinión, con un resultado simple, un marco de imagen con un patrón, debe conocer toda la pila de tecnología, cómo funciona todo, cómo funciona el marketing y la distribución.

Y argumentar que las mejores mentes están luchando por algún tipo de valor falso probablemente no sea del todo correcto. Solo el umbral de entrada requiere más conocimiento y habilidades. Es difícil comprender de antemano dónde nacerá realmente el valor.

Facebook al principio no era una idea técnica brillante. Simplemente inventaron el sitio web, hicieron algunas cosas básicas, y se fue y se fue. Y luego surgen dificultades técnicas y millones de usuarios.

Creo que parece ser así por el hecho de que la industria ha crecido y las cosas simples se han vuelto más difíciles de hacer que antes.

(Oleg apareció aquí y estuvo de acuerdo con Alexei).

¿Para qué estás haciendo startups?

A: Simplemente me gusta hacer tales aplicaciones. Todo se está desarrollando, y obtenemos un gran y buen efecto para la industria en general.

¿Y por qué no todos estamos lanzando cohetes espaciales, sino que estamos haciendo algún tipo de aplicaciones sociales? Todos deberían hacer lo que le gusta. A Alexey y a mí nos gustan las aplicaciones sociales, y debemos lidiar con ellas. Si a alguien le gusta lanzar cohetes, entonces, en la medida de lo posible, debe hacerlo.

Simplemente no subestimes las aplicaciones sociales. De hecho, esto es algo muy importante, tiene un gran impacto en la sociedad.

R: Estoy de acuerdo con Oleg, es importante hacer lo que quiera. Suena como un cliché, pero quiero mejorar un poco la vida, quiero ayudar a que algunas cosas de rutina sean más rápidas, es mejor que las personas tengan nuevas oportunidades. Por ejemplo, Instagram te da la oportunidad de publicar una foto, pero antes no era así. Usted mismo ve cómo Instagram afecta nuestra vida con usted. Anteriormente, esto parecía algo sencillo, y en eso se ha convertido ahora.

R: Instagram probablemente no sea el mejor ejemplo. Un buen ejemplo sería Facebook. No en el sentido de que estamos haciendo otro Facebook en este momento. Me gustaría pensar que estamos haciendo una aplicación bastante útil que definitivamente trae más beneficios sociales que Instagram.

Si constantemente haces que el mundo sea mejor y mejor, ¿esto no conducirá finalmente al efecto contrario?

A: nadie lo sabe. Si supiera que esto conduciría a cosas malas, tal vez no lo haría. O tal vez lo hizo. Nadie sabe el futuro.

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


All Articles