OpenAI o1 시리즈 모델은 복잡한 추론을 수행하도록 설계된 강화 학습을 통해 훈련된 새로운 대규모 언어 모델입니다. o1 모델은 대답하기 전에 생각하고 사용자에게 응답하기 전에 긴 내부 사고 사슬을 생성할 수 있습니다. o1 모델은 경쟁 프로그래밍 문제(코드포스)에서 89번째 백분위수에 속하는 과학 추론에 탁월하며 미국 수학 올림피아드(AIME) 예선에서 미국 내 상위 500명 안에 들었으며, 물리학, 생물학, 화학 문제에 대한 벤치마크 테스트(GPQA)에서 인간 박사급 정확도를 뛰어넘었습니다. o1 모델은 또한 높은 수준의 과학적 추론 능력을 입증했습니다.
API에는 두 가지 추론 모델이 제공됩니다:
1. o1-preview
세상에 대한 광범위한 상식을 사용하여 어려운 문제를 추론하도록 설계된 o1 모델의 초기 미리보기입니다.
2. o1-mini
광범위한 일반 지식이 없어도 코딩, 수학 및 과학 작업에 특히 능숙한 빠르고 저렴한 버전의 o1입니다.
o1 모델은 다음과 같은 중요한 추론 기능을 제공합니다. 진전 만들기그러나 그들은 모든 사용 사례에서 GPT-4o를 대체하기 위한 것은 아닙니다..
이미지 입력, 함수 호출 또는 일관되게 빠른 응답 시간이 필요한 애플리케이션의 경우 GPT-4o 및 GPT-4o 미니 모델이 여전히 적합한 선택입니다. 그러나 심층 추론이 필요하고 더 긴 응답 시간을 수용할 수 있는 애플리케이션을 개발하려는 경우라면 o1 모델이 탁월한 선택이 될 수 있습니다. 이 제품들로 무엇을 만들 수 있을지 기대가 됩니다!
o1 모델은 현재 테스트 단계에 있습니다.
o1 이 모델은 현재 테스트 단계를 통해 제한된 기능으로 액세스할 수 있습니다. 액세스 권한은 다음과 같이 제한됩니다. 레벨 5 개발자들은 다음은 다음과 같습니다. 사용량 수준을 확인하고 요금 한도를 낮춰보세요. 더 많은 기능을 추가하기 위해 노력하고 있습니다. 속도 제한그리고 앞으로 몇 주 안에 더 많은 개발자에게 액세스를 확대할 예정입니다!
빠른 시작
o1-preview
노래로 응답 o1-mini
모두 다음 링크를 통해 액세스할 수 있습니다. 채팅 완료 엔드포인트 사용.
from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": "编写一个 Bash 脚本,将矩阵表示为格式 '[1,2],[3,4],[5,6]' 的字符串,并以相同的格式打印转置矩阵。" } ] ) print(response.choices[0].message.content)
문제 해결을 위해 모델에 필요한 추론의 양에 따라 이러한 요청은 몇 초에서 몇 분까지 걸릴 수 있습니다.
베타 제한 사항
베타 버전에서는 아직 많은 채팅 완료 API 매개변수를 사용할 수 없습니다. 가장 눈에 띄는 것은 다음과 같습니다:
- 모달(컴퓨팅, 언어학)이미지가 아닌 텍스트만 지원됩니다.
- 메시지 유형시스템 메시지가 아닌 사용자 메시지와 어시스턴트 메시지만 지원됩니다.
- 스트리밍: 지원되지 않습니다.
- 인공물도구, 함수 호출 및 응답 형식 매개변수는 지원되지 않습니다.
- Logprobs: 지원되지 않습니다.
- 나머지:: `
temperature
`, `top_p
' 및 `n
로 수정되었습니다.1
', `presence_penalty
' 및 `frequency_penalty
로 수정되었습니다.0
`. - 어시스턴트 및 배치이 모델은 어시스턴트 API 또는 배치 API를 지원하지 않습니다.
베타 버전이 단계적으로 종료되면 이러한 매개변수 중 일부에 대한 지원이 추가될 예정입니다. o1 향후 시리즈 모델에는 멀티모달리티 및 도구 사용과 같은 기능이 포함될 예정입니다.
추론의 작동 방식
o1 모델은 다음을 소개합니다. 추론 토큰. 이러한 모델은 추론을 사용합니다. 토큰 모델은 "생각"하고, 단서에 대한 이해를 세분화하며, 응답을 생성하는 여러 가지 방법을 고려합니다. 추론 토큰을 생성한 후 모델은 눈에 보이는 완성 토큰으로 답변을 생성하고 해당 문맥에서 추론 토큰을 삭제합니다.
아래는 사용자와 어시스턴트 간의 다단계 대화 예시입니다. 각 단계의 입력 토큰과 출력 토큰은 유지되고 추론 토큰은 삭제됩니다.

추론 토큰은 컨텍스트에 저장되지 않습니다.
추론 토큰은 API를 통해 표시할 수 없지만 여전히 모델의 컨텍스트 창 공간을 차지하며 모델의 출력 토큰 요금.
컨텍스트 관리 창
o1-preview 및 o1-mini 모델은 128,000개의 토큰으로 구성된 컨텍스트 창을 제공합니다. 콘텐츠가 생성될 때마다 최대 출력 토큰 수에 상한선이 있으며, 여기에는 보이지 않는 추론 토큰과 보이는 생성 토큰이 모두 포함됩니다. 최대 출력 토큰 수 제한은 다음과 같습니다:
- O1-프리뷰: 최대 32,768 토큰
- O1-mini: 최대 65,536 토큰
콘텐츠를 생성할 때 컨텍스트 창에 추론 토큰을 위한 충분한 공간이 있는지 확인하는 것이 중요합니다. 문제의 복잡성에 따라 모델은 수백 개에서 수만 개의 추론 토큰을 생성할 수 있으며, 사용된 추론 토큰의 정확한 수는 채팅 생성 응답 객체에 대한 사용 객체 정곡을 찌르세요 completion_tokens_details
보기:
usage: { total_tokens: 1000, prompt_tokens: 400, completion_tokens: 600, completion_tokens_details: { reasoning_tokens: 500 } }
비용 관리
o1 모델 제품군의 비용을 관리하려면 다음을 사용할 수 있습니다. max_completion_tokens
매개변수는 모델에서 생성되는 총 토큰 수(추론 토큰과 생성 토큰 모두)를 제한합니다.
이전 모델에서는 'max_tokens
매개변수는 생성된 토큰의 수와 사용자에게 표시되는 토큰의 수를 제어하며, 이는 항상 동일합니다. 그러나 o1 제품군에서는 내부 추론 토큰이 존재하기 때문에 생성된 토큰의 총 수가 표시되는 토큰의 수를 초과할 수 있습니다.
일부 애플리케이션은 'max_tokens
' API에서 받은 토큰 수에 따라 o1 시리즈는 'max_completion_tokens
를 설정하여 모델에서 생성된 토큰의 총 개수(추론된 토큰과 가시적으로 생성된 토큰 모두)를 명시적으로 제어할 수 있으며, 이러한 명시적인 선택은 새 모델을 사용할 때 기존 애플리케이션이 손상되지 않도록 보장합니다. 모든 이전 모델의 경우 `max_tokens
매개 변수는 여전히 원래 기능을 유지합니다.
추론의 여지를 남겨두기
생성된 토큰이 컨텍스트 창의 한도에 도달하거나 'max_completion_tokens
값을 입력하면 `finish_reason
로 설정합니다.length
의 채팅 생성 응답을 기다릴 수 있습니다. 이는 눈에 보이는 생성 토큰이 생성되기 전에 발생할 수 있으므로 입력 및 추론 토큰을 지불하고도 눈에 보이는 응답을 받지 못할 수도 있습니다.
이를 방지하려면 컨텍스트 창에 충분한 공간을 남겨두거나 ``컨텍스트 창에서max_completion_tokens
값이 더 큰 숫자로 조정되며, 이러한 모델을 사용하기 시작할 때 추론 및 출력을 위해 최소 25,000개의 토큰을 따로 설정하는 것이 좋습니다. 힌트에 필요한 추론 토큰의 수에 익숙해지면 이 버퍼를 적절히 조정할 수 있습니다.
단서 단어 제안
이러한 모델은 명확하고 간결한 단서를 사용할 때 가장 잘 작동합니다. 일부 큐 엔지니어링 기법(예: 단발성 큐 또는 모델이 '단계별로 생각하게 하기')은 성능을 개선하지 못할 수 있으며 때로는 비생산적일 수 있습니다. 다음은 몇 가지 모범 사례입니다:
- 팁을 간단하고 명확하게 유지하세요: 이 모델은 너무 많은 안내를 하지 않아도 짧고 명확한 지침을 잘 이해하고 반응합니다.
- 연쇄적인 사고 단서를 피하세요: 이러한 모델은 내부적으로 추론하기 때문에 '단계별로 생각하라'거나 '추론을 설명하라'고 안내할 필요가 없습니다.
- 구분 기호를 사용하여 명확성을 높입니다: 큰따옴표, XML 태그 또는 섹션 제목과 같은 구분 기호를 사용하여 입력의 다른 부분을 명확하게 표시하면 모델이 각 부분을 올바르게 이해하는 데 도움이 됩니다.
- 향상된 세대 검색(RAG) 추가 컨텍스트 제한: ** 추가 컨텍스트나 문서를 제공할 때는 모델의 응답이 지나치게 복잡해지지 않도록 가장 관련성이 높은 정보만 포함하세요.


프롬프트의 예
코딩(리팩토링)
OpenAI o1 모델 제품군은 복잡한 알고리즘을 구현하고 코드를 생성할 수 있습니다. 다음 힌트는 o1을 리팩터링하는 데 필요한 사항입니다. React 컴포넌트.
from openai import OpenAI client = OpenAI() prompt = """ 指令: - 对下面的 React 组件进行修改,使得非小说类书籍的文字变为红色。 - 回复中只返回代码,不要包含任何额外的格式,如 markdown 代码块。 - 在格式上,使用四个空格缩进,且代码行不超过 80 列。 const books = [ { title: '沙丘', category: 'fiction', id: 1 }, { title: '科学怪人', category: 'fiction', id: 2 }, { title: '魔球', category: 'nonfiction', id: 3 }, ]; export default function BookList() { const listItems = books.map(book => <li> {book.title} </li> ); return ( <ul>{listItems}</ul> ); } """ response = client.chat.completions.create( model="o1-mini", messages=[ { "role": "user", "content": [ { "type": "text", "text": prompt }, ], } ] ) print(response.choices[0].message.content)
코드(계획)
OpenAI o1 모델 제품군은 다단계 계획 생성에도 능숙합니다. 이 예제 프롬프트는 o1에게 전체 솔루션의 파일 시스템 구조를 생성하고 필요한 사용 사례를 구현하기 위한 Python 코드를 제공하도록 요청합니다.
from openai import OpenAI client = OpenAI() prompt = """ 我想构建一个 Python 应用程序,接收用户问题并在数据库中查找对应答案。如果找到相近匹配,就返回匹配的答案。如果没有匹配,要求用户提供答案,并将问题/答案对存储到数据库中。为此创建一个目录结构的计划,然后返回每个文件的完整内容。仅在代码开始和结束时提供你的推理,而不是在代码中间。 """ response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": [ { "type": "text", "text": prompt }, ], } ] ) print(response.choices[0].message.content)
STEM 연구
OpenAI o1 모델 제품군은 STEM 연구에서 우수한 성능을 발휘합니다. 기초 연구 과제를 지원하는 데 사용되는 프롬프트는 일반적으로 강력한 결과를 보여줍니다.
from openai import OpenAI client = OpenAI() prompt = """ 我们应该考虑研究哪三种化合物以推进新抗生素的研究?为什么要考虑它们? """ response = client.chat.completions.create( model="o1-preview", messages=[ { "role": "user", "content": prompt } ] ) print(response.choices[0].message.content)
사용 사례의 예
o1을 사용한 실제 사용 사례의 몇 가지 예는 다음에서 확인할 수 있습니다. 요리책 발견됨.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...