¿Por qué todas las principales empresas de tecnología abren fuentes principales de su tecnología de inteligencia artificial?

Te voy a contar un secreto. Pero debes prometer que no se lo dirás a nadie. ¿Bueno?

Si bien los equipos de investigación en las principales empresas tecnológicas se centran en los problemas científicos no resueltos, sus “canales de distribución” son las conferencias. ¿Qué tienen todas las conferencias?

Los plazos de entrega. Todas esas personas brillantes luchan por hacer todo lo que hay que hacer y presentar un documento bien escrito a tiempo, porque hay muchas cosas que hacer.

Pero más investigadores pueden probar más hipótesis, y darles herramientas para hacerlo hace que sea más fácil explorar más juntos. La ciencia se trata de colaboración, no de 1000x retornos.

FAIR podría quedarse con Torch para ellos. Google podría quedarse con TensorFlow para ellos. En lugar de 8000 personas en NIPS 2016, serían 80, y todas serían de uno de sus equipos. ¿Cuánto lograrían de esa manera?

En cualquier momento dado, el número exacto de científicos en el mundo “no es suficiente”.

Depende del tipo de empresa, pero generalmente se reduce a una combinación de marca, ventas y reclutamiento.

Marca. La publicación de innovaciones tecnológicas de código abierto envía un mensaje sobre una empresa: que son inteligentes, importantes, confiables, que contribuyen a la comunidad, únicos, orientados al futuro y que merecen una inversión, socios confiables, etc. Las principales contribuciones de código abierto son formas infalibles de hablar en conferencias, lo que crea más identidad de marca entre la élite tecnológica.

Ventas A menudo, una versión de código abierto respalda un servicio pago con la esperanza de que puedas decir “wow, me encanta esta tecnología, y ese servicio pago tiene esta tecnología incorporada” o algo por el estilo. O “esta tecnología es excelente, ahora voy a comprar una licencia comercial para incorporarla a mi producto”. Alternativamente, podría sentar las bases para un futuro servicio pago, actuando como un vector para la investigación de mercado y la penetración.

Reclutamiento Va de la mano con la marca. Digamos que Titan y Monolith son dos competidores tecnológicos. Pero han estimado los grupos de investigación de IA, pero la plataforma de IA de código abierto de Monolith se considera el epítome de la tecnología de IA gratuita. Titán no tiene tal plataforma. ¿Donde trabajas?

Las empresas afirmarán que “solo están contribuyendo a la comunidad, hombre, por lo que todos podemos aprender y crecer juntos”.

La comunidad de aprendizaje automático, probablemente debido a sus profundas raíces en la academia y la investigación, es altamente colaborativa y distribuida globalmente. Por esta razón, no podría pedir una comunidad que aprecie más los marcos comunes de código abierto que facilitan el desarrollo colaborativo, o que sea una mejor fuente potencial de contribuciones.

Con respecto a las empresas que desarrollaron la IP original, los motivos son dispares; a menudo, la tecnología interna es de código abierto para reclutar o incluso comercializar, o porque la colaboración abierta tiende a acelerar la innovación y la maduración.

En el caso de Google y su fuente abierta de TensorFlow en 2015: probablemente sea bastante obvio que una proliferación de aplicaciones de aprendizaje automático, que tienen hambre de poder de cómputo y datos de entrenamiento, a los que los desarrolladores tienen acceso sin igual a través de Google Cloud, es un buen cosa para Google. Al mismo tiempo, cualquier parche TensorFlow aportado por la comunidad es valioso tanto para los usuarios como para Google (que en sí mismo es un usuario de TensorFlow). Entonces, la creciente marea TensorFlow flota en todos los barcos.

(Solo mi opinión)

Las grandes empresas mantienen su ventaja con la escala, por lo que liberar la fuente de la mayoría de las cosas no afectará el resultado final (porque aumentar la escala comparable no es trivial y todos los competidores actuales ya tienen tecnología equivalente comparable). Es por eso que no * evitan * lanzar tecnología como código abierto.

