Как работи таксуването за RFT
Финото настройване с утвърждение (RFT) ви позволява да оптимизирате производителността на моделите със структурирано анализиране на OpenAI чрез обучение с утвърждение. За разлика от нашите предложения за фино настройване под надзор или според предпочитания, които се таксуват според броя токени в набора от данни за обучение, RFT се таксува въз основа на времето, което вашият обучителен процес прекарва в същинската работа по машинно обучение.
Това ръководство обяснява какво се счита за платимо време за обучение, как обработваме паузи и анулирания и как изборът ви на конфигурация може да повлияе на разходите.
Ценообразуване
Изчисления: 100 щ.д. за час реално време, прекаран в основния цикъл на обучение за o4-mini-2025-04-16. Таксите се изчисляват пропорционално до секунда и във фактурата се закръглят до втория знак след десетичната запетая (напр. 2,55 часа).
Използване на модел за оценяване: ако използвате модел на OpenAI за "оценяване" на резултатите по време на обучението, токените, изразходвани от тези заявки, се таксуват отделно по стандартните ни тарифи за API след края на обучението.
Таксуваме само работата по обучението, която действително актуализира модела ви (това наричаме "отчетен реален напредък").
За какво таксуваме
Таксуваме времето, което обучаващият ви работен процес прекарва в активно обучение на вашия модел, по-конкретно:
Генериране на примери от вашия модел по време на процеса на фино настройване (известно като „rollouts“)
Оценяване на тези изходни резултати с един или повече оценители, които сте дефинирали в заданието (научете повече за оценителите)
Изчисляване и прилагане на актуализации на теглата въз основа на оценките (обратно разпространение).
Изпълнение на всички стъпки за валидиране (оценяване), които сте конфигурирали.
Повечето оценители са „безплатни“ за изпълнение, което означава, че не начисляваме допълнителна такса за използването им извън времето, с което допринасят към основния цикъл на обучение. Изключение са моделните оценители, при които също сумираме токените, които тези оценители използват по време на горните дейности. Тези токени се показват като отделна позиция във вашата фактура. Токените, използвани от моделни оценители, се таксуват по стандартните тарифи за инференция (цени на OpenAI).
За какво НЕ таксуваме
Не начисляваме такси за време, изразходвано за:
Валидиране или преглед на набора ви от данни преди началото на обучението.
Проверки за безопасност на набора ви от данни.
Изчакване на опашка за изчислителни ресурси.
Изтегляне на тегла на модела или набори от данни.
Подготовка (рендиране) на набора ви от данни в нашия формат за обучение.
Оценки на безопасността на вашия фино настроен модел след обучението.
Ако обучителна работа бъде загубена поради грешка от наша страна (например ако работен процес се срине и трябва да се върне към предишен checkpoint), не ви таксуваме за загубеното време за изчисления или токените на оценителите. Повече подробности за това има в следващия раздел.
Запазен напредък и събития за таксуване
Обучението се състои от много малки актуализации на модела ви. Ние проследяваме колко от тези актуализации завършват успешно. Таксите се базират на времето за изчисления и токените на оценителите, свързани с тези успешни актуализации.
Начисляваме такса, когато настъпи едно от следните „събития за таксуване“:
Обучението завърши успешно.
Поставите обучението на пауза.
Отмените обучението.
Обучението се провали.
Всяка такса покрива допълнителната работа, извършена след последното таксуване. Например:
Ако поставите изпълнение на пауза, запазваме checkpoint и ви таксуваме за времето за изчисления и токените на оценителите, използвани след последното таксуване.
Когато подновите, обучението продължава от checkpoint-а. Следващата такса (при завършване, нова пауза, отмяна или неуспех) ще покрива само допълнителната работа, извършена след подновяването.
Ако отмените изпълнение, ви таксуваме за работата, извършена до момента на отмяната.
Ако обучението се провали и работата след последното таксуване се загуби, не ви таксуваме за загубената част.
Този подход на „запазен напредък“ гарантира, че плащате само за работа, която се запазва в модела ви или която умишлено изоставяте.
Преглед на напредъка на задачата
Задачите за RFT имат поле, наречено usage_metrics, което отчита общото потребление за задачата до текущата стъпка. То включва времето за обучение и всички токени, използвани от всички модели за оценяване в задачата. Това поле може да се провери чрез API (GET /v1/fine_tuning/jobs/{job_id}) или чрез таблото за фина настройка.
Фактори, които влияят върху времето за обучение
Тъй като таксуването се основава на времето, избраната конфигурация пряко влияе върху разходите. Основните фактори включват:
Трудност на задачите: ако наборът ви от данни съдържа трудни задачи, моделът вероятно ще отделя повече време за структурирано анализиране на всяка от тях, което увеличава времето за създаване на всяка извадка.
Интензивност на изчисленията: хиперпараметърът compute_multiplier определя колко изчисления се извършват на всяка стъпка от обучението. По-високите стойности насърчават модела да анализира по-подробно всяка точка от данни, поради което всяка стъпка се изпълнява по-бавно.
Настройки за валидиране:
Ефективност на оценяващите механизми:
По-големите или по-способни модели за оценяване се нуждаят от повече време, за да върнат оценка, отколкото по-малките. Например оценяването с модел със структурирано анализиране може да отнеме 10 пъти повече време от оценяването с модел без структурирано анализиране.
Изпълнението на сложни функции за оценяване на Python отнема повече време от това на простите.
Тези настройки ви позволяват да намерите подходящ баланс между разходи, скорост и качество на модела. Например честото валидиране може да открие проблемите по-рано, но увеличава разходите. Оценяването с по-усъвършенстван модел може значително да подобри точността, но забавя всяка стъпка от оценяването и оскъпява задачите.
Управление на разходите
За да контролирате разходите си:
Започнете с по-кратки изпълнения, за да разберете как конфигурацията ви влияе върху времето.
Използвайте разумен брой примери за валидиране и eval_samples. Не валидирайте по-често от необходимото.
Изберете най-малкия модел за оценяване, който отговаря на изискванията ви за качество.
Поддържайте персонализираните оценяващи механизми на Python ефективни.
Коригирайте compute_multiplier, за да балансирате скоростта на сходимост и разходите.
Наблюдавайте изпълнението в таблото или чрез API. Можете да поставите изпълнението на пауза или да го отмените по всяко време.
Примери
Успешно изпълнение на обучение
| Време за обучение | Таксувано време | Състояние | Описание |
|---|---|---|---|
| 00:00 | 00:00 | – | Потребителят създава RFT задание чрез API |
| 00:10 | 00:00 | VALIDATING_FILES | 10 минути за валидиране на набора от данни |
| 00:30 | 00:00 | VALIDATING_FILES | 20 минути за проверки за безопасност на набора от данни |
| 01:00 | 00:00 | QUEUED | 30 минути изчакване за наличен работен процес |
| 01:30 | 00:00 | RUNNING | 30 минути за настройване на обучението (изтегляне на тегла, предварителна обработка и др.) |
| 05:30 | 04:00 | RUNNING | 4 часа обучение |
| 06:00 | 04:00 | RUNNING | 30 минути за изпълнение на оценки за безопасност на получения модел |
| 06:00 | 04:00 | SUCCEEDED | Обучението завършва |
В този случай общото реално изминало време е 6 часа, но само 4 часа подлежат на таксуване. Цената би била 4 часа × $100/час = $400.
Пример за неуспешно задание
В този пример изпълнението се обучава 2 часа, записва контролна точка, обучава се още 1 час, но след това се проваля. Само 2-та часа обучение до контролната точка подлежат на таксуване.
| Време за обучение | Таксувано време | Състояние | Описание |
|---|---|---|---|
| 00:00 | 00:00 | – | Потребителят създава RFT задание чрез API |
| 00:10 | 00:00 | VALIDATING_FILES | 10 минути за валидиране на набора от данни |
| 00:30 | 00:00 | VALIDATING_FILES | 20 минути за проверки за безопасност на набора от данни |
| 01:00 | 00:00 | QUEUED | 30 минути изчакване за наличен работен процес |
| 01:30 | 00:00 | RUNNING | 30 минути за настройване на обучението (изтегляне на тегла, предварителна обработка и др.) |
| 03:30 | 02:00 | RUNNING | 2 часа обучение |
| 03:30 | 02:00 | RUNNING | Контролна точка, създадена на стъпка 5 |
| 04:30 | 02:00 | RUNNING | Обучението се проваля поради вътрешна грешка на стъпка 8 (след още 1 час) |
| 04:30 | 02:00 | RUNNING | 30 минути за оценяване и валидиране на контролната точка |
| 04:30 | 02:00 | SUCCEEDED | Заданието завършва (с най-новата контролна точка) |
Въпреки че общо 3 часа са прекарани в обучение, само 2 часа са „уловени“ в използваема контролна точка и се таксуват. Часът работа по обучение, изгубен поради провала, не е ваша отговорност. Цената би била 2 часа × $100/час = $200.
Често задавани въпроси
Кога ще бъда таксуван?
Таксуваме ви, когато изпълнението завърши, бъде поставено на пауза, отменено или е неуспешно. Всяко таксуване обхваща извършената работа след предходното таксуване.
Плащам ли, ако изпълнението се провали?
Ако изпълнението се провали поради наша грешка и скорошна работа по обучението бъде изгубена, не ви таксуваме за изгубената част. Ако отмените изпълнение, ви таксуваме за работата до момента на отмяната.
Как се таксуват токените на моделите оценители?
Броим токените, използвани от всички моделни оценители, които конфигурирате. След като обучението завърши, таксуваме тези токени по нашите стандартни тарифи за токен.
Мога ли да поставя изпълнение на пауза и да го възобновя?
Да. Когато поставите на пауза, запазваме контролна точка и таксуваме работата, извършена дотогава. Когато възобновите, ще бъдете таксувани само за допълнителната работа, извършена след възобновяването.
Ако имате други въпроси относно таксуването за фино настройване с утвърждение, свържете се с нашия екип за поддръжка.
