아마존에서 주최한 LLM을 활용하여 여러 task를 푸는 대회에 참가하였습니다..
track이 총 5개가 있습니다.
그 중 제가 참가한 대회는 track2:Shopping Knowledge Reasoning 입니다..!
자세한 내용은 위 링크 참고해주세요!
이런 문제를 풀어야한다고 합니다.
이 문제의 요구사항
요구사항을 요약하면
1. 수학을 잘해라
2. 상식을 챙겨라
3. 생각을 하라
이제 않을까 싶습니다..ㅎ
정도가 있겠습니다.
대회가 주최된 시점의 전후로 모델이 쏟아져 나오기 시작했습니다...
gemma, llama3, openELM 등등
다들 자기가 최고라고 논문을 내니 그냥 써보는 수밖에 없었습니다.ㅠㅠㅠ
저희 서버 사양은
4090 24기가 gpu 6개를 갖고 있습니다. 사양은 충분하니 gemma 7B 모델 부터 학습을 하려 합니다. 학습을 연습하기 위해 gemma의 colab내용을 가져와서 서버에서 돌려보았습니다.
그런데..... OOM.......
cuda out of memory가 떠서 보니 6개 gpu가 잘 사용되고 있으나 첫번째 gpu가 oom이 발생하여 트레이닝이 멈췄습니다... 병렬처리를 하려고 해도 gemma는 방법이 따로 있는건지 수많은 에러 때문에 포기하였습니다...
그래서 2B모델로 낮춰서 진행하였습니다.
학습 코드를 이해하는 것도 일이기에.... 1주일정도 소모한듯 합니다.
(사실 그냥 인자만 대충 바꿔서 하면 되긴 하지만 그러기엔 뭔가 아쉬워서)
진짜 OOM........
이번엔 이 모델까지 안되면 대회를 포기하자고 했으나 또 며칠은 파라미터를 수정하면서 학습하는데 시간을 할애하였습니다.
결국 batch_size와 gradient를 최소로 잡고 학습하였더니 진행이 되긴했습니다.
하지만 학습결과가 너무 좋지않았습니다.....ㅠ 엉뚱한 말을 하기도하고 답을뱉어도 틀리기만 합니다.. 말이라고 보기도 어려운 요상한 문자들....
정말 수백번 에러에 뚜드러 맞고보니 2주가 남았습니다.. 거의 2주동안 미친듯이 코드 공부하고 이제 어떤모델도 학습을 할 수 있게 되었는데 결과가 너무 안좋아서 제출도 하지 않았습니다...
unsloth 에서 제작(?)한 llama3_8b_bnb_4bit 모델을 발견하였습니다.
학습하는데 메모리를 70%를 줄여준다..?!
-> 바로 사용해보자
사용 결과 GPU 1개로 10GB만 사용해서 학습이 가능했습니다..!
unsloth 최고...
학습이 잘되는 것이 확인 됐으니 이제 박차를 가할 수 있게 되었습니다.!!
LLM 모델 선정하기
모델이 선정되었습니다....!
unsloth/llama3-8b-bnb-4bit
이 과정이 약 3~4주 정도 진행 한 것 같습니다...
data science lab에서 공부를 하는 거라 LLM이 전공은 아니지만
data 는 결국 LLM과도 연관되어 있다고 봐도 무방하기에 LLM에 도전해보았습니다.
다음 편은 대회에서 요구하는 출력이 무엇인지 확인해 보고 학습 방향을 설정했던 과정을 풀어보겠습니다..!