ELECTRA 모델 구현 및 Domain Adaptation 방법 정리 포스트에 대한 Repo 입니다.
Generator와 Descriminator 학습을 위한 구조 및 🤗Transformers를 활용해 Electra에 대한 Domain Adaptation 수행
Domain Adaptation은 Electra-Base를 활용했으며 데이터/컴퓨터 과학 분야의 도서 데이터를 학습
Electra의 학습 방식을 이해할 수 있도록 모델의 예측 결과 제공(ELECTRA 학습 데이터 시각화 예시 참고)
Domain Adaptation에 대한 설명은 [NLP] Domain Adaptation과 Finetuning 개념 정리 참고
0번째 epoch 진행 중 ------- 12번째 step 결과
원본 문장 : 특히 안드로이드 플랫폼 기반의 (웹)앱과 (하이)브드리앱에 초점을 맞추고 있다
가짜 문장 : 특히 안드로이드 플랫폼 기반의 (마이크로)앱과 (이)브드리앱에 초점을 맞추고 있다
21개 토큰 중 0개 예측 실패 -------- 2개 가짜 토큰 중 2개 판별
문장 위치 | 실제 토큰 | (가짜)토큰 | 실제 | 예측 | 정답 | |
---|---|---|---|---|---|---|
0 | 6 | 웹 | (마이크로) | fake | fake | O |
1 | 9 | 하이 | (이) | fake | fake | O |
Combined Loss 2.225 -- Generator Loss : 0.576 -- Discriminator Loss : 0.033
0번째 epoch 진행 중 ------- 22번째 step 결과
원본 문장 : 친절한 이론 설명은 (누구) (##나) 어렵지 않게 기초를 다 (##질) 수 있도록 안내하며 감각적인 실무 예제는 여러분의 디자인 잠재력을 깨워줄 수 있을 것입니다
가짜 문장 : 친절한 이론 설명은 (이렇) (##이) 어렵지 않게 기초를 다 (##할) 수 있도록 안내하며 감각적인 실무 예제는 여러분의 디자인 잠재력을 깨워줄 수 있을 것입니다.
43개 토큰 중 3개 예측 실패 -------- 3개 가짜 토큰 중 2개 판별
문장 위치 | 실제 토큰 | (가짜)토큰 | 실제 | 예측 | 정답 | |
---|---|---|---|---|---|---|
0 | 6 | 누구 | (이렇) | fake | fake | O |
1 | 7 | ##나 | (##이) | fake | fake | O |
2 | 15 | ##질 | (##할) | fake | - | X |
3 | 14 | 다 | 다 | - | fake | X |
4 | 22 | 감각 | 감각 | - | fake | X |
Combined Loss 14.246 -- Generator Loss : 2.97 -- Discriminator Loss : 0.226
torch == 1.12.1
pandas == 1.4.3
transformers == 4.20.1
datasets == 2.8.0