OpenAI
Для перекладу цієї сторінки виконано машинний переклад. Ви можете переглянути оригінальну статтю англійською.

Посібник з виставлення рахунків для API Reinforcement Fine-Tuning

Як працює виставлення рахунків для API RFT

Оновлено: 22 hours ago

Як працює виставлення рахунків за RFT

Reinforcement Fine‑Tuning (RFT) дає змогу оптимізувати продуктивність моделей міркування OpenAI за допомогою навчання з підкріпленням. На відміну від наших пропозицій донавчання з учителем або на основі вподобань, де плата стягується за кількістю токенів у навчальному наборі даних, у RFT плата стягується залежно від часу, протягом якого ваш навчальний запуск виконує основну роботу машинного навчання.

У цьому посібнику пояснюється, що вважається оплачуваним часом навчання, як ми обробляємо паузи й скасування та як ваші параметри конфігурації можуть впливати на вартість.

Ціни

  • Обчислення: $100 за годину астрономічного часу, витраченого в основному циклі навчання для o4-mini-2025-04-16. Нарахування здійснюються пропорційно до секунди й округлюються до двох знаків після коми в рахунку (наприклад, 2.55 години).

  • Використання моделей-оцінювачів: якщо ви використовуєте модель OpenAI для «оцінювання» виходів під час навчання, токени, спожиті цими викликами оцінювання, виставляються окремо за нашими стандартними ставками API після завершення навчання.

Ми стягуємо плату лише за ту навчальну роботу, яка фактично оновлює вашу модель (те, що ми називаємо «зафіксованим поступом уперед»).

За що ми стягуємо плату

Ми стягуємо плату за час, протягом якого ваш воркер навчання активно навчає вашу модель, а саме:

  • Генерування зразків із вашої моделі під час процесу тонкого налаштування (відомих як «rollouts»)

  • Оцінювання цих результатів за допомогою одного або кількох оцінювачів, визначених вами для завдання (дізнатися більше про оцінювачів)

  • Обчислення й застосування оновлень ваг на основі оцінок (зворотне поширення помилки).

  • Виконання будь-яких налаштованих вами кроків валідації (оцінювання).

Більшість оцінювачів є «безкоштовними» для запуску, тобто ми не стягуємо додаткову плату за їх використання поза часом, який вони додають до основного циклу навчання. Виняток становлять оцінювачі на основі моделей: ми також підраховуємо токени, які ці оцінювачі споживають під час зазначених вище дій. Ці токени відображаються в рахунку-фактурі окремою позицією. Токени, спожиті оцінювачами на основі моделей, оплачуються за звичайними тарифами інференсу (ціни OpenAI).

За що ми НЕ стягуємо плату

Ми не стягуємо плату за час, витрачений на:

  • Валідацію або перевірку вашого набору даних до початку навчання.

  • Перевірки безпеки вашого набору даних.

  • Очікування в черзі на обчислювальні ресурси.

  • Завантаження ваг моделі або наборів даних.

  • Підготовку (рендеринг) вашого набору даних у наш навчальний формат.

  • Оцінювання безпеки вашої донавченої моделі після навчання.

Якщо навчальна робота втрачається через помилку з нашого боку (наприклад, якщо воркер аварійно завершує роботу і мусить відкотитися до попередньої контрольної точки), плата за втрачений час обчислень або токени оцінювачів не стягується. Докладніше про це — у наступному розділі.

Зафіксований поступ уперед і події виставлення рахунків

Навчання складається з багатьох невеликих оновлень вашої моделі. Ми відстежуємо, скільки з цих оновлень успішно завершується. Нарахування базуються на часі обчислень і токенах оцінювачів, пов’язаних із цими успішними оновленнями.

Ми виставляємо плату, коли відбувається одна з таких «подій виставлення рахунків»:

  • Навчання успішно завершено.

  • Ви ставите навчання на паузу.

  • Ви скасовуєте навчання.

  • Навчання завершується помилкою.

Кожне нарахування покриває приріст роботи, виконаної з часу останнього нарахування. Наприклад:

  • Якщо ви ставите запуск на паузу, ми зберігаємо контрольну точку й нараховуємо плату за час обчислень і токени оцінювачів, використані з часу останнього нарахування.

  • Коли ви відновлюєте роботу, навчання продовжується з контрольної точки. Наступне нарахування (після завершення, чергової паузи, скасування або помилки) покриватиме лише додаткову роботу, виконану після відновлення.

  • Якщо ви скасовуєте запуск, ми нараховуємо плату за роботу, виконану до моменту скасування.

  • Якщо навчання завершується помилкою і робота з часу останнього нарахування втрачається, плата за втрачену частину не стягується.

Такий підхід «зафіксованого поступу уперед» гарантує, що ви платите лише за роботу, яка зберігається у вашій моделі або від якої ви свідомо відмовляєтеся.

Перегляд перебігу завдання

Завдання RFT мають поле usage_metrics, у якому документується загальне використання завдання до поточного кроку. Сюди входить час, витрачений на навчання, і всі токени, використані всіма оцінювачами на основі моделей у завданні. Це поле можна переглянути через API (GET /v1/fine_tuning/jobs/{job_id}) або через панель тонкого налаштування.

Чинники, що впливають на час навчання

