오늘 한 일

프로젝트

  • 사실 컴퍼니데이랑 두런두런 일정이 있어서 쭉 집중하면서 하기보다는 조금씩 끊기면서 했다.
  • 어제 CoT를 생성하도록 하는 모델을 학습시키면서 드는 생각이, 결국 훈련용 데이터셋에서 답지를 외워봤자 테스트 데이터셋에서 새로운 답지를 만들어야 할 때 훈련된 내용이 도움이 될까 하는 것이었다.
  • 그러다가 애초에 gpt-4o-mini도 할루시에이션이 나타나서 gpt-4o로 해설 써보기로 했었는데, 커봐야 10B인 우리 모델이라고 할루시에이션이 없을까 하는 생각이 들었다.
  • 그래서 처음 CoT가 제안된 논문을 읽어서 모델 사이즈가 작은 모델이 CoT를 적용했을 때 성능이 올랐는지에 대해서 알아보고자 했다.
    • 지금 생각해보면 코드를 쓰기 전에 먼저 논문을 읽어보는 게 맞지 않았나….
    • 너무 무지성으로 “CoT 좋다니까 해봐야겠다~” 하는 의식의 흐름을 거쳤던 것 같다. 반성할 점 +1
  • 논문을 읽어보니 모델 사이즈가 작으면 크게 효과가 없는 것 같다. 심지어 10B 이하의 대부분의 모델은 성능이 오히려 감소되는 경향도 보이는 것 같다.
    • 이에 대한 자세한 내용은 깃헙에 따로 작성한 토론을 참고하시면 좋을 것 같다.
  • 물론 실험 설정이 내 방법론과 완전히 동일하고 뭐 그런 건 아닌데 그래도 근본적으로 작은 모델이 CoT를 생성해야 한다는 조건은 변하지 않아서 크게 다르거나 하지는 않을 것 같다….
  • 그래서 오늘 내일 중으로 실험 결과 한 번 뽑아보고 폐기하는 게 나을 것 같다…. 다른 방법 알아보자….

왜 BLEU인가?

  • evaluation 점수로 지금 BLEU를 사용하는 중이다.
  • 근데 사실 BLEU 점수로는 정말 CoT를 잘 뽑고 있는지 확신하기는 어렵다고 생각은 하는데… 다른 방법들에 비해서는 그나마 낫지 않은가 하는 게 내 생각.
  • 대안1. 유료API를 써서 몇점 정도인지 뽑아달라고 하기
    • 잘 해줄 것 같긴 한데, generate()를 하는 것 자체가 좀 오래 걸리지 않을까 하는게 내 생각.
    • 물론 유료API다 보니 돈도 더 들어감.
  • 대안 2. 모델을 학습시켜서 지표로 사용하기
    • 하면 encoder 기반의 모델을 써야 할 것 같은데, 그럼 또 CoT가 너무 길면 채점 못하지 않을까?
    • 또 거의 10B 올려놨는데 모델이 하나 더 올라가면 터지지 않을까?
    • 역시 generate()하는 게 오래 걸리고, 채점용 모델을 학습시킬려면 라벨이 필요하니까… 또 그럼 너무 일이 커진다.
  • 대안 3. ROUGE
    • ROUGE는 긴 문장 -> 짧은 문장일 때 적당한 거 아닌가요?
    • 비슷한 길이의 문장이라면 BLEU가 더 낫지 싶었는데….
    • 사실 확실하게 할 거면 둘 다 해보면 되긴 하는데, 임시로 쓸 거면 BLEU가 더 괜찮지 않나 싶었다.

두런두런

  • 어떻게 하면 좋은 이력서를 쓸 수 있는지에 대한 이야기를 들을 수 있었다.
  • 이력서를 어떻게 쓰면 좋은지에 대한 내용은 따로 메모를 해놔서 블로그에다가 또 옮겨적을 건 없을 것 같다. 귀찮다.
  • 대신 기억에 남았던 따뜻한 말을 적자면, 이력서가 텅빈 것이 당연한 것이고, 거기에 어떤 역량이 적혀있으면 좋을지 생각해보고, 그를 위해서 프로젝트에서의 방향을 잡으라는 것이었다.
    • 사실 당연한 말인데… 나는 간과하고 있었던 것 같다.
    • 그냥 이력서에 어떤 역량이 적혀있으면 좋겠어서 특정 업무를 잡기 보다는, 그냥 그때마다 손에 가는 걸 집었던 것 같다.
      • 그냥 내 인생이 다 이 모양이라… 여기까지 온 게 아닌가… 허허….
    • 근데 “갖고 싶은 역량”이 있으려면 사실 “하고 싶은 직무”가 있어야 해서… 삶의 지도가 이래서 또 중요한 것 같다….
      • 삶의 지도 후속편을 쓰고 싶은데 시간을 못 내겠다….
      • 이번 주에는 반드시 해야지.
  • 또, 비슷한 맥락에서 이력서도 버전관리를 적용해보라고 하셨다.
    • 로 이력서를 쓰면 일종의 코드라서 버전관리가 되지 않을까 ㅎㅎ.
      • 이력서도 이번 주에는 꼭 쓰자….
  • 아! 그리고 블로그 관리도 되게 좋은 습관인 것 같다.
    • 프로젝트에서 느꼈던 생각이나 경험을 그때마다 글로 잘 정리해두는 것이 마스터님 입장에서는 가점인듯.
    • 이번 프로젝트는 Github Discussion까지 쓰면서 더 본격적으로 관리를 하고 있는 느낌이라 좋은 것 같다 ㅎㅎ.
      • 지난 프로젝트들은 그냥 블로그에 징징거린 게 전부인 것 같아서… 블로그도 기왕 쓰는 거 신경 쓰면서 써야겠다.

다음에 할 일

  • CoT 마무리하기
    • 사실 지금도 계속 실험 돌리는 중. 되도록이면 오늘 끝내보고 싶은데….
  • 베이스라인 유지보수
    • 좀 베이스라인 코드에 구멍이 있는 것 같아서? (사실 있는지도 잘 모르겠음) 군데군데 그런 걸 채워넣으면 좋을 것 같다.
    • inference랑 trainer랑 독립된 클래스로 나누어져 있는 게 좀 비직관적인 것 같아서 내일 팀원들 의견 물어보고 합치면 좋을 것 같다.
    • 또 앙상블 대비용으로 벨리데이션 데이터셋을 독립적으로 관리하고, 벨리데이션 결과랑 inference 결과에 logit 값을 좀 저장할 수 있도록 업데이트 해놓으면 좋을 듯.
      • 근데 파이썬 파일로 업데이트 해놓으면 팀원이 안 쓸 것 같아서… 이것도 한번 여쭤보고 해야할 듯.