1. ROUGE와 BLEU의 차이?
1) BLEU
- 주로 기계번역의 품질을 평가하기 위해 개발됨
- 모델이 생성한 후보문의 n-gram들이 참조문에 얼마나 포함되어 있는지 측정합니다.
- 기준점은 후보문(모델 생성 텍스트)이고, 그 중에서 참조문(정답)에 있는 것들의 비율을 계산합니다.
- 즉, 후보문에 있는 단어/구절 중 몇 개가 참조문에도 있는지 측정합니다.
- 정밀도(Precision) 기반: 생성된 문장이 참조 문장과 얼마나 유사한지 측정
- 짧은 출력에 부당하게 높은 점수가 부여되는 것을 방지하기 위해 간결성 패널티(Brevity Penalty)를 적용
2) ROUGE
- 주로 요약 태스크의 품질을 평가하기위해 기발됨
- 참조문의 n-gram들이 모델이 생성한 후보문에 얼마나 포함되어 있는지 측정합니다.
- 기준점은 참조문(정답)이고, 그 중에서 후보문(모델 생성 텍스트)에 있는 것들의 비율을 계산합니다.
- 즉, 참조문에 있는 단어/구절 중 몇 개가 후보문에도 있는지 측정합니다.
- 재현율(Recall) 중심: 참조 요약에 있는 정보가 생성된 요약에 얼마나 포함되어 있는지 측정
🔔BLEU와 ROUGE의 차이에 대한 직관적인 설명
레스토랑 리뷰에 대한 비유로 설명BLEU (생성문 → 참조문, 정밀도)
- 당신이 레스토랑에 가서 음식을 먹고 리뷰를 작성했다고 생각해 보세요.
- BLEU는 "당신이 작성한 리뷰에 있는 표현들이 전문 음식 평론가들의 리뷰에도 얼마나 등장하는지"를 확인합니다.
- 당신이 쓴 모든 문장이 전문가들도 언급한 내용이라면 BLEU 점수가 높아집니다.
- 즉, 당신이 말한 것들이 "얼마나 정확했는지"를 측정합니다.
ROUGE (참조문 → 생성문, 재현율)
- ROUGE는 반대로 "전문 음식 평론가의 리뷰에 있는 중요한 표현들이 당신의 리뷰에 얼마나 포함되어 있는지"를 확인합니다.
- 전문가가 언급한 중요한 포인트들을 당신이 많이 놓치지 않고 커버했다면 ROUGE 점수가 높아집니다.
즉, 언급해야 할 중요한 내용을 "얼마나 빠짐없이 다루었는지"를 측정합니다.
왜 각 태스크에 적합한지?
기계 번역에서는 BLEU가 적합한 이유: 번역은 정확성이 중요합니다. 잘못된 단어나 표현을 사용하면 의미가 완전히 달라질 수 있어요. 따라서 "내가 생성한 번역이 얼마나 정확한지"를 측정하는 BLEU가 적합합니다.
요약에서는 ROUGE가 적합한 이유: 요약은 원본 텍스트의 핵심 정보를 얼마나 포함했는지가 중요합니다. 모든 중요 포인트를 다루었는지 확인하려면 "원본의 중요 내용이 요약본에 얼마나 포함되었는지"를 측정하는 ROUGE가 적합합니다.
2. BLEU와 BLEURT의 차이?
BLEU (Bilingual Evaluation Understudy)
- n-gram 중첩에 기반한 통계적 방법으로, 생성된 텍스트와 참조 텍스트 간의 n-gram 일치도를 계산하여 산출
- 장점: 계산이 간단하고 언어에 제한적이지 않음
- 한계점: 표면적인 일치만 확인(동의어 인식 불가, 문맥 이해 없음, 의미적 유사성 파악 못함)
- 개발 시기: 2002년에 개발된 전통적인 메트릭
BLEURT (Bilingual Evaluation Understudy with Representations from Transformers)
- 사전 훈련된 트랜스포머 모델(BERT)에 기반한 학습 기반 메트릭으로, BERT 모델을 기반으로 하며, 인간 평가와 유사하게 작동하도록 파인튜닝됨
- 장점: (1) 의미적 유사성 파악 가능 (2) 동의어 및 문맥 이해 (3) 언어적 변형에 강건함 (4) 인간 판단과 더 높은 상관관계
- 개발 시기: 2020년에 Google에서 개발한 최신 메트릭
- 한계점
(1) 계산 비용이 높음 - BERT 기반 모델이라 연산 자원이 많이 필요
(2) 도메인 적응 필요- 특정 도메인(의학, 법률 등)에 적용 시 추가 훈련이 필요할 수 있음
(3)다국어 한계 - 주로 영어에 최적화되었으며, 다른 언어에는 별도 모델 필요
🔔 BLEURT는 어떻게 인간의 평가와 유사하도록 학습되었는지?
BLUERT방법론에서 등장하는 학습은 총 3단계로 이루어진다.
1.사전학습 단계 (BERT기반 모델)
2.합성 데이터 훈련 단계 : 자동으로 생성된 합성 데이터로 먼저 훈련하여, 다양한 언어 현상을 인식하도록 학습함
> 동의어 및 유사 표현 인식, 단어 순서 변경 감지, 부정문 인식, 관련 없는 내용 삽입 감지, 중요 정보 누락 감지
3. 인간 평가 데이터로 파인튜닝 : 인간 평가자가 평가한 (생성문, 참조문, 점수) 데이터로 파인튜닝
여기서 특히 2단계를 구체적으로 살펴보면 다음과 같다.
[합성데이터 훈련단계]
<1> 동의어 및 의미적 유사성 학습(중의적인 표현 처리)
- 참조문: "그 회사는 2020년에 파산했다."
- 생성문: "그 기업은 2020년에 도산했다."
>> BLEU: 낮은 점수 (단어 일치가 적음)
>> BLEURT: 높은 점수 (의미적으로 동일함을 인식)
📟 합성데이터 생성방법 '백 트랜슬레이션(Back-translation)'
- 원본: "코로나 바이러스는 전 세계에 영향을 미쳤다."
- 번역(영어): "The coronavirus affected the whole world."
- 재번역(한국어): "코로나바이러스는 전 세계에 영향을 끼쳤다."
# 점수: 높음 (의미가 보존됨)
# 학습 효과: 동의어와 구문 변형 인식 능력 향상
<2> 구문 재배열
- 참조문: "어제 비가 와서 소풍을 취소했다."
- 생성문: "소풍을 취소했다, 왜냐하면 어제 비가 왔기 때문이다."
BLEU: 중간 점수 (일부 n-gram만 일치)
BLEURT: 높은 점수 (정보의 순서가 바뀌어도 동일한 의미임을 인식)
📟 합성데이터 생성방법 '문장 셔플링(Sentence shuffling)'
- 원본: "나는 아침에 일어났다. 그리고 커피를 마셨다."
- 변형: "그리고 커피를 마셨다. 나는 아침에 일어났다."
# 점수: 중간 (정보는 동일하나 흐름이 변경됨)
# 학습 효과: 문장 순서와 논리 흐름 평가 능력 향상
<3> 중요 정보 누락 감지
- 참조문: "코로나19 백신은 첫 접종 후 21일 뒤에 두 번째 접종을 받아야 한다."
- 생성문: "코로나19 백신은 두 번 접종해야 한다."
BLEU: 중간 점수 (많은 단어가 일치)
BLEURT: 낮은 점수 (중요 정보인 '21일 간격'이 누락됨을 인식)
📟 합성데이터 생성방법 '단어 드롭아웃(Word dropout)'
- 원본: "지난 주말에 친구들과 영화를 보러 갔다."
- 변형: "지난 주말에 친구들과 영화를 갔다."
# 점수: 중간~낮음 (중요도에 따라)
# 학습 효과: 누락된 정보 감지 능력 향상
📟 합성데이터 생성방법 '단어 마스킹 및 대체(Word masking and replacement)'
- 원본: "그는 매일 아침 조깅을 한다."
- 변형: "그는 매일 아침 수영을 한다."
# 점수: 중간~낮음 (변경된 단어의 의미적 거리에 따라)
# 학습 효과: 의미적 차이 감지 능력 향상
<4> 논리적 모순 감지
- 참조문: "연구 결과에 따르면 커피가 간 건강에 도움이 된다."
- 생성문: "연구 결과에 따르면 커피가 간 건강에 해롭다."
BLEU: 높은 점수 (대부분의 단어가 일치)
BLEURT: 낮은 점수 (의미가 반대임을 인식)
📟 합성데이터 생성방법 '모순 삽입(Contradiction insertion):'
- 원본: "지구는 태양 주위를 돈다."
- 변형: "지구는 태양 주위를 돌지 않는다."
# 점수: 매우 낮음
# 학습 효과: 논리적 모순 감지 능력 향상
<5> 불필요한 반복 감지:
- 참조문: "내일 회의가 있습니다."
- 생성문: "내일 회의가 있습니다. 내일 회의에 참석해 주세요. 회의는 내일 있습니다."
BLEU: 높은 점수 (참조문의 모든 단어가 포함됨)
BLEURT: 낮은 점수 (불필요한 반복을 감지)
<기타>
📟 합성데이터 생성방법 '문장 중첩(Sentence overlap):'
- 참조문: "파리는 프랑스의 수도이다."
- 생성문: "파리는 프랑스의 수도이며 에펠탑이 있다."
# 점수: 중간~높음 (추가 정보가 있으나 모순이 없음)
# 학습 효과: 추가 정보 처리 능력 향상
📟 합성데이터 생성방법 '관련 없는 정보 삽입(Irrelevant information insertion)'
- 원본: "축구는 인기 있는 스포츠이다."
- 변형: "축구는 인기 있는 스포츠이다. 내일은 화요일이다."
# 점수: 중간 (관련 없는 정보 추가)
# 학습 효과: 관련성 평가 능력 향상
하지만 합성데이터 자체의 한계로인한 성능 한계 존재함
BLEURT의 능력은 결국 합성 데이터 생성에 사용된 모델들의 한계에 영향을 받을 수밖에 없습니다. 이것은 "선생님을 뛰어넘을 수 없는 제자"와 같은 상황으로 볼 수 있습니다.
몇 가지 중요한 한계점이 있습니다:
- 생성 모델의 제약: 백 트랜슬레이션이나 BERT 마스킹의 품질은 그 기반 모델들의 한계를 넘을 수 없습니다. 번역 모델이 잘못된 번역을 생성하면, 그것은 BLEURT가 학습하는 데이터에도 영향을 줍니다.
- 합성 데이터의 분포 제한: 자동 생성된 변형은 실제 인간이 만들 수 있는 모든 유형의 변형을 커버하지 못합니다. 특히 매우 미묘한 뉘앙스나 문화적 참조 같은 복잡한 언어 현상은 포착하기 어렵습니다.
- 인공적인 패턴: 합성 데이터는 때로 실제 텍스트에서는 거의 발생하지 않는 패턴을 포함할 수 있습니다. 이는 BLEURT가 실제 상황에서 덜 유용한 특성에 가중치를 두게 할 수 있습니다.
- 점수 할당의 한계: 자동 점수 할당 시스템도 역시 기존 메트릭이나 규칙에 기반하므로, 그 자체로 완벽한 평가를 제공하지 못합니다.
BLEURT 개발자들도 이런 한계를 인식하고 있기 때문에 합성 데이터 훈련 후에 실제 인간 평가 데이터로 미세조정하는 단계를 추가했습니다. 이 미세조정 과정은 모델이 자동 생성 데이터의 한계를 일부 극복하게 도와주지만, 근본적으로 훈련 데이터의 품질과 다양성에 의존할 수밖에 없습니다.
따라서 BLEURT와 같은 학습 기반 메트릭은 훌륭한 발전이지만, 완벽한 텍스트 평가 도구라고 보기는 어렵습니다. 특히 매우 창의적이거나 비정형적인 텍스트, 또는 훈련 데이터에서 보지 못한 도메인에 대해서는 성능이 제한될 수 있습니다.
[인간평가데이터로 파인튜닝]
과연, 인간의 점수를 예측하게 파인튜닝한것이 어떤 능력을 학습하게 했다고 말할수있을까?
1) 얕은 상관관계 학습의 위험
모델이 텍스트의 심층적 이해보다는 인간 점수와의 표면적 상관관계를 학습할 가능성이 있습니다. 실제로 모델은 "이런 패턴이 나타나면 사람들이 높은 점수를 준다"는 통계적 패턴만 학습할 수 있습니다.
2) 데이터 양의 한계
인간 평가 데이터는 대개 합성 데이터에 비해 규모가 매우 작습니다(수천~수만 쌍 vs. 수백만 쌍). 이렇게 제한된 데이터로는 인간의 다양한 판단 기준을 포괄적으로 학습하기 어렵습니다. 평가자 다양성 문제: 평가 데이터는 특정 배경(예: 영어 원어민, 학술 배경)을 가진 소수의 평가자에게서 수집되는 경우가 많습니다. 이는 다양한 문화적, 언어적 관점을 반영하지 못할 수 있습니다.
3) 표면적 점수 매핑: 파인튜닝은 본질적으로 "이런 특성의 텍스트 쌍에는 이 정도 점수를 부여하라"는 매핑을 학습하는 것입니다. 이것이 인간의 복잡한 판단 과정을 내재화했다고 보기는 어렵습니다.
그러나 완전히 무의미하다고 볼 수도 없습니다:
1) 중요한 신호 제공
인간 평가 데이터는 합성 데이터에서 포착하지 못하는 미묘한 품질 차이에 대한 신호를 제공할 수 있습니다. 특히 실제 오류 사례에 대한 인간의 민감도는 자동 생성 데이터에서 복제하기 어렵습니다. 도메인 적응 효과: 파인튜닝은 모델이 특정 도메인(예: 기계 번역 평가)에 적응하는 데 도움을 줍니다. 이는 최소한 해당 도메인에서의 유용성을 높입니다.
결론적으로, 인간 평가 데이터로의 파인튜닝이 BLEURT에게 "인간의 텍스트 평가 능력"을 진정으로 부여한다고 보기는 어렵습니다. 그보다는 특정 유형의 평가 태스크에서 인간 평가와의 상관관계를 높이는 통계적 조정에 가깝다고 볼 수 있습니다. 이는 실용적인 관점에서는 유용하지만, 모델이 인간의 텍스트 이해 능력이나 판단 과정을 내재화했다고 주장하기에는 무리가 있습니다.
'자연어처리(NLP) > LLM(Large Language Model)' 카테고리의 다른 글
[LLM] LLM 어플리케이션을 위한 선택 : RAG vs Finetuning (0) | 2025.03.30 |
---|---|
LLM fine-tuning 학습 데이터 전략 최적화 (0) | 2025.02.25 |
[CIT/Continual Instruction Tuning] Task-Incremental Tuning① (PAPT, Continual-T0, ConTinTin, SLM) (0) | 2025.02.24 |
[Continual Learning] Continual Instruction Tuning (CIT) (0) | 2025.02.24 |
[LLM][기초] LLM의 Pre-Training Objective (Full, Prefix, Masked, Unified) (0) | 2024.09.11 |
댓글