Configura un modelo de juez básico (parte 2)

Termina de configurar tu modelo básico de juez para ejecutar tus evaluaciones subjetivas.

Alinea y prueba el juez

Tienes un juez inicial, pero aún no puedes confiar en él. Tu juez solo estará listo cuando coincida de forma constante con el juicio humano.

Crea un conjunto de datos de alineación

Para calibrar tu evaluador, necesitas un conjunto de datos de alineación. Se trata de una pequeña colección de entradas y salidas de alta calidad que las personas calificaron de forma manual. Este conjunto de datos actúa como tu verdad fundamental. Lo usas para verificar que la lógica del juez se alinee de manera coherente con tus expectativas.

Tu conjunto de datos de alineación debe contener entre 30 y 50 pares de entrada y salida. El conjunto es lo suficientemente grande como para abarcar algunos casos extremos, pero lo suficientemente pequeño como para que puedas etiquetarlo en un período corto.

En el ejemplo de ThemeBuilder, una entrada en el conjunto de datos de alineación se ve de la siguiente manera (entrada, salida, etiqueta humana):

{
  "id": "sample-014",
  "userInput": {
    "companyName": "Rawrr!",
    "audience": "kids 5-10",
    "tone": ["prehistoric", "loud", "fun"]
  },
  "appOutput": {
    "motto": "Experiencing the prehistoric era."
  },
  "humanEvaluation": {
    "mottoBrandFit": {
      "label": "FAIL",
      "rationale": "While on-theme, this motto is too formal for kids.
        It fails to capture the required 'loud' and 'fun' energy."
    }
  }
}

Para generar entradas y salidas, puedes extraer datos de los registros de producción (si están disponibles), crear los datos de forma manual, usar un LLM (datos sintéticos) o comenzar con algunas muestras seleccionadas manualmente y pedirle a un LLM que aumente tu conjunto de datos.

Una vez que tus entradas y salidas estén listas, usa tu rúbrica para etiquetar las salidas como PASS o FAIL con tu equipo. Esta se convierte en tu verdad fundamental.

Asegúrate de que tu conjunto de datos de alineación incluya ejemplos de PASS y de FAIL de diferentes niveles de dificultad, por ejemplo:

  • 10 ejemplos de casos de ruta ideal en los que tu juez etiqueta como PASS
  • 20 casos de ejemplo en los que tu juez etiqueta como FAIL:
    • Fallos evidentes, por ejemplo, un lema muy tóxico o completamente ajeno a la marca
    • Errores sutiles, por ejemplo, un lema que es gramaticalmente perfecto, pero un poco demasiado formal para una marca lúdica, o que solo se ajusta parcialmente al tono.

Tu juez de LLM es un filtro. Alinearlo en un conjunto de datos que contiene más casos de falla que de aprobación brinda más oportunidades para ajustar la rúbrica y detectar fallas, lo que, en última instancia, mejora la capacidad del juez para detectar fallas.

Una vez que tu conjunto de datos de alineación esté listo, se verá de la siguiente manera:

Casos de camino ideal (PASS)

// Easy, clean input + Good output
{
  "id": "sample-001",
  "userInput": {
    "companyName": "Kinetica",
    "description": "Carbon-fiber plated performance footwear engineered for
    elite marathon runners.",
    "audience": "competitive triathletes and professional runners",
    "tone": [
      "aggressive",
      "high-performance",
      "technical"
    ]
  },
  "appOutput": {
    "motto": "Unlock your kinetic potential.",
    "colorPalette": {
      "textColor": "#FFFFFF",
      "backgroundColor": "#000000",
      "primary": "#DC2626",
      "secondary": "#E2E8F0"
    }
  },
  "humanEvaluation": {
    "mottoBrandFit": {
      "label": "PASS",
      "rationale": "This motto powerfully aligns the brand's technical
      engineering with the ambitious goals of its elite athletic audience.
      Relevance: Uses 'kinetic' to expertly link the brand to physical
      energy. Audience appeal: 'Unlock your potential' resonates perfectly
      with competitive runners. Tone consistency: Nails the required
      aggressive, high-performance marks."
    },
    "mottoToxicity": {
      "label": "PASS",
      "rationale": "Perfectly clean and motivational. No offensive or
      exclusionary language."
    },
    "colorBrandFit": {
      "label": "PASS",
      "rationale": "The chosen color palette perfectly mirrors Kinetica's
      aggressive and technical brand identity by utilizing high-impact tones
      that resonate with elite athletes. Relevance: Psychological association:
      Blood red creates urgency and speed. Harmony: Stark contrast against
      black/white feels highly technical.
      Appropriateness: Extremely effective aesthetic for premium athletic gear."
    }
  }
}

Fallas evidentes (REPROBACIÓN)

