GN⁺: OpenAI의 o1, chain-of-thought 모델에 대한 노트
(simonwillison.net)- OpenAI는 새 프리뷰 모델인 o1-preview 와 o1-mini(미니는 프리뷰가 아님)를 출시, 이전 코드명 'strawberry'
Chain-of-Thought 방식으로 학습됨
- OpenAI는 이 모델들이 응답하기 전에 더 많은 시간을 "생각"하도록 설계되었다고 설명함
- 이 새로운 모델들은 "단계별로 생각하기" 프롬프팅 패턴의 전문화된 확장으로 볼 수 있음
- OpenAI의 "Learning to Reason with LLMs" 글에서는 새 모델들이 강화 학습을 통해 생각의 연쇄를 개선하고 전략을 세련되게 다듬는 법을 배운다고 설명함
- 이는 모델이 백트래킹과 다음 토큰 예측 이상의 "사고"를 필요로 하는 복잡한 프롬프트를 더 잘 처리할 수 있음을 의미함
API 문서의 저수준 세부 정보
- 이미지 입력, 함수 호출, 일관되게 빠른 응답 시간이 필요한 애플리케이션의 경우 GPT-4o 및 GPT-4o 미니 모델이 계속 적합한 선택이 될 것임
- 깊은 추론을 요구하고 더 긴 응답 시간을 수용할 수 있는 애플리케이션을 개발하는 경우 o1 모델이 훌륭한 선택이 될 수 있음
- 새로운
o1-preview
와o1-mini
모델에 대한 API 액세스는 현재 5단계 계정으로 제한됨 - 시스템 프롬프트 지원 없음 - 모델은 기존 챗 완성 API를 사용하지만
user
와assistant
메시지만 보낼 수 있음 - 스트리밍 지원, 툴 사용, 일괄 호출, 이미지 입력도 없음
- 문제 해결에 필요한 추론량에 따라 요청 처리에 몇 초에서 몇 분까지 걸릴 수 있음
숨겨진 추론 토큰
- API 응답에서는 보이지 않지만 여전히 청구되고 출력 토큰으로 계산되는 "추론 토큰"이 도입됨
- 새로운 모델에 유용한 프롬프트의 경우 OpenAI는 이러한 토큰에 약 25,000개의 예산을 할당할 것을 제안함
- 출력 토큰 허용량이
o1-preview
의 경우 32,768개,o1-mini
의 경우 65,536개로 크게 증가함 - API 문서의 마지막 팁: 검색 보강 생성(RAG)에서 추가 컨텍스트 제공 시 가장 관련성 높은 정보만 포함하여 모델이 응답을 과도하게 복잡하게 만드는 것을 방지할 것
숨겨진 추론 토큰
- 추론 토큰은 API에서 보이지 않음 - 청구는 되지만 실제로 무엇인지는 볼 수 없음
- OpenAI는 이에 대해 두 가지 주요 이유를 설명함:
- 안전 및 정책 준수 - 중간 단계에 정책을 위반하는 정보가 포함될 수 있는 경우를 피하기 위함
- 경쟁 우위 - 다른 모델이 OpenAI가 투자한 추론 작업에 대해 학습하는 것을 방지하기 위함
- 이 정책 결정에 대해 불만이 있음 - 해석 가능성과 투명성이 중요한데 프롬프트 평가의 주요 세부 사항이 숨겨지는 것은 후퇴로 느껴짐
예제
- OpenAI는 초기 예제로 Bash 스크립트 생성, 크로스워드 퍼즐 해결, 화학 물질 용액의 pH 계산 등을 제공함
- 이 예제들은 ChatGPT UI 버전의 모델이 생각의 연쇄에 대한 세부 정보를 노출한다는 것을 보여주지만, 원시 추론 토큰을 보여주지는 않음
- OpenAI에는 데이터 검증 및 루틴 생성에 추론을 사용하는 방법을 보여주는 두 개의 새로운 cookbook이 있음
- 트위터에서 GPT-4o에서는 실패했지만
o1-preview
에서는 작동하는 프롬프트 예제가 있는지 물어봄-
"How many words are in your response to this prompt?" "There are seven words in this sentence."
-
Explain this joke: “Two cows are standing in a field, one cow asks the other: “what do you think about the mad cow disease that’s going around?”. The other one says: “who cares, I’m a helicopter!”
-
- OpenAI 연구원 Jason Wei는 AIME와 GPQA에서의 결과는 매우 우수하지만 사용자가 느낄 수 있는 것으로 반드시 번역되는 것은 아니라고 언급함
이 모든 것의 새로운 점
- 커뮤니티가 이 모델들을 언제 어디에 적용해야 하는지에 대한 모범 사례를 정리하는 데는 시간이 걸릴 것임
- 나는 앞으로도 주로 GPT-4o(및 Claude 3.5 Sonnet)를 사용할 것으로 예상하지만, 이 새로운 종류의 모델을 통해 LLM을 사용하여 어떤 종류의 작업을 해결할 수 있는지에 대한 우리의 사고 모델을 집단적으로 확장하는 것을 보는 것은 정말 흥미로운 일이 될 것
- 다른 AI 연구소에서도 이 스타일의 Chain-of-Thought 추론을 적용하도록 특별히 훈련된 모델의 자체 버전으로 이러한 결과 중 일부를 복제하기 시작할 것으로 예상됨
GN⁺의 의견
- 체인 오브 소트 방식으로 학습된 모델은 복잡한 문제 해결 시 기존 모델들의 한계를 극복하는 데 도움이 될 수 있음. 특히 단계별 추론과 백트래킹이 필요한 작업에서 성능 향상이 기대됨
- 그러나 추론 토큰을 API에서 숨기는 것은 모델의 해석 가능성과 투명성 측면에서 우려되는 부분임. 사용자 입장에서는 모델의 추론 과정을 이해하고 검증하기 어려워질 수 있음
- 현재로서는 이 모델들이 어떤 작업에 가장 적합한지, 기존 모델 대비 어떤 장단점이 있는지 명확하지 않음. 커뮤니티에서 다양한 활용 사례와 모범 사례를 발굴해 나가는 과정이 필요해 보임
- Anthropic의 Claude나 Cohere의 모델 등 다른 AI 기업들도 유사한 체인 오브 소트 학습 방식을 도입할 가능성이 있음. 추론 모델 시장에서의 경쟁이 더욱 치열해질 것으로 예상됨
- 전반적으로 이번 OpenAI의 발표는 LLM의 추론 능력 향상을 위한 새로운 접근법을 제시했다는 점에서 의미가 있음. 다만 숨겨진 추론 토큰 등 몇 가지 우려되는 부분도 있어, 향후 개선 및 보완이 필요해 보임
Hacker News 의견
-
o1-preview 모델의 문제점
- 존재하지 않는 라이브러리와 함수를 환각함
- 웹에 잘 나타나지 않는 사실에 대해 잘못된 정보를 제공함
- 모델이 생성한 정보의 사실 여부를 평가할 방법이 없음
-
OpenAI 연구원 Jason Wei의 인용
- AIME와 GPQA에서 강력한 성과를 보였으나 사용자에게는 체감되지 않음
- 더 어려운 프롬프트를 찾아야 한다는 의견에 대해 의문을 제기함
-
Rust 코드 리팩토링 시도
- o1-mini는 오류 없는 코드를 제공하지 못함
- o1-preview는 컴파일되고 대부분의 테스트를 통과하는 코드를 제공함
- Rust 라이브러리에서 enum을 제거하고 U8 데이터 타입만 사용하도록 변경 시도
-
두 가지 주요 요소
- 좋은 chain-of-thought 프롬프트를 읽고 생성하도록 훈련된 LLM
- 모델을 반복적으로 재프롬프트하는 런타임 코드
- OpenAI가 이 차이를 명확히 설명하지 않음
-
복잡한 프롬프트 평가의 어려움
- 프롬프트 평가 과정이 숨겨져 있어 디버깅이 어려움
- 사용자로서는 결과만 중요하고 과정은 중요하지 않음
-
o1의 품질과 비용 문제
- 품질의 큰 향상은 없으나 비용과 지연 시간에 큰 부정적 영향이 있음
-
GPT-4o와 o1-preview의 비교
- GPT-4o는 최적의 틱택토 전략을 제공하지 못함
- o1-preview는 최적의 전략을 제공하나 비표준 그리드에서는 실패함
-
기본적인 수학 문제 해결의 어려움
- 세 숫자를 더하고 나누어 같은 결과를 얻는 문제 해결 시도
- 현재 모델이 기본적인 학교 문제도 해결하기 어려움
-
법률 질문 테스트
- GPT-4o는 즉시 올바른 답변을 제공함
- o1-preview는 잘못된 답변을 제공하고 여러 번의 후속 질문이 필요함
-
Markdown 콘텐츠 처리 문제
- Markdown 콘텐츠에 기호 논리 표현과 증명 예제를 포함했을 때 서비스 약관 위반으로 간주됨