ตั้งค่าโมเดลผู้พิพากษาพื้นฐาน (ตอนที่ 2)

ตั้งค่าโมเดลผู้ให้คะแนนพื้นฐานให้เสร็จสมบูรณ์เพื่อเริ่มการประเมินแบบอัตนัย

ปรับและทดสอบผู้ให้คะแนน

คุณมีผู้ให้คะแนนเริ่มต้นแล้ว แต่ยังเชื่อถือไม่ได้ ผู้ให้คะแนนจะพร้อมใช้งานก็ต่อเมื่อเห็นด้วยกับการตัดสินของเจ้าหน้าที่อย่างสม่ำเสมอ

สร้างชุดข้อมูลการปรับ

หากต้องการปรับเทียบผู้ให้คะแนน คุณต้องมี ชุดข้อมูลการปรับ ซึ่งเป็นคอลเล็กชันอินพุตและเอาต์พุตขนาดเล็กที่มีคุณภาพสูง ซึ่งเจ้าหน้าที่ให้คะแนนด้วยตนเอง ชุดข้อมูลนี้ทำหน้าที่เป็น ข้อมูลจากการสังเกตการณ์โดยตรง คุณจะใช้ชุดข้อมูลนี้เพื่อยืนยันว่าตรรกะของผู้ให้คะแนนสอดคล้องกับความคาดหวังของคุณอย่างสม่ำเสมอ

ชุดข้อมูลการปรับควรมีคู่อินพุต-เอาต์พุต 30-50 รายการ ชุดข้อมูลนี้มีขนาดใหญ่พอที่จะครอบคลุมกรณีที่ซับซ้อนบางกรณี แต่ก็มีขนาดเล็กพอที่คุณจะติดป้ายกำกับได้ในระยะเวลาอันสั้น

ในตัวอย่าง ThemeBuilder รายการในชุดข้อมูลการปรับจะมีลักษณะดังนี้ (อินพุต, เอาต์พุต, ป้ายกำกับของเจ้าหน้าที่)

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

หากต้องการสร้างอินพุตและเอาต์พุต คุณสามารถดึงข้อมูลจากบันทึกการใช้งานจริง หากมี สร้างข้อมูลด้วยตนเอง ใช้ LLM (ข้อมูลสังเคราะห์) หรือเริ่มจากตัวอย่างที่เลือกด้วยตนเอง 2-3 รายการ แล้วขอให้ LLM เพิ่มชุดข้อมูล

เมื่ออินพุตและเอาต์พุตพร้อมแล้ว ให้ใช้เกณฑ์การให้คะแนนเพื่อติดป้ายกำกับเอาต์พุตเป็น PASS หรือ FAIL กับทีม ซึ่งจะกลายเป็น ข้อมูลจากการสังเกตการณ์โดยตรง

ตรวจสอบว่าชุดข้อมูลการปรับมีตัวอย่าง PASS และตัวอย่าง FAIL ที่มีความยากต่างกัน เช่น

  • ตัวอย่างกรณีเส้นทางที่ไม่พบข้อผิดพลาด 10 รายการที่ผู้ให้คะแนนควรติดป้ายกำกับเป็น PASS
  • ตัวอย่างกรณีที่ผู้ให้คะแนนควรติดป้ายกำกับเป็น FAIL 20 รายการ ได้แก่
    • ความล้มเหลวที่เห็นได้ชัด เช่น สโลแกนที่เป็นพิษสูงหรือไม่ได้เกี่ยวข้องกับแบรนด์เลย
    • ความล้มเหลวที่เห็นได้ยาก เช่น สโลแกนที่ไวยากรณ์สมบูรณ์แบบ แต่เป็นทางการเกินไปสำหรับแบรนด์ที่สนุกสนาน หรือสโลแกนที่เข้ากับโทนของแบรนด์เพียงบางส่วน

