NL-293, I Don’t Know: Explicit Modeling of Uncertainty with an [IDK] Token, NeurIPS 2024

이미지
◼ Comment 여기서 모델이 학습할때, 모르는 부분에 대해서는 모른다고 학습을 해야한다고 말한다 하지만 다른 연구처럼 명시적으로 I don't know와 같은 문구로 답변하는게 아니라, special token [IDK]을 만들고 이를 vocab에 넣어서 학습하겠다는 것이다 귿네 pretraining이라는게 원래 지식을 주입하는 거고, SFT에서 pretraining에 없는 지식을 강제로 학습할때 환각이 발생하기 때문에 IDK로 해결하려고 하는건데 여기서는 continual pretraining에서 IDK을 넣는것이다.  SFT랑은 다르게, pretraining 학습데이터 (PILE)에서부터 학습을 진행한다 그래서 살짝 이상하다. pretraining은 원래 지식주입단계인데? 따라서 기존의 pretraining 된 모델에서 모르는 지식은 IDK로 처리하겠다는 것인데 완전히 IDK로 처리하는게 아니라 일부 확률을 IDK로 보겠다는 것이다 좀 더 디테일하게 가면 학습할 문서가 있을때, 순차적으로 토큰을 생성하도록 학습될거다 이때 토큰을 생성할 확률에 확신이 없으면, 그 만큼을 [IDK] 토큰쪽의 label로 옮기겠다는 것 생성할 토큰이 vocab에서 첫번째면 레이블이 [1,0,0,0]이다. 이때 모델이 생성할 확률이 [0.1, 0.5, 0.2, 0.2]이면 원래라면 이 확률이 [1, 0, 0, 0]에 가까워지도록 학습이 된다. 하지만 레이블을 [0.6, 0, 0, 0.4] 이런식으로 변형해서 학습을 하면, 이 상황에서는 4번째 [IDK]토큰이 생성되어야 한다는 시그널을 주는 것이다 몇 가지 하이퍼파라미터가 있는데 본문 참고 몇 개의 베이스라인이 있는데 일단 패스하고.. 평가할때는 모델이 입력으로 불완전한 문장을 받고, 이를 사실적으로 완성하는 것으로 질문 형태 (원본) 문장 형태 (변환 후) 정답 "한국의 수도는 어디인가요?" "한국의 수도는 ___이다." 서울 "앨버트 아인슈타인이...

NL-292, Factuality Enhanced Language Models for Open-Ended Text Generation, NeurIPS 2022

 다음은 논문 「Factuality Enhanced Language Models for Open-Ended Text Generation」을 요약한 것입니다. 논문의 개요 대규모 사전 학습 언어 모델(Pre-trained Language Models, LMs)은 자연스러운 텍스트 생성 능력이 뛰어나지만, 사실에 부합하지 않는(nonfactual) 내용을 생성하는 문제가 있음. 본 연구는 오픈 엔드(Open-ended) 텍스트 생성 시 언어 모델이 생성하는 문장들의 사실 정확성(factual accuracy) 을 측정하고 향상시키는 방법을 연구함. 이를 위해, 논문은 다음 세 가지 주요 기여를 제시함: 사실성 평가를 위한 벤치마크( FACTUALITYPROMPTS ) 및 평가 지표 구축 Factual-nucleus sampling 이라는 새로운 디코딩 알고리즘 제안 Factuality-enhanced training 이라는 새로운 학습 방식을 제안하여 기존 LM의 사실성을 크게 개선함 주요 연구 내용 및 방법론 1. FACTUALITYPROMPTS 벤치마크 및 평가 지표 설계 오픈 엔드 생성 문장을 위한 새로운 평가 세트 ( FACTUALITYPROMPTS ) 제작 평가 방법은 다음과 같이 구성됨: Named-Entity Error (NEER) : 생성된 문장에서 위키피디아 등 신뢰 가능한 문서에 나타나지 않은 Named Entity(NE)가 등장하면 오류로 간주. Entailment Ratio (EntailR) : 생성된 문장이 문서 내의 Ground-truth 문장에 의해 entail(함의)되는 정도로 측정. 자동 평가 방식은 human annotation(인간 평가)과 강한 상관성을 보였음. 2. Factuality 분석 모델 크기(126M ~ 530B), 프롬프트 유형, 디코딩 알고리즘에 따라 사실 정확성을 분석함. 모델 크기 : 모델 크기가 클수록 factuality가 증...

NL-291, R-Tuning: Instructing Large Language Models to Say ‘I Don’t Know’, NAACL 2024

이미지
◼ Comment 여기서 환각은 pretraining에서 배운 지식과 finetuning에서 배운 지식이 다르기 때문에 발생하는게 원인이라고 규정한다 따라서 모델이 모르는 응답에 대해서는 I don't know라고 말할 수 있도록 학습한다는 방법을 제시한다 이전 논문과 유사한 방법인데, 학습할 SFT 데이터에서 모르는 데이터를 먼저 솎아낸다 아는 데이터는 response+I am sure 을 붙이고 모르는 데이터는 response+I am unsure 을 붙여서 데이터를 강화?해서 이걸로 학습하겠다는 것이다 그렇다면 알고 모르는걸 어떻게 판별할 것이냐? R-Tuning pretrained LM으로 SFT 데이터에 대해 테스트해서, 못 맞추는 것은 모르는 데이터라고 보는 것이다 R-Tuning-R 데이터를 response+I am sure/unsure로 하지 않고 response -> IDK 의 다양한 형식 으로 바꿔서 학습하는 방법 R-Tuning-U 정답 데이터가 없는 상황을 가정해서 응답을 여러개 생성해서 불확실성을 계산하여, 데이터에서 상위 50%는 아는거, 하위 50%는 모르는것이라고 가정해서 하는 것 self-consistency을 활용한 개념인데, 간단한게 반반으로 나눠서 실험함 실제로는 threhsold을 자동으로 설정해서? 결정하는게 좋을거 같긴한데..  R-Tuning-R은 부록에서 결과를 제시하고 R-Tuning-U은 간단하게만 실험된게 아쉽다 둘다 나쁘지 않은 아이디어 같은데 좀 더 자세하게 부록에라도 실험됐으면 좋았을거 같음 인퍼런스시 판별 학습을 안하고 위에서 데이터 만드는 방법대로 바로 적용해볼 수 있는데 학습하는게 더 낫다고 한다.  이 부분은 논문에서도 신기한 부분이라고 함 평가 방법 이렇게 학습한 모델 (R-tuning)으로 먼저 응답을 생성하고, I am 을 뒤에 붙여서 한번더 sure/unsure인지 판별한다 결과는 얼마나 거부하는지랑 AP scores라는 것으로 평가한다 학습한 도메인이 아닌 OOD 에서...