Instructions to use Sikander035/teycp-distilbert-ai-vs-human with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Sikander035/teycp-distilbert-ai-vs-human with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="Sikander035/teycp-distilbert-ai-vs-human")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("Sikander035/teycp-distilbert-ai-vs-human") model = AutoModelForSequenceClassification.from_pretrained("Sikander035/teycp-distilbert-ai-vs-human") - Notebooks
- Google Colab
- Kaggle
TEyCP DistilBERT AI vs Human
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.
Demo
El modelo puede probarse en el siguiente Space de Gradio:
https://huggingface.co/spaces/Sikander035/teycp-distilbert-ai-vs-human-space
Dataset
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:IA
Modelo
- Modelo base:
distilbert-base-uncased - Tarea: clasificacion binaria de texto
- Framework: PyTorch + Hugging Face
transformers - Tokenizacion: truncado a
max_length=256 - Padding: dinamico por batch mediante
DataCollatorWithPadding
Hiperparametros de entrenamiento
| 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.
Metricas finales
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.
Ejemplo de uso
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.
Usos previstos
Este modelo esta pensado para:
- Demostrar un flujo completo de fine-tuning y despliegue con Hugging Face.
- Probar inferencia de clasificacion binaria en textos breves o medianos en ingles.
- Servir como ejemplo educativo para comparar respuestas humanas y respuestas generadas por IA dentro del estilo de HC3.
No esta pensado para tomar decisiones academicas, laborales, legales o disciplinarias sobre la autoria de un texto.
Limitaciones
- El modelo aprende patrones del subset de HC3, no una propiedad universal de "texto generado por IA".
- El dataset esta centrado sobre todo en respuestas de tipo pregunta-respuesta y en ingles; el rendimiento puede caer en otros idiomas, dominios o formatos.
- Textos muy cortos, muy editados, parafraseados o fuera de dominio pueden producir falsos positivos o falsos negativos.
- Una prueba manual del proyecto mostro que un texto esperado como
IApodia clasificarse comohumanocon confianza alta. Esto refuerza que el detector es orientativo. - El modelo puede heredar sesgos del dataset y del modelo base.
- Las metricas proceden de un subset balanceado y no sustituyen una evaluacion externa robusta.
Procedimiento de entrenamiento
El entrenamiento se hizo con la API actual de Trainer de transformers,
usando eval_strategy="epoch" y save_strategy="epoch".
Versiones principales:
- Transformers 5.9.0
- PyTorch 2.11.0+cu128
- Datasets 4.8.5
- Tokenizers 0.22.2
- Downloads last month
- 27
Model tree for Sikander035/teycp-distilbert-ai-vs-human
Base model
distilbert/distilbert-base-uncasedDataset used to train Sikander035/teycp-distilbert-ai-vs-human
Space using Sikander035/teycp-distilbert-ai-vs-human 1
Evaluation results
- Accuracy on Hello-SimpleAI/HC3test set self-reported0.994
- F1 on Hello-SimpleAI/HC3test set self-reported0.994
- Precision on Hello-SimpleAI/HC3test set self-reported0.988
- Recall on Hello-SimpleAI/HC3test set self-reported1.000