Saltar al contenido principal
ToolPotion

Shumai

Shumai es una biblioteca de tensores rápida y diferenciable para JavaScript y TypeScript, construida con Bun y Flashlight. Permite a ingenieros de software e investigadores crear conjuntos de datos, entrenar modelos pequeños e implementar lógica de entrenamiento avanzada de manera eficiente dentro del ecosistema JavaScript. Aprovecha los arrays tipados nativos y un compilador JIT para el rendimiento.

Visitar URL

Descripción

Shumai es una biblioteca de tensores diferenciable diseñada para JavaScript y TypeScript, que aprovecha la velocidad de Bun y la potencia de Flashlight. Su objetivo es hacer que la manipulación de datos, el entrenamiento de modelos y la lógica de inferencia avanzada sean más accesibles y eficientes para los desarrolladores dentro del ecosistema JavaScript. Al utilizar arrays tipados nativos y el compilador Just-In-Time (JIT) de Bun, Shumai ofrece una solución de alto rendimiento para tareas que van desde la creación de conjuntos de datos hasta el entrenamiento de pequeños modelos de aprendizaje automático.

La biblioteca proporciona operaciones de tensores principales, diferenciación automática para el cálculo de gradientes y conversión fluida desde y hacia arrays nativos de JavaScript. Esto permite a los desarrolladores trabajar con datos directamente en JavaScript, prepararlos para arrays compatibles con GPU y luego entrenar modelos sin salir del entorno. La arquitectura de Shumai está construida para minimizar la sobrecarga, permitiendo que JavaScript se aparte durante el entrenamiento y la inferencia, especialmente para modelos más pequeños.

Las capacidades clave incluyen utilidades de arrays estándar, creación de tensores, operaciones matemáticas y seguimiento de gradientes. Los usuarios pueden habilitar el cálculo de gradientes para tensores, realizar operaciones y luego acceder a los gradientes calculados. La biblioteca también ofrece funciones para ajustar la gestión de memoria, permitiendo a los usuarios ajustar los parámetros de recolección de basura para optimizar el rendimiento en función de las capacidades del hardware. Además, Shumai incluye un sistema de recopilación de estadísticas que puede registrar el rendimiento de las operaciones en la consola o a través de HTTP, con opciones para perfiles con ámbito y recopilación de trazas de pila.

Shumai es particularmente beneficioso para ingenieros de software e investigadores que ya trabajan dentro del ecosistema JavaScript y desean incorporar capacidades de aprendizaje automático sin una curva de aprendizaje pronunciada asociada con otros lenguajes o frameworks. Sus puntos de referencia de rendimiento muestran ventajas significativas sobre bibliotecas como TensorFlow.js en varias operaciones, especialmente en GPUs Nvidia y Apple M1 Pro. El proyecto es experimental y se agradecen las contribuciones para mejorar su funcionalidad y estabilidad.

Características principales de Shumai

  • Biblioteca de tensores rápida y diferenciable para JavaScript y TypeScript

  • Construida con Bun y Flashlight para alto rendimiento

  • Soporta diferenciación automática para el cálculo de gradientes

  • Conversión fluida entre tensores y arrays nativos de JavaScript

  • Optimizada para entrenar modelos pequeños y lógica de inferencia avanzada

  • Aprovecha arrays tipados nativos y compilación JIT

  • Ajuste de uso de memoria para optimización del rendimiento

  • Recopilación de estadísticas integrada para perfiles de operaciones

  • Recopilación de estadísticas con ámbito para perfiles aislados

  • Software experimental con desarrollo activo

  • Soporta computación GPU a través de backends ArrayFire (CUDA en Linux, CPU en macOS)

  • Registro de estadísticas extensible con opciones de consola y HTTP

Primeros pasos con Shumai

  1. Instalar Bun y ArrayFire: Siga las instrucciones específicas de la plataforma para macOS y Linux.

  2. Instalar Shumai: Ejecute `bun install @shumai/shumai`.

  3. Importar Shumai: Use `import * as sm from '@shumai/shumai'` en su código TypeScript/JavaScript.

  4. Crear Tensores: Utilice funciones como `sm.randn()` o `sm.tensor()` para crear tensores.

  5. Realizar Operaciones: Aplique operaciones matemáticas como `matmul()`, `mul()` y `sum()`.

  6. Habilitar Gradientes: Establezca `tensor.requires_grad = true` para los tensores que necesiten seguimiento de gradientes.

  7. Calcular Gradientes: Llame a `.backward()` en el tensor de pérdida para poblar los gradientes.

  8. Ajustar Memoria: Ajuste las opciones de memoria usando `util.memoryOptions()` para el rendimiento.

Casos de uso de Shumai

  • Creación de Conjuntos de Datos
  • Entrenamiento de Modelos
  • Lógica de Inferencia
  • Preprocesamiento de Datos
  • Prototipado de Investigación
  • Desarrollo de Aplicaciones

Preguntas frecuentes de Shumai

Reseñas de Shumai

Cargando...

Herramientas de IA populares como Shumai

Frameworks de IA

TensorFlow es una plataforma de aprendizaje automático de código abierto de extremo a extremo diseñada para todos. Proporciona un ecosistema flexible de herramientas, bibliotecas…

DestacadaPlataformas de aprendizaje automático

Repositorios de IA en GitHub

Keras es una biblioteca de aprendizaje profundo de código abierto diseñada para humanos. Simplifica el proceso de construcción de redes neuronales y permite a los desarrolladores…

DestacadaPlataformas de aprendizaje automático

Repositorios de IA en GitHub

nanoGPT es un repositorio minimalista y de alto rendimiento en GitHub para entrenar y ajustar modelos GPT de tamaño mediano. Ofrece un código simple y legible para que…

DestacadaPlataformas de aprendizaje automático

🤗 Transformers es un marco de definición de modelos diseñado para modelos de aprendizaje automático de vanguardia en los dominios de texto, visión, audio y multimodal,…

DestacadaPlataformas de aprendizaje automático

PyTorch es una biblioteca de aprendizaje automático de código abierto que proporciona herramientas para construir redes neuronales dinámicas en Python, aprovechando una fuerte…

DestacadaPlataformas de aprendizaje automático

Repositorios de IA en GitHub

Ray es un motor de cálculo AI diseñado para acelerar las cargas de trabajo de aprendizaje automático. Cuenta con un núcleo de tiempo de ejecución distribuido y un conjunto de…

DestacadaPlataformas de aprendizaje automático

Repositorios de IA en GitHub

LocalAI es un motor de IA de código abierto que permite a los usuarios ejecutar varios modelos, incluidos LLMs, visión, voz, imagen y video, en cualquier hardware sin necesidad de…

DestacadaPlataformas de aprendizaje automático