Vera

liujch1998
Clasificación de texto

Vera es un modelo de verificación de declaraciones de sentido común. Dado una declaración de sentido común como entrada, Vera predice la plausibilidad de esta declaración. Vera proporciona una puntuación real en el rango [0, 1]. Una puntuación de 1 significa que la declaración es correcta según el sentido común, y una puntuación de 0 significa que la declaración es incorrecta. Esta puntuación está calibrada, por lo que una puntuación entre 0 y 1 puede interpretarse como la confianza de Vera en que la declaración es correcta.

Como usar

Cómo empezar a usar el modelo:

import torch
import transformers

tokenizer = transformers.AutoTokenizer.from_pretrained('liujch1998/vera')
model = transformers.T5EncoderModel.from_pretrained('liujch1998/vera')
model.D = model.shared.embedding_dim
linear = torch.nn.Linear(model.D, 1, dtype=model.dtype)
linear.weight = torch.nn.Parameter(model.shared.weight[32099, :].unsqueeze(0))
linear.bias = torch.nn.Parameter(model.shared.weight[32098, 0].unsqueeze(0))
model.eval()
t = model.shared.weight[32097, 0].item() # temperatura para la calibración

statement = 'Por favor, ingrese una declaración de sentido común aquí.'
input_ids = tokenizer.batch_encode_plus([statement], return_tensors='pt', padding='longest', truncation='longest_first', max_length=128).input_ids
with torch.no_grad():
    output = model(input_ids)
    last_hidden_state = output.last_hidden_state
    hidden = last_hidden_state[0, -1, :]
    logit = linear(hidden).squeeze(-1)
    logit_calibrated = logit / t
    score_calibrated = logit_calibrated.sigmoid()
# score_calibrated es la puntuación final de plausibilidad de Vera

Puede también consultar la implementación completa en Hugging Face.

Funcionalidades

Predicción de la corrección de declaraciones de sentido común
Calibración de puntuaciones
Modelo basado en Transformers
Puntuaciones en el rango de 0 a 1

Casos de uso

Predecir la corrección de declaraciones de sentido común
Detectar errores de sentido común hechos por modelos generativos (e.g., ChatGPT)
Filtrar conocimiento de sentido común ruidoso generado por otros modelos de lenguaje