Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

phishing_spam_jev_like_classifier

by Ayush akumar0205/phishing_spam_jev_like_classifier

phishing_spam_jev_like_classifier is an open-weight model for text classification from Ayush, released under Apache License 2.0. It has 67M parameters and a 512-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.

A fine-tuned DistilBERT sequence classifier for binary email triage: legitimate and spam. It is a prototype trained and evaluated on a historical SpamAssassin corpus.

Parameters67M
Context512
Weights267.8 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve phishing_spam_jev_like_classifier (67M 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.1 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.0 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 18, 2026.

phishing_spam_jev_like_classifier on every accelerator the SAVRN Index prices, at every precision

Model Card

By Ayush, published under apache-2.0, revision 360a8a06546b.

A fine-tuned DistilBERT sequence classifier for binary email triage: legitimate and spam. It is a prototype trained and evaluated on a historical SpamAssassin corpus. It is not a phishing or malware detector and should not be treated as a complete email security system. Use as an experimental text-only aid to sort historical or otherwise appropriately reviewed email into ham/spam queues. Route uncertain, empty, or unsupported inputs to human review. Do not use the output as the sole basis for blocking senders, taking account actions, or making other consequential decisions. This model does not authenticate senders, inspect attachments, resolve or visit links, verify SPF/DKIM/DMARC, or…

Read Ayush's full model card

JEV-like email spam classifier (prototype)

A fine-tuned DistilBERT sequence classifier for binary email triage: legitimate and spam. It is a prototype trained and evaluated on a historical SpamAssassin corpus. It is not a phishing or malware detector and should not be treated as a complete email security system.

Intended use

Use as an experimental text-only aid to sort historical or otherwise appropriately reviewed email into ham/spam queues. Route uncertain, empty, or unsupported inputs to human review. Do not use the output as the sole basis for blocking senders, taking account actions, or making other consequential decisions.

Out of scope

This model does not authenticate senders, inspect attachments, resolve or visit links, verify SPF/DKIM/DMARC, or detect all phishing and malware. It can miss new campaigns, adversarial examples, non-English messages, and content unlike its training data. Confidence scores are model estimates, not calibrated probabilities or proof of safety.

Model

  • Architecture: DistilBERT sequence classification (distilbert/distilbert-base-uncased)
  • Task: binary sequence classification
  • Labels: 0 = legitimate, 1 = spam
  • Input: normalized subject/header/body text and URL strings; maximum sequence length 512 tokens
  • Output: label scores and a routing action; low confidence or empty input may be sent to review
  • Fine-tuning dataset: Apache SpamAssassin public corpus (easy_ham, hard_ham, spam, spam_2), mapped to ham/spam
  • Training data size after exact duplicate removal: 4,675 messages (2,781 legitimate; 1,894 spam)
  • Base model revision: 12040accade4e8a0f71eabdb258fecc2e7e948be

Evaluation

Held-out group-stratified test split from the same historical corpus (n=890). These results describe this split only; they do not establish current real-world effectiveness or performance on independent sources.

Label Precision Recall F1 Support
legitimate 0.989 0.989 0.989 528
spam 0.983 0.983 0.983 362
macro average 0.986 0.986 0.986 890

Accuracy: 0.987. Spam PR-AUC: 0.998. The test split had 6 spam false negatives. The confidence threshold in the training artifacts is a prototype policy choice, not a guarantee of calibration.

Quick start

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

repo = "akumar0205/phishing_spam_jev_like_classifier"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForSequenceClassification.from_pretrained(repo).eval()
text = "Subject: Example subject\nBody: Example email text"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
    scores = model(**inputs).logits.softmax(dim=-1)[0]
print({"legitimate": scores[0].item(), "spam": scores[1].item()})

For the notebook's {label, scores, action} policy interface, see inference.py.

Data and attribution

The model was fine-tuned using the SpamAssassin public corpus. The corpus documentation states that copyright for message text remains with the original senders. See ATTRIBUTION.md and the linked corpus documentation for source details. No raw email messages are included in this repository.

License

This repository declares Apache-2.0 for the model artifact. See the repository license metadata and base model attribution. Dataset terms and original message copyrights are described separately in ATTRIBUTION.md.

Limitations and risks

This is a research prototype. The corpus is old and may not represent modern mail, languages, or threat patterns. Data-source artifacts can make held-out results optimistic. Do not deploy as an autonomous security control; evaluate on independently sourced, appropriately authorized, current data and use human review.

Configuration

Architecture
DistilBertForSequenceClassification
Context length (tokens)
512
Vocabulary size
30,522
Stored precision
float32
Model type
distilbert

Identity and Version

Repository
akumar0205/phishing_spam_jev_like_classifier
Publisher
Ayush
Task
Text classification
Modality
Text
Library
transformers
Parameters
67M parameters
Languages
Not stated by the source
Revision
360a8a06546b230a6e879ce98f4e9fc02e460db7
First published
2026-10-16
Last updated
2026-10-16

Files and Weights

21 files, 268.9 MB in total. The weights are 2 files totalling 267.8 MB in bin, safetensors.

Weights2 files · 267.8 MB
Configuration9 files · 23.9 KB
Tokenizer3 files · 944.1 KB
Documentation2 files · 4.8 KB
Other4 files · 118.5 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights267.8 MB 10dc85f324dd
training_args.binWeights5.8 KB 81cec6276b3b
config.jsonConfiguration742 B —
inference.pyConfiguration2.0 KB —
label_map.jsonConfiguration403 B —
latency.jsonConfiguration1.2 KB —
metrics.jsonConfiguration5.8 KB —
provenance.jsonConfiguration12.6 KB —
special_tokens_map.jsonConfiguration125 B —
testbed_eval.jsonConfiguration420 B —
testbed_info.jsonConfiguration619 B —
ATTRIBUTION.mdDocumentation798 B —
README.mdDocumentation4.0 KB —
latency.pngOther41.4 KB —
requirements-colab.lockOther264 B —
test_predictions.csvOther15.2 KB —
testbed_confidence.pngOther61.6 KB —
.gitattributesRepository1.5 KB —
tokenizer.jsonTokenizer711.4 KB —
tokenizer_config.jsonTokenizer1.2 KB —
vocab.txtTokenizer231.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
267.8 MB
Download from Ayush

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

Memory Requirements

PrecisionWeights in memory
As published267.8 MB
16-bit0.1 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 phishing_spam_jev_like_classifier

How much GPU memory does phishing_spam_jev_like_classifier need?

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

What is the cheapest GPU to run phishing_spam_jev_like_classifier 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 phishing_spam_jev_like_classifier commercially?

Yes. phishing_spam_jev_like_classifier 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 phishing_spam_jev_like_classifier's context length?

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

Similar Models

This model is a fine-tune checkpoint of DistilBERT-base-uncased, fine-tuned on SST-2. This model reaches an accuracy of 91.3 on the dev set (for comparison, Bert bert-base-uncased version reaches an accuracy of 92.7). This model can be used for topic classification. You can use the raw model for either masked language modeling or next sentence prediction, but it's mostly intended to be fine-tuned on a downstream task. See the model hub to look for fine-tuned versions on a task that interests you. The model should not be used to intentionally create hostile or alienating environments for people. In addition, the model was not trained to be factual or true representations of people or events…

Open weights apache-2.0 67M parameters 512 tokens transformers

Model · Text classification

food_not_food_text_classifier

Harsh Deep Pandey

This model is a fine-tuned version of distilbert/distilbert-base-uncased on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 0.0001 - trainbatchsize: 32 - evalbatchsize: 32 - lrschedulertype: linear - numepochs: 10 - Transformers 5.17.0 - Pytorch 2.11.0+cu130 - Datasets 5.0.1 - Tokenizers 0.23.2

Open weights apache-2.0 67M parameters 512 tokens transformers

This model is a fine-tuned version of distilbert-base-uncased on the None dataset. The following hyperparameters were used during training: - learningrate: 3e-05 - trainbatchsize: 8 - evalbatchsize: 8 - lrschedulertype: linear - numepochs: 10 - Transformers 5.16.1 - Pytorch 2.11.0+cu128 - Datasets 5.0.1 - Tokenizers 0.23.1

Open weights apache-2.0 67M parameters 512 tokens transformers

Model · Text classification

imdb-distilbert-sentiment-v2

Noura Helaly

This is the model card of a transformers model that has been pushed on the Hub. Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. Use the code below to get started with the model. Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

Open weights 67M parameters 512 tokens transformers

This model is a fine-tuned version of distilbert/distilbert-base-uncased on an unknown dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 0.0001 - trainbatchsize: 32 - evalbatchsize: 32 - lrschedulertype: linear - numepochs: 10 - Transformers 5.16.1 - Pytorch 2.11.0+cu128 - Datasets 4.8.5 - Tokenizers 0.23.1

Open weights apache-2.0 67M parameters 512 tokens transformers

Model · Text classification

ami-addressee-distilbert

Josh Estrada

This model is a fine-tuned version of distilbert-base-uncased on the None dataset. It achieves the following results on the evaluation set: The following hyperparameters were used during training: - learningrate: 2e-05 - trainbatchsize: 32 - evalbatchsize: 64 - lrschedulertype: linear - lrschedulerwarmupratio: 0.1 - numepochs: 3 - Transformers 4.57.6 - Pytorch 2.14.0+cu130 - Datasets 5.0.1 - Tokenizers 0.22.2

Open weights apache-2.0 67M parameters 512 tokens transformers