OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

คู่มือการคิดค่าบริการสำหรับ Reinforcement Fine-Tuning API

การคิดค่าบริการสำหรับ RFT API ทำงานอย่างไร

อัปเดตล่าสุด: 15 days ago

การคิดค่าบริการสำหรับ RFT ทำงานอย่างไร

Reinforcement Fine‑Tuning (RFT) ช่วยให้คุณปรับประสิทธิภาพของโมเดลการให้เหตุผลของ OpenAI ให้เหมาะสมโดยใช้การเรียนรู้แบบเสริมกำลัง ต่างจากบริการ fine-tuning แบบมีผู้สอนหรือแบบอิงความชอบของเรา ซึ่งคิดค่าบริการตามจำนวน Token ในชุดข้อมูลฝึก โดย RFT จะคิดค่าบริการตามเวลาที่รอบการฝึกของคุณใช้ไปกับงานแมชชีนเลิร์นนิงหลัก

คู่มือนี้อธิบายว่าส่วนใดนับเป็นเวลาฝึกที่คิดค่าบริการ วิธีที่เราจัดการกับการหยุดชั่วคราวและการยกเลิก และตัวเลือกการกำหนดค่าของคุณอาจส่งผลต่อต้นทุนอย่างไร

ราคา

  • การประมวลผล: $100 ต่อชั่วโมงของเวลาจริงที่ใช้ในลูปการฝึกหลักสำหรับ o4-mini-2025-04-16 ค่าบริการจะคิดตามจริงเป็นรายวินาทีและปัดเศษเป็นทศนิยมสองตำแหน่งในใบแจ้งหนี้ (เช่น 2.55 ชั่วโมง)

  • การใช้งาน grader model: หากคุณใช้โมเดล OpenAI เพื่อ "ให้คะแนน" เอาต์พุตระหว่างการฝึก Token ที่ใช้ในการเรียกให้คะแนนเหล่านั้นจะถูกคิดค่าบริการแยกต่างหากตามอัตรา API มาตรฐานของเราหลังการฝึกเสร็จสิ้น

เราคิดค่าบริการเฉพาะงานฝึกที่อัปเดตโมเดลของคุณจริง ๆ เท่านั้น (สิ่งที่เราเรียกว่า "captured forward progress")

สิ่งที่เราคิดค่าบริการ

เราคิดค่าบริการตามเวลาที่ worker ฝึกของคุณใช้ในการฝึกโมเดลของคุณอย่างจริงจัง โดยเฉพาะ:

  • การสร้างตัวอย่างจากโมเดลของคุณระหว่างกระบวนการ fine-tuning (เรียกว่า “rollouts”)

  • การประเมินเอาต์พุตเหล่านั้นด้วย grader หนึ่งตัวหรือมากกว่าที่คุณกำหนดไว้ในงาน (เรียนรู้เพิ่มเติมเกี่ยวกับ grader)

  • การคำนวณและนำการอัปเดต weights ไปใช้ตามผลการให้คะแนน (backpropagation)

  • การรันขั้นตอน validation (evaluation) ใด ๆ ที่คุณกำหนดค่าไว้

grader ส่วนใหญ่ใช้งานได้ “ฟรี” ซึ่งหมายความว่าเราไม่คิดค่าบริการเพิ่มเติมสำหรับการใช้งาน นอกเหนือจากเวลาที่ grader เหล่านั้นมีส่วนร่วมในลูปการฝึกหลัก ข้อยกเว้นคือ grader model ซึ่งเราจะนับ Token ที่ grader เหล่านั้นใช้ระหว่างกิจกรรมข้างต้นด้วย Token เหล่านี้จะแสดงเป็นรายการแยกต่างหากในใบแจ้งหนี้ของคุณ Token ที่ grader model ใช้จะคิดค่าบริการตามอัตรา inference ปกติ (ราคา OpenAI)

สิ่งที่เราไม่คิดค่าบริการ

เราไม่คิดค่าบริการสำหรับเวลาที่ใช้ไปกับ:

  • การตรวจสอบหรือสำรวจชุดข้อมูลของคุณก่อนเริ่มการฝึก

  • การตรวจสอบความปลอดภัยในชุดข้อมูลของคุณ

  • การรอคิวเพื่อใช้ทรัพยากรประมวลผล

  • การดาวน์โหลดน้ำหนักโมเดลหรือชุดข้อมูล

  • การเตรียม (render) ชุดข้อมูลของคุณให้อยู่ในรูปแบบการฝึกของเรา

  • การประเมินความปลอดภัยหลังการฝึกของโมเดลที่ผ่าน fine-tuning ของคุณ

