Как получить доступ к GPT OSS? Полное руководство по установке и оптимизации

Как получить доступ к GPT OSS? Полное руководство по установке и оптимизации

GPT OSS — это первая серия открытых моделей GPT от OpenAI, созданная для того, чтобы сделать передовые языковые возможности доступными каждому. Она доступна в двух размерах: GPT OSS 120B (примерно 117 миллиардов параметров) и GPT OSS 20B (21 миллиард параметров). В отличие от предыдущих моделей OpenAI, GPT OSS предлагает открытые веса по лицензии, позволяющей скачать и запускать модель на собственном оборудовании.

Это руководство познакомит вас с основами GPT OSS, расскажет об улучшениях и требованиях, а также покажет, как использовать её на практике.

Начало работы с GPT OSS: руководство для новичков

gpt oss

Архитектура GPT OSS

  • Технология MoE с разреженной активацией для эффективного вывода
  • Архитектура Autoregressive Transformer + MoE
  • RoPE (Rotary Position Embedding)
  • Чередование глобального и локального окна внимания для поддержки длинных последовательностей
  • Токенизатор o200k_harmony, совместимый с OpenAI Responses API
  • Прямая совместимость с интерфейсами моделей OpenAI

Высокая эффективность и масштабируемость

  • Благодаря MoE (Mixture-of-Experts) с разреженной активацией и архитектуре Transformer модели могут обрабатывать огромное количество параметров, сохраняя при этом высокую скорость и эффективность. Это упрощает масштабирование размера модели без значительного увеличения вычислительных ресурсов.

Обработка очень длинных контекстов

  • Поддержка до 128k токенов, RoPE для кодирования позиций и комбинация глобального и локального внимания позволяют моделям обрабатывать гораздо более длинные тексты или диалоги, чем большинство других моделей. Это особенно полезно для длинных документов или многоходовых диалогов.

Простота интеграции и использования

  • Токенизатор o200k_harmony и прямая совместимость с API OpenAI означают, что эти модели можно использовать в существующих рабочих процессах OpenAI без изменений. Это снижает барьер для разработчиков при внедрении и развертывании моделей.

Системные требования GPT OSS

Модель Слои Всего параметров Активные параметры на токен Всего экспертов Активные эксперты на токен Длина контекста Требования к видеопамяти одной GPU
gpt-oss-120b 36 117B 5.1B 128 4 128k 80GB
gpt-oss-20b 24 21B 3.6B 32 4 128k 16GB

Обучение GPT OSS

1. Качество и охват данных

  • Масштаб: Обучение на триллионах токенов из огромных текстовых корпусов.
  • Фокус содержимого: Включает как специализированные (STEM, программный код), так и общие знания.
  • Фильтрация безопасности: Строгая фильтрация вредного и конфиденциального контента, особенно в области биобезопасности.

Сильная сторона:
Сочетает широкие общие знания с глубокой экспертизой в технических областях, сохраняя при этом высокую безопасность и надежность данных.

2. Процесс обучения и вычисления

  • Инвестиции в вычисления:

    • GPT-OSS-120B: ~2.1 миллиона GPU-часов H100 (сравнимо с ведущими проприетарными моделями)
    • GPT-OSS-20B: около одной шестой от этого объема
  • Архитектура: Autoregressive Transformer + MoE

Сильная сторона:
Огромные вычислительные мощности обеспечивают передовую производительность и устойчивость модели.

3. Пост-обучение и согласование

  • Донастройка:

    • Контролируемая инструктивная донастройка
    • Этап обучения с подкреплением с высокими вычислительными затратами
  • Методы согласования:

    • Обучение с подкреплением на основе цепочки мыслей (CoT)
    • Строгое согласование со стандартами безопасности и этики

Сильная сторона:
Обеспечивает продвинутое пошаговое рассуждение, решение сложных задач и строгое соответствие требованиям безопасности.

4. Гибкость и практичность

  • Режимы рассуждения: Поддерживает низкое, среднее и высокое усиление рассуждения, настраиваемое разработчиками для баланса точности, задержки и стоимости.

Сильная сторона:
Предлагает практическую гибкость для различных сценариев использования и вычислительных бюджетов.

Улучшения GPT OSS

GPT-OSS выделяется мощным использованием инструментов и расширяемостью

Различия между GPT OSS и GPT 4

Различия между GPT OSS и GPT 4