ผู้ให้คะแนน LLM เป็นผู้คัดกรอง การปรับผู้ให้คะแนนในชุดข้อมูลที่มีความล้มเหลวมากกว่ากรณีที่ผ่านจะช่วยให้คุณมีโอกาสมากขึ้นในการปรับเกณฑ์การให้คะแนนเพื่อตรวจจับความล้มเหลว และท้ายที่สุดจะทำให้ผู้ให้คะแนนตรวจจับความล้มเหลวได้ดีขึ้น

เมื่อชุดข้อมูลการปรับพร้อมแล้ว ชุดข้อมูลควรมีลักษณะดังนี้

กรณีเส้นทางที่ไม่พบข้อผิดพลาด (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."
    }
  }
}

ความล้มเหลวที่เห็นได้ชัด (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."
    }
  }
},

ความล้มเหลวที่เห็นได้ยาก (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."
    }
  }
},

การปรับ

เมื่อข้อมูลจากการสังเกตการณ์โดยตรงพร้อมแล้ว ก็ถึงเวลาปรับผู้ให้คะแนนให้สอดคล้องกับป้ายกำกับของเจ้าหน้าที่ เป้าหมายของคุณคือการทำให้ผู้ให้คะแนนเห็นด้วยกับคุณอย่างสม่ำเสมอและเลียนแบบการตัดสินของเจ้าหน้าที่ คุณสามารถคำนวณ คะแนนการปรับ เป็นเปอร์เซ็นต์ของป้ายกำกับที่ผู้ให้คะแนนสร้างขึ้นซึ่งตรงกับป้ายกำกับที่เจ้าหน้าที่สร้างขึ้น

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

กำหนดคะแนนการปรับเป้าหมาย เช่น 85% เป้าหมายอาจแตกต่างกันไปตามกรณีการใช้งาน

เรียกใช้โมเดลผู้ให้คะแนนกับชุดข้อมูลการปรับ หากคะแนนการจัดตำแหน่งต่ำกว่าเป้าหมาย โปรดอ่านเหตุผลของผู้ให้คะแนนเพื่อทำความเข้าใจว่าทำไมผู้ให้คะแนนจึงสับสน แก้ไขวิธีการของระบบและพรอมต์ของผู้ให้คะแนนเพื่อลดช่องว่าง ทำซ้ำขั้นตอนนี้จนกว่าจะได้คะแนนเป้าหมาย

แนวทางปฏิบัติแนะนำ

ทำตามแนวทางปฏิบัติแนะนำต่อไปนี้เพื่อช่วยให้ผู้ให้คะแนนให้คะแนนได้อย่างสม่ำเสมอ

  • หลีกเลี่ยงการปรับมากเกินไป วิธีการควรเป็นแบบทั่วไปและไม่เฉพาะเจาะจงเกินไปสำหรับชุดข้อมูลการปรับ หากคุณระบุวิธีการที่เฉพาะเจาะจง เช่น การหลีกเลี่ยงวลีบางวลี ผู้ให้คะแนนจะทำได้ดีในการผ่านการทดสอบการปรับที่เฉพาะเจาะจงนี้ แต่จะไม่สามารถนำไปใช้กับข้อมูลใหม่ได้ เราเรียกปัญหานี้ว่าการปรับมากเกินไป
  • เพิ่มประสิทธิภาพวิธีการของระบบและพรอมต์ของผู้ให้คะแนน เทคนิคการเพิ่มประสิทธิภาพพรอมต์ ได้แก่ การแก้ไขพรอมต์ด้วยตนเอง การขอให้ LLM อื่นแนะนำการปรับปรุง หรือการใช้การเปลี่ยนแปลงตามเทคนิคเหล่านี้ร่วมกัน เทคนิคการเพิ่มประสิทธิภาพพรอมต์มีตั้งแต่แบบกำหนดเองไปจนถึงขั้นสูงมาก เช่น อัลกอริทึมที่เลียนแบบวิวัฒนาการทางชีวภาพ เก็บบันทึกการเปลี่ยนแปลงเพื่อย้อนกลับหากจำเป็น

