오늘 한 일

프로젝트

  • 어제 CoT를 생성하도록 학습한 모델을 이용해서 테스트셋에 대해 CoT를 뽑고, 그걸 또 학습시켜서 정답을 생성하도록 하는 과정을 완료해서 제출해봤다.
    • ㅋㅋ 잘 안됐다.
  • 그래서 어제 이야기한 베이스라인 클래스를 merge하는 과정을 거쳤다. 새로운 클래스 이름은 일단 Pipeline 정도로 생각해봤다.

멘토링

  • 방금 막 끝났다.
  • 논문 2편을 리뷰하는 시간을 가졌다. 난 다다음주에 하고, 오늘은 다른 팀원 두 분이서 진행하셨다.
  • Sequence to Sequence Learning with Neural Networks
    • 왜 지금은 안 쓰는 방법일지 생각해볼 것
      • LSTM → 병렬 처리가 안됨. 기울기 폭발/소실 문제를 겪음.
  • Attention is all you need
    • 아주x10 중요한 논문. 10번은 읽을 것
    • Jay Alammar라는 분의 블로그를 잘 참고하자: 링크

프로젝트 피드백

  • 왜 굳이 모델을 2단계로 나누세요? 걍 1단계로 해도 될듯?
    • 1단계로 하면 생성 기반으로 문제를 풀어야 하니 엄청 오래걸리고 파싱하기 좀 빡세지 않을까 싶어서 그러긴 했다.
    • 생성 느린 거는 vllm을 활용하면 될 것 같고, 파싱은 사실 맨마지막에 정답 출력하도록 하기만 하면 괜찮을지도?
  • 프롬프트 템플릿 퀄리티가 중요하다.
    • GPT-4o한테 넣는 프롬프트나 모델한테 넣는 프롬프트 둘 다 중요.
      • 엔지니어링을 하라기 보다는 few-shot 열심히 주면서 잘 해보는 식으로?
  • 선택과 집중이 필요하다.
    • Task를 잘 관리해서 팀 단위로 나누어 진행하는 게 좋을 듯.
  • 하이퍼파라미터: batch_sizelr 등은 좀 신경쓰는 게 좋다.
  • 시간 남으면 DPO도 해보기: pdf

다음에 할 일

  • 사실 CoT 포기하려고 했는데… 피드백 받은 것도 있고 GPT한테 좀 질 좋은 데이터를 한번 뽑아보고 모델도 좀 바꿔서 말씀하신대로 1단계로 바꿀 수 있도록 해보자.
  • vllm을 이용해서 추론 가속화
  • 베이스라인 코드 마저 정리