GPT-OSS, особенно модель 120B, демонстрирует высокие способности в рассуждении, научных знаниях и программировании, приближаясь к ведущим крупным моделям. Однако GPT-4 (o4-mini) по-прежнему лидирует во всех основных бенчмарках, включая общее рассуждение, научное рассуждение, сложные задачи и генерацию кода. GPT-OSS является конкурентоспособным и подходит для требовательных сценариев, но GPT-4 остается лучшим по точности и универсальности.

Где можно скачать GPT OSS?

Требования к GPT OSS

Технологии ускорения и использование ресурсов (вывод GPT-OSS)

Технологии ускорения и использование ресурсов

Способы загрузки GPT OSS

Метод Плюсы Оборудование Типичное использование
Transformers Официальный, гибкий, отличное сообщество Все основные GPU Локальный вывод, донастройка
Llama.cpp Легковесный, кроссплатформенный, быстрый CUDA/Metal/Vulkan Периферийные/потребительские/легковесные развертывания
vLLM Высокая пропускная способность, оптимизирован Hopper предпочтительнее Серверы вывода, масштабируемые API
transformers serve Однокомандный сервер API Любой Локальное прототипирование/тестирование API
torchrun/accelerate Много-GPU/распределенный вывод Несколько GPU Вывод/обучение больших моделей

1. Использование Transformers

Работает на большинстве GPU, особенно Hopper/Blackwell (H100/H200/GB200/50xx).

Установка

pip install --upgrade accelerate transformers kernels
# (Опционально) Для PyTorch 2.8 с Triton 3.4:
pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/test/cu128
pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels

Базовый пример вывода

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "openai/gpt-oss-20b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype="auto",
)

messages = [{"role": "user", "content": "How many rs are in the word 'strawberry'?"}]
inputs = tokenizer.apply_chat_template(
    messages, add_generation_prompt=True, return_tensors="pt", return_dict=True
).to(model.device)
generated = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(generated[0][inputs["input_ids"].shape[-1]:]))

Поддерживаемые оптимизации

  • mxfp4 + Triton 3.4 (для GPU Hopper/Blackwell: самые быстрые и с наименьшим использованием памяти)
  • Flash Attention 3 (для GPU Hopper, использует attn_implementation="kernels-community/vllm-flash-attn3")
  • Ядра MegaBlocks MoE (для не-Hopper/Blackwell CUDA или AMD, использует use_kernels=True, больше памяти, чем mxfp4)

2. Llama.cpp

  • Встроенная поддержка mxfp4 + Flash Attention.
  • Кроссплатформенность: Metal, CUDA, Vulkan.
  • Простая установка:
    • macOS: brew install llama.cpp
    • Windows: winget install llama.cpp
  • Рекомендуется: использовать с llama-server
llama-server -hf ggml-org/gpt-oss-120b-GGUF -c 0 -fa --jinja --reasoning-format none
# Затем откройте http://localhost:8080 в браузере

3. vLLM (Оптимизированный движок вывода)

  • Поддерживает Flash Attention 3 (Sink Attention), лучше всего работает на GPU Hopper.
  • Используйте в Python:
from vllm import LLM llm = LLM("openai/gpt-oss-120b", tensor_parallel_size=2) output = llm.generate("San Francisco is a")

Где можно запустить GPT OSS через API?

Novita AI предоставляет API для GPT-OSS 120B
с контекстом 131K по цене $0.1/ввод и $0.5/вывод. Novita AI также предоставляет GPT-OSS 20B с контекстом 131K по цене $0.05/ввод и $0.2/вывод , что обеспечивает мощную поддержку для максимального использования потенциала GPT OSS в качестве кодового агента.

Novita AI

Шаг 1: Войдите в систему и откройте библиотеку моделей

Войдите в свою учетную запись и нажмите кнопку Model Library.

Войдите в систему и откройте библиотеку моделей

Попробовать GPT OSS сейчас!

Шаг 2: Выберите модель

Просмотрите доступные варианты и выберите модель, которая подходит для ваших задач.

Шаг 2: Выберите модель

Шаг 3: Начните бесплатную пробную версию

Начните бесплатную пробную версию, чтобы изучить возможности выбранной модели.

Шаг 3: Начните бесплатную пробную версию

Шаг 4: Получите API-ключ

Для аутентификации в API мы предоставим вам новый API-ключ. Перейдите на страницу Settings, скопируйте API-ключ, как показано на изображении.

получить api ключ

Шаг 5: Установите API

Установите API с помощью менеджера пакетов, соответствующего вашему языку программирования.

