openai/gpt-oss
gpt-oss-120b and gpt-oss-20b are two open-weight language models by OpenAI
gpt‑oss – OpenAI에서 출시한 오픈웨이트 LLM
무엇인가요 – OpenAI가 새로 출시한 오픈웨이트 언어 모델인 gpt‑oss‑120b (약 117B 파라미터, 5.1B 활성) 및 gpt‑oss‑20b (약 21B 파라미터, 3.6B 활성)을 실행하기 위한 레퍼런스 코드를 제공하는 리포지토리입니다. 이 모델들은 고수준 추론, 도구 사용(브라우저, Python), 에이전트 작업에 최적화되어 있습니다. 리포지토리 자체에는 모델 가중치가 포함되어 있지 않습니다. 가중치는 Hugging Face에 호스팅되어 있으며, HF CLI로 다운로드할 수 있습니다.
핵심 아이디어
- Harmony 응답 형식 – 모델이 훈련된 구조화된 채팅 스키마입니다. 모든 추론 코드는 이 형식에 따라 프롬프트와 출력을 기대합니다. 그렇지 않으면 모델이 올바르게 동작하지 않습니다.
- MXFP4 양자화 – 훈련 후 양자화로 MoE 가중치를 압축하여 120B 모델을 단일 80GB GPU(예: H100, MI300X)에 맞추고, 20B 모델을 약 16GB에 맞춥니다.
- Apache‑2.0 라이선스 – 허용적인 라이선스로, 상용 사용 및 수정이 가능하며, 코피레프트 제한이 없습니다.
주요 기능 (README에서)
| 기능 | 의미 |
|---|---|
| 가변 추론 노력 | 추론 시 저/중/고 수준의 노력 선택 가능. 지연과 추론 깊이 사이의 트레이드오프 가능. |
| 완전한 사고 체인 | 모델이 내부 추론 단계를 반환합니다(엔드유저용이 아님). 디버깅 및 신뢰성 향상에 도움. |
| 파인튜닝 가능 | 표준 PyTorch 파이프라인을 통해 사용자 데이터로 추가 파인튜닝 가능. |
| 에이전트 기능 | 함수 호출, 웹 브라우징, Python 실행, 구조화된 출력의 네이티브 지원. 모두 Harmony 형식으로 표현. |
| 양자화 (MXFP4) | 120B 모델을 단일 80GB GPU, 20B 모델을 16GB에서 실행 가능. 전체 정밀도 체크포인트와 동일한 평가 품질 유지. |
| 다중 백엔드 | PyTorch(교육용), Triton(단일 GPU 최적화), Metal(Apple Silicon), vLLM, Transformers, Ollama, LM Studio용 즉시 사용 가능한 래퍼 포함. |
모델 다운로드 방법
# 120B
hf download openai/gpt-oss-120b --include "original/*" --local-dir gpt-oss-120b/
# 20B
hf download openai/gpt-oss-20b --include "original/*" --local-dir gpt-oss-20b/
가중치는 Hugging Face Hub에서 SafeTensors 형식으로 저장됩니다. Apple Silicon 사용자는 사전 변환된 Metal 바이너리도 다운로드할 수 있습니다.
🤗 Transformers를 통한 빠른 추론
from transformers import pipeline
model_id = "openai/gpt-oss-120b"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [{"role": "user", "content": "양자역학을 명확하고 간결하게 설명해 주세요."}]
out = pipe(messages, max_new_tokens=256)
print(out[0]["generated_text"][-1])
파이프라인은 자동으로 Harmony 채팅 템플릿을 적용합니다. model.generate를 직접 호출할 경우, 프롬프트를 수동으로 포맷하거나 openai‑harmony 패키지를 사용해야 합니다.
레퍼런스 백엔드 실행
| 백엔드 | 설치 방법 | 일반적인 하드웨어 |
|---|---|---|
| PyTorch (레퍼런스) | pip install -e "[torch]" |
4× H100 (비효율적, 교육용) |
| Triton (단일 GPU) | Triton을 소스에서 빌드한 후 pip install -e "[triton]" |
1× 80GB GPU (H100/MI300X) |
| Metal (Apple Silicon) | GPTOSS_BUILD_METAL=1 pip install -e "[metal]" |
Apple M-시리즈 칩 |
| vLLM | uv pip install --pre vllm==0.10.1+gptoss … |
vLLM가 지원하는 모든 GPU |
| Ollama | ollama pull gpt-oss:20b (또는 :120b) |
Ollama 런타임을 통한 소비자급 CPU/GPU |
| LM Studio | lms get openai/gpt-oss-20b |
Ollama와 동일 |
각 구현은 작은 CLI(python -m gpt_oss.generate …)와 터미널 채팅 예제를 제공하며, 도구 사용(브라우저, Python)과 Harmony 형식을 시연합니다.
리포지토리에 포함된 도구
- 브라우저 도구 – 모델 훈련 시 사용된 최소한의 웹 검색/페이지 가져오기 인터페이스. 두 가지 백엔드(
YouComBackend,ExaBackend) 제공. 코드는 의도적으로 단순하며 교육용만으로 표시됨. 프로덕션 시스템은 보안되고 사전 격리된 브라우저 서비스로 교체해야 함. - Python 도구 – 임의의 Python 스크립트를 실행하는 상태 없는 실행기. 연구용 데모용. 사전 격리(샌드박싱)는 사용자 책임.
두 도구 모두 모델이 Harmony 메시지를 통해 호출할 수 있는 작은 JSON 기반 프로토콜을 노출합니다.
클라이언트 예제
- 터미널 채팅 (
gpt_oss.chat) – 추론 노력 수준 전환, 브라우저 또는 Python 도구 활성화, 추론 백엔드 선택이 가능한 인터랙티브 REPL. - 응답 API 서버 (
gpt_oss.responses_api.serve) – OpenAI의 Responses API를 모방하는 경량 서버. 기존 채팅 완성 프론트엔드와의 통합에 유용. - Codex 통합 – 작은 설정 스니펫으로 오픈소스 Codex 클라이언트를 로컬에서 제공된 gpt‑oss 엔드포인트(예: Ollama 경유)에 연결하는 방법을 보여줌.
라이선스 및 기여
- 라이선스: Apache 2.0 – 상용 및 연구용으로 자유롭게 사용 가능. 바이럴 코피레프트 없음.
- 기여: 일반적인 OpenAI 오픈소스 기여 모델(풀 리퀘스트, 코드 스타일 체크)을 따릅니다. 레퍼런스 구현은 의도적으로 최적화되지 않았습니다. 성능 향상이나 프로덕션 수준 도구 추가 기여는 특히 환영합니다.
이 리포지토리를 사용할 때
- 연구 및 프로토타이핑 – 검사, 파인튜닝, 사용자 정의 에이전트에 통합 가능한 최신 오픈웨이트 LLM이 필요할 때.
- 도구 확장 에이전트 – 내장된 브라우저 및 Python 도구를 통해 검색 기반 생성 또는 코드 실행 루프 실험 가능.
- 성능 탐색 – Triton 및 Metal 백엔드는 MXFP4 양자화가 120B MoE 모델을 단일 GPU에 맞추는 방법을 보여줍니다.
- 학습 – PyTorch 레퍼런스 코드는 의도적으로 단순하여 MoE 아키텍처와 토큰 수준 추론 파이프라인 교육 자료로 적합합니다.
결론: openai/gpt-oss는 진정한 프로덕션 중심의 오픈웨이트 LLM 프로젝트입니다. 모델, 구조화된 채팅 형식(Harmony), 여러 하드웨어 스택용 레퍼런스 추론 코드, 예제 클라이언트를 제공하여, 어떠한 프로퍼라이어터리 OpenAI API 없이도 120B 및 20B 모델에서 추론, 파인튜닝, 에이전트 애플리케이션 구축이 가능하게 합니다.
관련
- Dispatch
- Dispatch
- Dispatch
- 프로젝트
- Dispatch