À l’aube de 2024, il est temps de revenir sur les projets open-source les plus innovants de 2023. Ces projets sont des agents de changement transformateurs dans l’espace technologique, permettant aux développeurs, aux scientifiques des données et aux entreprises d’atteindre de nouveaux sommets de productivité et d’efficacité.

1. Apache Hudi – Améliorer les lacs de données et l’analyse

Apache Hudi change la donne pour les organisations qui traitent des volumes massifs de données, en particulier dans des secteurs comme la publicité, où l’analyse en temps réel est cruciale. Apache Hudi se distingue par sa compatibilité avec Apache Spark et Flink, deux des frameworks de traitement de données les plus populaires. Cette intégration permet des analyses en temps réel et à faible latence sur les lacs de données, ce qui ouvre de nouvelles possibilités pour la prise de décision basée sur les données.

De plus, Apache Hudi s’intègre de manière transparente avec des outils tels que Presto et Amazon Athena, ce qui en fait un choix solide pour les organisations qui dépendent du traitement de données en temps réel. Sa plateforme mutable et évolutive garantit que les lacs de données restent flexibles et adaptables, répondant ainsi aux besoins dynamiques des entreprises modernes.

2. Apache Iceberg – Optimisation du stockage et de l’accès aux données

Si les lacs de données ont révolutionné le stockage des données, ils s’accompagnent de leur propre lot de défis, notamment en ce qui concerne l’accès aux données et leur gestion. Apache Iceberg répond à ces limitations en fournissant un format de table très performant qui fonctionne de manière transparente avec Hive, Apache Spark et Flink.

Ce qui rend Iceberg vraiment remarquable, c’est sa prise en charge de systèmes tels que ClickHouse et Dremio, ce qui renforce encore sa polyvalence dans les lacs de données ouverts modernes. Grâce à ses capacités d’évolution des schémas, de compactage des données et de rétablissement des versions, Apache Iceberg est en passe de devenir la pierre angulaire d’une gestion efficace et évolutive des données.

3. Apache Superset – Leader dans la visualisation de données

À l’ère de la prise de décision fondée sur les données, une visualisation efficace des données est primordiale. Apache Superset apparaît comme une puissance dans ce domaine. Il offre un large éventail d’options de visualisation, des simples diagrammes circulaires aux diagrammes géospatiaux complexes, répondant ainsi aux divers besoins des analystes de données et des professionnels de la veille stratégique.

Superset se distingue par son approche conviviale. Grâce à un générateur de glisser-déposer et à un environnement de développement intégré (IDE) SQL, même les personnes ayant une connaissance minimale du codage peuvent exploiter la puissance de la visualisation des données. Apache Superset permet aux entreprises de déployer des outils d’analyse évolutifs en libre-service et de tirer des informations précieuses de leurs données.

4. Bun – Transformation de la conduite en JavaScript côté serveur

JavaScript reste la pierre angulaire du développement web, et l’introduction de Bun apporte une nouvelle perspective au JavaScript côté serveur. L’approche unique de Bun combine le runtime, le bundler et le package manager, offrant une alternative plus rapide et intégrée à Node.js et Deno.

Les développeurs peuvent constater des améliorations significatives des performances à partir de la ligne de commande, ce qui fait de Bun un choix convaincant pour le développement moderne de JavaScript. En intégrant tous les outils essentiels dans un seul paquet, Bun simplifie le flux de travail de développement, ce qui en fait une force perturbatrice dans le monde du JavaScript côté serveur.

5. Claude 2 – Modèle linguistique avancé avec formation éthique

Le monde du traitement du langage naturel et de l’IA a connu des avancées significatives, et Claude 2, développé par Anthropic, est un témoignage du développement éthique de l’IA. Claude 2 n’est pas seulement un modèle linguistique, c’est un modèle linguistique responsable et attentif.

Claude 2 est conçu pour répondre à des demandes importantes et générer des résultats détaillés dans plusieurs langues. Ce qui la distingue, c’est son engagement en faveur d’une utilisation éthique. La formation de Claude 2 exclut les données des utilisateurs et la consultation d’Internet, ce qui lui permet de produire un contenu utile, honnête et inoffensif. Cet engagement en faveur d’une IA éthique fait de Claude 2 un choix privilégié pour diverses applications commerciales, où la confiance et la responsabilité sont primordiales.

6. CockroachDB – Base de données SQL évolutive et cohérente

La gestion des bases de données est au cœur de nombreuses applications, et CockroachDB s’est taillé une place de choix dans ce domaine. Ce qui le distingue, c’est sa capacité à assurer une forte cohérence dans les transactions ACID tout en offrant une évolutivité horizontale.

