편집

다음을 통해 공유


LLM 엔드투엔드 평가

Azure AI 서비스
Azure AI Search
Azure OpenAI Service
Azure Machine Learning

이 단계에 도달할 때까지 이미 검색 인덱스가 생성되고 수행하려는 검색을 결정했습니다. 이 단계에서는 대용량 언어 모델에 대해 검색된 접지 데이터를 포함하는 예상 사용자 프롬프트를 평가하는 관점에서 RAG(Retrieval-augmented Generation) 솔루션을 평가하는 프로세스를 다룹니다. 이 단계에 도달하기 전에 테스트 문서 및 쿼리를 수집하고, 테스트 문서를 청크로 만들고, 청크를 보강하고, 청크를 포함하고, 검색 인덱스를 만들고, 검색 전략을 구현하는 준비 단계를 완료해야 합니다. 이러한 각 단계를 평가하고 결과에 만족해야 합니다. 이 시점에서 솔루션이 사용자 쿼리에 대한 관련 접지 데이터를 반환하는 것이 편해야 합니다.

이 접지 데이터는 사용자의 쿼리를 처리하기 위해 큰 언어 모델로 보내는 프롬프트의 컨텍스트를 형성합니다. 프롬프트 엔지니어링 전략은 이 문서의 범위를 벗어납니다. 이 문서에서는 접지 데이터의 관점에서 대규모 언어 모델에 대한 엔지니어링된 호출의 평가를 다룹니다. 이 문서에서는 몇 가지 일반적인 큰 언어 모델 평가 메트릭과 대규모 언어 모델 평가 계산 또는 독립 실행형 메트릭으로 사용할 수 있는 몇 가지 특정 유사성 및 평가 메트릭에 대해 설명합니다.

이 문서에서는 큰 언어 모델 메트릭 또는 유사성 및 평가 메트릭의 전체 목록을 제공하지 않습니다. 이러한 메트릭의 수는 매일 증가하고 있습니다. 이 문서에서 중요한 점은 각각 고유한 사용 사례가 있는 다양한 메트릭이 있다는 것입니다. 워크로드를 전체적으로 이해하는 유일한 사용자입니다. 사용자와 데이터 과학자는 측정하려는 항목과 해당 작업을 수행하는 데 도움이 되는 메트릭을 결정해야 합니다.

이 문서는 시리즈의 일부입니다. 소개를 읽습니다.

대규모 언어 모델 평가 메트릭

근거성, 완전성, 사용률 및 관련성을 포함하여 큰 언어 모델의 응답을 평가하는 데 사용할 수 있는 몇 가지 메트릭이 있습니다.

Important

대규모 언어 모델 응답은 비결정적입니다. 즉, 큰 언어 모델에 대한 동일한 프롬프트가 서로 다른 결과를 반환할 수 있고 종종 반환됩니다. 이는 평가 프로세스의 일부로 대규모 언어 모델을 사용하는 경우를 이해하는 데 중요합니다. 대규모 언어 모델을 사용하여 평가할 때 단일 대상에 대해 대상 범위를 사용하는 것이 좋습니다.

접지

충실이라고도 하는 근거는 응답이 컨텍스트를 완전히 기반으로 하는지 여부를 측정합니다. 응답이 컨텍스트에 존재하는 정보 이외의 정보를 사용하지 않는지 확인합니다. 낮은 접지 메트릭은 대규모 언어 모델이 환각이라고 하는 상상력이 있거나 무의미한 영역으로 표류할 수 있음을 나타냅니다.

계산

Evaluating

근거성이 낮으면 대규모 언어 모델에서 청크가 관련 항목으로 표시되지 않음을 나타냅니다. 코퍼스에 데이터를 추가하거나, 청크 전략 또는 청크 크기를 조정하거나, 프롬프트를 미세 조정해야 하는지 평가해야 합니다.

완결성

완전성은 응답이 쿼리의 모든 부분에 응답하는지 여부를 측정합니다. 완전성은 컨텍스트의 청크가 관련되어 있고 쿼리와 직접 관련되어 있는지를 이해하고 완전한 답변을 제공하는 데 도움이 됩니다.

