ในตัว อเมซอน SageMaker อัลกอริทึม XGBoost จัดเตรียมคอนเทนเนอร์ที่มีการจัดการเพื่อเรียกใช้โปรแกรมยอดนิยม XGBoost เฟรมเวิร์กแมชชีนเลิร์นนิง (ML) พร้อมความสะดวกเพิ่มเติมในการสนับสนุนคุณสมบัติการฝึกขั้นสูงหรือการอนุมาน เช่น การฝึกอบรมแบบกระจาย การแบ่งกลุ่มข้อมูลสำหรับชุดข้อมูลขนาดใหญ่ การทดสอบโมเดล A/B,หรือ การอนุมานแบบหลายโมเดล ปลายทาง คุณยังสามารถขยายอัลกอริธึมอันทรงพลังนี้เพื่อรองรับความต้องการที่แตกต่างกัน
การบรรจุโค้ดและการพึ่งพาในคอนเทนเนอร์เดียวเป็นวิธีที่สะดวกและมีประสิทธิภาพสำหรับการบำรุงรักษาโค้ด ความสามารถในการทำซ้ำ และวัตถุประสงค์ในการตรวจสอบในระยะยาว การปรับเปลี่ยนคอนเทนเนอร์ตามคอนเทนเนอร์ฐานโดยตรงและหลีกเลี่ยงการทำซ้ำฟังก์ชันที่มีอยู่ซึ่งสนับสนุนโดยคอนเทนเนอร์หลักแล้ว ในโพสต์นี้ เราจะตรวจสอบการทำงานภายในของคอนเทนเนอร์อัลกอริทึม SageMaker XGBoost และจัดเตรียมสคริปต์เชิงปฏิบัติเพื่อปรับแต่งคอนเทนเนอร์โดยตรง
โครงสร้างคอนเทนเนอร์ SageMaker XGBoost
อัลกอริทึม XGBoost ในตัวของ SageMaker ถูกจัดแพ็กเกจเป็นคอนเทนเนอร์แบบสแตนด์อโลน ใช้ได้กับ GitHubและสามารถขยายได้ภายใต้ใบอนุญาตโอเพ่นซอร์ส Apache 2.0 ที่เป็นมิตรกับนักพัฒนา ภาชนะบรรจุหีบห่อ อัลกอริธึม XGBoost โอเพ่นซอร์ส และเครื่องมือเสริมเพื่อเรียกใช้อัลกอริทึมในสภาพแวดล้อม SageMaker ที่ผสานรวมกับบริการ AWS Cloud อื่นๆ สิ่งนี้ทำให้คุณสามารถฝึกโมเดล XGBoost ได้หลากหลาย แหล่งข้อมูล, ทำ การคาดการณ์แบบกลุ่ม บนข้อมูลออฟไลน์หรือโฮสต์และ จุดสิ้นสุดการอนุมาน ในเวลาจริง ท่อ.
คอนเทนเนอร์รองรับการดำเนินการฝึกอบรมและการอนุมานด้วยจุดเริ่มต้นที่แตกต่างกัน สำหรับโหมดการอนุมาน รายการสามารถพบได้ในฟังก์ชันหลักใน สคริปต์ serving.py. สำหรับการอนุมานตามเวลาจริง คอนเทนเนอร์รัน a ขวดตาม เว็บเซิร์ฟเวอร์ เมื่อไหร่ เรียกรับคำขอเข้ารหัส HTTP ที่มีข้อมูล ถอดรหัสข้อมูลลงใน XGBoost's ดีเมทริกซ์ รูปแบบ, โหลดโมเดลและส่งคืน an ตอบกลับที่เข้ารหัส HTTP กลับ. วิธีการเหล่านี้ถูกห่อหุ้มไว้ภายใต้ คะแนนบริการ ซึ่งสามารถปรับแต่งได้ผ่านโหมดสคริปต์ในระดับที่ดี (ดูภาคผนวกด้านล่าง)
จุดเริ่มต้นสำหรับโหมดการฝึก (โหมดอัลกอริธึม) เป็นฟังก์ชันหลักใน training.py. ฟังก์ชันหลักจะตั้งค่าสภาพแวดล้อมการฝึกอบรมและเรียกใช้ฟังก์ชันงานการฝึกอบรม มีความยืดหยุ่นเพียงพอสำหรับการฝึกอบรมแบบกระจายหรือแบบโหนดเดียว หรือยูทิลิตี้ เช่น การตรวจสอบข้าม หัวใจของกระบวนการฝึกอบรมสามารถพบได้ใน รถไฟ_งาน ฟังก์ชัน
ไฟล์นักเทียบท่าที่บรรจุคอนเทนเนอร์สามารถพบได้ใน repo GitHub. โปรดทราบว่าคอนเทนเนอร์ถูกสร้างขึ้นในสองขั้นตอน: a ฐาน สร้างคอนเทนเนอร์ก่อน ตามด้วย สุดท้าย ภาชนะที่ด้านบน
ภาพรวมโซลูชัน
คุณสามารถแก้ไขและสร้างคอนเทนเนอร์ใหม่ได้โดยใช้ซอร์สโค้ด อย่างไรก็ตาม สิ่งนี้เกี่ยวข้องกับการรวบรวมและสร้างการพึ่งพาและแพ็คเกจใหม่ทั้งหมดตั้งแต่เริ่มต้น ในโพสต์นี้ เราพูดถึงแนวทางที่ตรงไปตรงมามากขึ้น ซึ่งจะแก้ไขคอนเทนเนอร์ที่อยู่ด้านบนของอิมเมจคอนเทนเนอร์อัลกอริทึม SageMaker XGBoost ที่สร้างไว้แล้วและพร้อมใช้งานต่อสาธารณะโดยตรง
ในแนวทางนี้ เรา ดึง สำเนาของอิมเมจ SageMaker XGBoost สาธารณะ แก้ไขสคริปต์หรือเพิ่มแพ็คเกจ และสร้างคอนเทนเนอร์ใหม่ด้านบน คอนเทนเนอร์ที่แก้ไขสามารถเก็บไว้ในที่เก็บส่วนตัว ด้วยวิธีนี้ เราหลีกเลี่ยงการสร้างการพึ่งพาตัวกลางขึ้นใหม่ และสร้างโดยตรงบนไลบรารีที่สร้างไว้แล้วซึ่งบรรจุอยู่ในคอนเทนเนอร์อย่างเป็นทางการแทน
รูปภาพต่อไปนี้แสดงภาพรวมของสคริปต์ที่ใช้ดึงภาพฐานสาธารณะ แก้ไขและสร้างภาพใหม่ และอัปโหลดไปยังห้องส่วนตัว การลงทะเบียน Amazon Elastic Container (Amazon ECR) ที่เก็บ ดิ สคริปต์ทุบตี ในโค้ดที่แนบมาของโพสต์นี้จะทำตามขั้นตอนเวิร์กโฟลว์ทั้งหมดที่แสดงในไดอะแกรม ที่มาพร้อมกัน สมุดบันทึก แสดงตัวอย่างที่ URI ของเวอร์ชันเฉพาะของอัลกอริธึม SageMaker XGBoost ถูกดึงออกมาก่อนและส่งผ่านไปยัง สคริปต์ทุบตีซึ่งจะแทนที่สคริปต์ Python สองตัวในอิมเมจ สร้างใหม่ และพุชอิมเมจที่แก้ไขไปยังที่เก็บ Amazon ECR ส่วนตัว คุณสามารถแก้ไขรหัสที่แนบมาเพื่อให้เหมาะกับความต้องการของคุณ
เบื้องต้น
พื้นที่ พื้นที่เก็บข้อมูล GitHub มีรหัสที่มาพร้อมกับโพสต์นี้ คุณสามารถเรียกใช้ โน๊ตบุ๊คตัวอย่าง ในบัญชี AWS ของคุณหรือใช้ the การก่อตัวของ AWS Cloud stack เพื่อปรับใช้โน้ตบุ๊กโดยใช้โน้ตบุ๊ก SageMaker คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้:
- บัญชี AWS
- สิทธิ์ที่จำเป็นในการเรียกใช้งานการแปลงและฝึกอบรมแบบกลุ่มของ SageMaker และสิทธิ์ของ Amazon ECR เทมเพลต CloudFormation สร้างตัวอย่าง AWS Identity และการจัดการการเข้าถึง (IAM) บทบาท
ปรับใช้โซลูชัน
ในการสร้างทรัพยากรโซลูชันของคุณโดยใช้ AWS CloudFormation ให้เลือก เรียกใช้ Stack:
สแต็กปรับใช้โน้ตบุ๊ก SageMaker ที่กำหนดค่าไว้ล่วงหน้าเพื่อโคลนที่เก็บ GitHub คำแนะนำ สมุดบันทึก รวมขั้นตอนในการดึงอิมเมจ SageMaker XGBoost สาธารณะสำหรับเวอร์ชันที่กำหนด แก้ไข และพุชคอนเทนเนอร์ที่กำหนดเองไปยังที่เก็บ Amazon ECR ส่วนตัว โน๊ตบุ๊คใช้สาธารณะ ชุดข้อมูลหอยเป๋าฮื้อ เป็นตัวอย่าง ฝึกโมเดลโดยใช้โหมดการฝึกในตัวของ SageMaker XGBoost และนำโมเดลนี้มาใช้ซ้ำในอิมเมจที่กำหนดเองเพื่อดำเนินการแปลงเป็นชุดที่สร้างการอนุมานร่วมกับค่า SHAP
สรุป
อัลกอริทึมในตัวของ SageMaker มีคุณสมบัติและฟังก์ชันการทำงานที่หลากหลาย และสามารถขยายเพิ่มเติมได้ภายใต้ใบอนุญาตโอเพนซอร์ส Apache 2.0 ในโพสต์นี้ เราได้ทบทวนวิธีขยายคอนเทนเนอร์ในตัวสำหรับใช้งานจริงสำหรับอัลกอริธึม SageMaker XGBoost เพื่อให้ตรงตามข้อกำหนดด้านการผลิต เช่น โค้ดย้อนหลังและความเข้ากันได้ของ API
ตัวอย่างสมุดโน้ตและตัวช่วย สคริปต์ ให้จุดเริ่มต้นที่สะดวกในการปรับแต่งอิมเมจคอนเทนเนอร์ SageMaker XGBoost ตามที่คุณต้องการ ให้มันลอง!
ภาคผนวก: โหมดสคริปต์
โหมดสคริปต์ ให้วิธีการแก้ไขอัลกอริธึมในตัวของ SageMaker จำนวนมากโดยจัดเตรียมอินเทอร์เฟซเพื่อแทนที่ฟังก์ชันที่รับผิดชอบในการแปลงอินพุตและโหลดโมเดล โหมดสคริปต์ไม่ยืดหยุ่นเท่ากับการปรับเปลี่ยนคอนเทนเนอร์โดยตรง แต่มีเส้นทางที่ใช้ Python อย่างสมบูรณ์เพื่อปรับแต่งอัลกอริทึมในตัวโดยไม่จำเป็นต้องทำงานโดยตรง นักเทียบท่า.
ในโหมดสคริปต์ a user-module
มีไว้เพื่อปรับแต่งการถอดรหัสข้อมูล การโหลดโมเดล และการคาดการณ์ โมดูลผู้ใช้สามารถกำหนด a transformer_fn
ที่จัดการทุกด้านของการประมวลผลคำขอเพื่อเตรียมการตอบกลับ หรือแทนที่จะกำหนด transformer_fn
คุณสามารถระบุวิธีการที่กำหนดเองได้ model_fn
, input_fn
, predict_fn
และ output_fn
เพื่อปรับแต่งการโหลดโมเดลและถอดรหัสและเตรียมอินพุตสำหรับการทำนาย สำหรับภาพรวมโดยละเอียดของโหมดสคริปต์ โปรดดูที่ นำโมเดลของคุณเองด้วยโหมดสคริปต์ SageMaker.
เกี่ยวกับผู้เขียน
เพย์มาน ราซากี เป็นนักวิทยาศาสตร์ข้อมูลที่ AWS เขาสำเร็จการศึกษาระดับปริญญาเอกด้านทฤษฎีสารสนเทศจากมหาวิทยาลัยโตรอนโต และเป็นนักวิทยาศาสตร์ด้านการวิจัยระดับหลังปริญญาเอกที่มหาวิทยาลัยเซาเทิร์นแคลิฟอร์เนีย (USC) ลอสแองเจลิส ก่อนร่วมงานกับ AWS Peyman เป็นวิศวกรระบบของพนักงานที่ Qualcomm ซึ่งมีส่วนสนับสนุนมาตรฐานโทรคมนาคมระดับนานาชาติที่มีชื่อเสียงหลายประการ เขาได้เขียนบทความวิจัยทางวิทยาศาสตร์หลายบทความที่ได้รับการตรวจสอบโดยเพื่อนในด้านสถิติและวิศวกรรมระบบ และสนุกกับการเลี้ยงดูลูกและการปั่นจักรยานบนถนนนอกที่ทำงาน
- "
- 100
- เข้า
- อำนวยความสะดวก
- ลงชื่อเข้าใช้
- สูง
- ขั้นตอนวิธี
- อัลกอริทึม
- ทั้งหมด
- แล้ว
- อเมซอน
- API
- เข้าใกล้
- AREA
- บทความ
- AWS
- สร้าง
- built-in
- แคลิฟอร์เนีย
- Choose
- ชั้น
- เมฆ
- บริการคลาวด์
- รหัส
- การเก็บรวบรวม
- อย่างสมบูรณ์
- ภาชนะ
- มี
- ความสะดวกสบาย
- สะดวกสบาย
- สร้าง
- ประเพณี
- ข้อมูล
- นักวิทยาศาสตร์ข้อมูล
- ปรับใช้
- Deploys
- ต่าง
- โดยตรง
- สนทนา
- กระจาย
- นักเทียบท่า
- วิศวกร
- สิ่งแวดล้อม
- ตัวอย่าง
- ขยายออก
- คุณสมบัติ
- รูป
- ชื่อจริง
- มีความยืดหยุ่น
- ดังต่อไปนี้
- รูป
- พบ
- กรอบ
- ฟังก์ชัน
- ต่อไป
- GitHub
- ยิ่งใหญ่
- ถือ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTTPS
- เอกลักษณ์
- ภาพ
- ข้อมูล
- อินพุต
- แบบบูรณาการ
- อินเตอร์เฟซ
- International
- IT
- การสัมภาษณ์
- งาน
- การเรียนรู้
- License
- ระยะยาว
- Los Angeles
- เครื่อง
- เรียนรู้เครื่อง
- ทำให้
- การทำ
- การจัดการ
- ML
- แบบ
- โมเดล
- ข้อมูลเพิ่มเติม
- สมุดบันทึก
- จำนวน
- เป็นทางการ
- ออฟไลน์
- การดำเนินการ
- อื่นๆ
- ของตนเอง
- จุด
- ยอดนิยม
- ที่มีประสิทธิภาพ
- คำทำนาย
- การคาดการณ์
- ส่วนตัว
- กระบวนการ
- ก่อ
- การผลิต
- ให้
- ให้
- การให้
- สาธารณะ
- วัตถุประสงค์
- เรียลไทม์
- กรุ
- ขอ
- ความต้องการ
- การวิจัย
- แหล่งข้อมูล
- คำตอบ
- รับผิดชอบ
- รับคืน
- ทบทวน
- เส้นทาง
- วิ่ง
- นักวิทยาศาสตร์
- บริการ
- การให้บริการ
- ชาร์ดดิ้ง
- ซอฟต์แวร์
- ทางออก
- รหัสแหล่งที่มา
- ทางใต้
- กอง
- มาตรฐาน
- สถิติ
- ที่สนับสนุน
- ที่สนับสนุน
- รองรับ
- ระบบ
- ที่มา
- ตลอด
- ร่วมกัน
- เครื่องมือ
- ด้านบน
- โตรอน
- การฝึกอบรม
- รถไฟ
- แปลง
- การเปลี่ยนแปลง
- มหาวิทยาลัย
- ใช้
- ความหลากหลาย
- วิกิพีเดีย
- งาน
- จะ