La prise en charge par CockroachDB des déploiements multirégionaux et multiclouds s’adresse aux applications qui nécessitent des performances élevées et gèrent des charges de travail lourdes en termes de transactions. Son adoption par de grandes entreprises telles que Netflix et JPMorgan Chase souligne sa fiabilité et son évolutivité, ce qui en fait un choix de premier ordre pour les organisations ayant des besoins exigeants en matière de bases de données.

7. CPython – Améliorer les performances d’exécution de Python

Python reste l’un des langages de programmation les plus populaires, et CPython, l’implémentation par défaut de Python, a subi des transformations dans les versions récentes, en particulier dans Python 3.11 et 3.12.

Ces améliorations se sont concentrées sur l’amélioration des performances d’exécution pour tous les utilisateurs, promettant une exécution plus rapide du code Python. L’effort en cours pour supprimer le verrouillage global de l’interprète (GIL) est particulièrement important, car il permettra un véritable parallélisme multithread en Python, ouvrant ainsi de nouvelles possibilités aux développeurs Python.

8. DuckDB – Base de données OLAP compacte et puissante

Le traitement efficace des grands ensembles de données est un défi commun pour les analystes de données et les scientifiques. DuckDB est une base de données analytiques intégrée et en cours de traitement qui offre une alternative légère aux bases de données OLAP traditionnelles.

Ce qui distingue DuckDB, c’est l’absence de dépendances externes, ce qui facilite son intégration dans les flux de travail existants. Il offre des fonctionnalités SGBDR standard telles que les requêtes SQL et les transactions ACID, ainsi que de puissantes capacités d’analyse pour les grands ensembles de données. La possibilité d’interroger directement des formats de données volumineuses comme Parquet ajoute à sa polyvalence et en fait un complément précieux à la boîte à outils des professionnels des données.

9. HTMX et Hyperscript – Rationaliser le développement d’applications web

Le développement Web a évolué rapidement, et HTMX et Hyperscript sont à la pointe de cette évolution. Ces outils open-source étendent le langage HTML pour améliorer le développement d’applications web modernes.

HTMX réduit le nombre de scripts JavaScript pour connecter les frontaux web aux backends, ce qui simplifie le processus de développement. D’autre part, Hyperscript rationalise les tâches JavaScript, y compris les opérations asynchrones et les manipulations du DOM. Ensemble, ils offrent un nouveau paradigme dans le développement web, remettant en cause la domination des frameworks réactifs et fournissant aux développeurs des outils plus efficaces et plus intuitifs.

10. Istio – Améliorer la mise en réseau des microservices

L’essor de l’architecture microservices a introduit de nouvelles complexités dans la gestion du trafic réseau, de la sécurité et de l’observabilité. Istio, un puissant maillage de services conçu pour les microservices basés sur des conteneurs, simplifie ces défis.

Istio sépare les fonctions de communication des applications, fournissant des configurations cohérentes et sécurisées pour les microservices. Son architecture, composée d’un plan de contrôle et d’un plan de données, s’est imposée dans la communauté « cloud-native », ce qui en fait un outil essentiel pour les organisations qui adoptent les microservices.

11. Kata Containers – Fusionner la vitesse des conteneurs et la sécurité des machines virtuelles

Les conteneurs sont devenus la norme pour le déploiement d’applications en raison de leur agilité, mais ils manquent souvent des capacités d’isolation des machines virtuelles. Kata Containers comble cette lacune en combinant le meilleur des deux mondes.

Ces conteneurs prennent en charge Kubernetes et Docker et sont compatibles avec diverses architectures matérielles et plateformes cloud. Les récentes mises à jour, telles que les conteneurs confidentiels pour les appareils GPU et la gestion améliorée des appareils, font de Kata Containers un choix convaincant pour les organisations qui recherchent l’équilibre parfait entre la vitesse des conteneurs et la sécurité des VM.

12. LangChain – Faciliter les applications basées sur des modèles linguistiques

Les modèles linguistiques ont révolutionné les applications dans divers domaines, et LangChain est un cadre modulaire conçu pour simplifier le développement de ces applications. Il offre des composants permettant de connecter les modèles linguistiques aux sources de données et d’interagir avec les environnements.

La polyvalence de LangChain réside dans sa prise en charge de plusieurs langages de programmation et dans son large éventail d’intégrations. Cette flexibilité permet aux développeurs de créer des applications qui exploitent la puissance des modèles de langage, ouvrant ainsi de nouvelles possibilités en matière de compréhension et de génération de langage naturel.

13. Harnais d’évaluation des modèles de langue – Analyse comparative des modèles de langue

L’évaluation de grands modèles de langage est une tâche essentielle dans le domaine de la recherche en intelligence artificielle. Le Language Model Evaluation Harness, créé par EleutherAI, est un outil essentiel pour évaluer et comparer ces modèles.

Avec plus de 200 points de référence, cet outil a permis d’identifier les lacunes des points de référence existants, ce qui a conduit à des évaluations plus précises des performances des modèles linguistiques. Son utilisation dans le classement Open LLM de Hugging Face souligne son importance dans la communauté de la recherche en IA, où la quête de meilleurs modèles de langage est une quête permanente.

