Een basismodel voor een rechter opzetten (deel 2)

Voltooi de configuratie van uw basisbeoordelingsmodel om uw subjectieve evaluaties te starten.

Stel de rechter op één lijn en test hem.

Je hebt wel een eerste beoordelingscriterium, maar je kunt er nog niet op vertrouwen. Je criterium is pas klaar als het consistent overeenkomt met menselijk oordeel.

Maak een uitlijningsdataset aan.

Om je beoordelaar te kalibreren, heb je een afstemmingsdataset nodig. Dit is een kleine, hoogwaardige verzameling van inputs en outputs die handmatig door mensen zijn beoordeeld. Deze dataset fungeert als je referentiewaarde . Je gebruikt deze om te controleren of de logica van de beoordelaar consistent overeenkomt met je verwachtingen.

Uw dataset voor uitlijning moet 30-50 input-output-paren bevatten. De set is groot genoeg om enkele randgevallen te dekken, maar klein genoeg om deze in korte tijd te kunnen labelen.

In het ThemeBuilder-voorbeeld ziet een item in de uitlijningsdataset er als volgt uit (input, output, menselijk label):

{
  "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."
    }
  }
}

Om invoer- en uitvoergegevens te genereren, kunt u gebruikmaken van productielogboeken (indien beschikbaar), de gegevens handmatig samenstellen , een LLM ( synthetische gegevens ) gebruiken of beginnen met een paar zorgvuldig geselecteerde voorbeelden en een LLM vragen om uw dataset aan te vullen .

Zodra je input en output gereed zijn, gebruik je de beoordelingscriteria om de output samen met je team als PASS of FAIL te labelen. Dit wordt je referentiewaarde .

Zorg ervoor dat uw uitlijningsdataset zowel PASS als FAIL voorbeelden van verschillende moeilijkheidsgraden bevat, bijvoorbeeld:

  • 10 voorbeeldgevallen met een positief verloop die uw rechter als PASS zou moeten bestempelen.
  • 20 voorbeeldgevallen die uw rechter als FAIL zou moeten bestempelen:
    • Duidelijke mislukkingen , bijvoorbeeld een zeer schadelijke of totaal niet bij het merk passende slogan.
    • Subtiele tekortkomingen , bijvoorbeeld een motto dat grammaticaal perfect is, maar net iets te formeel voor een speels merk, of dat slechts gedeeltelijk bij de toon past.

Je LLM-beoordelaar fungeert als poortwachter. Door de beoordelingscriteria af te stemmen op een dataset met meer onvoldoendes dan voldoendes, krijg je meer mogelijkheden om de criteria aan te passen om onvoldoendes op te sporen en de beoordelaar uiteindelijk beter te maken in het detecteren van onvoldoendes.

Zodra uw uitlijningsdataset gereed is, zou deze er ongeveer zo uit moeten zien:

Succesvolle scenario's (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."
    }
  }
}

Duidelijke mislukkingen (FAIL)

// 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."
    }
  }
},

Subtiele fouten (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."
    }
  }
},

Bereik afstemming

Nu je de werkelijke situatie hebt vastgesteld, is het tijd om de beoordeling af te stemmen op de menselijke beoordelingen . Je doel is ervoor te zorgen dat de beoordelaar het consistent met je eens is en het menselijk oordeel nabootst. Je kunt een overeenstemmingsscore berekenen als het percentage van de door de beoordelaar gemaakte beoordelingen dat overeenkomt met de door mensen gemaakte beoordelingen.

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

Stel een streefwaarde voor de uitlijningsscore in, bijvoorbeeld 85%. Deze streefwaarde kan variëren afhankelijk van uw specifieke toepassing.

Voer uw beoordelingsmodel uit op uw uitlijningsdataset. Als uw uitlijningsscore lager is dan uw streefwaarde, lees dan de toelichting van de beoordelaar om te begrijpen waarom deze in de war was. Pas de systeeminstructies en de beoordelaarsaanwijzing aan om de hiaten te overbruggen. Herhaal dit totdat u uw streefwaarde bereikt.

Beste praktijken

Om de jury te helpen consistent te beoordelen, kunt u deze beste werkwijzen volgen:

  • Vermijd overfitting. Instructies moeten algemeen zijn en niet te specifiek voor uw alignment-dataset. Als u specifieke instructies geeft, zoals het vermijden van bepaalde zinnen, zal de jury deze specifieke alignment-test weliswaar goed doorstaan, maar zal de generalisatie naar nieuwe data mislukken. Dit probleem staat bekend als overfitting.
  • Optimaliseer uw systeeminstructies en beoordeel prompts. Technieken voor promptoptimalisatie omvatten het handmatig aanpassen van de prompts, het vragen aan een andere LLM om verbeteringen voor te stellen, of het toepassen van wijzigingen op basis van een combinatie van deze technieken. Technieken voor promptoptimalisatie kunnen variëren van handmatig tot zeer geavanceerd, bijvoorbeeld algoritmen die biologische evolutie nabootsen . Houd een logboek bij van uw wijzigingen om ze indien nodig ongedaan te kunnen maken.

