Eval-driven development: GenAI... 노트

Eval-driven development: GenAI를 대규모로 평가한 경험에서 얻은 교훈

Airbnb는 신뢰할 수 있는 생성형 AI 제품 구축을 위한 중요한 엔지니어링 규율로서 평가를 다루는 것을 강조합니다. LLM 출력의 비결정적이고 주관적인 특성으로 인해 기존 소프트웨어 테스트의 가정이 도전을 받으며, 종종 AI가 AI를 평가해야 합니다. Airbnb의 제품 팀은 도구와 모범 사례를 제공하는 인프라 팀의 지원을 받아 LLM 기반 기능을 구축합니다. 기본적인 원칙은 잘못된 자신감과 탐지되지 않은 회귀를 피하기 위해 처음부터 평가를 계획해야 한다는 것을 이해하는 것입니다. "한 가지 규칙"은 프로토타입 출력을 검토하여 데이터를 수동으로 검토하고 성공에 대한 직관을 구축하는 것입니다. 이 습관은 실패 모드가 발견되고, 인코딩되고, 지속적으로 테스트되는 평가 주도 개발로 발전합니다. 평가 주도 개발의 주요 원칙에는 목표 정의, 실제 오류가 지표를 안내하도록 하기, 작고 날카로운 평가자 세트 사용, 의사 결정권자 임명, 지속적인 협업이 포함됩니다. 세 가지 평가 방법은 계층을 형성합니다. 명백한 실패에 대한 프로그래밍 방식 검사, 미묘한 품질을 위한 LLM-as-a-Judge, 엣지 케이스 및 검증을 위한 인간 평가입니다. 프로그래밍 방식 검사는 결정론적 코드 기반 테스트를 사용하며, LLM-as-a-Judge는 루브릭에 대해 더 강력한 LLM을 사용하며 신뢰성을 위해 보정이 필요합니다. 인간 평가는 정답과 고위험 결정에 대한 금본위제 역할을 합니다. 에이전트 시스템의 경우, 최종 출력뿐만 아니라 추론 경로와 도구 호출을 검사하여 여러 계층에 걸쳐 평가가 확장됩니다. 실용적인 워크스루는 초기 실패 탐색, 프로그래밍 방식 검사 및 보정된 가상 평가자를 사용한 계층화된 평가 구축, 프로덕션 모니터링을 통한 확장 등을 보여줍니다. 주요 시사점은 데이터 검토의 중요성, 일반적인 지표 피하기, 작게 시작하기, 평가자 보정, 계층화된 방어 사용, 프로덕션에서 평가 미러링 등을 강조합니다. 궁극적으로 성공적인 AI 제품 개발은 평가가 제품 성공의 정의를 형성하는 협력적인 팀 스포츠라는 데 달려 있습니다.
CdXz5zHNQW_T3SelU9bHa.jpeg