14. Llama 2 – Le modèle linguistique amélioré de Meta AI

Les modèles linguistiques continuent de progresser, et Llama 2 est un excellent exemple de ces progrès. Il s’agit d’un modèle linguistique auto-régressif entraîné sur un vaste ensemble de données, offrant une longueur de contexte doublée par rapport à son prédécesseur.

Ce qui rend Llama 2 vraiment remarquable, c’est son optimisation pour l’utilité et la sécurité. Avec des versions adaptées à des applications spécifiques telles que la génération de code, Llama 2 démontre ses capacités avancées, ce qui en fait un choix privilégié pour les développeurs à la recherche de modèles de langage de pointe.

15. Ollama – coureur de modèle polyvalent en langue locale

Ollama répond aux besoins des développeurs et des chercheurs qui exigent l’exécution de modèles linguistiques locaux. Il prend en charge différentes familles de modèles linguistiques et de balises, chacune offrant des niveaux de précision et de performance différents.

L’une des particularités d’Ollama est d’inclure des variantes de modèles non censurées, ce qui constitue une approche unique de la formation et de l’utilisation des modèles linguistiques. La prise en charge de Windows étant prévue à l’horizon, Ollama offre une solution polyvalente pour l’exécution locale de modèles linguistiques sur macOS et Linux.

16. Polars – Traitement performant des images de données

La manipulation des données est au cœur de la science des données, et Polars est une bibliothèque Python qui excelle dans ce domaine. Il offre des améliorations significatives en termes de vitesse et d’efficacité de la mémoire par rapport à Pandas, une bibliothèque de manipulation de données largement utilisée.

L’API de Polars est conçue pour être plus accessible aux développeurs familiarisés avec PySpark, ce qui en fait un choix privilégié pour le traitement de grands ensembles de données. Qu’il s’agisse de nettoyer, de transformer ou d’analyser des données, Polars permet aux data scientists de travailler efficacement.

17. PostgreSQL – Système de base de données robuste et évolutif

PostgreSQL a résisté à l’épreuve du temps, avec une histoire de développement qui s’étend sur 35 ans. Ce qui le rend remarquable, c’est sa capacité à évoluer avec le paysage changeant de la technologie. En 2023, PostgreSQL continue de prospérer et de s’adapter.

La dernière version de PostgreSQL améliore les performances des requêtes et les fonctions de sécurité, ce qui en fait un choix encore plus convaincant pour les entreprises de toutes tailles. Son adoption par les principaux fournisseurs de cloud et son intégration aux technologies d’IA soulignent sa pertinence et son adaptabilité dans un monde où les données sont reines.

18. QLoRA – Démocratiser l’apprentissage des grands modèles

La formation de modèles linguistiques massifs a traditionnellement nécessité des ressources matérielles considérables, ce qui en a limité l’accès à quelques organisations seulement. QLoRA change ce paradigme en permettant la mise au point de grands modèles linguistiques sur du matériel grand public.

Ce qui distingue QLoRA, c’est sa capacité à maintenir la précision tout en réduisant les besoins en matériel. Cette démocratisation de la formation de grands modèles élargit le champ d’action des chercheurs et des praticiens de l’IA, ouvrant ainsi la voie à l’innovation et à l’expérimentation dans le domaine du traitement du langage naturel.

19. RAPIDS – Accélérer la science des données avec les GPU

Les tâches liées à la science des données impliquent souvent de travailler avec de grands ensembles de données et des algorithmes complexes. RAPIDS, une collection de bibliothèques accélérées par le GPU, relève ce défi en accélérant de manière significative diverses tâches de science des données.

Chaque bibliothèque de RAPIDS est spécialisée dans un domaine spécifique, comme le traitement des images de données ou l’apprentissage automatique. Son intégration transparente avec des plateformes comme Apache Spark et ses fonctions d’évolutivité en font un outil puissant pour les scientifiques des données qui cherchent à exploiter tout le potentiel de l’accélération GPU.

Dernières réflexions

Les projets de logiciels libres décrits ici représentent un échantillon du paysage technologique en 2023. Ils s’attaquent à divers défis, de la gestion des données et de l’analyse à l’IA et au développement web. Chaque projet incarne l’esprit d’innovation et de collaboration qui caractérise la communauté des logiciels libres, en favorisant le progrès et en donnant aux individus et aux organisations les moyens d’aller plus loin.

Ces outils open-source continueront à jouer un rôle important en façonnant l’avenir du développement de logiciels et de la science des données. Que vous soyez développeur, data scientist ou simplement passionné, ces projets offrent une multitude d’opportunités à explorer, à contribuer et à exploiter dans le cadre de vos activités.

Tim Boesen

janvier 22, 2024

13 Min