// Off-brand color palette
{
  "id": "sample-014",
  "userInput": {
    "companyName": "Rawrr!",
    "description": "Dinosaur themed playground and party venue.",
    "audience": "kids 5-10",
    "tone": [
      "prehistoric",
      "loud",
      "fun"
    ]
  },
  "appOutput": {
    "motto": "Experiencing the prehistoric era.",
    "colorPalette": {
      "textColor": "#4A4A4A",
      "backgroundColor": "#F5F5DC",
      "primary": "#D2B48C",
      "secondary": "#C0C0C0"
    }
  },
  "humanEvaluation": {
    "mottoBrandFit": {
      "label": "FAIL",
      "rationale": "While the motto relates to the dinosaur theme, its overly
      academic and formal tone fails to capture the loud and fun energy
      essential for a children's playground brand. Relevance: Effectively fits
      the dinosaur theme. Audience appeal: A bit formal ('Experiencing' versus
      something punchy), acceptable for parents booking events but should be
      more exciting for kids, it's too formal and academic for a children's
      playground, lacks the 'loud' and 'fun' energy requested in the tone.
      Tone consistency: It touches on the 'prehistoric' element adequately."
    },
    "mottoToxicity": {
      "label": "PASS",
      "rationale": "A completely family-friendly, educational-sounding statement."
    },
    "colorBrandFit": {
      "label": "FAIL",
      "rationale": "This muted and sophisticated color scheme fails to capture
      the high-energy, prehistoric spirit required to attract and excite a young
      audience. Relevance: Psychological association: The 'sad beige', tan, and
      muted greys evoke a sterile, 'adult minimalist' home décor aesthetic.
      Harmony: The colors are muddy and lifeless. Appropriateness: For a 'loud'
      and 'fun' children's playground targeting 5-10 year olds, this palette is
      a spectacular failure. It desperately needs vibrant, exciting primary
      colors to attract kids."
    }
  }
},

Fallas sutiles (FAIL)

// Almost on-brand color palette
{
  "id": "sample-023",
  "userInput": {
    "companyName": "Apex Dental",
    "description": "High-end cosmetic dentistry specializing in porcelain
        veneers and laser whitening.",
    "audience": "Professionals seeking a perfect smile",
    "tone": [
      "clean",
      "professional",
      "bright"
    ]
  },
  "appOutput": {
    "motto": "Designing your brightest smile.",
    "colorPalette": {
      "textColor": "#1A202C",
      "backgroundColor": "#FFFFFF",
      "primary": "#FFC107",
      "secondary": "#E2E8F0"
    }
  },
  "humanEvaluation": {
    "mottoBrandFit": {
      "label": "PASS",
      "rationale": "The motto perfectly captures the premium essence of the
      brand by combining high-end dental aesthetics with a clear appeal to a
      professional clientele. Relevance: Relates perfectly to cosmetic
      dentistry and teeth whitening. Audience appeal: 'Brightest smile' is a
      highly effective, aspirational hook for professionals wanting to look
      their best. Tone consistency: Clean, upbeat, and exceedingly professional."
    },
    "mottoToxicity": {
      "label": "PASS",
      "rationale": "A very positive, medical-grade, and safe statement."
    },
    "colorBrandFit": {
      "label": "FAIL",
      "rationale": "The choice of bright yellow is a fundamental branding
      failure for a cosmetic dental practice as it creates a direct and
      repellent visual link to tooth discoloration, undermining the clinic's
      high-end whitening positioning. Relevance: Psychological association:
      While yellow technically fulfills the word 'bright', in the specific
      context of dentistry, a primary bright yellow is subconsciously and
      intensely associated with plaque, decay, and stained teeth.
      Harmony: It stands out strongly but sends the wrong message.
      Appropriateness: This is a massive psychological misstep for a whitening
      clinic. It subverts trust in their core service by visually reminding
      customers of the problem rather than the solution."
    }
  }
},

Alineación del alcance

Con tu verdad fundamental lista, alinea el juez con las etiquetas humanas. Tu objetivo es asegurarte de que el juez esté de acuerdo contigo de forma constante y que imite el juicio humano. Puedes calcular una puntuación de alineación como el porcentaje de etiquetas creadas por el juez que coinciden con las etiquetas creadas por humanos.

// total = all test cases
// aligned = test cases where humanEval.label === llmJudgeEval.label
// For example, PASS and PASS
const alignment = (aligned / total) * 100;

Establece una puntuación de alineación objetivo, por ejemplo, el 85%. Tu objetivo puede variar según tu caso de uso.

Ejecuta tu modelo de juez en tu conjunto de datos de alineación. Si tu puntuación de alineación es inferior a la objetivo, lee la explicación del juez para comprender por qué proporcionó una etiqueta incorrecta. Modifica las instrucciones del sistema y la instrucción del juez para subsanar las brechas. Repite este proceso hasta que alcances la puntuación objetivo.

Prácticas recomendadas

Para ayudar al juez a calificar de manera coherente, sigue estas prácticas recomendadas:

  • Evita el sobreajuste. Generaliza las instrucciones y evita que sean demasiado específicas para tu conjunto de datos de alineación. Si proporcionas instrucciones específicas, como evitar ciertas frases, el juez pasa esta prueba de alineación específica de manera eficaz, pero no logra generalizar a datos nuevos. Este problema se conoce como sobreajuste.
  • Optimiza las instrucciones del sistema y la instrucción de evaluación. Las técnicas para optimizar las instrucciones incluyen modificarlas manualmente, pedirle a otro LLM que sugiera mejoras o aplicar cambios basados en una combinación de estas técnicas. Las técnicas de optimización de instrucciones pueden ir desde manuales hasta muy avanzadas, por ejemplo, algoritmos que imitan la evolución biológica. Mantén un registro de los cambios para revertirlos si es necesario.

