우리는 AI 모델을 어떻게 가르치는가
TMTAI 모델은 새로운 기술과 행동을 어떻게 배울까요?
그 과정은 놀랍도록 사람을 닮아 있어서, 머신러닝을 전공하지 않았더라도 이해하기 쉽습니다.
든든한 동료
점점 더 에이전트를 통해 쓰이고 있는 AI 모델은 든든한 동료와 비슷합니다. 함께 일해 본 사람 중 최고였던 이들에게는 어떤 공통점이 있었나요?
소통을 잘하는 동료, 혹은 언제 도움을 청하고 언제 스스로 해결해야 할지 아는 판단력을 갖춘 동료가 떠올랐을지도 모릅니다. 붙임성 있고, 공감할 줄 알고, 친절한, 좀 더 인간적인 자질도 있지요. 하지만 저는 모호한 문제를 받아 들고 풀어낼 방법을 찾아내는 사람과 일하는 것이 특히 즐겁습니다.
그렇다면 모델이 그런 이상적인 동료처럼 행동하게 하려면 어떻게 해야 할까요? 먼저 우리가 생각하는 "올바른" 행동이 무엇인지 문서로 정리해야 합니다. 이런 문서는 모델 명세(model specification), 원칙(principles), 헌법(constitution) 등으로 불립니다. 조직 내부의 눈높이를 맞추는 데 쓰이는 동시에, 학습 과정에서 모델 행동을 테스트(즉, 평가·evals)할 때의 지침으로도 활용됩니다.
우리는 어떻게 일을 더 잘하게 될까?
아주 단순하게 말하면, 어려운 일에 도전하고, 실패하고, 배우고, 이를 반복하면서 나아지는 것입니다.
새 팀원이 합류하면 첫날부터 제 몫을 해내리라 기대하지 않습니다. 회사의 시스템과 도구 사용법, 팀이 함께 일하는 방식을 익혀야 하니까요. 인간은 여러모로 불완전하지만, 새로운 기술을 배우는 데(그리고 그것을 기억하는 데)는 꽤 능합니다.
세계 최고의 농구 선수가 되고 싶다고 해 봅시다. 실력을 키우려면 어떤 방법을 택해야 할까요?
- 농구에 관해 지금까지 쓰인 모든 글을 읽는다. 하루가 24시간뿐이라는 제약은 없다고 치겠습니다.
- 농구 경기를 1만 번 뛴다. 시간 제약을 무시하는 규칙은 여기에도 똑같이 적용됩니다. 시행착오를 겪고, 경기 영상을 복기하고, 자신의 판단을 채점하고, 연습으로 다듬으면서 배우는 방식입니다.
지식과 경험은 서로 다른 능력치이고, 이상적으로는 둘 다 최대치로 끌어올려야 합니다. 흔히 말하는 "책상머리 똑똑함"과 "실전 감각"의 구분이 떠오르는데, 최고의 선수는 둘 다 갖추고 있습니다.
더 빨리 배우려면 어떻게 해야 할까요? 바로 코치와 함께하는 것입니다! 이상적인 코치는 경기를 지켜보고, 고칠 점을 짚어 주고, 항상 지금의 한계에 부딪히도록 밀어붙입니다. 혼자일 때도 질 높은 판단을 내리는 법을 가르치면서, 시간이 지날수록 두뇌의 가중치를 더 나은 결정 쪽으로 조금씩 옮겨 줍니다.
모델은 어떻게 배울까?
모델이 인간과 똑같은 방식으로 배우는 것은 아니지만, 인간의 학습은 유용한 비유가 됩니다.
이 모델들은 다른 사람들의 경험이 담긴 방대한 서고에서 패턴을 예측하는 법을 배우는 것으로 출발합니다(이것이 사전 학습·pretraining입니다). 모델은 실제로 농구에 관한 책을 전부 읽을 수 있습니다!
사전 학습이 끝나면 베이스 모델이 만들어집니다. 이 모델은 (예컨대 고대사에 관해 모르는 게 없을 만큼) "책상머리 똑똑함"은 뛰어날지 몰라도, 불완전하고 별난 구석이 있습니다. 대화해 보면 그다지 매끄럽지 않고 실수도 합니다.
다음으로 모델이 따라 하길 바라는 훌륭한 행동의 예시를 많이 보여 줍니다(이것이 지도 미세조정, 즉 SFT입니다). 위대한 선수들의 경기 영상을 공부하는 것과 비슷하다고 생각하면 됩니다. 이 방법으로 꽤 멀리 갈 수 있지만, 남의 동작을 따라 하는 것만으로 위대해질 수는 없습니다.
모델이 실제로 일하는 모습을 지켜봐야 배우고 나아지도록 도울 수 있습니다. 행동을 다듬기 위해 모델에게 모의 경기를 시키고 잘했을 때 보상을 줍니다(이것이 강화 학습, 즉 RL입니다). 이 보상은 코치의 피드백과 같아서, 모델이 내린 판단이 좋았는지 나빴는지 알려 주면 시도를 거듭할수록 조금씩 나아집니다.
최신 연구에 따르면 진실성처럼 폭넓게 일반화되는 자질도 강화 학습 과정에서 배울 수 있다고 합니다. 한 분야의 질문에 더 정직하게 답하도록 가르치면, 진실성 같은 가치는 어떤 질문에 답할 때든 일반화되어 나타날 수 있습니다.
모델 채점하기
모델이 나아지고 있는지는 크게 두 가지 방법으로 측정합니다. 답을 확인하며 복습할 수 있는 모의고사, 그리고 한 번도 본 적 없는 문제로 치르는 기말고사입니다.
예컨대 사람도 이해도를 시험해 보지 않고서는 미적분 실력이 늘고 있는지 알기 어렵습니다. 시험을 봤다가 틀리면 정확히 어디를 보완해야 할지 알 수 있지만, 이는 시험 보는 분야(예: 수학)에 정답지가 있을 때만 가능한 이야기입니다.
대형 AI 모델을 학습시킬 때 가장 어려운 과제 중 하나가 다양한 "시험"을 만드는 일입니다. 시험 주제는 수학부터 코딩까지 무엇이든 될 수 있습니다. 정답지를 만들 수만 있다면, 모델은 그 시험을 여러 번 치르면서 나아지는 법을 배울 수 있습니다.
그렇다면 다양한 과제 전반에 걸친 지능은 어떻게 측정할까요? 미적분부터 역사까지 여러 과목을 다루는 AP 시험을 떠올려 보세요. 이런 시험 상당수는 정답 여부로 채점하는 객관식 문항과 채점 기준표(루브릭)에 따라 채점하는 서술형 문항을 함께 냅니다.
벤치마크로 모델을 평가하는 방식도 이와 비슷합니다. 어떤 벤치마크는 객관적으로 검증 가능한 것(예: 테스트가 통과했는가?)을 측정하고, 어떤 벤치마크는 별도의 모델에게 채점 기준표를 주고 결과를 채점하게 합니다(이른바 LLM 심판·LLM-as-judge). 이런 결과가 있어야 학습 중에 모델이 실제로 배우고 나아지고 있는지 가늠할 기준이 생깁니다.
여기서 중요한 점은, 벤치마크는 모델이 본 적 없는, 즉 따로 떼어 둔("held-out") 과제를 시험하도록 설계된다는 것입니다. 그렇지 않으면 시험 답을 전부 외운 뒤 시험장에 가서 기억나는 대로 적는 것과 다를 바 없는데, 그것은 지능을 제대로 측정한 것이 아니지요.
똑똑한 것만으로는 부족하다
천재라도 무례하고 눈치가 없다면, 사람들이 좋아하지 않을 가능성이 큽니다.
누구나 주변에서 그런 사람 한 명쯤은 떠올릴 수 있을 겁니다. 똑똑하기만 해서는 부족합니다! 그래서 (앞서 정의한 모델 명세에 따라) 모델이 "올바르게" 행동하도록 정렬하는 일이 대단히 중요합니다.
대화를 끝낼 때마다 "솔직히? 그게 바로 신호죠" 같은, 이제는 유명해진 LLM 특유의 상투어를 붙이는 친구가 있다고 상상해 보세요. 금세 그 친구와 대화하기가 지겨워질 겁니다.
모델을 학습시키는 엔지니어와 연구자들은 모델이 완성되기 전에 새 모델과 대화하는 데 많은 시간을 씁니다. 별난 버릇과 개선할 지점을 전부 기록해 두지요. "결론부터 말하면:" 같은 상투어를 남발한다든가, 항목을 짧게 줄이겠다고 명료함을 희생한 나머지 지나치게 어려운 단어로 뒤엉킨 알아듣기 힘든 문장을 만든다든가 하는 것들입니다.
문제를 파악하고 나면 모델을 추가로 학습시키면서 나쁜 행동에 불이익을 줄 수 있고, 그렇게 조금씩 더 잘 정렬된 행동을 하는 모델로 만들어 갑니다. 여기에 더해 실서비스에서 모델을 A/B 테스트하여, 사용자들이 새 버전의 응답을 더 선호했는지, 더 나은 결과를 얻었는지도 측정할 수 있습니다.
지속 학습
이런 모델들이 시간이 지나면 저절로 나아지고 더 똑똑해지리라 기대할지도 모릅니다.
하지만 오늘날의 모델은 그렇게 동작하지 않습니다! 학습은 모델을 훈련할 때만 일어납니다. 여러분과 나눈 대화가 모델의 지능을 실시간으로 갱신하지는 않습니다.
대신 기억해야 할 내용을 보통 규칙이나 스킬 형태로 적어 두어야 합니다. 그러면 에이전트가 이 파일들을 읽어서, 모델에 프롬프트를 보낼 때 컨텍스트에 포함시킵니다.
파일로 기억을 대신하는 이 소박한 방식은 의외로 잘 작동해 왔지만, 에이전트가 새로 온 동료처럼 기술을 배우고 기억하게 되려면 아직 해야 할 일이 남아 있습니다.
모델이 도움이 되도록 가르치는 일은 깊이 있는 주제입니다. 이 개괄적인 소개가 흥미로웠다면 더 깊이 공부해 보고 싶은 마음이 생겼기를 바랍니다. 이런 설명을 더 보고 싶거나 어떤 부분을 더 깊이 다뤄 주길 바란다면 알려 주세요!
