Bébé Yoda a écrit :
Tu peux détailler un peu sur les problèmes de l'open source en entreprise ?
|
Ils sont nombreux... Pour resituer un peu le contexte, j'occupe un poste Data Architect et mes problématiques principales au quotidien sont le déploiement et l'industrialisation d'algorithmes de data science au sens large.
Tout commence avec l'installation des outils. Sur le PC d'un collaborateur ça ne pose en général pas de problème (encore que). En revanche, lorsqu'il s'agit de faire installer un R ou un Python sur un système de production, bonjour les emmerdes. D'une part parce que R ou Python doivent nécessairement être complétés de packages qu'il faut pour certains ajouter un par un. Et puis ça paraît con mais, sur un système de production, y a pas d'accès Internet... En général, l'exploitant informatique aime bien avoir ses repositories internes, ce qui est tout à fait possible avec une distribution Linux mais beaucoup plus compliqué avec un outil tel que R, notamment du fait de la difficulté à identifier les dépendances.
Mais le plus gros problème, c'est les montées de version. Avec des outils propriétaires, développés par un éditeur, on a généralement un cycle de vie sans rupture brutale. Les changement se font en douceur, ce qui permet aux entreprises de suivre le rythme. Avec l'open source, c'est tout l'inverse, c'est un bordel innommable. Rien que Python par exemple... Même des upgrades mineures introduisent des changements de nature à rendre un programme non fonctionnel (3.4 vers 3.5 par exemple). Et je ne parle même pas des packages individuellement dont une bonne partie est en version 0.x, ce qui donne vachement confiance en passant. Mais mon exemple préféré, c'est Spark. Le passage de la 1.6 à la 2.0.1 introduit tellement de changements que, en pratique, plus rien ne fonctionne. Je vous laisse imaginer le bazar quand on veut faire une montée de version sur un SI de production avec des dizaines de projets qui ne fonctionnent plus en environnement de recette et qu'il faut corriger un par un... Le coût pour l'entreprise est faramineux.
Le dernier point, c'est le contrôle des utilisateurs. Quand une entreprise met à disposition un soft propriétaire, il y a en général un plan de déploiement bien défini pour que tout le monde travaille avec la même version. Avec l'open source, chacun installe ce qu'il veut, tout le monde bosse avec des versions différentes... Je veux bien croire que ça peut passer dans une start-up qui a un SI très agile, dans une grande entreprise c'est ingérable en revanche.
Rontgen a écrit :
Perso j'utilisais un peu MATLAB en thèse mais plus du tout depuis que je bosse en entreprise
J'utilise des librairies open source de ML au quotidien et je n'ai aucun problème
Bon je fais du C++ principalement mais quand j'ai besoin de plus haut niveau, je fais du Python
Franchement je ne vois de moins en moins l'intérêt de payer une licence MATLAB aussi chère, et c'est pareil pour tous ceux à que je connais, donc coup de "la communauté entière qui est à côté de la plaque", ça me paraît un peu exagéré
|
Soyons clairs, en termes de langage pur et dur, pour moi R, Python et MATLAB c'est kif-kif. Tous ont plus ou moins les mêmes fonctionnalités et les syntaxes sont similaires (je dirais que MATLAB est le plus facile à appréhender et Python le plus compliqué mais tout cela reste relatif).
Le coût de MATLAB, c'est une LU. MATLAB c'est 2 k€ par an et par utilisateur grosso modo, c'est un soft bon marché (par rapport à SAS notamment).
Tu peux en dire plus sur le choix de C++ ? Vu le temps de développement bien supérieur, je me dis qu'il faut avoir de sacrées bonnes raisons d'utiliser un langage tel que C++. Pour ma part, je ne le recommande que lorsque les langages interprétés sont confrontés à de gros soucis de gestion de la mémoire.
Darmstadtium a écrit :
Matlab n'est d'après moi pas adapté à la data science au sens où en data science, on passe beaucoup de temps à :
- Pull des données depuis des bases de données souvent diverses (Mongo DB, SQL etc.)
- Les nettoyer
- Manipuler des données non numériques, genre du texte
Et je trouve que tout ça est horriblement pénible avec Matlab qui n'est pas fait pour ça mais pour du calcul numérique.
En revanche, pour développer de nouveaux algorithmes de ML avec la masse d'algèbre linéaire, et juste du calcul numérique et de la visualisation, j'aime beaucoup Matlab (même s'il y a des faiblesses, genre les tenseurs sont mal gérés).
Ceci dit, la stack scientifique Python est également bien adaptée au développement d'algos numériques et beaucoup de lib open source sortent avec des bindings Pythons (genre tensorflow).
|
Ta vision de MATLAB est un peu datée. MATLAB peut se connecter à toutes les sources de données que tu cites et dispose maintenant de structures de données adaptées à la data science (les strings notamment, il était temps).