Logo Ernie.SG

개발자 일기: 시험은 인간용이 아니니 해킹하자…

2024년 3월 15일
3분 읽기
사용 가능한 태그가 없습니다
Table of Contents

어떤 소프트웨어는 하수구 냄새가 난다

많은 조직은 비즈니스 성과를 내겠다며 수력발전 댐을 원하지만, 현실에서는 대개 물 새는 파이프가 얽힌 데이터 하수구에 갇혀 있다. 내가 어느 dedicated SQL pool을 써야 하는 날마다, 전생에 뭘 잘못했길래 이런 dedicated SQL 서비스를 상대해야 하나 싶어진다. 이 서비스는:

  • 데이터베이스 이름 변경을 허용하지 않는다

  • 그 위에서 Python 스크립트를 실행하면 20MB 제한이 걸린다

  • 데이터베이스 사이에서, 아니 같은 데이터베이스 안에서라도 테이블을 복사하고 싶다고? 테이블마다 다른 column index store가 있어서 복사할 때 직접 정의해야 한다는 걸 몰랐나?

  • Get Metadata에 필터를 적용하고 싶다고? 그런 건 없다

  • for each 안에 if를 쓰고 싶다고? 없다

  • 루프에서 지금 순회 중인 item을 가져오고 싶다고? pixie dust나 찾아보는 편이 낫다

이걸 다른 사람들에게 쓰라고 설득하는 컨설턴트들에게는 지옥 어딘가에 특별석이 마련되어 있을 것이다. 도대체 누구를 위해, 무엇을 위해 이득이 된다는 건지도 모르겠다. 어쨌든 불평은 이쯤 하자. 그래서 최근 나는 시험지를 데이터셋처럼 가지고 노는 일에 관심이 생겼다.

시험을 데이터로 보기

생각해보자. 표준화 시험보다 더 structured하고, 더 consistent하고, 더 cleaner한 데이터셋이 있을까!?!?!? 문제 수는 늘 비슷하고, 문제 유형도 정해져 있고, syllabus도 있다. 데이터 과학자라면 거의 꿈꾸는 재료다… PDF를 처리하기 전까지는. 연습용 시험을 만들고, LLM이 그 시험을 이기게 하고, 거기서 모두를 위한 AI 튜터로 이어지는 그림도 내게는 꽤 흥미롭다. 핵심은 단순하다. 시험은 인간을 위해 만들어진 것이 아니다. 지능을 재는 척도로는 형편없지만, 행정과 문서 작업에는 너무 편리하다. AGI로 가는 길에서 세상에 정말 부족한 것은 general intelligence가 실제로 무엇인지 재는 좋은 척도인 듯하다. 그리고 LLM과 시험 사이의 이 양방향 긴장이 언젠가 표준화 시험을 더 나은 무언가로 바꾸는 미래로 이어진다면, 그것만으로도 인류에 꽤 큰 기여일 것이다.

시연용 IB 시험지를 만들도록 GPT 3.5 미세조정하기

컨설턴트들을 위한 특별석 옆에는 PDF와 Excel 파일을 데이터셋이라고 넘겨주는 사람들의 자리도 있다. 알고 보니 Document AI는 텍스트 파싱을 꽤 잘했다. 다만 나는 돈을 쓰고 싶지 않았다. 돌이켜보면 그냥 돈 내고 API를 쓰는 편이 덜 낭비였을 것이다. 아무튼 키보드 위에서 손을 쥐어뜯는 시간을 한참 보낸 끝에, 예제 44개만 넣어 GPT 3.5를 미세조정했다. 흥미로웠던 점은:

  • 내 단어들 사이의 이상한 공백까지 충실하게 재현했다. 그러니까 입력으로 넣은 분포를 정말 앵무새처럼 따라 하고 있는 셈이다

  • 때때로 완전한 헛소리가 나오는데, PDF가 맞서 싸워야 할 악마적 존재라는 사실도 드러났다. SO MANY UNSEEN UNICODE CHARACTERS가 있기 때문이다

GPT 3.5를 미세조정해 IB 시험지를 생성하기

하지만 전체적으로는 일이 너무 쉽게 풀려서 놀랐다. 아직 거의 쓰지도 않은 내 M2 Max의 64GB VRAM으로 모델 몇 개를 미세조정해보고 싶어서 근질근질하다. 특히 중국 공무원 시험에 관심이 많다. 중립적이고 모범생 같은 LLM은 너무 지루하고 너무 무해해서 거의 쓸모가 없기 때문이다. 모델을 병합해 중국 국가라는 것을 일종의 사전 가정으로 두는 내부 표상을 포착할 방법이 있는지 보면 정말 흥미로울 것 같다. 누가 알겠는가. 행동을 예측하는 데 엄청난 가치가 있을 수도 있다!?


원래 PubPub에 erniesg.pubpub.org/pub/jqeeg1f8로 게시되었습니다.