Downloads · 30 days
0
Kodjaoglanian/omega-agnews
omega-agnews is a text classification model from Kodjaoglanian. Use it when you need a label for a piece of text. The card lists the license as apache-2.0.
Classificador de 4 classes (World / Sports / Business / Sci-Tech) treinado via fine-tuning no AG News oficial (120k amostras), competindo com o Laya (0.950) e o Jev 1.13 (0.910) no teste público de 7.600 amostras — co…
Downloads · 30 days
0
Access
Public
Updated Sep 21, 2026
Repo size
300 MB
Likes
0
Public
Click a slice to open those files.
.pt300 MB · 99%
From the Hugging Face model README
Classificador de 4 classes (World / Sports / Business / Sci-Tech) treinado via fine-tuning no AG News oficial (120k amostras), competindo com o Laya (0.950) e o Jev 1.13 (0.910) no teste público de 7.600 amostras — com menos da metade dos parâmetros do Laya (421M) e ~4x menos latência.
| Candidato | Acurácia |
|---|---|
| SOUP (média A+B dos EMA) | 94.99% |
| RUN A EMA | 95.04% |
| RUN B EMA | 94.89% |
| RUN A RAW | 94.95% |
| RUN B RAW | 94.97% |
Publicado: RUN A EMA — 95.04% (macro-F1 95.04%)
| Métrica | Valor |
|---|---|
| F1 World | 96.11% |
| F1 Sports | 98.92% |
| F1 Business | 92.13% |
| F1 Sci/Tech | 93.00% |
| Latência (bf16, single) | 7.97 ms |
| Latência (bf16, batch 32) | 0.25 ms/query |
| Tempo de treino | 393s, 2 corridas (GPU L40S) |
| Parâmetros | ~150M |
ModernBERT-base (backbone) + cabeça OMEGA: concat([mean-pool; CLS]) -> Linear(1536, 768) -> GELU -> Dropout(0.1) -> Linear(768, 4). Um único forward pass, não-autoregressivo. Pesos salvos em bf16.
O arquivo modeling_omega.py (neste repositório) contém a classe do modelo e
o helper load_omega. Baixe-o para o mesmo diretório e então:
import torch
from modeling_omega import load_omega
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("Kodjaoglanian/omega-agnews")
model = load_omega("Kodjaoglanian/omega-agnews").eval()
noticia = "Wall Street rallied as tech shares jumped on strong earnings."
enc = tok(noticia, return_tensors="pt")
with torch.no_grad():
probs = model(enc["input_ids"], enc["attention_mask"]).softmax(-1)[0]
nomes = ["World", "Sports", "Business", "Sci/Tech"]
print({n: round(float(p), 4) for n, p in zip(nomes, probs)})
Acurácia medida no split de teste oficial do AG News. A comparação com o Laya (0.950) e o Jev 1.13 (0.910) usa os números públicos reportados por eles no mesmo dataset.