En cuanto a por qué lanzan su tecnología como código abierto, otras respuestas han cubierto esto bien, pero resumiré: un lanzamiento de código abierto de alta calidad produce buenas relaciones públicas para el equipo y la empresa (en la medida en que muestra la tecnología al potencial recluta e inversores, y da la apariencia de buena voluntad a todos los demás), y ocasionalmente la comunidad puede proporcionar parches útiles.

(Debemos tener cuidado de no exagerar el valor de tener contribuciones de la comunidad, particularmente para las bases de código grandes y complejas mantenidas por la empresa. Una base de código desordenada, como lo que la mayoría de las empresas tienen internamente, no atraerá a una comunidad o posibles contrataciones, pero no obstante parece un sacrificio noble; limpiar la base de código para pasar de lo que es aceptable en la industria a lo que es aceptable en la comunidad de código abierto puede ser una tarea importante. Una vez que se libera la fuente, alguien debe revisar y aprobar o negar parches públicos esencialmente a tiempo completo, y esto implicará identificar parches que podrían hacer que el código sea más desordenado o introducir problemas legales potenciales, como el código con una licencia incompatible o código que introduce posibles responsabilidades, así como hacer malabarismos con posibles conflictos con las sucursales internas de la empresa y planes. Si una empresa está desarrollando algo que planea patentar, o se comercializa públicamente y está trabajando en un tarea que, si se revela, tendría un impacto en el valor de las acciones, esto debe hacerse en una rama secreta interna con la que los parches del público no deben entrar en conflicto. Es un trabajo grande y complejo, y las bases de código grandes son difíciles de escribir para parches útiles y significativos, por lo que la cantidad de valor proporcionada por los parches drive-by es pequeña, aunque algunos desarrolladores pueden unirse permanentemente a la comunidad y proporcionar una gran cantidad de valor en ocasiones. Pero, la negación de parches puede conducir a bifurcaciones, y una vez que se produce una bifurcación, el beneficio del desarrollo público se opone incluso más por el costo de fusionarse en cambios potencialmente grandes).

deeplearningweekly.com escribió un gran artículo que, entre otras cosas, explica bastante bien este fenómeno (en negrita, el mío):

Ahora, hay varios factores que impulsan este desarrollo. La primera fuerza más amplia que impulsa esta apertura es el intento de cada jugador de comercializar la ventaja de los demás , Google, por ejemplo, tiene los datos y la infraestructura, puede publicar su investigación y software sin poner en peligro su ventaja competitiva, al tiempo que lo hace más difícil para el competencia para mantener un liderazgo basado en avances algorítmicos patentados. En el otro extremo del espectro, hay organizaciones, como OpenAI, que intentan romper el monopolio de datos y desalojar a los titulares posicionándose como un socio sin fines de lucro para aquellos como muchas compañías automotrices con muchos datos, pero sin aprendizaje profundo interno pericia.

En segundo lugar, para compañías como Google o Amazon, el software y los conjuntos de datos que abren son un complemento de sus productos de infraestructura de computación en la nube, ya que Google ofrece una forma conveniente de ejecutar sus sistemas con flujo de tensor en la nube de Google y Amazon también expande AWS para hacer Es simple ejecutar DSSTNE.

Finalmente, la competencia por el talento nunca ha sido más feroz, no solo entre los gigantes tecnológicos, sino también entre el sector privado y la academia, de la que provienen la mayoría de los investigadores y profesionales de aprendizaje profundo y en los que todavía están muy arraigados. El mejor talento de IA simplemente quiere colaborar y comunicarse con la comunidad en general al poder publicar abiertamente su investigación . Este hecho, junto con la constatación de que podrían estar poniéndose al día, podría ser lo que finalmente convenció a Apple de su famoso secreto para abrir su investigación de IA.

