Downloads · 30 days
8
15% of all-time downloads
Sikander035/teycp-distilbert-ai-vs-human
teycp-distilbert-ai-vs-human is a text classification model from Sikander035. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as apache-2.0.
Este modelo es una version fine-tuned de distilbert-base-uncased para clasificacion binaria de texto: distinguir entre respuestas escritas por una persona (humano) y respuestas generadas por IA (IA).
Downloads · 30 days
8
15% of all-time downloads
All-time downloads
53
Public
Parameters
67M
268 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors268 MB · 100%
From the Hugging Face model README
Este modelo es una version fine-tuned de
distilbert-base-uncased
para clasificacion binaria de texto: distinguir entre respuestas escritas por
una persona (humano) y respuestas generadas por IA (IA).
El proyecto forma parte de una practica de NLP con Hugging Face. El objetivo
principal no es construir un detector definitivo, sino demostrar un pipeline
end-to-end completo: carga de datos, preparacion de un subset balanceado,
tokenizacion, fine-tuning con Trainer, evaluacion, subida al Hub y despliegue
en un Space de Gradio.
El modelo puede probarse en el siguiente Space de Gradio:
https://huggingface.co/spaces/Sikander035/teycp-distilbert-ai-vs-human-space
Se uso Hello-SimpleAI/HC3,
un dataset con preguntas y respuestas humanas junto con respuestas generadas
por ChatGPT.
Para mantener el entrenamiento razonable en una GPU local modesta, no se uso el dataset completo. Se preparo un subset balanceado de 10.000 ejemplos:
| Split | Ejemplos |
|---|---|
| Train | 8.000 |
| Validation | 1.000 |
| Test | 1.000 |
Etiquetas:
0: humano1: IAdistilbert-base-uncasedtransformersmax_length=256DataCollatorWithPadding| Parametro | Valor |
|---|---|
| Seed | 42 |
| Max length | 256 |
| Batch size | 32 |
| Epocas | 3 |
| Learning rate | 2e-5 |
| Optimizador | AdamW |
| Precision mixta | FP16 si CUDA esta disponible |
El entrenamiento se realizo en GPU local con CUDA.
Las metricas se calcularon sobre el split de test del subset balanceado:
| Metrica | Valor |
|---|---|
| Test loss | 0.0233 |
| Accuracy | 0.9940 |
| F1 | 0.9940 |
| Precision | 0.9881 |
| Recall | 1.0000 |
Estas metricas deben interpretarse dentro del contexto del subset usado. No son una garantia de rendimiento en textos fuera del dominio de HC3 ni en otros idiomas, formatos o escenarios reales.
from transformers import pipeline
model_id = "Sikander035/teycp-distilbert-ai-vs-human"
classifier = pipeline(
"text-classification",
model=model_id,
tokenizer=model_id,
top_k=None,
)
text = "Photosynthesis is the process by which plants convert sunlight into chemical energy."
predictions = classifier(
text,
truncation=True,
max_length=256,
)
print(predictions)
La salida contiene las probabilidades estimadas para las etiquetas humano e
IA. La clase positiva del entrenamiento es IA.
Este modelo esta pensado para:
No esta pensado para tomar decisiones academicas, laborales, legales o disciplinarias sobre la autoria de un texto.
IA podia
clasificarse como humano con confianza alta. Esto refuerza que el detector
es orientativo.El entrenamiento se hizo con la API actual de Trainer de transformers,
usando eval_strategy="epoch" y save_strategy="epoch".
Versiones principales: