시작하기
시작하려면 스크립트 시작 부분에서weave.init(project=...)를 호출하기만 하면 됩니다. project 인수를 사용하여 team-name/project-name 형식으로 특정 W&B Teams에 로그를 기록하거나, project-name을 사용하여 기본 팀/엔티티(entity)에 로그를 기록할 수 있습니다.
호출 메타데이터 추적
Verdict 파이프라인 호출에서 메타데이터를 추적하려면weave.attributes 컨텍스트 매니저를 사용할 수 있습니다. 이 컨텍스트 매니저를 사용하면 파이프라인 run이나 평가 배치와 같은 특정 코드 블록에 대해 커스텀 메타데이터를 설정할 수 있습니다.
Traces
AI 평가 파이프라인의 trace를 중앙 데이터베이스에 저장하는 것은 개발 및 프로덕션 단계 모두에서 매우 중요합니다. 이러한 trace는 가치 있는 데이터셋을 제공하여 평가 워크플로우를 디버깅하고 개선하는 데 필수적입니다. Weave는 Verdict 애플리케이션의 trace를 자동으로 캡처합니다. 다음과 같은 Verdict 라이브러리를 통한 모든 호출을 추적하고 로그를 기록합니다:- 파이프라인 실행 단계
- Judge unit 평가
- 레이어(Layer) 변환
- 풀링(Pooling) 연산
- 커스텀 유닛 및 변환
파이프라인 트레이싱 예시
다음은 Weave가 중첩된 파이프라인 연산을 어떻게 추적하는지 보여주는 더 복잡한 예시입니다:- 메인 Pipeline 실행
- Layer 내의 각 JudgeUnit 평가
- MeanPoolUnit 집계 단계
- 각 연산에 대한 타이밍 정보
설정
weave.init()을 호출하면 Verdict 파이프라인에 대한 트레이싱이 자동으로 활성화됩니다. 이 인테그레이션은 Pipeline.__init__ 메소드를 패치하여 모든 trace 데이터를 Weave로 전달하는 VerdictTracer를 주입하는 방식으로 작동합니다.
추가적인 설정은 필요하지 않습니다. Weave는 자동으로 다음을 수행합니다:
- 모든 파이프라인 연산 캡처
- 실행 타이밍 추적
- 입력값 및 출력값 로그 기록
- trace 계층 구조 유지
- 동시 파이프라인 실행 처리
커스텀 Tracer와 Weave
애플리케이션에서 커스텀 Verdict tracer를 사용하는 경우, Weave의VerdictTracer와 함께 사용할 수 있습니다:
Models 및 Evaluations
여러 파이프라인 구성 요소가 있는 AI 시스템을 구성하고 평가하는 것은 어려울 수 있습니다.weave.Model을 사용하면 프롬프트, 파이프라인 설정 및 평가 파라미터와 같은 실험 세부 정보를 캡처하고 정리하여 서로 다른 버전 간의 비교를 더 쉽게 할 수 있습니다.
다음 예시는 Verdict 파이프라인을 WeaveModel로 래핑하는 방법을 보여줍니다:
Evaluations
Evaluations는 평가 파이프라인 자체의 성능을 측정하는 데 도움을 줍니다.weave.Evaluation 클래스를 사용하면 특정 작업이나 데이터셋에 대해 Verdict 파이프라인이 얼마나 잘 작동하는지 캡처할 수 있습니다: