InternLM2-1.8B-Recompensa
internlm
Clasificación de texto
InternLM2-1.8B-Recompensa es un modelo de recompensa entrenado sobre la base de InternLM2-Chat-1.8B-SFT. Este modelo ha sido entrenado utilizando más de 2.4 millones de muestras de preferencia, tanto anotadas por humanos como sintetizadas por IA, logrando un rendimiento excepcional mientras asegura un equilibrio entre útil e inofensivo.
Como usar
import torch
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained(
"internlm/internlm2-1_8b-reward",
device_map="cuda",
torch_dtype=torch.float16,
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm2-1_8b-reward", trust_remote_code=True)
chat_1 = [
{"role": "user", "content": "Hola, ¿Cómo te llamas?"},
{"role": "assistant", "content": "¡Me llamo InternLM2! Un asistente de IA útil. ¿En qué puedo ayudarte?"}
]
chat_2 = [
{"role": "user", "content": "Hola, ¿Cómo te llamas?"},
{"role": "assistant", "content": "No tengo idea."}
]
# Obtener puntuación de recompensa para una única conversación
score1 = model.get_score(tokenizer, chat_1)
score2 = model.get_score(tokenizer, chat_2)
print("score1: ", score1)
print("score2: ", score2)
# >>> score1: 0.767578125
# >>> score2: -2.22265625
# Inferencia por lotes, obtener múltiples puntuaciones a la vez
scores = model.get_scores(tokenizer, [chat_1, chat_2])
print("scores: ", scores)
# >>> scores: [0.767578125, -2.22265625]
# Comparar si chat_1 es mejor que chat_2
compare_res = model.compare(tokenizer, chat_1, chat_2)
print("compare_res: ", compare_res)
# >>> compare_res: True
# Clasificar múltiples conversaciones, devolverá el índice de clasificación de cada una
# La conversación con la puntuación más alta tendrá el índice de clasificación como 0
rank_res = model.rank(tokenizer, [chat_1, chat_2])
print("rank_res: ", rank_res) # Un índice más bajo significa una puntuación más alta
# >>> rank_res: [0, 1]
Funcionalidades
- Variedad de tamaños disponibles: Nuestros modelos de recompensa de código abierto están disponibles en tamaños de 1.8B, 7B y 20B, cada uno demostrando un rendimiento excepcional en diversas métricas. Nuestro objetivo es que estos modelos de diferentes tamaños faciliten la investigación sobre las leyes de escalado de los modelos de recompensa, proporcionando valiosos conocimientos a la comunidad.
- Cobertura completa de preferencias: Entrenado con 2.4 millones de pares de preferencia derivados de anotaciones humanas y síntesis de IA, cubriendo diversas áreas como diálogo, escritura, poesía, resumén, codificación y matemáticas. También mantiene un equilibrio entre útil e inofensivo.
- Soporte multilingüe: InternLM2-Recompensa fue entrenado con datos de preferencia de alta calidad en inglés y chino, ofreciendo un rendimiento robusto en ambos idiomas.
Casos de uso
- Evaluar diálogos basados en preferencias anotadas por humanos o sintetizadas por IA
- Comparar la calidad y utilidad de diferentes conversaciones
- Clasificar múltiples diálogos para determinar cuál es el más adecuado basado en las puntuaciones de recompensa
- Apoyar en la investigación sobre las leyes de escalado de los modelos de recompensa
- Facilitar el entrenamiento de modelos de lenguaje en múltiples dominios como la escritura, poesía, resumen, codificación y matemáticas