Skip to main content
이 문서는 대화형 노트북입니다. 로컬에서 실행하거나 아래 링크를 사용하세요.
복잡한 기술 문서를 요약하면서 핵심 세부 정보를 놓치지 않기란 쉽지 않습니다. Chain of Density(CoD) 요약 기법은 요약을 반복적으로 다듬어 더 간결하고 정보 밀도가 높은 요약을 만들어 냄으로써 이 문제를 해결합니다. 이 가이드에서는 CoD를 구현하고 Weave로 애플리케이션을 추적하고 평가하는 방법을 소개합니다.
Chain of Density 요약 결과, 메트릭, 성능 비교를 보여 주는 Weave 평가 대시보드

Chain of Density 요약이란

arXiv Chain of Density(CoD)는 요약을 반복적으로 개선하여 점점 더 간결하고 정보 밀도가 높은 요약을 만들어 내는 기법입니다. 작동 방식은 다음과 같습니다.
  1. 초기 요약을 작성합니다.
  2. 핵심 정보는 유지하면서 요약을 반복적으로 다듬어 더 간결하게 만듭니다.
  3. 반복할 때마다 엔티티와 기술적 세부 정보의 밀도를 높입니다.
이 방식은 세부 정보를 빠짐없이 보존해야 하는 과학 논문이나 기술 문서를 요약할 때 특히 유용합니다.

Weave를 사용하는 이유

이 튜토리얼에서는 Weave를 사용하여 ArXiv 논문용 Chain of Density 요약 파이프라인을 구현하고 평가합니다. 이 튜토리얼에서 배우는 내용은 다음과 같습니다.
  • LLM 파이프라인 추적: Weave를 사용하여 요약 프로세스의 입력, 출력, 중간 단계를 자동으로 로깅합니다.
  • LLM 출력 평가: Weave의 기본 제공 도구로 요약을 일관되게 평가합니다.
  • 조합 가능한 오퍼레이션 구축: Weave 오퍼레이션을 조합하여 요약 파이프라인의 여러 부분에서 재사용합니다.
  • 기존 코드와 통합: 최소한의 오버헤드로 기존 Python 코드에 Weave를 추가합니다.
이 튜토리얼을 마치면 Weave의 모델 서빙, 평가, 결과 추적 기능을 활용하는 CoD 요약 파이프라인을 완성하게 됩니다.

환경 설정

먼저 환경을 설정하고 필요한 라이브러리를 임포트하세요. 이 단계에서는 파이프라인에 필요한 의존성을 설치합니다. 추적용 Weave, LLM용 Anthropic, ArXiv PDF 읽기용 PyPDF2가 여기에 포함됩니다.
이 파이프라인은 Anthropic의 Claude 모델을 호출하므로, 다음 코드를 실행하기 전에 Anthropic API 키를 준비해야 합니다.
Anthropic API 키를 발급받으려면 다음 단계를 따르세요.
  1. https://www.anthropic.com 에서 계정을 만드세요.
  2. 계정 설정에서 API 섹션으로 이동하세요.
  3. 새 API 키를 생성하세요.
  4. API 키를 .env 파일에 안전하게 저장하세요.
이 코드는 Weave로 실험을 추적하고, Anthropic의 Claude 모델로 텍스트를 생성합니다. weave.init([PROJECT_NAME]) 호출은 요약 작업에 사용할 새 Weave 프로젝트를 설정합니다.

ArxivPaper 모델 정의하기

환경이 준비되었으면 이제 파이프라인에서 다룰 데이터 구조를 정의합니다. 데이터를 표현할 ArxivPaper 클래스를 만드세요.
이 클래스는 요약 파이프라인의 입력이 되는 ArXiv 논문의 메타데이터와 내용을 캡슐화합니다.

PDF 콘텐츠 로드

ArxivPaper 모델에는 메타데이터와 PDF URL이 담겨 있지만, 요약 파이프라인에는 논문의 전체 텍스트가 필요합니다. 논문 전체 내용을 활용하려면 PDF를 로드하고 텍스트를 추출하는 함수를 추가하세요.

Chain of Density 요약 구현하기

이제 Weave 오퍼레이션을 사용하여 CoD 요약의 핵심 로직을 구현하세요.
Chain of Density 요약 파이프라인 실행을 보여 주는 Weave 트레이스 시각화
각 함수의 역할은 다음과 같습니다.
  • summarize_current_summary: 현재 상태를 바탕으로 요약 반복을 한 번 수행합니다.
  • iterative_density_summarization: summarize_current_summary를 여러 번 호출하여 CoD 기법을 적용합니다.
  • chain_of_density_summarization: 전체 요약 프로세스를 조율하고 결과를 반환합니다.