После установки импортируйте необходимые библиотеки в вашу среду разработки. Инициализируйте API с вашим API-ключом, чтобы начать взаимодействие с Novita AI LLM. Это пример использования chat completions API для пользователей Python.

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="",
)

model = "openai/gpt-oss-120b"
stream = True # or False
max_tokens = 65536
system_content = ""Be a helpful assistant""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)
  
  

Как выбрать правильный шаблон чата с GPT-OSS

  1. Обычный разговор или Q&A – показывать только конечный результат пользователю

Сценарий:
Вы создаете чат-бота и хотите, чтобы пользователи видели только конечный ответ.
Например: «Какая погода в Москве завтра?» или «Напиши мне заявление на отпуск».

Рекомендуемая практика:

  • Показывайте пользователю только содержимое после <|channel|>final<|message|>.
  • Не показывайте пользователю рассуждения или анализ модели.
  1. Отладка или понимание рассуждений модели

Сценарий:
Вы разработчик и хотите увидеть, как модель приходит к ответам шаг за шагом.
Или вы занимаетесь инженерией промптов и хотите проверить цепочку мыслей модели.

Рекомендуемая практика:

  • Выводите или логируйте содержимое из <|channel|>analysis<|message|> для себя или своей команды разработчиков.
  • Однако в пользовательском интерфейсе по-прежнему показывайте только конечный ответ.
  1. Обучение или донастройка модели

Сценарий:
Вы готовите данные для обучения и хотите, чтобы модель изучала как процесс рассуждения, так и конечный ответ.
Вы надеетесь, что модель в будущем будет генерировать собственную цепочку мыслей.

Рекомендуемая практика:

  • В обучающих примерах включайте цепочку мыслей только для последнего ответа ассистента; не добавляйте рассуждения к каждому шагу.
  • Используйте структуру {"thinking": "...", "content": "..."} и убедитесь, что только последнее сообщение ассистента содержит поле thinking.
  1. Когда используются вызовы инструментов или внешние плагины

Сценарий:
Вы создаете бота (с GPT OSS), который может вызывать внешние инструменты, например, проверять погоду или цены на акции.
Процесс вызова инструментов должен использовать анализ модели для корректной работы.

Рекомендуемая практика:

  • Передавайте содержимое <|channel|>analysis<|message|> вашему модулю обработки инструментов или оркестрации для принятия решений.
  • Пользователь по-прежнему должен видеть только конечный ответ, но анализ используется в фоновом процессе.
  1. Строгий контроль роли, времени или возможностей

Сценарий:
Вы хотите, чтобы каждый разговор включал системную информацию, такую как идентификатор модели, дата или степень усилия рассуждения.
Например, при развертывании корпоративного ассистента или экзаменационного бота.

Рекомендуемая практика:

  • В начале чата используйте роли "system" или "developer" для предоставления контекста или задавайте их через параметры шаблона чата, такие как model_identity или reasoning_effort.

Благодаря современной архитектуре MoE (Mixture-of-Experts), поддержке очень длинных контекстов и полной совместимости с API OpenAI, GPT OSS легко интегрируется и обладает высокой производительностью. Занимаетесь ли вы исследованиями, создаете чат-ботов или разрабатываете продвинутые инструменты и агенты, GPT OSS предлагает новый стандарт открытых, масштабируемых и безопасных больших языковых моделей.

Часто задаваемые вопросы

Каковы основные особенности GPT OSS?

Открытый исходный код и открытые веса: Скачивайте и запускайте на своем оборудовании.
Два размера модели: 120B (~117B параметров, 80GB видеопамяти) и 20B (~21B параметров, 16GB видеопамяти).
Современная архитектура: Разреженная MoE, длинный контекст (до 128k токенов), глобальное/локальное внимание, RoPE.
Совместимость с API: Работает как замена API OpenAI.

Каковы требования к оборудованию?

GPT OSS 120B: 80GB видеопамяти GPU (рекомендуется H100, H200, GB200).
GPT OSS 20B: 16GB видеопамяти GPU.

Как получить доступ к GPT OSS через API?

Novita AI предоставляет доступ к API для обеих моделей (120B и 20B) с большими окнами контекста и доступными ценами.
Просто зарегистрируйтесь, получите API-ключ и используйте совместимую конечную точку OpenAI.

Novita AI — это облачная платформа искусственного интеллекта, которая предоставляет разработчикам простой способ развертывания моделей AI с помощью нашего простого API, а также предлагает доступные и надежные GPU-облака для создания и масштабирования.

Рекомендуемое чтение