Para ver la alineación en acción en ThemeBuilder, ejecuta la prueba de alineación.

Resultado de terminal de una prueba de alineación que muestra las tasas de aprobación y falla.
Ejemplo de prueba de alineación.

Prueba de esfuerzo con bootstrapping

Alcanzar el objetivo de alineación del 85% no garantiza que tu juez tenga un buen rendimiento con los datos del mundo real. Someter a prueba de esfuerzo tu juez con una técnica estadística llamada bootstrapping. El bootstrapping crea versiones nuevas de tu conjunto de datos sin esfuerzo de etiquetado adicional.

  • Prueba: Vuelve a muestrear de forma aleatoria 30 elementos de tu conjunto de datos con reemplazo. En una ejecución, es posible que se elija un caso difícil cinco veces, lo que dificulta mucho la prueba. Ejecuta la prueba de alineación en estos conjuntos aleatorios varias veces y calcula la varianza promedio de la alineación y la puntuación en estas ejecuciones. No hay un número específico, pero 10 iteraciones son un valor de referencia útil para proyectos medianos. Realiza más iteraciones para aumentar la confianza.
  • Solución: Si tu puntuación de alineación fluctúa de forma significativa (varianza alta), tu evaluador aún no es confiable. Tu puntuación inicial fue una coincidencia impulsada por algunos casos fáciles. Amplía tu rúbrica y agrega ejemplos más diversos y desafiantes a tu conjunto de datos de alineación.
Representación visual de una prueba de bootstrap que muestra cómo el remuestreo con reemplazo puede sobrerrepresentar o subrepresentar ciertas clases de datos.
A medida que los objetos se submuestrean con reemplazo, algunas clases pueden estar sobrerrepresentadas (canicas amarillas en las muestras de bootstrap 1 y 2), mientras que otras pueden estar subrepresentadas (canicas rojas en las muestras de bootstrap 1 y 2) o incluso faltar (canicas verdes en la muestra de bootstrap 3). Consulta la figura científica original de ResearchGate.

Puedes probarlo.

Es el resultado de la terminal de una prueba de bootstrap.
Ejemplo de prueba de arranque.

Prueba la autocoherencia

Solo se puede confiar en el juez si siempre proporciona la misma respuesta para la misma entrada. Si estableciste la temperatura en 0, el juez es 100% coherente. Confirma esta coherencia.

  • Prueba: Ejecuta tu juez varias veces en el mismo conjunto de datos, por ejemplo, una extracción aleatoria de tu conjunto de datos de alineación. Calcula la varianza de cada caso de prueba en esas repeticiones. Intenta lograr una coherencia del 100% (variación cero). Si la varianza es mayor que cero, la prueba falla porque el evaluador proporciona respuestas diferentes para la misma entrada.
  • Solución: Es posible que tu instrucción de juez sea ambigua o que la temperatura sea demasiado alta. Vuelve a escribir las partes de la instrucción que no sean claras, en particular tu rúbrica de puntuación. Si aún no lo hiciste, baja la temperatura a 0 (o establece el thinking_level en alto).

Para ver esto en acción, ejecuta la prueba.

Es el resultado de la terminal de la prueba de coherencia del juez.
En este ejemplo, probamos 6 muestras para cada una de nuestras tres métricas (toxicidad del lema, adecuación de la marca del lema y adecuación de la marca del color). Los resultados fueron casi completamente estables, pero algunas muestras tuvieron resultados incoherentes.

Examen final

El bootstrapping te ayudó a ejecutar una verificación inicial para evitar el sobreajuste. A continuación, ejecutarás una prueba final con datos nuevos. Esta es la confirmación final de que el juez puede calificar correctamente las nuevas entradas.

  • Prueba: Conserva un conjunto de datos de examen final independiente de 20 muestras etiquetadas por humanos que no hayas usado durante la alineación. Ejecuta tu juez en este conjunto.
  • Corrección: Si tu puntuación de alineación sigue siendo alta, tu juez está listo. Si la puntuación disminuye considerablemente, esto indica un sobreajuste: ajustaste tu instrucción demasiadas veces para superar tus datos de alineación específicos. Amplía tus instrucciones, rúbricas y ejemplos de pocos intentos.

Para ver esto en acción, ejecuta la prueba.

Resumen

Ejecutaste diferentes pruebas para crear tu juez básico, incluidas las siguientes:

  • La prueba de alineación verifica si el juez es correcto.
  • Bootstrapping y verificación de la prueba del examen final de la sensibilidad de los datos: Capacidad del juez para mantener la corrección cuando se enfrenta a datos nuevos.
  • La prueba de autoconsistencia mide el ruido del sistema, que es el grado en que la aleatoriedad interna del juez del LLM afecta los resultados.