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 SSMtokenizer.py- Tokenizer a nivel de carácterchat.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