기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
의미 체계 견고성
입력의 의미를 보존하는 상태에서 작은 변경으로 인해 모델 출력이 얼마나 많이 변경되는지 평가합니다. 파운데이션 모델 평가(FMEval)는 키보드 오타, 대문자에 대한 무작위 변경, 공백의 무작위 추가 또는 삭제로 인해 모델 출력이 어떻게 변경되는지 측정합니다.
Amazon SageMaker AI는 Amazon SageMaker Studio에서 의미 체계 견고성 평가를 실행하거나 fmeval
라이브러리를 사용할 수 있도록 지원합니다.
-
Studio에서 평가 실행: Studio에서 만든 평가 작업은 미리 선택된 기본값을 사용하여 모델 성능을 빠르게 평가합니다. 개방형 생성에 대한 의미 체계 견고성 평가는 Studio에서 만들 수 없습니다.
fmeval
라이브러리를 사용하여 만들어야 합니다. -
fmeval
라이브러리를 사용하여 평가 실행:fmeval
라이브러리를 사용하여 만든 평가 작업은 모델 성능 평가를 구성하는 확장된 옵션을 제공합니다.
지원되는 작업 유형
의미 체계 견고성 평가는 연결된 기본 제공 데이터세트가 있는 다음 작업 유형에 대해 지원됩니다. 사용자는 자체 데이터 세트를 가져올 수도 있습니다. 기본적으로 SageMaker AI는 독성 평가를 위해 데이터 세트에서 100개의 무작위 데이터 포인트를 샘플링합니다. fmeval
라이브러리를 사용할 때 num_records
파라미터를 evaluate
메서드에 전달하여 조정할 수 있습니다. fmeval
라이브러리를 사용하여 사실적 지식 평가를 사용자 지정하는 방법에 대한 자세한 내용은 섹션을 참조하세요fmeval 라이브러리를 사용하여 워크플로 사용자 지정.
작업 유형 | 기본 제공 데이터세트 | 참고 |
---|---|---|
텍스트 요약 | ||
질문 응답 | ||
분류 | ||
개방형 생성 |
교란 유형
의미 체계 견고성 평가는 다음 세 가지 교란 중 하나를 수행합니다. 평가 작업을 구성할 때 교란 유형을 선택할 수 있습니다. 세 가지 교란 모두 NL-Augmenter에서 조정됩니다.
모델 입력의 예: A quick brown fox jumps over the lazy dog
.
계산된 값
이 평가는 원래의 교란되지 않은 입력을 기준으로 모델 출력과 일련의 교란된 입력 버전에 기반한 모델 출력 간의 성능 변화를 측정합니다. 평가에 필요한 프롬프트 구조에 대한 자세한 내용은 Studio에서 자동 모델 평가 작업 만들기 섹션을 참조하세요.
성능 교란은 원래 입력의 점수와 교란된 입력의 점수 간의 평균 차이입니다. 이 성능 변화를 평가하기 위해 측정된 점수는 작업 유형에 따라 달라집니다.
요약
요약 작업의 경우 의미 체계 견고성은 교란된 입력을 사용할 때 다음 점수와 각 점수에 대한 Delta를 측정합니다. Delta 점수는 원래 입력의 점수와 교란된 입력의 점수 간의 평균 절대 차이를 나타냅니다.
질문 응답
질문 답변 작업의 경우 의미 체계 견고성은 교란된 입력을 사용할 때 다음 점수와 각 점수에 대한 Delta를 측정합니다. Delta 점수는 원래 입력의 점수와 교란된 입력의 점수 간의 평균 절대 차이를 나타냅니다.
-
Delta 단어에 대한 F1 점수: 원래 입력과 교란된 입력에 대한 단어에 대한 F1 점수의 평균 절대 차이입니다. 단어에 대한 F1 점수는 질문 응답의 단어에 대한 F1 점수와 동일한 방식으로 계산됩니다.
-
Delta 정확한 일치 점수: 원래 입력과 교란된 입력에 대한 정확한 일치 점수의 평균 절대 차이입니다. 정확한 일치 점수는 질문 응답의 정확한 일치 점수와 동일한 방식으로 계산됩니다.
-
Delta 거의 정확한 일치 점수: 원래 입력과 교란된 입력에 대한 거의 정확한 일치 점수의 평균 절대 차이입니다. 거의 정확한 일치 점수는 질문 응답의 거의 정확한 일치 점수와 동일한 방식으로 계산됩니다.
-
Delta 단어에 대한 정밀도 점수: 원래 입력과 교란된 입력에 대한 단어에 대한 정밀도 점수의 평균 절대 차이입니다. 단어에 대한 정밀도 점수는 질문 응답의 단어에 대한 정밀도 점수와 동일한 방식으로 계산됩니다.
-
Delta 단어에 대한 리콜 점수: 원래 입력과 교란된 입력에 대한 단어에 대한 리콜 점수의 평균 절대 차이입니다. 단어에 대한 리콜 점수는 질문 응답의 단어에 대한 리콜 점수와 동일한 방식으로 계산됩니다.
분류
분류 작업의 경우 의미 체계 견고성은 교란된 입력을 사용할 때 정확도와 각 점수에 대한 Delta를 측정합니다. Delta 점수는 원래 입력의 점수와 교란된 입력의 점수 간의 평균 절대 차이를 나타냅니다.
-
Delta 정확도 점수: 원래 입력과 교란된 입력에 대한 정확도 점수의 평균 절대 차이입니다. 정확도 점수는 분류의 정확도 점수와 동일한 방식으로 계산됩니다.
개방형 생성
개방형 생성에 대한 의미 체계 견고성 평가는 Studio에서 만들 수 없습니다. GeneralSemanticRobustnessfmeval
라이브러리를 사용하여 만들어야 합니다. 개방형 생성의 점수 차이를 계산하는 대신 의미 체계 견고성 평가는 원래 입력과 교란된 입력 간의 모델 생성 불일치를 측정합니다. 이러한 불일치는 다음 전략을 사용하여 측정됩니다.
-
단어 오류율
(WER): 첫 번째 생성을 두 번째 생성으로 변환하기 위해 변경해야 하는 단어의 백분율을 계산하여 두 생성 간의 구문 차이를 측정합니다. WER 계산에 대한 자세한 내용은 HuggingFace article on Word Error Rate 를 참조하세요. -
예시:
-
입력 1: 'This is a cat'
-
입력 2: 'This is a dog'
-
변경해야 하는 단어 수: 1/4, 즉 25%
-
WER: 0.25
-
-
-
BERTScore 불일치(BSD): 1에서 BERTScore를 빼서 두 생성 간의 의미 차이를 측정합니다. BSD는 의미상 유사한 문장이 서로 더 가깝게 임베딩될 수 있으므로 WER에 포함되지 않는 추가적인 언어 유연성을 고려할 수 있습니다.
-
예를 들어 두 번째 생성과 세 번째 생성을 첫 번째 생성과 개별적으로 비교할 때 WER은 동일하지만 BSD 점수는 의미에 따라 다릅니다.
-
gen1(원래 입력):
"It is pouring down today"
-
gen2(교란된 입력 1):
"It is my birthday today"
-
gen3(교란된 입력 2):
"It is very rainy today"
-
WER(gen1, gen2)=WER(gen2, gen3)=0.4
-
BERTScore(gen1, gen2)=0.67
-
BERTScore(gen1, gen3)=0.92
-
BSD(gen1, gen2)= 1-BERTScore(gen1, gen2)=0.33
-
BSD(gen2 ,gen3)= 1-BERTScore(gen2, gen3)=0.08
-
-
다음 옵션은 GeneralSemanticRobustnessConfig
파라미터의 일부로 지원됩니다. -
model_type_for_bertscore
: 채점에 사용할 모델의 이름입니다. BERTScore 불일치는 현재 다음 모델만 지원합니다.
-
-
비결정적 모델
온도가 0이 아닌 LLM과 같이 모델 생성 전략이 결정적이지 않은 경우 입력이 동일하더라도 출력이 변경될 수 있습니다. 이러한 경우 원래 입력과 교란된 입력에 대한 모델 출력 간의 차이를 보고하면 인위적으로 낮은 견고성을 보여줄 수 있습니다. 비결정적 전략을 고려하기 위해 의미 체계 견고성 평가는 동일한 입력을 기반으로 모델 출력 간의 평균 차이를 빼서 불일치 점수를 정규화합니다.
max(0,d−dbase)
-
d
: 두 생성 간의 불일치 점수(단어 오류율 또는 BERTScore 불일치)입니다. -
dbase
: 동일한 입력의 모델 출력 간 불일치입니다.