หากต้องการดูการปรับใน ThemeBuilder ให้ลองทำการทดสอบการปรับด้วยตนเอง run the alignment test yourself.

ตัวอย่างการทดสอบการปรับ

การทดสอบความทนทานด้วยการบูตสแตรป

การบรรลุเป้าหมายการปรับ 85% ไม่ได้รับประกันว่าผู้ให้คะแนนจะทำงานได้ดีกับข้อมูลจริง ทดสอบความทนทานของผู้ให้คะแนนด้วยการแฮ็กทางสถิติที่เรียกว่า การบูตสแตรป การบูตสแตรปจะสร้างชุดข้อมูลเวอร์ชันใหม่โดยไม่ต้องติดป้ายกำกับเพิ่มเติม

** ทดสอบ: สุ่มเลือกรายการ 30 รายการจากชุดข้อมูล โดยมีการแทนที่ ในการเรียกใช้ 1 ครั้ง ระบบอาจเลือกกรณีที่ซับซ้อน 5 ครั้ง ซึ่งทำให้การทดสอบยากขึ้นมาก เรียกใช้การทดสอบการปรับกับชุดข้อมูลแบบสุ่มเหล่านี้หลายครั้ง และคำนวณการปรับเฉลี่ยและความแปรปรวนของคะแนนในการเรียกใช้เหล่านี้ ไม่มีตัวเลขวิเศษ แต่การทำซ้ำ 10 ครั้งเป็นค่าพื้นฐานที่ดีสำหรับโปรเจ็กต์ขนาดกลาง ทำซ้ำมากขึ้นเพื่อให้ได้ความมั่นใจสูงขึ้น ** แก้ไข: หากคะแนนการปรับผันผวนอย่างมาก (ความแปรปรวนสูง) แสดงว่าผู้ให้คะแนนยังไม่น่าเชื่อถือ คะแนนเริ่มต้นของคุณเป็นเพียงโชคช่วยที่เกิดจากกรณีง่ายๆ 2-3 กรณี ขยายเกณฑ์การให้คะแนนและเพิ่มตัวอย่างที่หลากหลายและซับซ้อนมากขึ้นลงในชุดข้อมูลการปรับ

ภาพแสดงการทดสอบการบูตสแตรป เนื่องจากมีการเลือกตัวอย่างออบเจ็กต์ย่อยโดยมีการแทนที่ คลาสบางคลาสจึงอาจแสดงมากเกินไป (ลูกแก้วสีเหลืองในตัวอย่างการบูตสแตรป 1 และ 2) ในขณะที่คลาสอื่นๆ อาจแสดงน้อยเกินไป (ลูกแก้วสีแดงในตัวอย่างการบูตสแตรป 1 และ 2) หรืออาจไม่แสดงเลย (ลูกแก้วสีเขียวในตัวอย่างการบูตสแตรป 3) ดูรูปภาพทางวิทยาศาสตร์ต้นฉบับจาก ReaserchGate

คุณสามารถลองทำด้วยตนเองได้

ตัวอย่างการทดสอบการบูตสแตรป

ทดสอบความสอดคล้องในตัวเอง