หากงานฝึกสูญหายเนื่องจากข้อผิดพลาดฝั่งเรา (ตัวอย่างเช่น หาก worker ล่มและต้องย้อนกลับไปยัง checkpoint ก่อนหน้า) คุณจะไม่ถูกคิดค่าบริการสำหรับเวลาในการประมวลผลหรือ Token ของ grader ที่สูญหาย รายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้อยู่ในส่วนถัดไป

Captured forward progress และเหตุการณ์การคิดค่าบริการ

การฝึกประกอบด้วยการอัปเดตเล็ก ๆ จำนวนมากต่อโมเดลของคุณ เราติดตามว่าการอัปเดตเหล่านี้สำเร็จสมบูรณ์ไปกี่ครั้ง ค่าบริการจะอิงตามเวลาในการประมวลผลและ Token ของ grader ที่เกี่ยวข้องกับการอัปเดตที่สำเร็จเหล่านี้

เราจะเรียกเก็บเงินเมื่อเกิด "เหตุการณ์การคิดค่าบริการ" อย่างใดอย่างหนึ่งต่อไปนี้:

  • การฝึกเสร็จสมบูรณ์

  • คุณหยุดการฝึกชั่วคราว

  • คุณยกเลิกการฝึก

  • การฝึกไม่สำเร็จ

ค่าบริการแต่ละครั้งครอบคลุมงานส่วนเพิ่มที่ทำไปนับจากการเรียกเก็บเงินครั้งล่าสุด ตัวอย่างเช่น:

  • หากคุณหยุดการรันชั่วคราว เราจะบันทึก checkpoint และเรียกเก็บเงินสำหรับเวลาในการประมวลผลและ Token ของ grader ที่ใช้ไปนับจากการเรียกเก็บเงินครั้งล่าสุด

  • เมื่อคุณกลับมารันต่อ การฝึกจะดำเนินต่อจาก checkpoint ค่าบริการครั้งถัดไป (เมื่อเสร็จสิ้น หยุดอีกครั้ง ยกเลิก หรือไม่สำเร็จ) จะครอบคลุมเฉพาะงานเพิ่มเติมที่ทำหลังจากกลับมารันต่อ

  • หากคุณยกเลิกการรัน เราจะเรียกเก็บเงินสำหรับงานที่ทำไปจนถึงเวลาที่ยกเลิก

  • หากการฝึกล้มเหลวและงานนับจากการเรียกเก็บเงินครั้งล่าสุดสูญหาย คุณจะไม่ถูกเรียกเก็บเงินสำหรับส่วนที่สูญหาย

แนวทาง "captured forward progress" นี้ช่วยให้มั่นใจว่าคุณจ่ายเฉพาะงานที่ถูกรักษาไว้ในโมเดลของคุณ หรือที่คุณตั้งใจละทิ้งเท่านั้น

การดูความคืบหน้าของงาน

งาน RFT มีฟิลด์ชื่อ usage_metrics ที่บันทึกการใช้งานรวมของงานจนถึงขั้นตอนปัจจุบัน ซึ่งรวมถึงเวลาที่ใช้ในการฝึก และ Token ทั้งหมดที่ใช้ใน grader model ทั้งหมดของงาน ฟิลด์นี้ตรวจสอบได้ผ่าน API (GET /v1/fine_tuning/jobs/{job_id}) หรือผ่านแดชบอร์ด fine-tuning

ปัจจัยที่มีผลต่อเวลาในการฝึก

