본문 바로가기
LLM

[LLM] LLM으로 Tabular Data 학습해보기 - 2. 이진분류 (경정데이터분석)

by Tiabet 2024. 9. 29.

https://tiabet0929.tistory.com/72

 

[LLM] LLM으로 Tabular Data 학습해보기 - 1. GPT4o Finetuning (경정데이터분석)

https://www.kboat.or.kr/contents/customPlaza/noticeView.do?seqId=21256&cPage=1 KBOAT 경정2024 전국 대학생 경정 데이터 분석 경진대회 개최 안내 작성자 관리자 작성일 2024.07.24 조회 4191 첨부파일 파일 첨부됨 [양식]

tiabet0929.tistory.com

1편에 이어서 작성한다.

 

 

1편에서 학습이 잘 이루어지지 않는 문제의 해결책으로 나는 두 가지 방법을 채택했다.

 

1. 프롬프트에서 숫자의 간소화 (소수점 밑으로 열자리가 넘어가는 숫자들을 줄이는 방법)

2. 6명의 선수 중 우승 선수를 맞추게 하는 것이 아닌 한 선수를 우승/실패로 나누어서 예측하기

 

그리고 보완점으로 다음과 같은 점들을 추가했다.

 

1. 프롬프트 엔지니어링의 구체화 (페르소나 강하게 주기)

2. 답변 형식을 간단하게 하기 (우승/실패)

3. 생성이 중요한 것이 아니고 이진분류이기 때문에 인코더 모델인 BERT 사용하기

 

 

우선 프롬프트는 다음과 같아졌다.

실수를 소수점 아래 둘째자리까지만 추가하고, 답변을 이진 분류 형식으로 바꾸었으며, 페르소나와 가이드라인을 약간 더 주었다. 

 

이제 위 프롬프트로 파인튜닝을 진행한 결과를 확인해보자.

 

1. GPT4o Finetuning

1편에서와 똑같이 openai 플랫폼에서 파인튜닝을 진행해봤다.

 

절망적이게도 모든 선수를 실패로 예측했다. 여섯 선수가 한 경기에 뛰기 때문에 최소한 한 선수는 우승했다고 나와야 하는데 그렇지 않았다.

 

2. BERT

https://huggingface.co/FacebookAI/xlm-roberta-base

 

FacebookAI/xlm-roberta-base · Hugging Face

XLM-RoBERTa (base-sized model) XLM-RoBERTa model pre-trained on 2.5TB of filtered CommonCrawl data containing 100 languages. It was introduced in the paper Unsupervised Cross-lingual Representation Learning at Scale by Conneau et al. and first released in

huggingface.co

Facebook에서 bert기반으로 만든 인코더 모델인 xlm-roberta의 base 버전을 사용하여 파인튜닝을 진행해봤다. large 버전도 있으나 코랩의 GPU 제한으로 사용하지 못했다.

 

하지만 역시나 이 방법으로도 Train과 Validation loss가 감소하지를 않아서 결과에 큰 기대를 하지는 않았다.

그리고 놀랍게도 결과를 확인해본 결과, 모든 선수의 우승 확률을 동일하게 예측하고 있는 모습을 알 수 있었다.

 

결론

원인이 무엇인지는 모르겠는데 아무튼 학습을 전혀 하지 못하는 모습이었다. 학습을 하긴 하는데 잘못된 곳으로 수렴했다는 것이 더 정확한 표현일 듯. 클래스 불균형 문제거나 프롬프트에 _ 나 : 같은 특수부호가 너무 많아서, 동일 단어가 너무 많이 반복되어서 일수도 있겠다.

 

아무튼 문제를 해결하려면 의심가는 부분을 하나하나 다 바꿔보면서 새롭게 시도를 해봐야 하겠는데, 문제는 코랩도 gpu를 더 좋은 버전을 사용하려면 유료고  GPT4o도 파인튜닝하는 것이 부분무료라 돈이 꽤 많이 나간다는 점이다. 실제로 블로그에 기록한 시도들을 진행하면서 코랩 컴퓨터단위 100개 (14900원 정도), OPENAI API 35달러 (45000원 정도) 가 소비되어 학생인 나에겐 계속 머리를 박아보기엔 부담스럽다.

 

어차피 LLM을 계속 파고 있는 입장에서 언젠간 정형데이터를 LLM으로 다룰 기회가 한 번은 꼭 올 것이라 생각한다. 지금은 하고 있는 일도 있고 경제적인 한계도 있으니, 나중에 이 실패했던 경험을 발판삼아 꼭 성공해보고 싶다.