SAVRN
Search Contact SAVRN

Open-weight model · Text generation

stark-mcp-scratch

by Victor cherif VcherifFIT/stark-mcp-scratch

stark-mcp-scratch is an open-weight model for text generation from Victor cherif, released under Apache License 2.0. It has 88M parameters and a 16,384-token context. At 16-bit it needs about 0.2 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 159 downloads a month.

Modelo de lenguaje entrenado desde cero (pesos aleatorios) por Victor Cherif. Arquitectura tipo Llama de ~110M de parametros, pensado como asistente en espanol orientado a ciencia, programacion, robotica y fisica, con soporte de tool-calling / MCP entrenado…

Parameters88M
Context16,384
Weights3.5 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads159

Runs On

What it takes to serve stark-mcp-scratch (88M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 0.2 GB 0.2 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.1 GB 0.1 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.0 GB 0.1 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 7, 2026.

stark-mcp-scratch on every accelerator the SAVRN Index prices, at every precision

Model Card

By Victor cherif, published under apache-2.0, revision db9bfd2db009.

Modelo de lenguaje entrenado desde cero (pesos aleatorios) por Victor Cherif. Arquitectura tipo Llama de ~110M de parametros, pensado como asistente en espanol orientado a ciencia, programacion, robotica y fisica, con soporte de tool-calling / MCP entrenado contra servidores MCP reales. RMSNorm + SwiGLU - Al ser un modelo pequeno (~110M), el lenguaje puede ser incoherente en respuestas largas, sobre todo pasados los primeros parrafos (tiende a repetir bloques o rellenar con generalidades). - La aritmetica mental sigue sin ser confiable: depende de que el modelo dispare la tool calculate en vez de calcular "de memoria" -- verificado que esto mejoro pero no es perfecto. - El razonamiento ( )…

Read Victor cherif's full model card

Stark v0.2-beta

AVISO: Version BETA. Respecto a v0.2: el tool-calling se reentreno con ejecucion REAL contra servidores MCP reales (filesystem, git, fetch, memory, time, postgres, sqlite) en vez de ejemplos guionados, el dataset es 100% espanol, y el razonamiento (<think>) pasa por un filtro de fidelidad que descarta cadenas que no conectan con la respuesta final. Sigue en desarrollo activo, no usar en produccion.

Modelo de lenguaje entrenado desde cero (pesos aleatorios) por Victor Cherif. Arquitectura tipo Llama de ~110M de parametros, pensado como asistente en espanol orientado a ciencia, programacion, robotica y fisica, con soporte de tool-calling / MCP entrenado contra servidores MCP reales.

Detalles del modelo

  • Parametros: ~110M (embeddings atados)
  • Arquitectura: decoder-only tipo Llama, GQA (12 query / 4 KV heads), RoPE (theta=100000), RMSNorm + SwiGLU
  • Contexto: 16384 tokens
  • Vocabulario: 16000 (tokenizer BPE a nivel de bytes propio)
  • Entrenamiento: pre-entrenamiento (~552M tokens, espanol + codigo) + SFT de instrucciones
  • Precision: fp16

Uso

from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("VcherifFIT/stark-mcp-scratch")
model = AutoModelForCausalLM.from_pretrained("VcherifFIT/stark-mcp-scratch")

msgs = [{"role": "system", "content": "Eres Stark, un asistente en espanol."},
        {"role": "user", "content": "Explica brevemente que es la fotosintesis."}]
inp = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt")
out = model.generate(inp, max_new_tokens=200)
print(tok.decode(out[0][inp.shape[1]:], skip_special_tokens=True))

Fallas conocidas (version BETA)

  • Al ser un modelo pequeno (~110M), el lenguaje puede ser incoherente en respuestas largas, sobre todo pasados los primeros parrafos (tiende a repetir bloques o rellenar con generalidades).
  • La aritmetica mental sigue sin ser confiable: depende de que el modelo dispare la tool calculate en vez de calcular "de memoria" -- verificado que esto mejoro pero no es perfecto.
  • El razonamiento (<think>) mejoro con un filtro de fidelidad en el dataset, pero sigue siendo experimental: no asumas que el <think> siempre refleja como se llego a la respuesta.
  • Tool-calling entrenado contra 7 servidores MCP reales (filesystem, git, fetch, memory, time, postgres, sqlite) con ejecucion real, pero la cobertura por herramienta es desigual (algunas tienen mas ejemplos que otras) -- puede fallar en herramientas poco representadas.
  • No apto para produccion: es una version de pruebas.

Que cambio respecto a v0.1-beta

  • Dataset 100% espanol: se eliminaron ~20.000 filas con contenido en ingles y se corrigieron los generadores para que no vuelva a aparecer.
  • Tool-calling real: reemplazado el dataset guionado (pocas frases fijas, resultados inventados) por generacion con ejecucion real contra servidores MCP reales via qwen2.5-coder como decisor, mucha mas diversidad de frases por herramienta.
  • Reasoning con filtro de fidelidad: se descartan cadenas <think> que no conectan con la respuesta final (verificadas por un segundo paso con el modelo generador).
  • Chat template con system prompt por defecto: si no se manda un mensaje de sistema, el template ahora antepone el PERSONA automaticamente (antes, sin system prompt, el modelo colapsaba por completo -- confirmado en pruebas).
  • Fix de checkpoint: el mejor checkpoint (menor eval_loss) ahora se respalda en una ruta estable del Hub que nunca se poda, y se carga explicitamente al publicar (antes, el podado de checkpoints viejos podia borrar el mejor antes de que load_best_model_at_end lo necesitara).

Configuration

Architecture
LlamaForCausalLM
Context length (tokens)
16,384
Layers
12
Hidden size
768
Feed-forward size
2,048
Attention heads
12
Key/value heads
4
Head dimension
64
Vocabulary size
16,000
RoPE base
100,000
Model type
llama

Identity and Version

Repository
VcherifFIT/stark-mcp-scratch
Publisher
Victor cherif
Task
Text generation
Modality
Text
Library
transformers
Parameters
88M parameters
Languages
es
Revision
db9bfd2db0090e471a0bf747d6762130227e8db1
First published
2026-10-02
Last updated
2026-10-05

Files and Weights

48 files, 3.5 GB in total. The weights are 19 files totalling 3.5 GB in bin, pt, pth, safetensors.

Weights19 files · 3.5 GB
Configuration15 files · 166.9 KB
Tokenizer8 files · 4.4 MB
Documentation1 file · 3.9 KB
Other4 files · 7.2 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
checkpoint-4800/model.safetensorsWeights351.2 MB 70cb170eab8e
checkpoint-4800/optimizer.ptWeights702.5 MB 8a2e38409d32
checkpoint-4800/rng_state.pthWeights14.6 KB 3a95215f64b0
checkpoint-4800/scaler.ptWeights1.4 KB b429070a5649
checkpoint-4800/scheduler.ptWeights1.5 KB b08987717a07
checkpoint-4800/training_args.binWeights5.8 KB 5aba7854ee00
checkpoint-4965/model.safetensorsWeights351.2 MB 43e30a79e968
checkpoint-4965/optimizer.ptWeights702.5 MB ec987716d774
checkpoint-4965/rng_state.pthWeights14.6 KB 3a95215f64b0
checkpoint-4965/scaler.ptWeights1.4 KB 55593620d98e
checkpoint-4965/scheduler.ptWeights1.5 KB 6f2ae127f20b
checkpoint-4965/training_args.binWeights5.8 KB 5aba7854ee00
checkpoint-6444/model.safetensorsWeights351.2 MB 83132d23b94a
checkpoint-6444/optimizer.ptWeights702.5 MB 82f2aeb2458a
checkpoint-6444/rng_state.pthWeights14.6 KB 63aab5945fa6
checkpoint-6444/scaler.ptWeights1.4 KB d348a9eb3a86
checkpoint-6444/scheduler.ptWeights1.5 KB 2e02fffb1fda
checkpoint-6444/training_args.binWeights5.8 KB a4c6c918284c
model.safetensorsWeights351.2 MB 70cb170eab8e
checkpoint-4800/config.jsonConfiguration688 B —
checkpoint-4800/generation_config.jsonConfiguration154 B —
checkpoint-4800/special_tokens_map.jsonConfiguration244 B —
checkpoint-4800/trainer_state.jsonConfiguration47.8 KB —
checkpoint-4965/config.jsonConfiguration688 B —
checkpoint-4965/generation_config.jsonConfiguration154 B —
checkpoint-4965/special_tokens_map.jsonConfiguration244 B —
checkpoint-4965/trainer_state.jsonConfiguration49.1 KB —
checkpoint-6444/config.jsonConfiguration688 B —
checkpoint-6444/generation_config.jsonConfiguration154 B —
checkpoint-6444/special_tokens_map.jsonConfiguration244 B —
checkpoint-6444/trainer_state.jsonConfiguration65.6 KB —
config.jsonConfiguration688 B —
generation_config.jsonConfiguration154 B —
special_tokens_map.jsonConfiguration244 B —
README.mdDocumentation3.9 KB —
chat_template.jinjaOther2.2 KB —
checkpoint-4800/chat_template.jinjaOther2.2 KB —
checkpoint-4965/chat_template.jinjaOther2.2 KB —
checkpoint-6444/chat_template.jinjaOther527 B —
.gitattributesRepository1.5 KB —
checkpoint-4800/tokenizer.jsonTokenizer1.1 MB —
checkpoint-4800/tokenizer_config.jsonTokenizer1.8 KB —
checkpoint-4965/tokenizer.jsonTokenizer1.1 MB —
checkpoint-4965/tokenizer_config.jsonTokenizer1.8 KB —
checkpoint-6444/tokenizer.jsonTokenizer1.1 MB —
checkpoint-6444/tokenizer_config.jsonTokenizer1.8 KB —
tokenizer.jsonTokenizer1.1 MB —
tokenizer_config.jsonTokenizer1.8 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
3.5 GB
Download from Victor cherif

Released by Victor cherif through its official repository on Hugging Face. Read the license.

Memory Requirements

PrecisionWeights in memory
As published3.5 GB
16-bit0.2 GB
8-bit0.1 GB
4-bit0.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About stark-mcp-scratch

How much GPU memory does stark-mcp-scratch need?

About 0.2 GB at 16-bit and 0.1 GB at 4-bit: the weights (88M parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run stark-mcp-scratch on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use stark-mcp-scratch commercially?

Yes. stark-mcp-scratch is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is stark-mcp-scratch's context length?

16,384 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Text generation

distilgpt2

DistilBERT community

DistilGPT2 (short for Distilled-GPT2) is an English-language model pre-trained with the supervision of the smallest version of Generative Pre-trained Transformer 2 (GPT-2). Like GPT-2, DistilGPT2 can be used to generate text. Users of this model card should also consider information about the design, training, and limitations of GPT-2. CONTENT WARNING: Readers should be aware this section contains content that is disturbing, offensive, and can propagate historical and current stereotypes. As the developers of GPT-2 (OpenAI) note in their model card, “language models like GPT-2 reflect the biases inherent to the systems they were trained on.” Significant research has explored bias and…

Open weights apache-2.0 88M parameters transformers

This model is a fine-tuned version of EleutherAI/pythia-160m on an unknown dataset. The following hyperparameters were used during training: - learningrate: 0.001 - trainbatchsize: 16 - evalbatchsize: 16 - gradientaccumulationsteps: 2 - totaltrainbatchsize: 32 - lrschedulertype: cosinewithminlr - lrschedulerwarmupsteps: 13 - trainingsteps: 250 - Transformers 5.4.0 - Pytorch 2.8.0+cu128 - Datasets 3.2.0 - Tokenizers 0.22.1

Open weights apache-2.0 85M parameters 2,048 tokens transformers

This model is a fine-tuned version of EleutherAI/pythia-160m on an unknown dataset. The following hyperparameters were used during training: - learningrate: 0.001 - trainbatchsize: 16 - evalbatchsize: 16 - gradientaccumulationsteps: 2 - totaltrainbatchsize: 32 - lrschedulertype: cosinewithminlr - lrschedulerwarmupsteps: 13 - trainingsteps: 250 - Transformers 5.4.0 - Pytorch 2.8.0+cu128 - Datasets 3.2.0 - Tokenizers 0.22.1

Open weights apache-2.0 85M parameters 2,048 tokens transformers

This model is a fine-tuned version of EleutherAI/pythia-160m on an unknown dataset. The following hyperparameters were used during training: - learningrate: 0.001 - trainbatchsize: 16 - evalbatchsize: 16 - gradientaccumulationsteps: 2 - totaltrainbatchsize: 32 - lrschedulertype: cosinewithminlr - lrschedulerwarmupsteps: 13 - trainingsteps: 250 - Transformers 5.4.0 - Pytorch 2.8.0+cu128 - Datasets 3.2.0 - Tokenizers 0.22.1

Open weights apache-2.0 85M parameters 2,048 tokens transformers

Model · Text generation

my_awesome_eli5_clm-model

Bornil Phukon

This model is a fine-tuned version of distilbert/distilgpt2 on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 2e-05 - trainbatchsize: 8 - evalbatchsize: 8 - lrschedulertype: linear - numepochs: 3.0 - Transformers 5.18.0 - Pytorch 2.11.0+cu130 - Datasets 4.8.5 - Tokenizers 0.23.2

Open weights apache-2.0 82M parameters transformers

Model · Text generation

rick-morty-distilgpt2

Zune toka

This model is a fine-tuned version of distilbert/distilgpt2 on the None dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 5e-05 - trainbatchsize: 4 - evalbatchsize: 4 - gradientaccumulationsteps: 4 - totaltrainbatchsize: 16 - lrschedulertype: linear - numepochs: 1 - mixedprecisiontraining: Native AMP - Transformers 5.17.0 - Pytorch 2.11.0+cu128 - Datasets 5.0.1 - Tokenizers 0.23.1

Open weights apache-2.0 82M parameters transformers