연구실 LLM-Wiki 벼리와 설계를 검토하는 훈련
최근 연구실 혹은 개인 연구를 위해 LLM-wiki을 구축해서 쓴 분들을 만나고 후기를 듣곤 한다. 수개월 전 내 강의를 듣고, 각자 연구에서 구축해서 쓰는 분들이 후기와 함께 여러 질문을 준다. 또 동시에 실습 강의를 듣는 분들이 질문을 하는데, 몇가지 공통적인 질문이 있다.
하나는 연구실과 같은 조직에선 어떻게 팀이 LLM-wiki를 공유해서 쓸 수 있는가?에 대한 것이고, 다른 하나는 (주로 학부생, 대학원생들의 질문인데) 처음에 좋은 논문들을 어떻게 수집할 수 있는지?에 대한 것이다.
이미 논문도 많이 읽어보고, 도메인 지식이 충분한 교수들에겐 LLM-wiki의 활용이나 구축에는 체력과 노안 말곤 큰 이슈가 없는데, 연구 트레이닝을 받기 시작한 학생들에겐 AI 에이전트가 주어져도 그것을 정확하게 쓰는게 쉽지 않아보였다.
요즘 학생들과 집중적으로 트레이닝 하는 것은 human-on-the-loop 이다. 보통 학생들이 AI를 쓰면 "딸깍"하여 사용하는 경향이 있다. 이렇게 직접 결과를 내는 방식이 아니라, 순서를 따라 진행하게 하고, 그 과정에 인간이 개입하여 피드백과 학습을 동시에 하자는거다. 먼저, 자료를 조사하고, 그리고 나서 그 자료를 충분히 읽고 분석/실험을 AI가 설계한다. 그 설계안은 인간이 다시 읽어보고, 검토한다. 이해가 될때까지 되물으며 보완한다. 그리고 나서 충분한 설계안이 나오면, AI와 함께 코드 작성 - 구현을 한다. 도출되어 나온 결과물은 인간이 다시 읽어보고 검토한다.
이 순서에서 가장 공을 들이는 단계는 설계안을 검토하는 시간이다. 예전에는 학생이 먼저 충분히 공부해야 설계안을 만들 수 있었다. 지금은 도메인 지식이 아직 부족한 학생도 AI가 쓴 꽤 괜찮은 설계안을 받아 볼 수 있다. 그러면 공부의 순서가 바뀐다. 학생은 설계안을 평가하는 데 필요한 지식을 그 설계안을 읽으면서 배운다. 자폐 전장유전체 데이터에서 신생변이 분석을 설계해 보라고 하면 AI는 gene burden test, mutation-rate model, 공변량, 다중검정 보정, 검증 전략을 내놓는다. 학생은 왜 이 통계 모형을 골랐는지, 다른 방법과 무엇이 다른지, 모형의 가정이 이 데이터에 맞는지를 하나씩 되묻는다. 모르는 것은 찾아 읽고 이해가 될 때까지 설계안을 고친다. 검토하면서 배우는 셈이다(learning by reviewing). 결과물을 검토할 때도 같은 일이 한 번 더 일어난다. 설계안을 제대로 읽은 학생은 결과에서 무엇이 이상한지 알아본다.
걱정되는 점도 있다. AI가 설계안을 먼저 내밀면 학생의 생각이 그 안에 묶이기 쉽다(anchoring). 문제를 스스로 정의하고 대안을 떠올리는 연습은 건너뛰고 AI의 안을 이해하고 승인하는 데만 익숙해질 수 있다. 그래서 AI에게 설계를 맡기기 전에 학생이 몇 줄이라도 먼저 써 보게 하려고 한다. 무엇을 알아내려 하는지, 어떤 결과가 나오면 가설을 지지하거나 반박하는지, 가장 걱정되는 오류가 무엇인지 정도면 된다. 완성된 설계는 필요 없다. 학생이 혼자 생각한 흔적이 AI의 안보다 먼저 있으면 된다. 설계안을 승인하기 전에는 학생이 핵심 방법을 고른 이유와 그 한계를 자기 말로 설명해 보게 할 생각이다. 설명이 막히는 곳이 아직 이해하지 못한 곳이다.
팀이 위키를 함께 쓰는 문제와 좋은 논문을 모으는 문제는 우리 연구실에서도 그대로 나왔고 그래서 벼리라는 위키를 만들어 함께 쓰고 있다. 벼리에는 논문 한 편마다 원문 PDF 전체를 읽고 쓴 근거 노트가 있고 여러 노트를 함께 읽은 주제별 종합 페이지가 있다. 학생이 질문하면 노트를 인용한 답과 그 답의 한계가 돌아오고 학생은 노트 뒤의 원문을 열어 직접 확인할 수 있다. 위키에 없는 논문은 학생이 요청을 남기고 관리자가 넣는다. 학생이 받은 답은 기록으로 남기지만 검색 색인에는 넣지 않는다. 위키를 고치는 종합 작업은 학생이 수락하고 교수가 승인해야 시작된다. 논문에서 확인한 사실과 학생의 해석, 연구실의 판단이 한 검색 결과에 섞이지 않게 하려는 장치다. 논문 수집은 교수가 적극적으로 도와야 한다. 학생은 아직 분야 전체를 모르니 어떤 논문이 좋은지 가리기 어렵고 인용 수나 저널 이름이 그 판단을 대신해 주지도 않는다. 교수가 논문을 권할 때 왜 읽어야 하는지까지 벼리에 남겨 두면 학생은 목록과 함께 논문을 고르는 기준도 배운다.
벼리에 앞으로 더 쌓고 싶은 것은 연구 설계의 기록이다. 어떤 분석 설계를 승인했는지, AI가 무엇을 제안했고 학생이 어떤 근거로 고쳤는지, 구현한 뒤 어떤 문제가 생겼는지를 이어 두면 다음 학생은 선행 논문과 함께 우리 연구실이 예전에 어떤 분석을 왜 골랐는지까지 찾아볼 수 있다. 학생의 질문이 바뀌어 온 과정도 남긴다. "자폐 위험 유전자는 어떤 세포에서 발현되나요?"로 시작한 질문이 벼리와 공부하고 교수와 이야기하면서 "발달 시기별로 세포 유형을 나누면 자폐 유전적 위험의 집적이 달라지는가?"가 된다. 그 질문은 다시 태아와 성인 뇌의 단일세포 데이터에서 자폐 위험 유전자의 집적을 비교하고 발현 수준과 유전자 길이 같은 교란 요인을 통제하는 설계가 된다. 이 이력을 보면 학생이 어디서 막혔고 어떤 피드백 뒤에 생각이 나아갔는지 보인다. 같은 주제를 시작하는 다음 학생에게는 교재가 된다. 교수는 처음 질문, 지금까지 배운 내용, 참고한 논문, 아직 모르는 부분을 적은 요약을 보고 방향을 고쳐 주면 된다. AI를 "딸깍" 쓰면 결과는 빨리 나오지만 그 결과를 읽고 고칠 수 있는 학생이 늘지는 않는다. 그래서 이 훈련이 잘 되고 있는지는 분석 속도나 설계안의 품질과 함께 학생이 시간이 지날수록 더 좋은 질문을 만들고 AI의 설계안을 더 날카롭게 리뷰하는지로 판단하려 한다.