Downloads · 30 days
23
100% of all-time downloads
strifero/elroy-350m-base
elroy-350m-base is a machine learning model from strifero. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
elroy-350m-base is a 361M-parameter Llama-style decoder trained from scratch on about 20B tokens of educational Python and English by Strife Technologies, as a fully documented teaching project. Every line of the toke…
Downloads · 30 days
23
100% of all-time downloads
All-time downloads
23
Public
Parameters
361M
722 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors722 MB · 100%
From the Hugging Face model README
elroy-350m-base is a 361M-parameter Llama-style decoder trained from scratch on about 20B tokens of educational Python and English by Strife Technologies, as a fully documented teaching project. Every line of the tokenizer, model, training loop and fine-tuning code is in the repository, with a chapter explaining it:
https://github.com/strifero/elroy
This is the base variant: a text continuer. Prompt it with the start of a Python file (a signature and docstring, a comment, an import). It also completes gaps with <|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>.
No transformers needed. elroy_min.py in this repo holds the model, the tokenizer and a sampler in one file:
import torch
from elroy_min import load, generate
model, tok = load(".") # this folder
ids = tok.encode("def is_prime(n):\n \"\"\"Return True if n is prime.\"\"\"\n")
out = generate(model, ids, max_new_tokens=128, temperature=0.2, top_p=0.95, stop_ids={tok.eot})
print(tok.decode(out))
| Parameters | 361M (24 layers, width 1024, 16 heads, context 2048) |
| Tokens | about 20B: 45% Stack-Edu Python, 20% StarCoderData Python, 25% FineWeb-Edu, 10% Cosmopedia-v2 |
| Objective | next token, plus fill-in-the-middle on half of the code |
| Hardware | two NVIDIA RTX A4500 (20GB), about 6 days |
| Tokenizer | own byte-level BPE, 32,768 entries, code-aware pre-tokenization |
| Benchmark | pass@1 |
|---|---|
| HumanEval | 13.4% |
| HumanEval+ | 11.0% |
| MBPP (sanitized) | 20.2% |
Stack-Edu (HuggingFaceTB, Python subset; files with a permissive or no detected license, as in The Stack v2), StarCoderData (bigcode, permissive), FineWeb-Edu (ODC-By), Cosmopedia-v2 (ODC-By). Fine-tuning data: Magicoder OSS-Instruct (MIT), evol-codealpaca-v1 (Apache-2.0), and a handwritten set in the repository.
This is a small model. It writes short, mostly correct Python functions and explains beginner concepts. It makes confident mistakes, knows little outside Python, has no knowledge of recent libraries, and has not been trained to refuse anything. Run what it writes before you rely on it.