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

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

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

อัปเดตล่าสุด: 18 hours 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 ฝึกของคุณใช้ในการฝึกโมเดลของคุณอย่างจริงจัง โดยเฉพาะ:

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

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

  • การคำนวณและใช้การอัปเดตน้ำหนักตามคะแนน (การแพร่ย้อนกลับ)

  • การรันขั้นตอนการตรวจสอบความถูกต้อง (การประเมิน) ใดๆ ที่คุณกำหนดค่าไว้

ตัวให้คะแนนส่วนใหญ่รันได้ “ฟรี” ซึ่งหมายความว่าเราไม่เรียกเก็บเงินเพิ่มสำหรับการใช้งาน นอกเหนือจากเวลาที่ตัวให้คะแนนเหล่านั้นมีส่วนต่อวงจรการฝึกหลัก ข้อยกเว้นคือกรณีตัวให้คะแนนแบบโมเดล ซึ่งเราจะนับรวม Token ที่ตัวให้คะแนนเหล่านั้นใช้ระหว่างกิจกรรมข้างต้นด้วย Token เหล่านี้จะแสดงเป็นรายการแยกต่างหากในใบแจ้งหนี้ของคุณ Token ที่ตัวให้คะแนนแบบโมเดลใช้จะถูกเรียกเก็บเงินตามอัตรา 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 ทั้งหมดที่ใช้กับตัวให้คะแนนแบบโมเดลทั้งหมดในงานนั้น สามารถตรวจสอบฟิลด์นี้ผ่าน API (GET /v1/fine_tuning/jobs/{job_id}) หรือผ่านแดชบอร์ดการปรับแต่งแบบละเอียด

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

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

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

  • ความเข้มข้นของการประมวลผล: ไฮเปอร์พารามิเตอร์ 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 นาทีในการตั้งค่าการฝึก (ดาวน์โหลดน้ำหนัก การประมวลผลล่วงหน้า ฯลฯ)
05:3004:00RUNNINGใช้เวลา 4 ชั่วโมงในการฝึก
06:0004:00RUNNINGใช้เวลา 30 นาทีในการประเมินความปลอดภัยของโมเดลที่ได้
06:0004:00SUCCEEDEDการฝึกเสร็จสิ้น

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

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

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

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

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

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

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

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

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

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

Token ของโมเดลตัวให้คะแนนถูกเรียกเก็บเงินอย่างไร

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

ฉันสามารถพักและดำเนินการรันต่อได้ไหม

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

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

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