La semaine dernière, Anthropic (qui a reçu un investissement de 4 milliards de dollars de la part d’Amazon) a annoncé que Claude 3.5 Sonnet prend désormais en charge l’analyse des données.
La fonction annoncée par Anthropic est similaire à l’analyse avancée des données de ChatGPT. La différence est que l’outil d’analyse de Claude est accessible à tous, y compris aux utilisateurs gratuits.
L’analyse avancée des données de ChatGPT n’est disponible que pour les utilisateurs des comptes Plus et Enterprise qui paient 20 $ ou plus par mois.
Claude écrit son code en JavaScript, ChatGPT en Python
ChatGPT Plus et Claude effectuent tous deux leur analyse de données en écrivant et en exécutant des extraits de code qui analysent et traitent les données.
Une différence clé est que Claude écrit son code en JavaScript alors que ChatGPT écrit son code en Python.
Ces choix sont intéressants.
Python pour le machine learning, JavaScript pour la visualisation
Python dispose d’un riche écosystème de bibliothèques d’analyse numérique telles que Pandas, NumPy et SciPy.
JavaScript dispose également d’un riche écosystème, mais ses offres en matière de données et d’intelligence artificielle ne sont pas aussi étendues que celles de Python.
Python est très fort dans le domaine de l’apprentissage automatique et de l’IA, avec des frameworks tels que TensorFlow, PyTorch et Keras. Python fournit également un excellent support pour les données volumineuses, bien que, comme vous le verrez, rien dans l’outil d’analyse actuel de Claude ne peut être considéré comme des données moyennes.
JavaScript, en revanche, est parfaitement adapté à la visualisation de données dans des pages web. La solution Anthropic utilise React, mais il existe également d’excellentes bibliothèques de visualisation comme D3.js et chart.js pour la présentation des informations.
J’ai trouvé étrange qu’avec de tels outils de visualisation, les diagrammes circulaires que j’ai générés en utilisant Claude avaient tendance à couper les étiquettes des données pour certaines catégories.
Lorsque vous demandez à Claude de traiter des données, il vous donne son résultat mais vous permet également de voir le code sous-jacent qu’il génère pour effectuer cette analyse de données. En voici un exemple.
Capture d’écran par David Gewirtz/ZDNET
Les limites d’utilisation de Claude
J’ai décidé d’utiliser Claude pour tester ses capacités d’analyse. Je me suis limité à la version gratuite. Selon la FAQ de Claude, la version Pro à 20$/mois multiplie par cinq les limites d’utilisation.
Capture d’écran par David Gewirtz/ZDNET
C’est probablement nécessaire pour une utilisation sérieuse, car après environ 20 minutes de test, j’ai été interrompu.
Capture d’écran par David Gewirtz/ZDNET
J’ai essayé d’ouvrir un nouveau chat, sans succès. Après une heure d’attente, j’ai pu poser d’autres questions.
Écrire du code pour nettoyer les données
Pour tester les capacités d’analyse de données de Claude, je suis allée sur le site data.gov. J’ai téléchargé un ensemble de données de l’administration américaine de la sécurité sociale sur l’utilisation des noms de bébés, dérivé des demandes de cartes de sécurité sociale.
Ces données se présentaient sous la forme d’un fichier ZIP. J’ai extrait 145 fichiers texte CSV (comma separated value) contenant des données sur les prénoms de 1880 à 2023, à raison d’un fichier par année.
J’ai d’abord essayé de sélectionner tous les fichiers et de les importer en tant que groupe dans Claude. Mais Claude ne peut importer que cinq fichiers à la fois.
Capture d’écran par David Gewirtz/ZDNET
Un prompt pour nettoyer les données
J’ai donc décidé d’écrire un script qui créerait un seul fichier contenant toutes les données. Le problème était que chaque fichier individuel ne contenait pas l’année dans l’un des champs. Mon script devait donc ajouter l’année du nom du fichier à chaque enregistrement du fichier, et ce pour tous les fichiers.
Plutôt que de coder moi-même, j’ai demandé à Claude de le faire pour moi. Voici le prompt :
« Je dois combiner rapidement 145 fichiers texte sur un Macintosh. Chaque nom de fichier est composé des lettres yob suivies de quatre chiffres, indiquant l’année suivie de .txt. Les fichiers eux-mêmes sont des valeurs séparées par des virgules. Pour chaque fichier, je dois ajouter l’année contenue dans le nom du fichier, suivie d’une virgule, à chaque ligne du fichier correspondant. Je dois ensuite combiner les 145 fichiers en un seul fichier principal. Comment puis-je faire cela rapidement ? »
J’ai créé un script shell qui semble faire l’affaire.
Capture d’écran par David Gewirtz/ZDNET
J’ai enregistré le script et je l’ai exécuté.
Capture d’écran par David Gewirtz/ZDNET
Attention à la taille limite de téléchargement de Claude !
Il a fonctionné et a fait exactement ce que j’avais demandé. Le résultat de l’exécution de ce script shell était un fichier de 37MB. Malheureusement, je me suis vite rendu compte que ces 37 Mo dépassaient la limite de téléchargement de 30 Mo imposée par Claude. J’avais besoin d’un ensemble de données beaucoup plus petit.
Plutôt que d’utiliser les données nominatives de chaque année, j’ai pensé qu’en utilisant les données nominatives d’un seul fichier par décennie, je réduirais la taille de mon ensemble de données à 10 % de la taille initiale. J’ai donc modifié mon prompt et l’ai renvoyé à Claude.
« Je dois combiner rapidement 145 fichiers texte sur un Macintosh. Chaque nom de fichier se compose des lettres yob suivies de quatre chiffres, indiquant l’année, puis de .txt. Les fichiers eux-mêmes sont des valeurs séparées par des virgules. Pour chaque fichier dont le nom se termine par 0.txt, ajoutez l’année contenue dans le nom du fichier, suivie d’une virgule, à chaque ligne du fichier correspondant. Il faut ensuite combiner tous les fichiers se terminant par 0.txt en un seul fichier principal. Ecrivez un script shell pour le faire ».
Cela a fonctionné. Et j’ai obtenu un fichier de 3,9 Mo.
Dans l’ensemble, je suis assez satisfait du travail de codage de Claude 3.5 Sonnet. Malheureusement, c’est la dernière partie du processus de test qui s’est déroulée sans problème.
Il y a plus de limites dans Claude que dans ChatGPT
Voyons maintenant l’analyse des données dans Claude. Malheureusement, Claude semble être très limité en termes de quantité de données qu’il peut ingérer. Claude indique que sa version Pro permet « au moins 5 fois plus d’utilisation que notre service gratuit » et que « si vos conversations sont relativement courtes, vous pouvez vous attendre à envoyer au moins 45 messages toutes les 5 heures ».
Ce n’est pas beaucoup. Et bien que Claude indique que vous pouvez télécharger cinq fichiers et 30 Mo, j’ai constaté que mon fichier combiné de 3,9 Mo était considéré comme dépassant de 9124 % sa limite de longueur. Ce fichier contient 219 181 enregistrements.
Capture d’écran par David Gewirtz/ZDNET
D’accord. J’ai donc essayé un fichier pour une seule année. Le fichier yob2020.txt ne fait que 561 Ko et ne contient que 31 550 enregistrements. Ce fichier dépasse apparemment de 1239 % les limites de longueur imposées par Claude.
Capture d’écran par David Gewirtz/ZDNET
Claude limite son analyse des données à environ 2 000 lignes d’environ 25 caractères
En faisant quelques calculs, et en supposant que vous n’avez pas atteint les limites d’utilisation des messages, il semble que Claude limite son analyse des données à environ 2 000 lignes d’environ 25 caractères chacune.
Comparons cela à ChatGPT Plus.
Certes, j’utilise la version gratuite de Claude, mais si Claude Pro offre une capacité 5X, nous pouvons généraliser (car la société ne fournit pas de limites strictes) que Claude Pro atteindrait un maximum d’environ 10 000 lignes de 25 caractères.
En revanche, j’ai introduit 69 215 enregistrements avec une moyenne de 50 caractères par ligne dans ChatGPT Plus et cela a très bien fonctionné. J’ai introduit dans ChatGPT Plus un ensemble de données de 22 797 enregistrements composé de commentaires provenant d’utilisateurs ayant désinstallé mes applications. Et il a fonctionné sans problème. J’ai aussi introduit dans ChatGPT Plus deux fichiers composés de plus de 170 000 lignes de code G d’imprimante 3D. Et cela a très bien fonctionné.
J’ai trouvé que l’analyse des données de ChatGPT Plus était vraiment utile et qu’elle améliorait la productivité..
Le test de l’analyse des données de Claude
J’ai téléchargé une trentaine de dataset depuis data.gov avant d’en trouver un suffisamment petit pour que Claude puisse l’examiner. Il s’agit d’un November 2020 dataset of adoptable pets provenant du Montgomery County Animal Services and Adoption Center à Derwood, Maryland.
Ce jeu de données comporte 85 enregistrements d’environ 190 caractères chacun. Voyons ce qu’il peut nous apprendre.
À la question « Que pouvez-vous me dire à propos de ces données ? », Claude a identifié le type d’animal de compagnie le plus courant (le plus petit, le plus grand ou le plus petit). Claude a identifié le type d’animal de compagnie le plus courant (les chiens), les types de prise en charge les plus courants (abandon par le propriétaire puis errance – c’est tellement triste), les tendances notables et les caractéristiques uniques (Molly est un nom courant).
Capture d’écran par David Gewirtz/ZDNET
J’ai demandé un diagramme circulaire représentant la répartition des animaux. Il m’a donné celui-ci, qui montre les principaux types d’animaux mais laisse « Other » à près de 50 % du graphique à barres.
Capture d’écran par David Gewirtz/ZDNET
Un problème de visualisation des données avec Claude
Je voulais savoir ce que représentait cette catégorie « Autre ». Il y a quelque chose d’un peu poignant dans l’idée que 30 et quelques pour cent de la catégorie « Autres » sont constitués de poissons tropicaux.
Capture d’écran par David Gewirtz/ZDNET
Jetez un coup d’œil à ce graphique et à celui qui se trouve juste au-dessus. Remarquez que les étiquettes sont coupées dans les deux graphiques alors qu’il y a suffisamment d’espace pour qu’elles apparaissent. Je sais qu’il y a environ 30 % de poissons tropicaux, mais je ne connais pas le pourcentage exact car tout ce qui est indiqué est un « 3 ».
JavaScript dispose d’excellentes bibliothèques de graphiques. Je pense qu’Anthropic aurait été en mesure de modifier la sortie pour représenter pleinement les données du graphique, en particulier en mode paysage.
En conclusion, et bien c’est pas fou
J’espérais vraiment que les fonctions d’analyse de données de Claude seraient à la hauteur de celles de ChatGPT Plus. Même si la version gratuite de Claude ne pouvait faire qu’un cinquième de ce que ChatGPT Plus pouvait faire, j’aurais pu souscrire à un abonnement.
J’aime beaucoup l’idée d’envoyer mes données dans plusieurs outils d’analyse et de comparer les résultats. Rien que cela aurait justifié que je souscrive à une facture d’IA supplémentaire de 240 $ par an.
Mais comme il ressort clairement de mes extrapolations ci-dessus que la version Claude Pro ne pourrait même pas traiter les plus petits des ensembles de données que j’ai précédemment introduits avec succès dans ChatGPT Plus, l’investissement ne semble certainement pas en valoir la peine.
J’ai contacté Anthropic pour un commentaire, mais je n’ai pas encore eu de réponse. Si l’entreprise répond, je mettrai à jour cet article avec ses commentaires.
En attendant, qu’en pensez-vous ? Avez-vous utilisé l’analyse avancée des données dans ChatGPT Plus ? Êtes-vous un utilisateur de Claude ou de ChatGPT ? Quand utiliseriez-vous ou envisageriez-vous d’utiliser Claude au lieu de ChatGPT ? Faites-le nous savoir dans les commentaires ci-dessous.