Salesforce/wikitext
Viewer • Updated • 3.71M • 1.31M • 725
Modelo de lenguaje preentrenado con la arquitectura HALO-S (Hierarchical Attention with Local Optimization – Sparse), una alternativa eficiente al Transformer estándar con complejidad O(N×K) en lugar de O(N²).
Entrenado durante 3 épocas sobre los primeros 20M caracteres de WikiText-103, con secuencias de 1024 tokens y batch efectivo de 32 (DataParallel en 2× T4).
| Métrica | HALO-S | Transformer |
|---|---|---|
| Parámetros | 20,723,712 | 19,149,824 |
| Val Loss | 1.2686 | 1.2769 |
| Val Perplexity | 3.56 | 3.59 |
| Train Loss (final) | 1.3014 | 1.3266 |
| Pico Memoria GPU (GB) | 4.95 | 0.80 |
| Generación (tokens/s) | 62.0 | 214.0 |
| Tiempo entrenamiento (s) | 3885.5 | 1872.9 |
Nota sobre velocidad: Con seq_len=1024 el overhead del gather disperso aún domina sobre la ganancia O(N×K). Las ventajas de HALO-S se amplifican con secuencias ≥ 4096 tokens donde la atención densa procesaría 16M scores frente a ~340K de HALO-S.
pip install pyhalos safetensors
import json
import torch
from safetensors.torch import load_file
from halo import HaloConfig, HaloSModel, CharacterTokenizer
# 1. Cargar config
with open("config.json") as f:
cfg = json.load(f)
config = HaloConfig(
vocab_size=cfg["vocab_size"],
hidden_size=cfg["hidden_size"],
num_layers=cfg["num_layers"],
num_heads=cfg["num_heads"],
num_kv_heads=cfg["num_kv_heads"],
num_globals=cfg["num_globals"],
local_window=cfg["local_window"],
max_seq_len=cfg["max_seq_len"],
)
# 2. Cargar pesos
model = HaloSModel(config)
state_dict = load_file("model.safetensors")
model.load_state_dict(state_dict)
model.eval()
# 3. Generar texto
tokenizer = CharacterTokenizer()
input_ids = torch.tensor([tokenizer.encode("Machine learning is")]).long()
output = model.generate(input_ids, max_new_tokens=200, temperature=0.8, top_k=50)
print(tokenizer.decode(output[0].tolist()))
num_globals=2 tokens con atención densa compartidanum_kv_heads=2 para compresión del KV cacheEste modelo requiere pyhalos — disponible en PyPI.
BUEORM — dalusx64@gmail.com