เนื่องจากการคิดค่าบริการอิงตามเวลา ตัวเลือกการกำหนดค่าของคุณจึงส่งผลต่อต้นทุนโดยตรง ปัจจัยสำคัญได้แก่:

  • ความยากของปัญหา: หากชุดข้อมูลของคุณประกอบด้วยปัญหาที่ยาก โมเดลก็มักจะใช้เวลามากขึ้นในการให้เหตุผลกับแต่ละปัญหา ซึ่งเพิ่มเวลาที่ต้องใช้ในการสร้างแต่ละตัวอย่าง

  • ความเข้มข้นของการประมวลผล: ไฮเปอร์พารามิเตอร์ compute_multiplier ควบคุมว่าคุณใช้การคำนวณมากเพียงใดต่อแต่ละขั้นตอนการฝึก ค่าที่สูงขึ้นจะกระตุ้นให้โมเดลให้เหตุผลอย่างละเอียดมากขึ้นกับแต่ละจุดข้อมูล ซึ่งทำให้แต่ละขั้นตอนทำงานช้าลง

  • การตั้งค่าการตรวจสอบความถูกต้อง:

    • ชุดข้อมูล validation ที่ใหญ่ขึ้นจะเพิ่มเวลาที่ใช้ในการประเมิน

    • การเพิ่ม eval_samples (จำนวนเอาต์พุตของโมเดลที่ให้คะแนนต่อแต่ละตัวอย่าง validation) จะเพิ่มเวลา validation

    • การรัน validation บ่อยขึ้น (ลดค่า eval_interval) จะเพิ่มสัดส่วนเวลาที่ใช้ไปกับ validation

  • ประสิทธิภาพของ grader:

    • grader model ที่มีขนาดใหญ่กว่าหรือมีความสามารถมากกว่าจะใช้เวลาส่งผลการให้คะแนนนานกว่าตัวที่เล็กกว่า ตัวอย่างเช่น การให้คะแนนด้วยโมเดลการให้เหตุผลอาจใช้เวลานานกว่าการให้คะแนนด้วยโมเดลที่ไม่ใช่การให้เหตุผลถึง 10 เท่า

    • ฟังก์ชันการให้คะแนน Python ที่ซับซ้อนใช้เวลารันนานกว่าฟังก์ชันที่เรียบง่าย

การตั้งค่าเหล่านี้ช่วยให้คุณปรับสมดุลระหว่างต้นทุน ความเร็ว และคุณภาพของโมเดลได้ ตัวอย่างเช่น การทำ validation บ่อยอาจช่วยจับปัญหาได้เร็วขึ้น แต่เพิ่มต้นทุน การให้คะแนนด้วยโมเดลที่ล้ำหน้ากว่าอาจเพิ่มความแม่นยำของการให้คะแนนอย่างมาก แต่จะทำให้แต่ละขั้นตอนการให้คะแนนช้าลงและทำให้งานมีค่าใช้จ่ายสูงขึ้น

การจัดการต้นทุน

เพื่อควบคุมค่าใช้จ่ายของคุณ:

  • เริ่มจากการรันที่สั้นลงเพื่อทำความเข้าใจว่าการกำหนดค่าของคุณส่งผลต่อเวลาอย่างไร

  • ใช้จำนวนตัวอย่าง validation และ eval_samples ที่เหมาะสม หลีกเลี่ยงการทำ validation บ่อยเกินความจำเป็น

  • เลือก grader model ที่เล็กที่สุดที่ยังตอบโจทย์ด้านคุณภาพของคุณ

  • ดูแลให้ grader Python แบบกำหนดเองมีประสิทธิภาพ

  • ปรับ compute_multiplier เพื่อสร้างสมดุลระหว่างความเร็วในการลู่เข้าและต้นทุน

  • ติดตามการรันของคุณในแดชบอร์ดหรือผ่าน API คุณสามารถหยุดชั่วคราวหรือยกเลิกได้ทุกเมื่อ

ตัวอย่าง

ตัวอย่างการรันฝึกที่สำเร็จ

เวลาฝึกเวลาที่คิดค่าบริการสถานะคำอธิบาย
00 : 0000 : 00ผู้ใช้สร้างงาน RFT ผ่าน API
00 : 1000 : 00VALIDATING_FILESใช้เวลา 10 นาทีในการตรวจสอบชุดข้อมูล
00 : 3000 : 00VALIDATING_FILESใช้เวลา 20 นาทีในการตรวจสอบความปลอดภัยของชุดข้อมูล
01 : 0000 : 00QUEUEDรอ worker ที่พร้อมใช้งาน 30 นาที
01 : 3000 : 00RUNNINGใช้เวลา 30 นาทีในการตั้งค่าการฝึก (ดาวน์โหลด weights, preprocessing ฯลฯ)
05 : 3004 : 00RUNNINGใช้เวลาฝึก 4 ชั่วโมง
06 : 0004 : 00RUNNINGใช้เวลา 30 นาทีในการประเมินความปลอดภัยของโมเดลที่ได้
06 : 0004 : 00SUCCEEDEDการฝึกเสร็จสิ้น

ในกรณีนี้ เวลารวมตามนาฬิกาจริงคือ 6 ชั่วโมง แต่มีเพียง 4 ชั่วโมงที่คิดค่าบริการ ค่าใช้จ่ายจะเป็น 4 ชั่วโมง × $100/ชั่วโมง = $400