Hay algunas razones por las que desean abrir el código fuente de sus bibliotecas y sus metodologías.

  1. La razón más importante para mí es que muchas personas pueden usar el sistema que usted construye y algunas de ellas proporcionarán mejoras. Si el equipo principal detrás del sistema está en su compañía, entonces la dirección será la que desee, mientras que tendrá algunos evaluadores fuera de la compañía y también algunos contribuyentes. Se ha descubierto que los proyectos de código abierto tienden a acumular muchas horas de trabajo, lo que es difícil de hacer cuando el proyecto se mantiene en la empresa. Consulte OpenHub para obtener más estadísticas sobre proyectos de código abierto. Un proyecto de código abierto lo hace más maduro a largo plazo.
  2. La compañía aún mantiene la fuerza laboral principal que contribuye al proyecto y tienen un papel importante en la gestión de nuevas contribuciones. Además, les da la oportunidad de averiguar si hay otras personas que podrían contratar o, en general, colaborar en el futuro. Esto es especialmente bueno para la comunidad de investigación, donde la compañía es una parte de esa comunidad.
  3. Otros utilizan su sistema, lo que les ayuda a establecer futuros proyectos y productos frente a otras compañías. Les ayuda a tener una mejor marca y otros los respetan más de esa manera. Además, sus productos pueden estar basados ​​en ese software (maduro), o incluso en una versión mejor, y esto significa que estos productos tendrán un mejor valor. En cierto sentido, puede estar seguro de que el producto se basa en un sistema que utilizan muchas otras personas, por lo que no tendrá ningún problema inesperado o ese problema se solucionará rápidamente.

En general, creo que la primera razón es la más importante. Las nuevas funciones se agregarán más rápido, los errores que raramente ocurren serán reparados y otras personas contribuirán voluntariamente con nuevas pruebas y mejoras de rendimiento.

Se trata de dinero, por supuesto. El código abierto de estas tecnologías aumenta las ganancias.

En general, estas herramientas son tecnologías habilitadoras para esas empresas. Por ejemplo, IBM no está en el negocio de vender Algoritmos de IA. IBM está en el negocio de vender soluciones a los problemas, y los algoritmos de inteligencia artificial pueden ser una de las tecnologías utilizadas para crear la solución. Tiene mucho sentido abrir tecnologías habilitadoras de código abierto que son parte de lo que realmente vende, ya que la comunidad puede ayudarlo a mejorarlo y corregir errores. Esto reduce los costos de mantenimiento y desarrollo, y agrega más funciones más rápido. La compañía termina con un mejor software a un costo menor para usar en los productos que vende. Mejor producto = mayores ventas. Menor costo de desarrollo = menores gastos. El margen de beneficio aumenta.

Este mismo pensamiento es el por qué las tecnologías como Hadoop y Kafka son de código abierto.

Hay muchas buenas respuestas, pero me gustaría agregar algo que ninguna respuesta ha mencionado hasta ahora. La mayoría probablemente ha escuchado que los grandes descubrimientos son solo la punta de un iceberg. Sin embargo, le diré por qué se aplican aquí también.

Los descubrimientos rara vez vienen solos y solo ser inteligente no es suficiente para que algo suceda. Hay necesidad de mucha, mucha gente. Además, es necesario que el desarrollo siga su camino. Las personas inteligentes pueden hacer mucho bien y con la ayuda de estos se puede producir mucho. Se pueden inventar e implementar muchas características nuevas y brillantes.

En general, esto no es mucho sin embargo. El tema es realmente candente en este momento y se desarrollan nuevas teorías y nuevos algoritmos en todas partes. Existe la posibilidad de mantener el código en secreto, pero al final solo resultará en que se retrasen. La investigación casi con un cien por ciento de certeza irá en otra dirección, lo que conducirá a que los algoritmos desarrollados con mucho cuidado tendrán problemas para adaptarse al resto. Además, no hay posibilidad de que una sola compañía (sin importar cuán fuertes sean en el área) tendrá la oportunidad de mantenerse al día con una compañía de código abierto en la cantidad de características que pueden implementar. Muchas grandes compañías han intentado esto y fracasaron miserablemente. La mejor manera de mejorar el marco es obtener muchos usuarios, lo que generará más ayuda con el desarrollo, lo que a su vez generará aún más usuarios.

Aparte de esto, las grandes empresas pueden ganar mucho dinero vendiendo cursos y otras cosas.

Crecimiento. Usabilidad. Ideas Cuando una de las principales empresas de código abierto, su tecnología permite a los investigadores independientes, desarrolladores y entusiastas explorar, descubrir errores, solucionarlos y contribuir a ellos. Forman juntos algo llamado ‘Comunidad’. Ahora que la comunidad cuando utiliza la tecnología en los negocios del día a día, académicos, la tecnología específica crece, llama la atención. Como resultado, ayuda al equipo detrás de la tecnología a mejorar sus versiones, optimizarla. Después de todo, cuando una comunidad suficientemente grande utiliza la tecnología y resuelve problemas de la vida real … El mundo se vuelve un poco mejor. ¿No es así?

