트랜스포머 모델의 중요성 재조명하기 – 조련하기

트랜스포머 모델 중요성 재조명하기 – 조련하기

trainer feeding dolphin at valencia aquarium
트랜스포머 LLM도 원활한 동작을 위해서는 조련이 필요하다

지금까지 두차례의 포스팅을 통하여 트랜스포머 모델이 어떻게 출력을 만들어 내는지 리뷰해 보았다.

요약하자면 트랜스포머란 주어진 텍스트에 대한 답변을 한 단어씩 가장 확률이 높은 조합으로 완성해가는 프로그램이라 할 수있다.

결국 우리가 해야 할 일은 AI 와 함께 진실을 논하는 것이 아니라 내가 가진 문제에 대한 가장 확률이 높은 결과를 유도해야 하는 일이다.

이런 결과를 얻기 위해서는 트랜스포머 모델이 다음번 토큰의 확률 계산에 영향을 미쳐야 한다.

이번 포스팅 에서는 지금까지 잘 알려진 방법론들을 트랜스포머 모델의 동작이라는 관점에서 정리해 보려한다.

트랜스포머 모델 출력을 구조화된 형식으로 강제하기

이메일을 사용하여 사람들에게 의견을 물을 때 가끔 “양식”을 쓰는 경우가 있다. 야유회에 어디를 가고 싶은지, 언제 가고 싶은지에 대한 의견을 구할때 쓰는 것 같다.

이런 종류의 이메일을 받으면 부정적인 생각이 든다. 왜 좀 더 다양성을 반영하지 못하고 획일적으로 의사를 결정할까.

대신 이런 양식을 사용하면 정리하기 힘든 다양한 답변 대신 정보의 품질과 정확성을 확보할 수 있다.

LLM에게 답변을 요청할 때도 마찬가지이다. 강의에서는 이른바 “스키마”라고 하는 전문 IT 용어를 쓴다. 스키마는 별게 아니다. 그냥 우리가 회사에서 사용하는 “양식”이다.

JSON으로 표현된 서술형 양식이든지 마크다운으로 표현된 테이블이던지 상관없다.

지금 대부분의 LLM들은 이런 구조화된 형식에 대해 학습했기 때문에 다음번 토큰을 결정할 때 해당 양식에 적합한 토큰들의 선택확률이 높아진다고 한다.

Glowing JSON code blocks surrounded by flowing data streams and network connections
Visualization of data streams and JSON code blocks representing system metadata and processing status

RAG의 적극적인 사용

RAG는 기본적으로 입력되는 프롬프트 이외에 해당 프롬프트를 토큰으로 분리하고 이 분리된 토큰과 가장 유사성이 높은 추가적인 텍스트를 데이터 베이스에서 검색하여 추가적인 정보를 함께 넣어 주는 방식을 이야기한다.

가장 효과가 좋은 경우는 LLM이 훈련되지 않은 영역의 지식을 LLM에 공급을 해야 하는 경우 효과가 좋은 것으로 알려져 있다.

경험 상으로는 LLM이 훈련된 영역이라 하더라도 필요한 출력을 강제할 때 효과가 있다.

예를 들어 전사적인 지식으로 추론하여 원하지 않는 결론을 내는 경우 보다는 팀 프로젝트만의 지식으로 한정하여 LLM으로 하여금 결론을 도출하고 왜 그런 결론을 도출 했는지 이유까지 설명하게 하면 생각보다 더 효율적인 성과물을 얻을 경우가 많았다.

photo of gray wallaby
RAG는 사료외에 별도로 좋아하는 간식을 주는 것과 비슷

추론적용

처음으로 추론이 가능한 ChatGPT O1 모델을 OpenAI 에서 발표했을때 그 충격은 아직도 기억이 생생하다.

마치 컴퓨터가 사람이 생각하는 것처럼 추론을 할 수 있다니 사실 그건 충격이었다.
다른 포스트 에서도 다루었지만 LLM의 추론은 트랜스포머 모델의 동작과 자귀회기적 이라는 구조적 장점을 절묘하게 조합한 결과물이다.

물론 추론을 생성해 나가는 과정은 강화확습 이라는 별도의 주제에 대해서 논의해야 하지만 트랜스포머의 동작관점에서만 이야기 하면 자신의 최종 결과물을 위하여 자신이 만든 중간 결과물을 프롬프트 안에 다시 포함시켜 동작 시킨다는 관점에서 위의 방법 들과는 차별화 될 수 있다.

강의에서는 추론의 단계별 적용 이라던지 이런 추론을 통하여 답을 구하라는 지시만 초기 프롬프트로 입력해도 트랜스포머 모델의 결과물이 많이 달라진다고 제시한다.

man in black blazer holding a clipboard
생각하자 생각하자 생각…

마치며

LLM은 진실을 말하는 것이 아니다. LLM의 출력은 내가 제공한 문제에 가장 적절한 답이 될 수 있는 가장 확률 높은 단어들의 모임이다.

이러한 확률은 물리 법칙과 같은 공식에서 계산되는 것이 아니라 LLM이 훈련받은 수많은 데이터들에 의해 결정된다.

따라서 우리가 AI를 효과적으로 사용해야 할 때 고려해야 하는 것은 “나는 어떤 문제를 풀고 있는가” 에 대한 통찰이다. 내가 어떤 문제를 풀고 있는지에 대해 명확히 아는 사람만이 효과적인 작업지시에 대한 글을 쓸 수 있다.

이 글에는 문제에 대한 명확한 설명과 접근 방식 그리고 어떠한 자료를 써야 하는지 등이 모두 적혀 있어야 확률계산기의 출력이 우리가 원하는 모습으로 나올수 있다.

AI가 사람들을 대체하는 것은 아니다. AI를 잘 쓸수 있는사람이 그렇지 못 한 사람들을 대체한다라는 말에 공감한다.

Similar Posts

Leave a Reply