계산

  • AI 지원: 검색 점수 프롬프트
  • 대규모 언어 모델은 대규모 언어 모델 응답의 품질을 측정하는 데 도움이 될 수 있습니다. 이 측정을 수행하려면 질문, 컨텍스트 및 생성된 답변이 필요합니다. 다음은 상위 수준 프로세스를 간략하게 설명합니다.
    1. 대규모 언어 모델을 사용하여 질문을 구문, 요약 또는 단순화합니다. 이 단계에서는 의도를 식별합니다.
    2. 모델에 의도 또는 의도에 대한 답변이 발견되었는지 또는 각 문서에 대한 대답이 "아니요" 또는 "예"일 수 있는 검색된 문서에서 파생될 수 있는지 확인하도록 요청합니다. "예"로 시작하는 답변은 검색된 문서가 의도 또는 의도에 대한 답변과 관련이 있음을 나타냅니다.
    3. 응답이 "예"로 시작하는 의도의 비율을 계산합니다.
    4. 점수를 제곱하여 오류를 강조 표시합니다.

Evaluating

완전성이 낮으면 먼저 포함 모델을 평가합니다. 콘텐츠의 어휘를 선택한 포함 모델의 어휘와 비교합니다. 도메인 특정 포함 모델이 필요한지 또는 기존 모델을 미세 조정해야 하는지 여부를 결정합니다. 다음 단계로 청크 분할 전략을 평가합니다. 고정 길이를 사용하는 경우 청크 크기를 늘리는 것이 좋습니다. 또한 테스트 데이터에 문제를 완전히 해결할 수 있는 충분한 데이터가 있는지 여부를 평가할 수 있습니다.

사용률

사용률은 응답이 컨텍스트의 청크에서 정보로 구성되는 정도를 측정합니다. 목표는 각 청크가 응답의 일부인 정도를 결정하는 것입니다. 낮은 사용률은 결과가 쿼리와 관련이 없을 수 있음을 나타냅니다. 사용률은 측면 완성도를 따라 평가해야 합니다.

계산

대규모 언어 모델을 사용하여 사용률을 계산할 수 있습니다. 청크가 포함된 응답 및 컨텍스트를 대규모 언어 모델에 전달할 수 있습니다. 대규모 언어 모델에 대답을 수반하는 청크 수를 확인하도록 요청할 수 있습니다.

Evaluating

다음 표에서는 완전성과 사용률을 함께 사용하는 지침을 제공합니다.

높은 사용률 낮은 사용률
높은 완성도 추가 작업이 필요하지 않음 이 경우 반환된 데이터는 문제를 해결할 수 있지만 관련이 없는 청크가 반환되었습니다. 상위 k 매개 변수 값을 줄이면 더 가능성 있는/결정적 결과를 얻을 수 있습니다.
낮은 완전성 이 경우 제공하는 청크가 사용되고 있지만 문제를 완전히 해결하지는 못합니다. 다음을 고려하십시오.
  • 청크 내의 컨텍스트를 늘리려면 청크 분할 전략을 검토합니다
  • 상위 k 매개 변수 값을 늘려 청크 수를 늘입니다
  • 완전성을 높일 수 있는 반환되지 않은 청크가 있는지 평가합니다. 그렇다면 반환되지 않은 이유를 조사합니다.
  • 완전성 섹션의 지침을 따릅니다
이 경우 질문에 완전히 대답하지 않으며 제공하는 청크가 잘 활용되지 않습니다. 다음 지침을 고려하여 이러한 문제를 해결합니다.
  • 청크 내의 컨텍스트를 늘리려면 청크 분할 전략을 검토합니다. 고정 크기 청크를 사용하는 경우 청크 크기를 늘리는 것이 좋습니다.
  • 프롬프트를 조정하여 응답 개선

정확도

대규모 언어 모델의 응답이 관련되고 쿼리와 관련된 정도를 측정합니다.

계산

Evaluating

관련성이 낮으면 다음을 평가합니다.

  • 대규모 언어 모델에 제공된 청크가 관련되어 있는지 확인합니다.
    • 반환되지 않은 관련 있는 실행 가능한 청크가 있는지 확인합니다. 있는 경우 포함 모델을 평가합니다.
    • 실행 가능한 청크가 없는 경우 관련 데이터가 있는지 확인합니다. 이 경우 청크 분할 전략을 평가합니다.
  • 관련 청크가 반환된 경우 프롬프트를 평가합니다.

완전성과 같은 다른 평가 메서드는 계산되어야 하며 관련성 측정값에서 관찰된 것과 유사한 점수를 생성해야 합니다.

