고품질 데이터로 더 나은 평가 만들기
AI 애플리케이션을 평가할 때 어떤 데이터를 써야 하는지 자세히 살펴보기 — 그리고 W&B Weave가 어떻게 도움을 줄 수 있는지
이 글은 AI 번역본입니다. 오역이 의심되면 댓글로 알려주세요.
Created on September 15|Last edited on September 15
Comment

고품질 데이터를 활용한 AI 애플리케이션 평가는 더 나은 AI 애플리케이션을 만듭니다. AI 애플리케이션을 구동하는 LLM은 비결정적이어서 동일한 질문을 10번 해도 10가지 다른 답을 내놓을 수 있습니다. 엄밀한 평가와 최적화는 LLM의 본질적인 예측 불가능성을 줄여, 일관되고 신뢰할 수 있는 AI 애플리케이션을 보장하고, 프로덕션에 안심하고 배포할 수 있게 합니다.
AI 애플리케이션을 배포하기 전에 철저한 평가를 수행하려면 세 가지가 필요합니다. 애플리케이션 자체, 애플리케이션 성능을 측정하는 스코어러, 그리고 애플리케이션을 테스트할 입력 데이터입니다. 이 조합을 통해 품질, 지연 시간, 비용, 안전성을 포함한 여러 차원에서 애플리케이션 성능을 측정할 수 있습니다. 일명 “바이브 체크,” 즉 결과를 눈대중과 감으로 훑어보는 방식은 규모와 반복 가능성이 부족해, 일관된 성능과 긍정적인 사용자 경험을 제공하는 AI 애플리케이션을 만들기에는 충분하지 않습니다.
AI 애플리케이션 평가를 위한 데이터세트
평가는 AI 애플리케이션을 개발하고 프로덕션에 배포하는 과정에서 필수 요소입니다. 평가지표에 가장 적합한 입력 데이터는 “현실 세계” 상호작용에서 수집되지만, 항상 확보할 수 있는 것은 아닙니다. 만약 평가에 실제 데이터를 사용할 수 있는 여건이 있다면, 다음과 같은 상호작용 유형을 고려하는 것이 중요합니다:
해피 패스
이 데이터는 애플리케이션이 기대되는 최적의 조건에서 성능을 발휘하는 모습을 반영합니다. 해피 패스 시나리오에 집중하면, 개발자는 모델을 이상적인 결과에 맞춰 벤치마크할 수 있습니다.
엣지 케이스
엣지 케이스는 애플리케이션의 동작 결함을 드러낼 수 있는 드문 상황입니다. 이러한 시나리오를 엄밀하게 테스트하면, 개발자는 예기치 않은 상황에서도 안정적으로 성능을 발휘하도록 애플리케이션의 탄력성을 강화할 수 있습니다.
오류 조건
오류 조건은 불리한 상황에서의 애플리케이션 성능에 대해 중요한 인사이트를 제공합니다. 이러한 데이터를 분석하면 개발자는 취약점을 식별하고 애플리케이션을 최적화하여 신뢰성을 높일 수 있습니다.
사용자 변이
사용자 변이 데이터는 사용자가 애플리케이션과 상호작용하는 다양한 방식을 포착하여 그 효과성에 대한 유용한 인사이트를 제공합니다. 이 데이터는 개발자가 추세와 개선 영역을 식별하도록 도와주며, 애플리케이션이 사용자 요구에 민감하게 반응하도록 보장합니다.
현실 세계의 데이터가 없는 경우에는 실제 상호작용과 유사한 합성 데이터를 생성할 수 있습니다. 목표는 실제 데이터와 구분되지 않을 정도의 합성 데이터를 만드는 것입니다. 예를 들어, AI 의료 상담 에이전트가 증상에 기반해 초기 질병 진단을 수행하도록 기대된다면, 평가 과정에서 사용하는 데이터는 환자가 자신의 건강 문제와 관련된 증상을 설명하는 방식을 충실히 모사해야 합니다.
실제 데이터를 평가에 수집할 때와 마찬가지로, 평가에 사용하는 합성 입력 데이터도 AI 애플리케이션이 처리해야 할 다양한 상호작용 유형을 충실히 반영해야 합니다. 또한 합성 데이터를 생성할 때에는 데이터가 현실성을 갖추었는지와 AI 애플리케이션의 출력이 만족스러운지를 보장하기 위해 도메인 전문가를 검증 과정에 반드시 포함시키는 것이 특히 중요합니다.
합성 데이터는 다양한 방법으로 생성할 수 있습니다. LLM을 사용해 데이터를 생성할 때는 효과적인 프롬프트를 사용하는 것이 중요하며, 종종 출력 데이터의 예시를 함께 포함합니다. 사실 LLM 기반 데이터 생성기는 그 자체로 별도의 평가와 최적화가 필요한 하나의 AI 애플리케이션입니다.
새로운 W&B Weave 기능
AI 애플리케이션 평가 과정에서 고품질 데이터를 활용하는 것이 중요하다는 점을 감안해, W&B Weave는 최근 사용자의 Weave 계정에 저장된 데이터와 데이터셋에 대한 접근성과 제어권을 높여 주는 두 가지 새로운 기능을 출시했습니다.
Weave UI에서 데이터셋 관리