Estoy de acuerdo con la respuesta de Will Thiel con respecto a Brand, Sales y Recruiting, aunque creo que construir una comunidad sigue siendo una parte relevante del juego, de la misma manera que Facebook disfruta contribuyendo a muchos proyectos de Apache en términos de ingeniería (es decir, , las personas construirán cosas increíbles en sus modelos que pueden usar).

Lo que me gustaría agregar es una perspectiva de por qué es bastante riesgoso hacerlo. La mayoría de los enfoques actuales de aprendizaje automático requieren (1) grandes volúmenes de datos y (2) recursos informáticos a gran escala. Esto es algo que solo las principales compañías tecnológicas pueden permitirse, por lo que lanzar su software y parte de su IP no va a empujar a ningún (pequeño) competidor a ninguna parte. El hecho de que la mayoría de las principales empresas de tecnología tengan un conjunto de datos bastante diferente (es decir, los datos de Facebook producidos por una plataforma de redes sociales son “exactamente” complementarios a lo que Google tiene) aún les deja una ventaja competitiva con respecto a las otras empresas de tecnología.

Hola,

Las tecnologías de ML e IA de código abierto tienen varios beneficios importantes,

Empresas como Google, Tesla, todas necesitan más y más datos. Ahora, dejar que el mundo sepa sobre la capacidad de la IA es parte de atraer a los usuarios para que proporcionen más y más datos de una forma u otra.

Para vender productos basados ​​en AI / ML, el mercado necesita tener conocimiento y disponibilidad y, a medida que crece la conciencia sobre esta tecnología, el mercado crece junto con ella.

El código abierto atrae ideas, innovación, nuevos métodos de implementación y mejores enfoques, lo que a su vez será un gran beneficio para las empresas.

El abastecimiento abierto también es un método para proporcionar detalles del trabajo, educar y atraer a una comunidad más grande de personas para trabajar en la herramienta / tecnología. Esto ayuda a mantener la herramienta / tecnología en particular entre todas las disponibles para su uso.

Espero que esto ayude a tener una idea clara de lo que es para las empresas en la fuente abierta de cualquier tecnología.

Porque están construyendo plataformas, no productos. El valor de una plataforma aumenta exponencialmente con el número de usuarios: el tipo de números que obtiene un producto patentado es tan bajo que es mejor que no moleste.

Sin embargo, el mayor atractivo es “participar en hacer que esto suceda”. De repente, los números pasan por el techo. La marca obtiene el crédito por hacer que esto suceda, a pesar de que a menudo todo lo que han hecho es darle su nombre.

Pero es un juego de grandes corporaciones. Como dar una fiesta cuando nadie aparece.

Porque el valor no está en el código sino en los conjuntos de datos. El código es inútil sin miles de millones de ejemplos para entrenar el modelo, y no recuerdo que google o facebook compartan los conjuntos de datos ni los modelos entrenados para el reconocimiento de voz o el procesamiento de imágenes.

Muchas buenas respuestas ya.

Me gustaría agregar solo un punto más, o aclarar algunos puntos.

Compartir códigos no dañará en esta etapa de la IA porque la IA de hoy todavía es inmadura. Necesitamos más personas para saltar en el juego para hacer que la locomotora se mueva más rápido. Simplemente no tenemos suficientes expertos en IA y el mercado es demasiado grande para llenarlo. No hay que preocuparse por la competencia antes de que podamos convencer a los clientes y a los legisladores de que la inteligencia artificial es realmente mucho mejor que los trabajadores humanos que la automatización no solo es inevitable sino beneficiosa para toda la sociedad.

En el área donde hay una fuerte competencia, como el sistema de conducción autónoma, el núcleo de la IA no es de código abierto (todavía).

Porque quieren que las personas trabajen para ellos sin tener que pagar nada. También ayuda a su marca.

A cambio, obtenemos herramientas mantenidas profesionalmente. Ganar-ganar