유사성 및 평가 메트릭

소개에서 언급했듯이 데이터 과학에 사용되는 수백 개의 유사성 및 평가 메트릭이 있습니다. 일부 알고리즘은 음성 텍스트 변환 또는 언어 번역과 같은 도메인과 관련이 있습니다. 각 알고리즘에는 메트릭을 계산하기 위한 고유한 전략이 있습니다.

데이터 과학자는 측정하려는 항목과 측정에 사용할 수 있는 메트릭 또는 메트릭 조합을 결정합니다. 예를 들어 언어 번역 영역에서 Bleu 메트릭은 기계 번역과 사람 번역 모두에 표시되는 n-gram 수를 확인하여 동일한 단어를 사용하여 유사성을 측정합니다. 코사인 유사성은 기계와 인간 번역 간의 포함을 사용하여 의미 체계 유사성을 측정합니다. 의미 체계 유사성이 높고 인간 번역과 유사한 단어를 사용하는 것이 목표라면, 목표는 높은 코사인 유사성을 가진 높은 Bleu 점수가 될 것입니다. 의미 체계 유사성에만 신경을 품은 경우 코사인 유사성에 초점을 맞춥니다.

다음 목록에는 일반적인 유사성 및 평가 메트릭의 작은 샘플이 포함되어 있습니다. 나열된 유사성 메트릭은 토큰 기반, 시퀀스 기반 또는 편집 기반으로 설명되며, 유사성 계산에 매우 다른 방법을 사용하는 방법을 보여 줍니다. 또한 목록에는 한 언어에서 다른 언어로 텍스트 번역의 품질을 평가하기 위한 세 가지 알고리즘이 포함되어 있습니다.

  • 가장 긴 공통 부분 문자열 - 두 문자열 간의 가장 긴 공통 부분 문자열을 찾는 시퀀스 기반 알고리즘입니다. 가장 긴 공통 부분 문자열 백분율은 가장 긴 공통 부분 문자열을 사용하고 더 작거나 큰 입력 문자열의 문자 수로 나눕니다.
  • LCS(Longest Common Subsequence) - 두 문자열 간의 가장 긴 하위 시퀀스를 찾는 시퀀스 기반 알고리즘입니다. LCS는 하위 시퀀스를 연속 순서로 지정할 필요가 없습니다.
  • 코사인 유사성 - 두 벡터 사이의 각도 코사인을 계산하는 토큰 기반 알고리즘입니다.
  • Jaro Winkler - 한 문자열을 다른 문자열로 변환하는 최소 단계 수를 계산하는 기반 알고리즘을 편집합니다.
  • Hamming - 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 대체 수를 측정하는 편집 기반 알고리즘입니다.
  • Jaccard - 두 문자열의 교집합을 해당 문자열의 합집합으로 나누어 유사성을 계산하는 토큰 기반 알고리즘입니다.
  • Levenshtein - 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 문자 편집 수를 결정하여 유사성을 계산하는 편집 기반 알고리즘입니다.
  • BLEU - 한 언어에서 다른 언어로 기계 번역의 결과인 텍스트 품질을 평가합니다. Bleu는 기계 번역과 사람 품질 번역 간의 n-gram 중첩을 계산하여 이 평가를 수행합니다.
  • ROUGE - 한 언어의 기계 번역을 다른 언어와 인간이 만든 번역과 비교합니다. n-gram, skip-bigrams 또는 가장 긴 공통 하위 시퀀스의 겹침을 사용하는 여러 ROUGE 변형이 있습니다.
  • METEOR - 정확히 일치하는 항목, 형태소 분석 후 일치 항목, 동의어, 매개 변수 및 맞춤을 확인하여 기계 번역의 결과인 텍스트 품질을 평가합니다.

일반적인 유사성 및 평가 메트릭은 다음 리소스를 참조하세요.

설명서, 보고 및 집계

하이퍼 매개 변수가 결과에 미치는 영향을 이해할 수 있도록 실험에 대해 선택한 하이퍼 매개 변수와 결과 평가 메트릭을 모두 문서화해야 합니다. 하이퍼 매개 변수 및 결과를 포함 또는 검색 평가와 같은 세분화된 수준과 전체 시스템 종단 간 테스트와 같은 매크로 수준에서 문서화해야 합니다.