이전에 데이터셋을 Weave에 저장하고 Weave 외부에서 코드를 실행해 업데이트해야 했다면, 이제는 Weave 사용자 인터페이스에서 해당 데이터셋의 데이터를 직접 추가, 편집, 삭제할 수 있습니다. AI 애플리케이션을 철저하게 평가하려면 데이터셋을 효율적으로 조회하고 관리할 수 있어야 합니다. Weave UI에서 데이터를 빠르고 손쉽게 편집하면, 노트북이나 스크립트를 실행해 데이터셋을 업데이트하는 등 다른 곳에서 변경 작업을 할 필요 없이, 평가를 현장에서 효율적으로 다듬고 개선할 수 있습니다.
관련 없거나 오류가 있거나 더 이상 유용하지 않은 평가 입력을 변경할 수 있을 뿐만 아니라, 고객 행동에 대한 새로운 관찰이나 가상의 사용자 질의에 대해 AI 애플리케이션이 ���떻게 반응할지에 대한 순수한 호기심에서 비롯된 입력도 신속하게 추가할 수 있습니다. 데이터셋을 수정하는 부담을 줄여 줌으로써, Weave는 평가를 더 빠르게 반복할 수 있게 하고 LLM 기반 애플리케이션의 최적화로 가는 경로를 단축해 줍니다.
Weave 호출 데이터로 데이터셋 구축

위 그림과 같이 Weave UI에서 Weave 호출 데이터를 데이터셋에 추가할 수 있으며, 아래 코드처럼 SDK를 사용해 추가할 수도 있습니다.
💡
@weave.opdef model(task: str) -> str:return f"Now working on {task}"res1, call1 = model.call(task="fetch")res2, call2 = model.call(task="parse")dataset = Dataset.from_calls([call1, call2])# Now you can use the dataset to evaluate the model, etc.
평가에 효과적인 데이터셋을 구축하는 일은 어렵습니다. 운영 환경의 데이터를 닮도록 만든 합성 데이터는 유용하지만, 엣지 케이스, 오류 조건, 사용자 변이까지 포착하기는 쉽지 않습니다. AI 애플리케이션 평가에는 운영 환경 데이터만 한 것이 없습니다. AI 애플리케이션을 최적화한다는 것은 실제 세계의 모든 시나리오를 예측 가능하게 처리하도록 준비하는 일입니다. 평가에 운영 환경 데이터를 사용하면 LLM의 비결정적 특성으로 인한 위험을 줄일 수 있습니다.
Weave는 개발 단계와 운영 환경에서 AI 애플리케이션의 트레이스를 수집합니다. 이제 Weave UI에서 몇 번의 클릭만으로, 또는 SDK에서 몇 줄의 코드만으로 Weave 호출 데이터를 원하는 데이터셋에 바로 추가할 수 있습니다. 엣지 케이스와 오류 조건을 포함한 실제 운영 데이터를 Weave로 수집해 데이터셋을 만들면 더 나은 평가가 가능합니다. 그리고 더 나은 평가는 운영 환경에 자신 있게 배포할 수 있는 견고한 AI 애플리케이션으로 이어집니다.
Add a comment