El aprendizaje automático se considera de código abierto cuando los bloques de creación principales se comparten con licencias abiertas. Esto significa que el código fuente de las bibliotecas y marcos está disponible públicamente, para que los usuarios puedan estudiar cómo funcionan los modelos, adaptarlos a sus necesidades y compartir mejoras con otros usuarios.
En el caso del software de código cerrado, solo una persona u organización es propietaria y puede modificarlo. Normalmente, los usuarios deben firmar un contrato de propiedad por el que se comprometen a no hacer nada con el software que los propietarios no hayan permitido explícitamente.
Por el contrario, cualquiera puede ver, modificar y compartir el software de código abierto, de modo que los usuarios pueden modificar el código fuente e incorporarlo a sus propios proyectos.
Componentes del aprendizaje automático de código abierto
En un nivel práctico, el aprendizaje automático de código abierto suele implicar los siguientes componentes.
Código abierto
Los algoritmos, los scripts de entrenamiento y las herramientas auxiliares están disponibles para verlos y modificarlos. Esta transparencia le ayuda a comprender las opciones de diseño, comprobar el comportamiento y adaptar los modelos para nuevos casos de uso.
Licencias permisivas
Las licencias de código abierto definen cómo se puede usar, modificar y redistribuir software. Estas licencias permiten a los estudiantes, investigadores y organizaciones basarse en el trabajo existente sin necesidad de permisos especiales.
Contribución de la comunidad
El desarrollo se realiza de forma abierta, con colaboradores que revisan el código, corrigen problemas y agregan características. Este proceso compartido ayuda a que las herramientas mejoren más rápido y reflejen las necesidades del mundo real en todos los sectores.
Ecosistemas compartidos
El aprendizaje automático de código abierto rara vez es independiente. Las bibliotecas, los conjuntos de datos, los cuadernos y las herramientas de seguimiento de experimentos suelen funcionar conjuntamente, lo que facilita el paso del aprendizaje y la experimentación al uso de producción.
En cambio, las herramientas de aprendizaje automático propietarias mantienen el código fuente privado. Puede usar el software, pero no puede ver cómo funciona internamente o cambiarlo para que se ajuste a un requisito específico.
Los enfoques de código abierto eliminan esa barrera, por lo que muchos flujos de trabajo de aprendizaje automático modernos se basan en herramientas abiertas junto con plataformas en la nube para escalar de forma responsable.