디자인 및 개발 중에 하이퍼 매개 변수 및 결과를 수동으로 추적할 수 있습니다. 그러나 전체 테스트 문서 및 테스트 쿼리 모음에 대해 여러 평가를 수행하는 동안 수백 개의 평가 실행과 수천 개의 결과가 포함될 수 있습니다. 평가에 대한 매개 변수 및 결과의 지속성을 자동화해야 합니다.

하이퍼 매개 변수 및 결과가 유지되면 하이퍼 매개 변수 선택 항목이 메트릭에 미치는 영향을 보다 쉽게 시각화할 수 있도록 차트 및 그래프 작성을 고려해야 합니다. 시각화를 사용하면 성능 저하 또는 급증으로 이어질 수 있는 선택 항목을 식별할 수 있습니다.

RAG 솔루션을 디자인하고 평가하는 것은 일회성 작업이 아니라는 것을 이해하는 것이 중요합니다. 문서 모음은 시간이 지남에 따라 변경됩니다. 고객이 묻는 질문은 시간이 지남에 따라 변경되며 프로덕션에서 학습할 때 질문 유형에 대한 이해가 진화할 것입니다. 이 프로세스를 몇 번이고 다시 확인해야 합니다. 과거 평가에 대한 설명서를 유지하는 것은 향후 설계 및 평가 작업에 매우 중요합니다.

RAG 실험 가속기

이 문서에서는 RAG 솔루션 디자인 및 평가와 관련된 모든 단계 및 디자인 선택을 안내합니다. 이 문서에서는 어떻게 해야 하는지가 아니라 수행해야 하는 작업을 중점으로 설명합니다. Microsoft의 최고 고객과 함께 작업하는 엔지니어링 팀은 RAG 실험 가속기라는 도구를 개발했습니다. RAG 실험 가속기는 RAG(Retrieval-augmented Generation) 솔루션 개발을 최적화하고 개선하도록 설계된 최신 실험 프레임워크입니다. RAG 실험 가속기는 연구원과 개발자가 RAG 성능을 구동하는 중요한 구성 요소를 효율적으로 탐색하고 미세 조정할 수 있도록 지원하여 궁극적으로 보다 정확하고 일관된 텍스트 생성을 제공합니다.

CLI 기반 인터페이스를 사용하면 다양한 포함 모델을 손쉽게 실험하고 청크 전략을 구체화하며 다양한 검색 방법을 평가하여 RAG 시스템의 잠재력을 최대한 발휘할 수 있습니다. 이를 통해 간단한 구성을 사용하여 하이퍼 매개 변수 튜닝의 복잡성을 추상화하면서 RAG 개발의 핵심 측면에 집중할 수 있습니다.

또한 프레임워크는 대규모 언어 모델 구성을 포괄적으로 지원하므로 모델 복잡성과 세대 품질 간의 완벽한 균형을 맞출 수 있습니다. 이 도구를 사용하면 실험 프로세스를 간소화하고, 귀중한 시간을 절약하고, RAG 모델의 성능을 크게 향상시킬 수 있습니다.

자연어 이해의 경계를 뛰어넘는 조련된 연구원이든 텍스트 생성 기능을 향상시키려는 업계 전문가이든, 이 실험 프레임워크는 RAG 개발 과정을 가속화하는 궁극적인 솔루션입니다. RAG 실험의 미래를 수용하고 이 최첨단 도구를 사용하여 모델의 진정한 잠재력을 실현합니다.

VISION Application Framework가 포함된 RAG

RAG 솔루션의 미디어 작업에 관한 이 문서의 지침은 대부분 Microsoft의 최고 고객과 함께 작동하는 다른 엔지니어링 팀에서 제공되었습니다. 이 팀은 Vision Application Framework가 포함된 RAG라는 프레임워크를 작성했습니다. 이 프레임워크는 MHTML 문서에서 텍스트 및 이미지 콘텐츠를 모두 처리하는 PYTHON 기반 RAG(Retrieval-augmented Generation) 파이프라인을 제공합니다.

프레임워크는 MHTML 파일에서 텍스트와 이미지를 로드, 청크 및 보강하고 청크를 Azure Search로 수집합니다. 프레임워크는 처리 및 비용 효율성을 위해 이미지 보강을 위한 캐싱을 구현합니다. 또한 프레임워크는 파이프라인의 일부로 평가를 통합합니다.

참가자

다음 단계