Оскільки виставлення рахунків базується на часі, ваші параметри конфігурації безпосередньо впливають на вартість. Основні чинники:

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

  • Інтенсивність обчислень: гіперпараметр compute_multiplier контролює, скільки обчислень виконується на кожному кроці навчання. Вищі значення спонукають модель докладніше міркувати над кожною точкою даних, через що кожен крок виконується повільніше.

  • Параметри валідації:

    • Більший набір валідації збільшує час, витрачений на оцінювання.

    • Збільшення eval_samples (кількості виходів моделі, що оцінюються для кожного прикладу валідації) збільшує час валідації.

    • Частіший запуск валідації (менший eval_interval) збільшує частку часу, витраченого на валідацію.

  • Продуктивність оцінювача:

    • Більші або потужніші моделі-оцінювачі повертають оцінку довше, ніж менші. Наприклад, оцінювання за допомогою моделі міркування може тривати в 10 разів довше, ніж оцінювання моделлю без міркування.

    • Складні функції оцінювання Python виконуються довше, ніж прості.

Ці параметри дають змогу знаходити баланс між вартістю, швидкістю та якістю моделі. Наприклад, часта валідація може раніше виявляти проблеми, але збільшує вартість. Оцінювання за допомогою більш просунутої моделі може істотно підвищити точність оцінювання, але сповільнить кожен крок оцінювання і зробить завдання дорожчими.

Керування витратами

Щоб контролювати витрати:

  • Починайте з коротших запусків, щоб зрозуміти, як ваша конфігурація впливає на час.

  • Використовуйте розумну кількість прикладів валідації та eval_samples. Не запускайте валідацію частіше, ніж вам потрібно.

  • Вибирайте найменшу модель-оцінювач, що відповідає вашим вимогам до якості.

  • Підтримуйте ефективність власних Python-оцінювачів.

  • Налаштовуйте compute_multiplier, щоб збалансувати швидкість збіжності та вартість.

  • Слідкуйте за запуском на панелі або через API. Ви можете поставити його на паузу або скасувати в будь-який момент.

Приклади

Успішний запуск навчання

Час навчанняОплачуваний часСтатусОпис
00:0000:00Користувач створює завдання RFT через API
00:1000:00VALIDATING_FILES10 хвилин витрачено на перевірку набору даних
00:3000:00VALIDATING_FILES20 хвилин виконання перевірок безпеки набору даних
01:0000:00QUEUED30 хвилин очікування доступного воркера
01:3000:00RUNNING30 хвилин налаштування навчання (завантаження ваг, попередня обробка тощо)
05:3004:00RUNNING4 години витрачено на навчання
06:0004:00RUNNING30 хвилин виконання оцінок безпеки отриманої моделі
06:0004:00SUCCEEDEDНавчання завершується

У цьому випадку загальний фактичний час становить 6 годин, але оплачуються лише 4 години. Вартість становитиме 4 години × $100/годину = $400.

Приклад невдалого завдання

У цьому прикладі запуск навчається 2 години, записує контрольну точку, навчається ще 1 годину, але потім завершується помилкою. Оплачуються лише 2 години навчання до контрольної точки.

Час навчанняОплачуваний часСтатусОпис
00:0000:00Користувач створює завдання RFT через API
00:1000:00VALIDATING_FILES10 хвилин витрачено на перевірку набору даних
00:3000:00VALIDATING_FILES20 хвилин виконання перевірок безпеки набору даних
01:0000:00QUEUED30 хвилин очікування доступного воркера
01:3000:00RUNNING30 хвилин налаштування навчання (завантаження ваг, попередня обробка тощо)
03:3002:00RUNNING2 години витрачено на навчання
03:3002:00RUNNINGКонтрольну точку створено на кроці 5
04:3002:00RUNNINGНавчання завершується помилкою через внутрішню помилку на кроці 8 (ще через 1 годину)
04:3002:00RUNNING30 хвилин оцінювання та перевірки контрольної точки
04:3002:00SUCCEEDEDЗавдання завершується (з останньою контрольною точкою)

Хоча загалом на навчання було витрачено 3 години, лише 2 години «зафіксовано» в придатній для використання контрольній точці й виставлено до оплати. Ви не відповідаєте за годину навчальної роботи, втрачену через збій. Вартість становитиме 2 години × $100/годину = $200.

Часті запитання

Коли з мене стягується плата?

Ми виставляємо рахунок, коли ваш запуск завершується, призупиняється, скасовується або завершується помилкою. Кожен рахунок охоплює роботу, виконану з моменту попереднього рахунка.

Чи плачу я, якщо запуск завершується помилкою?

Якщо запуск завершується помилкою через нашу помилку й частину нещодавньої навчальної роботи втрачено, ми не стягуємо з вас плату за втрачену частину. Якщо ви скасуєте запуск, з вас стягуватиметься плата за роботу до моменту скасування.

Як оплачуються токени моделей-оцінювачів?

Ми рахуємо токени, використані будь-якими оцінювачами на основі моделей, які ви налаштуєте. Після завершення навчання ми виставляємо рахунок за ці токени за нашими стандартними тарифами за токен.

Чи можу я призупинити та відновити запуск?

Так. Коли ви призупиняєте запуск, ми зберігаємо контрольну точку й стягуємо плату за вже виконану роботу. Коли ви відновлюєте запуск, з вас стягуватиметься плата лише за додаткову роботу, виконану після відновлення.

Якщо у вас є інші запитання щодо виставлення рахунків за Reinforcement Fine‑Tuning, зверніться до нашої служби підтримки.

Чи була ця стаття корисною?