이 실험에 사용된 데이터 세트는 DpgMedia2019: 당파 탐지를 위한 네덜란드 뉴스 데이터 세트입니다.
여기에는 다양한 부분이 포함되어 있지만 이 저장소에서 제가 사용하는 주요 부분은 원본 104K 뉴스 기사의 하위 집합입니다. 각 기사에는 해당 기사가 당파인지 아닌지(참/거짓)를 나타내는 '당파'라는 라벨이 있습니다. 당파/무당파 기사의 양은 대략 균형을 이루고 있습니다.
데이터 세트는 예를 들어 당파적인 뉴스 탐지기를 만드는 데 기여할 목적으로 작성자가 만들었습니다. 실험에 사용된 Python 코드에서는 특정 데이터세트 파일이 자동으로 다운로드됩니다.
데이터 세트와 데이터 세트 구성 방법에 대한 자세한 내용은 github 및 논문을 확인하세요. 자세한 내용은 참고 자료를 참조하세요.
메모 !! 2023년 1월 현재 데이터 세트의 원래 github 위치에서 모든 파일을 더 이상 사용할 수 없습니다. 원본 파일이 필요한 경우 Kaggle 데이터세트에서 다운로드하세요.
이 저장소에 사용된 훈련 및 검증 하위 집합은 'data' 폴더에서 사용할 수 있습니다.
노트북 'Prepare_Train_and_Validation_Datasets.ipynb'에서 전체 데이터세트는 훈련 및 검증에 사용되는 더 작은 하위 집합으로 분할됩니다.
이러한 파일은 이 저장소의 'data' 폴더에서 사용할 수 있습니다.
데이터의 더 작은 하위 집합을 생성하는 주된 이유는 GPT(또는 다른 LLM) 모델이 미세 조정을 수행하는 데 수천 개의 샘플만 필요하기 때문입니다. 데이터 세트가 작을수록 토큰이 적고 신용 카드 청구서가 적어집니다 ;-)
더 작은 하위 집합의 샘플 양은 다음과 같습니다.
더 작은 훈련 및 검증 데이터 하위 집합에 대한 노트북 'Transformer_Model_Training_And_Validation.ipynb'에서 훈련되고 검증된 다음 일반 Transformer 모델:
PolyLM 1.7B 및 OpenLLaMA 7B V2 Open LLM 모델은 둘 다 네덜란드어도 포함된 다중 언어 데이터 세트에서 사전 훈련되었습니다.
노트북 'Open_LLM_Training_And_Validation.ipynb'에서 Open LLM 모델은 4비트로 양자화되고 QLoRA 설정으로 미세 조정되어 GPU 메모리 공간을 최소화합니다.
LoraConfig는 순위 64, 알파 16으로 설정됩니다.
훈련 후 PolyLM 1.7B 모델은 검증 세트에서 84.4%의 정확도를 달성한 반면 OpenLLaMA 7B V2 모델은 89.5%를 달성했습니다.
저는 여러 번 훈련을 실행했고 다양한 경우에 두 모델 모두 위에서 언급한 값에 비해 최대 0.5% 더 높거나 낮은 점수를 받았습니다.
GPT-3.5를 미세 조정하는 코드는 'Finetune_GPT-3.5.ipynb' 노트북에서 확인할 수 있습니다. 교육 및 검증 CSV 파일을 기반으로 특정 파일이 생성되어 GPT-3.5 모델을 미세 조정하는 데 사용되는 OpenAI에 업로드됩니다. 뉴스 기사는 모델이 미세 조정을 통해 학습할 분류를 위해 설계된 특정 프롬프트로 래핑됩니다.
인증 코드는 노트북 'Validate_GPT-3.5.ipynb'에서 확인할 수 있습니다. 유효성 검사 세트의 각 레코드에 대해 뉴스 기사의 텍스트가 프롬프트에 래핑되고 API를 통해 OpenAI가 호출되어 채팅 완료에서 응답을 받습니다. 응답은 이진 라벨로 변환되고 정답 라벨을 사용하여 최종 분류 보고서가 생성됩니다.
미세 조정된 OpenAI GPT-3.5 모델은 검증 세트에서 89.4%의 정확도를 달성합니다.
저는 미세 조정 및 검증을 위해 Azure OpenAI가 아닌 OpenAI를 사용했습니다.
이 노트북의 최신 버전(2023년 12월 5일)에서 다음과 같이 업데이트했습니다.
3개의 Transformer 모델과 GPT-3.5 모델에 대한 검증 세트에서 달성된 정확도 점수를 아래에서 찾아보세요.
GPT-3.5 모델은 미세 조정 후 높은 정확도 점수를 달성합니다.
Transformer 3개 모델의 성능은 조금 뒤떨어집니다. 더 많은 데이터 샘플에 대한 교육을 통해 분명히 이점을 얻을 수 있습니다.
Open LLM PolyLM이 가장 낮은 점수를 받았습니다. 그러나 OpenLLaMA 7B V2 모델은 GPT-3.5 Turbo 미세 조정 모델(0613 및 1106)이 달성한 점수와 비교할 수 있는 89.5%라는 놀라운 점수를 달성했습니다.
(LLM) 모델 유형 | 검증 정확도(%) 점수 |
---|---|
PolyLM 1.7B (로라: r = 64) | 84.4 |
다국어 DistilBert | 85.6 |
다국어 버트 | 86.3 |
다중 언어 DeBERTa V3 | 85.8 |
OpenLLaMA 7B V2 (로라: r = 64) | 89.5 |
GPT-3.5 Turbo 0613(미세 조정) | 90.8 |
GPT-3.5 Turbo 1106(미세 조정) | 89.4 |
GPT-3.5 Turbo 1106(상황에 맞는 학습) | 56.0 |
!! 다중 언어 DeBERTa V3(전체 데이터 세트) | 95.2 |
@misc{1908.02322,
Author = {Chia-Lun Yeh and Babak Loni and Mariëlle Hendriks and Henrike Reinhardt and Anne Schuth},
Title = {DpgMedia2019: A Dutch News Dataset for Partisanship Detection},
Year = {2019},
Eprint = {arXiv:1908.02322},
}