Aller au contenu principal
ToolPotion

Shumai

Shumai est une bibliothèque de tenseurs différentiables et rapide pour JavaScript et TypeScript, construite avec Bun et Flashlight. Elle permet aux ingénieurs logiciels et aux chercheurs de créer des jeux de données, d'entraîner de petits modèles et d'implémenter une logique d'entraînement avancée efficacement au sein de l'écosystème JavaScript. Elle exploite les tableaux typés natifs et un compilateur JIT pour la performance.

Visiter l'URL

Description

Shumai est une bibliothèque de tenseurs différentiables conçue pour JavaScript et TypeScript, exploitant la vitesse de Bun et la puissance de Flashlight. Elle vise à rendre la manipulation des données, l'entraînement des modèles et la logique d'inférence avancée plus accessibles et efficaces pour les développeurs au sein de l'écosystème JavaScript. En utilisant les tableaux typés natifs et le compilateur Just-In-Time (JIT) de Bun, Shumai offre une solution performante pour des tâches allant de la création de jeux de données à l'entraînement de petits modèles d'apprentissage automatique.

La bibliothèque fournit des opérations de tenseurs de base, la différentiation automatique pour le calcul des gradients, et une conversion transparente vers et depuis les tableaux natifs JavaScript. Cela permet aux développeurs de travailler avec les données directement en JavaScript, de les préparer pour des tableaux compatibles GPU, puis d'entraîner des modèles sans quitter l'environnement. L'architecture de Shumai est conçue pour minimiser la surcharge, permettant à JavaScript de ne pas interférer pendant l'entraînement et l'inférence, en particulier pour les modèles plus petits.

Les capacités clés incluent des utilitaires de tableaux standard, la création de tenseurs, des opérations mathématiques et le suivi des gradients. Les utilisateurs peuvent activer le calcul des gradients pour les tenseurs, effectuer des opérations, puis accéder aux gradients calculés. La bibliothèque offre également des fonctionnalités pour l'optimisation de la gestion de la mémoire, permettant aux utilisateurs d'ajuster les paramètres de garbage collection pour optimiser les performances en fonction des capacités matérielles. De plus, Shumai inclut un système de collecte de statistiques qui peut enregistrer les performances des opérations dans la console ou via HTTP, avec des options pour le profilage par portée et la collecte de traces de pile.

Shumai est particulièrement bénéfique pour les ingénieurs logiciels et les chercheurs qui travaillent déjà dans l'écosystème JavaScript et souhaitent intégrer des capacités d'apprentissage automatique sans la courbe d'apprentissage abrupte associée à d'autres langages ou frameworks. Ses benchmarks de performance montrent des avantages significatifs par rapport à des bibliothèques comme TensorFlow.js dans diverses opérations, en particulier sur les GPU Apple M1 Pro et Nvidia. Le projet est expérimental et les contributions sont les bienvenues pour améliorer sa fonctionnalité et sa stabilité.

Fonctionnalités principales de Shumai

  • Bibliothèque de tenseurs différentiables et rapide pour JavaScript et TypeScript

  • Construite avec Bun et Flashlight pour de hautes performances

  • Prend en charge la différentiation automatique pour le calcul des gradients

  • Conversion transparente entre les tenseurs et les tableaux natifs JavaScript

  • Optimisée pour l'entraînement de petits modèles et la logique d'inférence avancée

  • Exploite les tableaux typés natifs et la compilation JIT

  • Optimisation de l'utilisation de la mémoire pour l'amélioration des performances

  • Collecte de statistiques intégrée pour le profilage des opérations

  • Collecte de statistiques par portée pour un profilage isolé

  • Logiciel expérimental avec développement actif

  • Prend en charge le calcul GPU via les backends ArrayFire (CUDA sous Linux, CPU sous macOS)

  • Journalisation extensible des statistiques avec options Console et HTTP

Premiers pas avec Shumai

  1. Installer Bun et ArrayFire : Suivez les instructions spécifiques à la plateforme pour macOS et Linux.

  2. Installer Shumai : Exécutez `bun install @shumai/shumai`.

  3. Importer Shumai : Utilisez `import * as sm from '@shumai/shumai'` dans votre code TypeScript/JavaScript.

  4. Créer des Tenseurs : Utilisez des fonctions comme `sm.randn()` ou `sm.tensor()` pour créer des tenseurs.

  5. Effectuer des Opérations : Appliquez des opérations mathématiques telles que `matmul()`, `mul()` et `sum()`.

  6. Activer les Gradients : Définissez `tensor.requires_grad = true` pour les tenseurs qui nécessitent le suivi des gradients.

  7. Calculer les Gradients : Appelez `.backward()` sur le tenseur de perte pour remplir les gradients.

  8. Optimiser la Mémoire : Ajustez les options de mémoire à l'aide de `util.memoryOptions()` pour les performances.

Cas d'utilisation de Shumai

  • Création de jeux de données
  • Entraînement de modèles
  • Logique d'inférence
  • Prétraitement des données
  • Prototypage de recherche
  • Développement d'applications

FAQ de Shumai

Avis sur Shumai

Chargement...

Outils IA populaires comme Shumai

Frameworks IA

TensorFlow est une plateforme de machine learning open source de bout en bout conçue pour tout le monde. Elle offre un écosystème flexible d'outils, de bibliothèques et de…

En vedettePlateformes de machine learning

Keras est une bibliothèque de deep learning open-source conçue pour les humains. Elle simplifie le processus de construction de réseaux de neurones et permet aux développeurs de…

En vedettePlateformes de machine learning

Dépôts GitHub d'IA

nanoGPT est un dépôt GitHub minimaliste et performant pour l'entraînement et le fine-tuning de modèles GPT de taille moyenne. Il offre une base de code simple et lisible pour les…

En vedettePlateformes de machine learning

🤗 Transformers est un cadre de définition de modèle conçu pour des modèles d'apprentissage automatique à la pointe de la technologie dans les domaines du texte, de la vision, de…

En vedettePlateformes de machine learning

PyTorch est une bibliothèque d'apprentissage automatique open-source qui fournit des outils pour construire des réseaux de neurones dynamiques en Python, tirant parti d'une forte…

En vedettePlateformes de machine learning

Dépôts GitHub d'IA

Ray est un moteur de calcul IA conçu pour accélérer les charges de travail d'apprentissage automatique. Il dispose d'un noyau d'exécution distribué et d'un ensemble de…

En vedettePlateformes de machine learning

LocalAI est un moteur IA open source qui permet aux utilisateurs d'exécuter divers modèles, y compris des LLM, des modèles de vision, de voix, d'image et de vidéo, sur n'importe…

En vedettePlateformes de machine learning