ส่วนประกอบไปป์ไลน์ Pusher TFX

ส่วนประกอบ Pusher ใช้เพื่อส่งโมเดลที่ได้รับการตรวจสอบแล้วไปยัง เป้าหมายการใช้งาน ในระหว่างการฝึกโมเดลหรือการฝึกซ้ำ ก่อนการติดตั้งใช้งาน Pusher อาศัยพรตั้งแต่หนึ่งรายการขึ้นไปจากส่วนประกอบการตรวจสอบความถูกต้องอื่นๆ เพื่อตัดสินใจว่าจะพุชโมเดลหรือไม่

  • ผู้ประเมิน จะอวยพรโมเดลหากโมเดลที่ได้รับการฝึกใหม่ "ดีพอ" ที่จะผลักดันไปสู่การใช้งานจริง
  • (ไม่บังคับ แต่แนะนำ) InfraValidator จะให้พรแก่โมเดล หากโมเดลนั้นสามารถให้บริการเชิงกลไกในสภาพแวดล้อมการใช้งานจริงได้

ส่วนประกอบ Pusher ใช้โมเดลที่ได้รับการฝึกอบรมในรูปแบบ SavedModel และสร้าง SavedModel เดียวกัน พร้อมด้วยข้อมูลเมตาการกำหนดเวอร์ชัน

การใช้ส่วนประกอบ Pusher

โดยทั่วไปส่วนประกอบไปป์ไลน์ Pusher นั้นง่ายต่อการปรับใช้และต้องการการปรับแต่งเพียงเล็กน้อย เนื่องจากงานทั้งหมดเสร็จสิ้นโดยส่วนประกอบ Pusher TFX รหัสทั่วไปมีลักษณะดังนี้:

pusher = Pusher(
  model=trainer.outputs['model'],
  model_blessing=evaluator.outputs['blessing'],
  infra_blessing=infra_validator.outputs['blessing'],
  push_destination=tfx.proto.PushDestination(
    filesystem=tfx.proto.PushDestination.Filesystem(
        base_directory=serving_model_dir)
  )
)

ผลักดันโมเดลที่ผลิตจาก InfraValidator

(จากเวอร์ชัน 0.30.0)

InfraValidator ยังสามารถสร้าง InfraBlessing artifact ที่มี โมเดลที่มีการ warmup และ Pusher ก็สามารถพุชมันได้เหมือนกับ Artifact Model

infra_validator = InfraValidator(
    ...,
    # make_warmup=True will produce a model with warmup requests in its
    # 'blessing' output.
    request_spec=tfx.proto.RequestSpec(..., make_warmup=True)
)

pusher = Pusher(
    # Push model from 'infra_blessing' input.
    infra_blessing=infra_validator.outputs['blessing'],
    push_destination=tfx.proto.PushDestination(...)
)

รายละเอียดเพิ่มเติมมีอยู่ใน ข้อมูลอ้างอิง Pusher API