Zum Hauptinhalt springen
ToolPotion

Shumai

Shumai ist eine schnelle, differenzierbare Tensor-Bibliothek für JavaScript und TypeScript, die mit Bun und Flashlight entwickelt wurde. Sie ermöglicht es Softwareentwicklern und Forschern, Datensätze zu erstellen, kleine Modelle zu trainieren und fortgeschrittene Trainingslogik effizient im JavaScript-Ökosystem zu implementieren. Sie nutzt native Typed Arrays und einen JIT-Compiler für hohe Leistung.

URL besuchen

Beschreibung

Shumai ist eine differenzierbare Tensor-Bibliothek für JavaScript und TypeScript, die die Geschwindigkeit von Bun und die Leistungsfähigkeit von Flashlight nutzt. Sie zielt darauf ab, Datenmanipulation, Modelltraining und fortgeschrittene Inferenzlogik für Entwickler im JavaScript-Ökosystem zugänglicher und effizienter zu gestalten. Durch die Verwendung nativer Typed Arrays und des Just-In-Time (JIT)-Compilers von Bun bietet Shumai eine performante Lösung für Aufgaben, die von der Erstellung von Datensätzen bis zum Training kleiner Machine-Learning-Modelle reichen.

Die Bibliothek bietet grundlegende Tensoroperationen, automatische Differenzierung zur Gradientenberechnung und nahtlose Konvertierung von und zu nativen JavaScript-Arrays. Dies ermöglicht es Entwicklern, Daten direkt in JavaScript zu verarbeiten, sie für GPU-kompatible Arrays vorzubereiten und dann Modelle zu trainieren, ohne die Umgebung verlassen zu müssen. Die Architektur von Shumai ist darauf ausgelegt, den Overhead zu minimieren, sodass JavaScript beim Training und bei der Inferenz, insbesondere bei kleineren Modellen, im Hintergrund bleiben kann.

Zu den Kernfunktionen gehören Standard-Array-Utilities, Tensorerstellung, mathematische Operationen und Gradientenverfolgung. Benutzer können die Gradientenberechnung für Tensoren aktivieren, Operationen durchführen und dann auf die berechneten Gradienten zugreifen. Die Bibliothek bietet auch Funktionen zur Optimierung der Speichernutzung, die es Benutzern ermöglichen, Parameter der Garbage Collection anzupassen, um die Leistung basierend auf den Hardwarefähigkeiten zu optimieren. Darüber hinaus enthält Shumai ein System zur Erfassung von Statistiken, das die Leistung von Operationen auf der Konsole oder über HTTP protokollieren kann, mit Optionen für skopiertes Profiling und die Sammlung von Stack-Traces.

Shumai ist besonders vorteilhaft für Softwareentwickler und Forscher, die bereits im JavaScript-Ökosystem arbeiten und Machine-Learning-Fähigkeiten integrieren möchten, ohne eine steile Lernkurve in Kauf nehmen zu müssen, die mit anderen Sprachen oder Frameworks verbunden ist. Seine Leistungsbenchmarks zeigen signifikante Vorteile gegenüber Bibliotheken wie TensorFlow.js bei verschiedenen Operationen, insbesondere auf Apple M1 Pro und Nvidia GPUs. Das Projekt ist experimentell und Beiträge zur Verbesserung seiner Funktionalität und Stabilität sind willkommen.

Shumai's Kernfunktionen

  • Schnelle, differenzierbare Tensor-Bibliothek für JavaScript und TypeScript

  • Entwickelt mit Bun und Flashlight für hohe Leistung

  • Unterstützt automatische Differenzierung zur Gradientenberechnung

  • Nahtlose Konvertierung zwischen Tensoren und nativen JavaScript-Arrays

  • Optimiert für das Training kleiner Modelle und fortgeschrittene Inferenzlogik

  • Nutzt native Typed Arrays und JIT-Kompilierung

  • Speichernutzungsoptimierung zur Leistungssteigerung

  • Integrierte Statistiksammlung für Operations-Profiling

  • Skopierte Statistiksammlung für isoliertes Profiling

  • Experimentelle Software mit aktiver Entwicklung

  • Unterstützt GPU-Berechnungen über ArrayFire-Backends (CUDA unter Linux, CPU unter macOS)

  • Erweiterbare Statistikprotokollierung mit Konsolen- und HTTP-Optionen

Erste Schritte mit Shumai

  1. Bun und ArrayFire installieren: Befolgen Sie die plattformspezifischen Anweisungen für macOS und Linux.

  2. Shumai installieren: Führen Sie `bun install @shumai/shumai` aus.

  3. Shumai importieren: Verwenden Sie `import * as sm from '@shumai/shumai'` in Ihrem TypeScript/JavaScript-Code.

  4. Tensoren erstellen: Verwenden Sie Funktionen wie `sm.randn()` oder `sm.tensor()`, um Tensoren zu erstellen.

  5. Operationen durchführen: Wenden Sie mathematische Operationen wie `matmul()`, `mul()` und `sum()` an.

  6. Gradienten aktivieren: Setzen Sie `tensor.requires_grad = true` für Tensoren, die eine Gradientenverfolgung benötigen.

  7. Gradienten berechnen: Rufen Sie `.backward()` auf dem Verlusttensor auf, um die Gradienten zu füllen.

  8. Speicher optimieren: Passen Sie die Speicheroptionen mit `util.memoryOptions()` für die Leistung an.

Shumai's Anwendungsfälle

  • Datensatzerstellung
  • Modelltraining
  • Inferenzlogik
  • Datenvorverarbeitung
  • Forschungsprototypen
  • Anwendungsentwicklung

FAQ von Shumai

Shumai Bewertungen

Wird geladen...

Beliebte KI-Tools wie Shumai

KI-Frameworks

TensorFlow ist eine End-to-End Open-Source-Maschinenlernplattform, die für alle entwickelt wurde. Sie bietet ein flexibles Ökosystem von Tools, Bibliotheken und…

EmpfohlenMachine-Learning-Plattformen

Keras ist eine Open-Source-Bibliothek für Deep Learning, die für Menschen entwickelt wurde. Sie vereinfacht den Prozess des Aufbaus von neuronalen Netzwerken und ermöglicht…

EmpfohlenMachine-Learning-Plattformen

KI-GitHub-Repos

nanoGPT ist ein minimalistisches, hochperformantes GitHub-Repository zum Trainieren und Fine-Tuning von mittelgroßen GPT-Modellen. Es bietet eine einfache, lesbare Codebasis für…

EmpfohlenMachine-Learning-Plattformen

🤗 Transformers ist ein Modell-Definitionsrahmen, der für modernste maschinelle Lernmodelle in den Bereichen Text, Vision, Audio und multimodale Anwendungen entwickelt wurde und…

EmpfohlenMachine-Learning-Plattformen

Ray ist eine KI-Computing-Engine, die entwickelt wurde, um Arbeitslasten im Bereich maschinelles Lernen zu beschleunigen. Sie verfügt über eine zentrale verteilte Laufzeitumgebung…

EmpfohlenMachine-Learning-Plattformen

LocalAI ist eine Open-Source-KI-Engine, die es Benutzern ermöglicht, verschiedene Modelle, einschließlich LLMs, Vision, Sprache, Bild und Video, auf jeder Hardware ohne GPU…

EmpfohlenMachine-Learning-Plattformen