ตัวอย่างงานที่ล้มเหลว

ในตัวอย่างนี้ การรันฝึกเป็นเวลา 2 ชั่วโมง เขียน checkpoint ฝึกต่ออีก 1 ชั่วโมง แล้วจึงล้มเหลว มีเพียง 2 ชั่วโมงของการฝึกจนถึง checkpoint เท่านั้นที่คิดค่าบริการ

เวลาฝึกเวลาที่คิดค่าบริการสถานะคำอธิบาย
00 : 0000 : 00ผู้ใช้สร้างงาน RFT ผ่าน API
00 : 1000 : 00VALIDATING_FILESใช้เวลา 10 นาทีในการตรวจสอบชุดข้อมูล
00 : 3000 : 00VALIDATING_FILESใช้เวลา 20 นาทีในการตรวจสอบความปลอดภัยของชุดข้อมูล
01 : 0000 : 00QUEUEDรอ worker ที่พร้อมใช้งาน 30 นาที
01 : 3000 : 00RUNNINGใช้เวลา 30 นาทีในการตั้งค่าการฝึก (ดาวน์โหลด weights, preprocessing ฯลฯ)
03 : 3002 : 00RUNNINGใช้เวลาฝึก 2 ชั่วโมง
03 : 3002 : 00RUNNINGสร้าง checkpoint ที่ขั้นตอน 5
04 : 3002 : 00RUNNINGการฝึกล้มเหลวเนื่องจากข้อผิดพลาดภายในที่ขั้นตอน 8 (หลังผ่านไปอีก 1 ชั่วโมง)
04 : 3002 : 00RUNNINGใช้เวลา 30 นาทีในการประเมินและตรวจสอบ checkpoint
04 : 3002 : 00SUCCEEDEDงานเสร็จสิ้น (พร้อม checkpoint ล่าสุด)

แม้ว่าโดยรวมจะใช้เวลาฝึก 3 ชั่วโมง แต่มีเพียง 2 ชั่วโมงเท่านั้นที่ถูก "จับไว้" ใน checkpoint ที่ใช้งานได้และถูกคิดค่าบริการ ชั่วโมงของงานฝึกที่สูญเสียไปเนื่องจากความล้มเหลวไม่ใช่ความรับผิดชอบของคุณ ค่าใช้จ่ายจะเป็น 2 ชั่วโมง × $100/ชั่วโมง = $200

คำถามที่พบบ่อย

ฉันจะถูกเรียกเก็บเงินเมื่อใด?

เราจะเรียกเก็บเงินเมื่อการรันของคุณเสร็จสิ้น ถูกหยุดชั่วคราว ถูกยกเลิก หรือไม่สำเร็จ ใบเรียกเก็บเงินแต่ละรายการครอบคลุมงานที่ทำไปนับจากใบเรียกเก็บเงินครั้งก่อน

ฉันต้องจ่ายไหมหากการรันล้มเหลว?

หากการรันล้มเหลวเนื่องจากข้อผิดพลาดของเราและงานฝึกล่าสุดบางส่วนสูญหาย คุณจะไม่ถูกเรียกเก็บเงินสำหรับส่วนที่สูญหาย หากคุณยกเลิกการรัน คุณจะถูกเรียกเก็บเงินสำหรับงานที่ทำไปจนถึงเวลาที่ยกเลิก

Token ของ grader model ถูกคิดค่าบริการอย่างไร?

เรานับ Token ที่ใช้โดย grader model ใด ๆ ที่คุณกำหนดค่าไว้ หลังจากการฝึกเสร็จสิ้น เราจะคิดค่าบริการ Token เหล่านั้นตามอัตราต่อ Token มาตรฐานของเรา

ฉันสามารถหยุดและกลับมารันต่อได้ไหม?

ได้ เมื่อคุณหยุดชั่วคราว เราจะบันทึก checkpoint และเรียกเก็บเงินสำหรับงานที่ทำไปจนถึงตอนนั้น เมื่อคุณกลับมารันต่อ คุณจะถูกเรียกเก็บเงินเฉพาะงานเพิ่มเติมที่ทำหลังจากกลับมารันต่อเท่านั้น

หากคุณมีคำถามอื่นเกี่ยวกับการคิดค่าบริการของ Reinforcement Fine‑Tuning ติดต่อทีมสนับสนุนของเรา

บทความนี้มีประโยชน์หรือไม่