OxideLLM_TK_SSM_V1

🦀 Transformer Killer - Un modelo experimental basado en State Space Models (SSM)

Descripción

Este modelo utiliza una arquitectura SSM (State Space Model) inspirada en Mamba, que reemplaza el mecanismo de atención de los Transformers tradicionales con un escaneo secuencial selectivo de complejidad O(n) lineal.

Características

  • Arquitectura: SSM Selectivo (Mamba-like)
  • Parámetros: ~770K
  • Tokenizer: Nivel de carácter (228 tokens)
  • Contexto: Teóricamente ilimitado (complejidad lineal)
  • Entrenamiento: Iter 1200+

Ventajas del SSM sobre Transformers

Aspecto Transformer SSM
Complejidad O(n²) O(n)
Memoria Crece cuadráticamente Crece linealmente
Contexto largo Costoso Eficiente

Uso

import torch
from model import TransformerKiller
from tokenizer import CharacterTokenizer

# Cargar checkpoint
cp = torch.load("ssm_checkpoint.pth", map_location="cpu")

# Reconstruir tokenizer
tokenizer = CharacterTokenizer()
tokenizer.chars = cp['tokenizer_chars']
tokenizer.vocab_size = len(tokenizer.chars)
tokenizer.stoi = {ch: i for i, ch in enumerate(tokenizer.chars)}
tokenizer.itos = {i: ch for i, ch in enumerate(tokenizer.chars)}

# Cargar modelo
model = TransformerKiller(
    vocab_size=tokenizer.vocab_size,
    dim=128,
    n_layers=4,
    state_dim=16
)
model.load_state_dict(cp['model_state_dict'])
model.eval()

# Generar texto
def generate(prompt, max_tokens=100):
    idx = torch.tensor([tokenizer.encode(prompt)], dtype=torch.long)
    with torch.no_grad():
        for _ in range(max_tokens):
            logits = model(idx)[:, -1, :]
            probs = torch.softmax(logits / 0.8, dim=-1)
            idx = torch.cat((idx, torch.multinomial(probs, 1)), dim=1)
    return tokenizer.decode(idx[0].tolist())

print(generate("Hola"))

Archivos

  • ssm_checkpoint.pth - Checkpoint del modelo (pesos + tokenizer)
  • model.py - Arquitectura SSM
  • tokenizer.py - Tokenizer a nivel de carácter
  • chat.py - Script de chat interactivo

Limitaciones

⚠️ Este es un modelo experimental y educativo con solo ~770K parámetros. No está diseñado para uso en producción. Las respuestas pueden ser incoherentes.

Licencia

MIT License

Autor

Entrenado con 🔥 usando PyTorch + CUDA

Downloads last month
8
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support