คุณจะเชื่อถือผู้ให้คะแนนได้ก็ต่อเมื่อผู้ให้คะแนนให้คำตอบเดียวกันสำหรับอินพุตเดียวกันเสมอ หากตั้งค่าอุณหภูมิเป็น 0 ผู้ให้คะแนนควรมีความสอดคล้อง 100% ทดสอบเพื่อยืนยัน

  • ทดสอบ: เรียกใช้ผู้ให้คะแนนหลายครั้งในชุดข้อมูลเดียวกันทุกประการ เช่น การสุ่มเลือกจากชุดข้อมูลการปรับ คำนวณความแปรปรวนสำหรับกรณีทดสอบแต่ละกรณีในการทำซ้ำเหล่านั้น ตั้งเป้าหมายความสอดคล้อง 100% (ความแปรปรวนเป็นศูนย์) หากความแปรปรวนมากกว่าศูนย์ แสดงว่าการทดสอบไม่ผ่านเนื่องจากหมายความว่าผู้ให้คะแนนให้คำตอบที่แตกต่างกันสำหรับอินพุตเดียวกัน
  • แก้ไข: พรอมต์ของผู้ให้คะแนนอาจคลุมเครือหรืออุณหภูมิสูงเกินไป เขียนส่วนของพรอมต์ที่ดูคลุมเครือใหม่ โดยเฉพาะเกณฑ์การให้คะแนน ลดอุณหภูมิเป็น 0 (หรือตั้งค่า thinking_level เป็นสูง) หากยังไม่ได้ดำเนินการ

หากต้องการดูการทำงานนี้ ให้ลองทำการทดสอบด้วยตนเอง

เอาต์พุตของเทอร์มินัลจากการทดสอบความสอดคล้องของผู้ตัดสิน
ในตัวอย่างนี้ เราได้ทดสอบตัวอย่าง 6 รายการสำหรับเมตริก 3 รายการ (ความเป็นพิษของสโลแกน ความเหมาะสมของสโลแกนกับแบรนด์ และความเหมาะสมของสีกับแบรนด์) ผลลัพธ์เกือบทั้งหมดมีความเสถียร แต่ตัวอย่างบางรายการมีผลลัพธ์ที่ไม่สอดคล้องกัน

Final exam

การบูตสแตรปช่วยให้คุณทำการตรวจสอบเบื้องต้นเพื่อป้องกันการปรับมากเกินไป ตอนนี้คุณจะทำการทดสอบขั้นสุดท้ายโดยใช้ข้อมูลใหม่ นี่คือการยืนยันขั้นสุดท้ายว่าผู้ให้คะแนนสามารถให้คะแนนอินพุตใหม่ได้อย่างถูกต้อง

  • ทดสอบ: เก็บชุดข้อมูล Final exam แยกต่างหากซึ่งมีตัวอย่าง 20 รายการที่เจ้าหน้าที่ติดป้ายกำกับไว้และ คุณไม่ได้ใช้ระหว่างการปรับ เรียกใช้ผู้ให้คะแนนกับชุดข้อมูลนี้
  • แก้ไข: หากคะแนนการปรับยังคงสูง แสดงว่าผู้ให้คะแนนพร้อมใช้งานแล้ว! หากคะแนนลดลงอย่างมาก แสดงว่าคุณอาจปรับมากเกินไป: คุณปรับพรอมต์หลายครั้งเกินไปเพื่อให้ผ่านข้อมูลการปรับที่เฉพาะเจาะจง ขยายพรอมต์ เกณฑ์การให้คะแนน และตัวอย่างแบบ Few-Shot

หากต้องการดูการทำงานนี้ ให้ลองทำการทดสอบด้วยตนเอง

สรุป

คุณได้ทำการทดสอบต่างๆ เพื่อสร้างผู้ให้คะแนนพื้นฐาน ซึ่งรวมถึง

  • การทดสอบการปรับจะตรวจสอบว่าผู้ให้คะแนน ถูกต้อง หรือไม่
  • การทดสอบการบูตสแตรปและการทดสอบ Final exam จะตรวจสอบ ความไวต่อข้อมูล ผู้ให้คะแนนยังคงถูกต้องบ่อยพอเมื่อเผชิญกับข้อมูลใหม่หรือไม่
  • การทดสอบความสอดคล้องในตัวเองจะวัด สัญญาณรบกวนของระบบ ซึ่งเป็นปริมาณที่ความสุ่มภายในของผู้ให้คะแนน LLM เองส่งผลต่อผลลัพธ์