@weave.op() 데코레이터를 사용하면 Weave가 이 함수들의 입력, 출력, 실행을 추적합니다.

Weave Model 만들기

요약 함수가 준비되었으면, 다음 단계로 이 함수들을 Weave Model로 패키징하여 run, 매개변수, 버전을 함께 추적합니다. 이제 요약 파이프라인을 Weave Model로 래핑하세요.
모델 설정과 매개변수가 표시된 Chain of Density 요약용 Weave Model 설정 화면
이 ArxivChainOfDensityPipeline 클래스는 요약 로직을 Weave Model로 캡슐화하며, 다음과 같은 주요 이점을 제공합니다.
  • 자동 실험 추적: Weave는 모델을 실행할 때마다 각 run의 입력, 출력, 매개변수를 캡처합니다.
  • 버전 관리: 모델의 속성이나 코드가 변경되면 자동으로 버전이 관리되므로, 요약 파이프라인이 시간에 따라 어떻게 발전해 왔는지 명확한 이력을 확인할 수 있습니다.
  • 재현성: 버전 관리와 추적 기능 덕분에 요약 파이프라인의 이전 결과나 설정을 언제든지 재현할 수 있습니다.
  • 하이퍼파라미터 관리: 모델 속성(예: model, density_iterations)이 명확하게 정의되고 여러 run에 걸쳐 추적되므로 실험을 진행하기가 수월합니다.
  • Weave 에코시스템과의 인테그레이션: weave.Model을 사용하면 평가, 서빙 기능 등 다른 Weave 도구와 연동할 수 있습니다.

평가 메트릭 구현

이제 파이프라인에서 요약이 생성되므로, 요약의 품질을 체계적으로 측정할 방법이 필요합니다. 요약의 품질을 평가하기 위해 다음과 같이 단순한 평가 메트릭을 구현하세요.
이 평가 함수는 Claude 모델을 사용해 생성된 요약의 품질을 관련성, 간결성, 기술적 정확도 기준으로 평가합니다.

Weave Dataset 생성 및 평가 실행

점수화 함수를 정의했으니 이제 마지막 단계로 샘플 입력에 이 함수를 적용하고 평가를 실행합니다. 파이프라인을 평가하려면 Weave Dataset을 생성하고 평가를 실행하세요.
데이터셋 선택 및 설정 옵션이 포함된 평가용 Weave Dataset 설정 화면
평가에는 LLM-as-a-judge 방식을 사용합니다. 이 기법은 언어 모델을 사용해 다른 모델이나 시스템이 생성한 출력의 품질을 평가하는 방식입니다. LLM의 이해 및 추론 능력을 활용해 세밀한 평가를 제공하므로, 기존 메트릭만으로는 충분하지 않은 작업에 특히 유용합니다. arXiv
Chain of Density 요약 결과, 메트릭, 성능 비교가 표시된 Weave 평가 대시보드
이 코드는 샘플 ArXiv 논문으로 데이터셋을 생성하고, 품질 Scorer를 정의한 다음, 요약 파이프라인의 평가를 실행합니다.

결론

이 예제에서는 Weave를 사용하여 ArXiv 논문용 Chain of Density 요약 파이프라인을 구현하는 방법을 살펴보았습니다. 이 예제에서 배운 내용은 다음과 같습니다.
  • 요약 과정의 각 단계별로 Weave 오퍼레이션 생성하기
  • 추적 및 평가를 위해 파이프라인을 Weave Model로 래핑하기
  • Weave 오퍼레이션을 사용하여 맞춤형 평가 메트릭 구현하기
  • 데이터셋을 생성하고 파이프라인 평가 실행하기
Weave는 요약 과정 전반의 입력, 출력, 중간 단계를 추적하므로 LLM 애플리케이션을 더 쉽게 디버깅하고 최적화하고 평가할 수 있습니다. 이 예제를 확장하여 더 큰 데이터셋을 처리하거나, 더 정교한 평가 메트릭을 구현하거나, 다른 LLM 워크플로와 통합할 수도 있습니다. W&B에서 전체 리포트 보기
마지막 수정일 2026년 9월 30일