OxideLLM_TK_SSM_V1_ONNX
🦀 Transformer Killer - Versión ONNX para navegador
⚠️ Versión ONNX
Esta es la versión ONNX del modelo SSM, convertida para ejecutarse en navegadores web usando ONNX Runtime Web. La versión original en PyTorch está disponible en OxideLLM_TK_SSM_V1.
Nota: Actualmente no hay soporte nativo para PyTorch en navegadores, por lo que se requiere esta conversión a ONNX para uso web.
Descripción
Modelo experimental basado en State Space Models (SSM) inspirado en Mamba, que reemplaza el mecanismo de atención de los Transformers con un escaneo secuencial selectivo de complejidad O(n) lineal.
Especificaciones
| Aspecto | Valor |
|---|---|
| Arquitectura | SSM Selectivo (Mamba-like) |
| Parámetros | ~770K |
| Formato | ONNX |
| Tamaño | ~4 MB |
| Complejidad | O(n) lineal |
| Tokenizer | Nivel de carácter |
Uso en Navegador (JavaScript)
import * as ort from 'onnxruntime-web';
// Cargar modelo
const session = await ort.InferenceSession.create('ssm_model.onnx');
// Cargar tokenizer
const tokenizer = await fetch('tokenizer.json').then(r => r.json());
// Codificar texto
const text = "Hola ";
const inputIds = text.split('').map(c => tokenizer.char2idx[c] || 0);
// Inferencia
const tensor = new ort.Tensor('int64', BigInt64Array.from(inputIds.map(BigInt)), [1, inputIds.length]);
const outputs = await session.run({ input_ids: tensor });
const logits = outputs.logits.data;
// Decodificar siguiente token...
Archivos
ssm_model.onnx- Modelo ONNX (~4 MB)tokenizer.json- Vocabulario y configuración
Limitaciones
⚠️ Experimental:
- Modelo pequeño (~770K params) para propósitos educativos
- La conversión ONNX puede tener diferencias menores vs PyTorch
- Algunas operaciones del SSM pueden no estar optimizadas en ONNX
Links
Licencia
MIT License