Om de uitlijning in actie te zien voor ThemeBuilder, voer je zelf de uitlijningstest uit .

Voorbeeld van een uitlijningstest.

Stresstest met bootstrapping

Het behalen van je doel van 85% overeenstemming garandeert niet dat je beoordelingsmodel goed zal presteren met data uit de praktijk. Test je beoordelingsmodel op stress met een statistische truc genaamd bootstrapping . Bootstrapping creëert nieuwe versies van je dataset zonder extra labelwerk.

** Test: ** Selecteer willekeurig 30 items uit uw dataset met terugplaatsing . In één testronde kan een lastig geval vijf keer worden geselecteerd, waardoor de test veel moeilijker wordt. Voer de alignmenttest meerdere keren uit op deze willekeurig geselecteerde sets en bereken de gemiddelde alignment en de variantie van de score over deze testrondes. Er is geen magisch getal, maar 10 iteraties is een goede basislijn voor middelgrote projecten. Voer meer iteraties uit voor een hogere betrouwbaarheid. ** Oplossing: ** Als uw alignmentscore significant schommelt (hoge variantie), is uw beoordelaar nog niet betrouwbaar. Uw initiële score was een toevalstreffer, veroorzaakt door een paar makkelijke gevallen. Verbreed uw beoordelingscriteria en voeg meer diverse, lastige voorbeelden toe aan uw alignmentdataset.

Visuele weergave van een bootstrap-test. Omdat objecten met terugplaatsing worden geselecteerd, kunnen sommige klassen oververtegenwoordigd zijn (gele knikkers in bootstrap-monsters 1 en 2), terwijl andere ondervertegenwoordigd kunnen zijn (rode knikkers in bootstrap-monsters 1 en 2) of zelfs ontbreken (groene knikkers in bootstrap-monster 3). Bekijk de originele wetenschappelijke afbeelding op ResearchGate .

Je kunt het zelf proberen .

Voorbeeld van een bootstrap-test.

Test zelfconsistentie

Je kunt de beoordelaar alleen vertrouwen als hij bij dezelfde invoer altijd hetzelfde antwoord geeft. Als je de temperatuur op 0 hebt ingesteld, zou de beoordelaar 100% consistent moeten zijn. Test dit om het te bevestigen.

  • Test : Voer uw beoordelingsmodel meerdere keren uit op exact dezelfde dataset, bijvoorbeeld een willekeurige selectie uit uw uitlijningsdataset. Bereken de variantie voor elk testgeval over al deze herhalingen. Streef naar 100% consistentie (nul variantie). Als de variantie groter is dan nul, faalt de test omdat dit betekent dat uw beoordelingsmodel verschillende antwoorden geeft voor dezelfde invoer.
  • Oplossing : De opdracht van de jury is mogelijk onduidelijk of de temperatuur te hoog. Herschrijf de onduidelijke delen van de opdracht, met name de beoordelingscriteria. Verlaag de temperatuur naar 0 (of stel het thinking_level in op hoog), indien dit nog niet is gedaan.

Om dit in actie te zien, voer de test zelf uit .

Einduitvoer van de consistentietest van de beoordelaar.
In dit voorbeeld hebben we 6 voorbeelden getest voor elk van onze drie criteria (toxiciteit van het motto, aansluiting van het motto bij het merk en aansluiting van de kleur bij het merk). De resultaten waren vrijwel volledig stabiel, maar enkele voorbeelden vertoonden inconsistente resultaten.

Eindexamen

Bootstrapping heeft je geholpen een eerste controle uit te voeren om overfitting te voorkomen. Nu voer je een laatste test uit met nieuwe gegevens. Dit is je definitieve bevestiging dat de jury de nieuwe invoer correct kan beoordelen.

  • Test : Bewaar een aparte dataset voor het eindexamen met 20 handmatig gelabelde voorbeelden die je niet tijdens de uitlijning hebt gebruikt. Voer je beoordeling uit op deze dataset.
  • Oplossing : Als je alignment-score hoog blijft, is je jury er klaar voor! Als de score keldert, heb je waarschijnlijk overfitting toegepast: je hebt je prompt te vaak aangepast om aan je specifieke alignment-gegevens te voldoen. Verbreed je prompt, rubric en few-shot voorbeelden.

Om dit in actie te zien, voer de test zelf uit .

Samenvatting

Je hebt verschillende tests uitgevoerd om je basisrechter te creëren, waaronder:

  • De alignment-test controleert of de beoordelaar gelijk heeft.
  • Bootstrapping en een eindtoets controleren de gevoeligheid van de gegevens . Blijft de beoordelaar vaak genoeg bij het rechte eind wanneer hij met nieuwe gegevens wordt geconfronteerd?
  • De zelfconsistentietest meet de systeemruis , oftewel de mate waarin de interne willekeurigheid van de LLM-beoordelaar de resultaten beïnvloedt.