블로그에 글을 거의 세 달만에 쓰는데 그 사이에 방문자 수가 꽤 늘었다. 글을 안 썼는데 왜 늘었는지는 모르지만.. 아무튼 그동안 쓸 글들이 엄청 밀려있는데 우선 빠르게 쓸 수 있는 글부터 써본다.
https://openai.com/index/introducing-openai-o1-preview/
9월 12일, OPENAI가 GPT의 뉴 버전인 o1을 공개했다. 정확히 말하면 Preview인데, 한 번 직접 사용해보고 뭐가 달라졌는지 살펴보고자 한다.
우선 위 링크에서 소개글을 정리해보면, 답변을 하기 전 생각을 하는 시간이 더 길어졌다고 한다. 계산 속도가 느려진 것이 아닌, 이 답변이 맞는지 틀렸는지 점검도 하고, 더 좋은 답변은 없는지 고민도 하느라 답변 시간이 더 느려졌다는 것이다.
그러면서 특히 코딩과 수학에 강점이 있다고 하며, 물리학, 생물학 등 자연과학의 영역에선 박사급의 지식과 정확도를 갖추고 있다고 설명했다. 즉, 이번 모델이 기존 모델과 비교하여 달라진 점은 바로 Reasoning, 즉 사고, 추론이다.
OPENAI에서 어떤 이유로 Reasoning이라는 단어를 사용했는지는 모르겠다. 하지만 모델의 이름에서 GPT가 처음으로 빠졌다는 점에서 이번 모델은 기존과는 다르게 디코더 기반 모델, 즉 GPT를 벗어난 모델일 수도 있나? 하는 생각이 든다. 왜냐면 트랜스포머를 포함해 대부분 딥러닝 모델들이 마찬가지지만, AI는 생각을 하는 것이 아니라 확률을 계산하는 알고리즘일 뿐이다. 특히 디코더 모델(GPT)은 단순히 다음 단어에 무엇이 올지 계산하는 확률 계산 머신이다. 다만 요즘은 그 수준이 너무 높아진 대화형 LLM들 (특히 ChatGPT) 때문에 일반인들에겐 정말 생각을 하는 것처럼 느껴지는 것이다.
올 여름에 선보인 4o-mini와 4o의 최신 버전만 봐도 앞에 명백하게 "gpt" 라는 단어를 사용했는데, 이번에 o1 이라는 네이밍을 들고 온 것, 그리고 Reasoning을 한다고 언급한 것으로 보아 이 모델이 GPT 기반, 더 나아가선 트랜스포머 기반 모델이 아니거나, 혹은 최소한 다른 알고리즘을 이어 붙였다는 생각이 든다. 물론 OPENAI에서 이를 정확히 공개할 리는 만무하기 때문에 단순한 뇌피셜이다.
서론이 길었고, 직접 사용해보려고 한다. 참고로 o1 모델은 API도 제공하지 않으며, 일주일에 30회 사용제한이 걸려있다. 이런 초고급 모델을 단순히 '내일 날씨 알려줘' 같은 거 시키기엔 너무 미안하니 진짜 어려운 문제를 o1과 풀어보고자 한다.
수학 규칙으로 푸는 문제다. <문제적 남자>에 나올 법한 문제로 골라봤는데, 현재 o1은 T2T(Text to Text)만 지원하고 있어서 글자로만 풀 수 있는 문제로 내봤다. 위 문제의 답은 나와 있듯이 9로, "a+b 에서 a에서 시작하며 b개 정수 더하기"가 규칙이다. (7+3 = 7+8+9 = 24)
1분 동안 o1이 생각하더니 답을 냈는데, 안타깝게도 오답이다. 중간중간 다른 방법 모색, 새로운 접근 시도, 단계별 접근 등 정말 추론을 하고 있는 듯한 메시지들이 뜬 점은 흥미롭다.
나름대로 똑똑하게 답을 찾아내긴 한 점은 고무적이다. 한 번 더 물어봤다.
이번에도 답은 틀렸지만 저 논리 구조가 상당히 흥미롭다. 명확하게 숫자의 대소 관계를 파악하고 있으며 연산도 똑똑하게 해결한다. 기존 LLM들이 많이 실수하는 것이 단순한 확률 계산 알고리즘이다보니 숫자의 의미를 잘 파악하지 못 하는 것이었는데, 이 모델은 그런 점에선 확연하게 개선된 것 같다. 하지만 너무 수학적으로만 접근하다보니 이런 창의력을 요구하는 문제에서는 정확도가 확실히 떨어지는 듯. 참고로 몇 번 더 물어봤는데 끝내 답을 찾진 못 했고, 아예 답을 모르겠다고 답변하기도 했다.
이번엔 어려운 코딩 문제 하나를 풀어보게 시켰다.
https://www.acmicpc.net/problem/4008
난이도 무려 백준 다이아 5의 괴랄한 문제다. 기존 GPT 모델들이 골드 하위 단계까진 어느 정도 해결하는 모습들이 있어서, 과연 다이아 문제를 풀 수 있는지 궁금했다.
https://chatgpt.com/share/66e6dfbd-7ba8-8010-a0e8-7733efef4933
채팅이 너무 길어서 링크를 첨부한다. 놀랍게도 아주아주 자세한 설명과 함께 문제를 풀어냈다! 나는 이해할 수가 없는 말들과 함께 답까지 도출해냈다.
안타깝게도 중간에 메모리 초과가 뜨긴 하는데, 아무튼 알고리즘 설계 자체는 맞았다.(동적 계획법과 Convex Hull Trick)
마찬가지로 몇 번 더 물어봐서 코드를 업데이트해봤는데 메모리 초과 문제는 사라지지 않았다. 하지만 이 정도면 꽤나 놀라운 수준으로 느껴진다.
마지막으로 OPENAI에서 자신있다고 한 물리 문제를 풀어보고자 한다.
24년도 수능 물리I의 기출문제 20번이다. 정답은 2번이다. 과연 맞출 수 있을까?
정확히 맞추는 데에 성공했다! 역시 박사 수준의 지능을 갖고 있다는 말이 우선은 허세는 아닌 것 같다.
아무튼 오늘 사용후기를 요약하면 다음과 같다.
1. 여전히 창의력 면에선 살짝 모자라다.
2. 수학, 물리 등 단순히 답이 있는 고난이도 문제를 푸는 행위는 놀랍도록 잘하고, 확실히 사람보다 빠르다.
3. 이 Reasoning이라고 이름 붙인 이유를 알 것 같고, 어떻게 구현한 것인지 정말 궁금하다.
'LLM' 카테고리의 다른 글
[LLM] LLM으로 Tabular Data 학습해보기 - 2. 이진분류 (경정데이터분석) (7) | 2024.09.29 |
---|---|
[LLM] LLM으로 Tabular Data 학습해보기 - 1. GPT4o Finetuning (경정데이터분석) (9) | 2024.09.20 |
LLM - ChatGPT로 학습 데이터를 생성하는 방법 - 텍스트 데이터, 프롬프트 엔지니어링 (0) | 2024.03.27 |
[LLM] Deeplearning.AI Langchain 강의 내용 정리 (0) | 2024.02.10 |
LLM - RAG 란 무엇일까? 간단하게 이론 정리 (4) | 2023.12.07 |