จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | อเมซอนเว็บเซอร์วิส

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | อเมซอนเว็บเซอร์วิส

โพสต์นี้เขียนร่วมกันโดย Anatoly Khomenko วิศวกรการเรียนรู้ของเครื่อง และ Abdenour Bezzouh ประธานเจ้าหน้าที่ฝ่ายเทคโนโลยีของ Talent.com

ก่อตั้งขึ้นในปี 2011, ทาเล้นท์.คอม เป็นหนึ่งในแหล่งการจ้างงานที่ใหญ่ที่สุดในโลก บริษัทรวมรายชื่องานที่ต้องชำระเงินจากลูกค้าเข้ากับรายชื่องานสาธารณะไว้ในแพลตฟอร์มเดียวที่สามารถค้นหาได้ ด้วยตำแหน่งงานมากกว่า 30 ล้านตำแหน่งในกว่า 75 ประเทศ Talent.com ให้บริการงานในหลายภาษา อุตสาหกรรม และช่องทางการจัดจำหน่าย ผลลัพธ์ที่ได้คือแพลตฟอร์มที่จับคู่ผู้หางานหลายล้านคนกับงานว่าง

ภารกิจของ Talent.com คือการรวมงานทั้งหมดที่มีอยู่บนเว็บไว้ที่ศูนย์กลาง เพื่อช่วยให้ผู้หางานค้นพบงานที่ตรงใจที่สุด ขณะเดียวกันก็มอบประสบการณ์การค้นหาที่ดีที่สุดให้กับพวกเขา โดยเน้นที่ความเกี่ยวข้อง เนื่องจากลำดับของงานที่แนะนำมีความสำคัญอย่างยิ่งในการแสดงงานที่เกี่ยวข้องกับความสนใจของผู้ใช้มากที่สุด ประสิทธิภาพของอัลกอริธึมการจับคู่ของ Talent.com มีความสำคัญอย่างยิ่งต่อความสำเร็จของธุรกิจและมีส่วนสำคัญต่อประสบการณ์ของผู้ใช้ เป็นการท้าทายที่จะคาดการณ์ว่างานใดที่เกี่ยวข้องกับผู้หางานโดยพิจารณาจากข้อมูลที่ให้มาอย่างจำกัด ซึ่งโดยปกติแล้วจะประกอบด้วยคำหลักเพียงไม่กี่คำและสถานที่ตั้ง

ด้วยภารกิจนี้ Talent.com และ AWS จึงร่วมมือกันสร้างเครื่องมือแนะนำงานโดยใช้การประมวลผลภาษาธรรมชาติ (NLP) ที่ล้ำสมัยและเทคนิคการฝึกอบรมโมเดลการเรียนรู้เชิงลึกด้วย อเมซอน SageMaker เพื่อมอบประสบการณ์ที่ไม่มีใครเทียบได้สำหรับผู้หางาน โพสต์นี้แสดงแนวทางร่วมกันของเราในการออกแบบระบบการแนะนำงาน รวมถึงวิศวกรรมฟีเจอร์ การออกแบบสถาปัตยกรรมโมเดลการเรียนรู้เชิงลึก การเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์ และการประเมินแบบจำลองที่ช่วยให้มั่นใจในความน่าเชื่อถือและประสิทธิผลของโซลูชันของเราสำหรับทั้งผู้หางานและผู้จ้างงาน ระบบนี้ได้รับการพัฒนาโดยทีมนักวิทยาศาสตร์ด้าน Machine Learning (ML) วิศวกร ML และผู้เชี่ยวชาญด้านเนื้อหาเฉพาะด้านโดยความร่วมมือระหว่าง AWS และ Talent.com

ระบบการแนะนำได้กระตุ้นให้อัตราการคลิกผ่าน (CTR) เพิ่มขึ้น 8.6% ในการทดสอบ A/B ออนไลน์ เทียบกับโซลูชันที่ใช้ XGBoost รุ่นก่อนหน้า ซึ่งช่วยเชื่อมโยงผู้ใช้หลายล้านคนของ Talent.com เข้ากับงานที่ดีขึ้น

ภาพรวมของโซลูชัน

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

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ระบบประกอบด้วยสี่องค์ประกอบหลัก:

  • สถาปัตยกรรมจำลอง แกนหลักของกลไกการแนะนำงานนี้คือโมเดล Triple Tower Pointwise ที่อิงการเรียนรู้เชิงลึก ซึ่งรวมถึงตัวเข้ารหัสแบบสอบถามที่เข้ารหัสคำค้นหาของผู้ใช้ ตัวเข้ารหัสเอกสารที่เข้ารหัสคำอธิบายงาน และตัวเข้ารหัสการโต้ตอบที่ประมวลผลงานของผู้ใช้ที่ผ่านมา คุณสมบัติการโต้ตอบ ผลลัพธ์ของหอคอยทั้งสามจะต่อกันและส่งผ่านส่วนหัวการจำแนกประเภทเพื่อทำนายความน่าจะเป็นของการคลิกของงาน ด้วยการฝึกโมเดลนี้เกี่ยวกับคำค้นหา เฉพาะงาน และข้อมูลการโต้ตอบของผู้ใช้ในอดีตจาก Talent.com ระบบนี้จะให้คำแนะนำงานที่เป็นส่วนตัวและมีความเกี่ยวข้องสูงแก่ผู้หางาน
  • วิศวกรรมคุณลักษณะ – เราดำเนินการวิศวกรรมคุณลักษณะสองชุดเพื่อดึงข้อมูลอันมีค่าจากข้อมูลอินพุตและป้อนลงในทาวเวอร์ที่สอดคล้องกันในแบบจำลอง สองชุดนี้เป็นคุณสมบัติทางวิศวกรรมมาตรฐานและการฝัง Sentence-BERT (SBERT) ที่ได้รับการปรับแต่งอย่างละเอียด เราใช้คุณสมบัติทางวิศวกรรมมาตรฐานเป็นอินพุตในตัวเข้ารหัสการโต้ตอบและป้อน SBERT ที่ได้รับที่ฝังลงในตัวเข้ารหัสแบบสอบถามและตัวเข้ารหัสเอกสาร
  • การเพิ่มประสิทธิภาพและการปรับแต่งโมเดล – เราใช้วิธีการฝึกอบรมขั้นสูงเพื่อฝึกอบรม ทดสอบ และปรับใช้ระบบด้วย SageMaker ซึ่งรวมถึงการฝึกอบรม SageMaker Distributed Data Parallel (DDP), SageMaker Automatic Model Tuning (AMT), การกำหนดอัตราการเรียนรู้ และการหยุดก่อนเวลาเพื่อปรับปรุงประสิทธิภาพของโมเดลและความเร็วในการฝึกอบรม การใช้กรอบการฝึกอบรม DDP ช่วยให้การฝึกโมเดลของเราเร็วขึ้นประมาณแปดเท่า
  • การประเมินแบบจำลอง – เราทำการประเมินทั้งแบบออฟไลน์และออนไลน์ เราประเมินประสิทธิภาพของโมเดลด้วย Area Under the Curve (AUC) และ Mean Average Precision ที่ K (mAP@K) ในการประเมินแบบออฟไลน์ ในระหว่างการทดสอบ A/B ออนไลน์ เราจะประเมินการปรับปรุง CTR

ในส่วนต่อไปนี้ เราจะนำเสนอรายละเอียดขององค์ประกอบทั้งสี่นี้

การออกแบบสถาปัตยกรรมโมเดลการเรียนรู้เชิงลึก

เราออกแบบโมเดล Triple Tower Deep Pointwise (TTDP) โดยใช้สถาปัตยกรรมการเรียนรู้เชิงลึกแบบ Triple Tower Deep Pointwise (TTDP) และวิธีการสร้างแบบจำลองคู่แบบ pointwise สถาปัตยกรรมแบบสามทาวเวอร์มีโครงข่ายประสาทเทียมเชิงลึกสามเครือข่ายขนานกัน โดยแต่ละทาวเวอร์จะประมวลผลชุดคุณสมบัติแยกจากกัน รูปแบบการออกแบบนี้ช่วยให้โมเดลเรียนรู้การนำเสนอที่แตกต่างจากแหล่งข้อมูลที่แตกต่างกัน หลังจากได้รับการเป็นตัวแทนจากหอคอยทั้งสามแห่งแล้ว พวกมันจะถูกต่อเข้าด้วยกันและส่งผ่านส่วนหัวการจำแนกประเภทเพื่อทำการทำนายขั้นสุดท้าย (0–1) เกี่ยวกับความน่าจะเป็นของการคลิก (การตั้งค่าการสร้างแบบจำลองแบบจุด)

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

อาคารแต่ละหลังมีบทบาทสำคัญในการเรียนรู้วิธีแนะนำงาน:

  • ตัวเข้ารหัสแบบสอบถาม – ตัวเข้ารหัสคำค้นหาใช้เวลาในการฝัง SBERT ที่ได้มาจากคำค้นหางานของผู้ใช้ เราปรับปรุงการฝังผ่านโมเดล SBERT ที่เราปรับแต่งอย่างละเอียด ตัวเข้ารหัสนี้จะประมวลผลและเข้าใจจุดประสงค์ในการค้นหางานของผู้ใช้ รวมถึงรายละเอียดและความแตกต่างที่บันทึกโดยการฝังเฉพาะโดเมนของเรา
  • ตัวเข้ารหัสเอกสาร – ตัวเข้ารหัสเอกสารจะประมวลผลข้อมูลของแต่ละตำแหน่งงาน โดยเฉพาะอย่างยิ่ง ต้องใช้การฝัง SBERT ของข้อความที่ต่อกันจากตำแหน่งงานและบริษัท สัญชาตญาณคือผู้ใช้จะสนใจงานของผู้สมัครที่เกี่ยวข้องกับคำค้นหามากขึ้น ด้วยการแมปงานและคำค้นหาไปยังพื้นที่เวกเตอร์เดียวกัน (กำหนดโดย SBERT) โมเดลสามารถเรียนรู้ที่จะคาดการณ์ความน่าจะเป็นของงานที่เป็นไปได้ที่ผู้หางานจะคลิก
  • ตัวเข้ารหัสการโต้ตอบ – ตัวเข้ารหัสการโต้ตอบจะจัดการกับการโต้ตอบในอดีตของผู้ใช้กับรายการงาน คุณลักษณะนี้สร้างขึ้นผ่านขั้นตอนทางวิศวกรรมคุณลักษณะมาตรฐาน ซึ่งรวมถึงการคำนวณเกณฑ์ชี้วัดความนิยมสำหรับตำแหน่งงานและบริษัท การสร้างคะแนนความคล้ายคลึงกันของบริบท และการแยกพารามิเตอร์การโต้ตอบจากการมีส่วนร่วมของผู้ใช้ครั้งก่อน นอกจากนี้ยังประมวลผลเอนทิตีที่มีชื่อซึ่งระบุในตำแหน่งงานและคำค้นหาด้วยแบบจำลองการรับรู้เอนทิตีที่มีชื่อ (NER) ที่ได้รับการฝึกอบรมล่วงหน้า

หอคอยแต่ละแห่งจะสร้างเอาท์พุตที่แยกจากกันในแบบคู่ขนาน ซึ่งทั้งหมดจะถูกต่อเข้าด้วยกัน จากนั้นเวกเตอร์คุณลักษณะที่รวมกันนี้จะถูกส่งผ่านเพื่อคาดการณ์ความน่าจะเป็นของการคลิกของรายการงานสำหรับการสืบค้นของผู้ใช้ สถาปัตยกรรมแบบสามทาวเวอร์ให้ความยืดหยุ่นในการจับภาพความสัมพันธ์ที่ซับซ้อนระหว่างอินพุตหรือคุณลักษณะต่างๆ ช่วยให้แบบจำลองสามารถใช้ประโยชน์จากจุดแข็งของแต่ละทาวเวอร์ในขณะที่เรียนรู้การนำเสนอที่แสดงออกมากขึ้นสำหรับงานที่กำหนด

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

วิศวกรรมคุณลักษณะ

เราดำเนินการกระบวนการทางวิศวกรรมคุณลักษณะสองชุดเพื่อดึงข้อมูลที่มีค่าจากข้อมูลดิบและป้อนลงในทาวเวอร์ที่เกี่ยวข้องในแบบจำลอง: วิศวกรรมคุณลักษณะมาตรฐานและการฝัง SBERT ที่ปรับแต่งอย่างละเอียด

วิศวกรรมคุณสมบัติมาตรฐาน

กระบวนการเตรียมข้อมูลของเราเริ่มต้นด้วยวิศวกรรมฟีเจอร์มาตรฐาน โดยรวมแล้ว เรากำหนดคุณลักษณะไว้สี่ประเภท:

  • ความนิยม – เราคำนวณคะแนนความนิยมในแต่ละระดับงาน ระดับอาชีพ และระดับบริษัท ข้อมูลนี้เป็นตัวชี้วัดว่างานหรือบริษัทนั้นๆ มีความน่าสนใจเพียงใด
  • ความคล้ายคลึงกันของข้อความ – เพื่อทำความเข้าใจความสัมพันธ์ทางบริบทระหว่างองค์ประกอบข้อความที่แตกต่างกัน เราจะคำนวณคะแนนความคล้ายคลึงกัน รวมถึงความคล้ายคลึงกันของสตริงระหว่างคำค้นหาและตำแหน่งงาน สิ่งนี้ช่วยให้เราประเมินความเกี่ยวข้องของตำแหน่งงานว่างกับการค้นหางานหรือประวัติการสมัครของผู้หางาน
  • ปฏิสัมพันธ์ – นอกจากนี้ เรายังแยกคุณสมบัติการโต้ตอบออกจากการมีส่วนร่วมของผู้ใช้ในอดีตกับรายการงาน ตัวอย่างที่สำคัญของเรื่องนี้คือการฝังความคล้ายคลึงกันระหว่างตำแหน่งงานที่ถูกคลิกในอดีตและตำแหน่งงานของผู้สมัคร มาตรการนี้ช่วยให้เราเข้าใจความคล้ายคลึงกันระหว่างงานก่อนหน้านี้ที่ผู้ใช้แสดงความสนใจเทียบกับโอกาสงานที่กำลังจะมาถึง สิ่งนี้ช่วยเพิ่มความแม่นยำของเครื่องมือแนะนำงานของเรา
  • โปรไฟล์ – สุดท้ายนี้ เราแยกข้อมูลความสนใจงานที่ผู้ใช้กำหนดออกจากโปรไฟล์ผู้ใช้และเปรียบเทียบกับผู้สมัครงานใหม่ สิ่งนี้ช่วยให้เราเข้าใจว่าผู้สมัครงานตรงกับความสนใจของผู้ใช้หรือไม่

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

การฝัง SBERT ที่ได้รับการปรับแต่งอย่างละเอียด

เพื่อเพิ่มความเกี่ยวข้องและความแม่นยำของระบบการแนะนำงานของเรา เราใช้พลังของ SBERT ซึ่งเป็นโมเดลที่ใช้หม้อแปลงไฟฟ้าอันทรงพลัง ซึ่งเป็นที่รู้จักในด้านความสามารถในการจับความหมายเชิงความหมายและบริบทจากข้อความ อย่างไรก็ตาม การฝังทั่วไปเช่น SBERT แม้ว่าจะมีประสิทธิภาพ แต่ก็อาจไม่สามารถจับความแตกต่างและคำศัพท์เฉพาะที่มีอยู่ในโดเมนเฉพาะเช่นของเราได้อย่างสมบูรณ์ ซึ่งมุ่งเน้นไปที่การจ้างงานและการหางาน เพื่อเอาชนะสิ่งนี้ เราได้ปรับแต่งการฝัง SBERT โดยใช้ข้อมูลเฉพาะโดเมนของเรา กระบวนการปรับแต่งอย่างละเอียดนี้จะปรับโมเดลให้เหมาะสมเพื่อทำความเข้าใจและประมวลผลภาษา ศัพท์เฉพาะ และบริบทเฉพาะอุตสาหกรรมได้ดียิ่งขึ้น ทำให้การฝังสะท้อนถึงโดเมนเฉพาะของเราได้มากขึ้น เป็นผลให้การฝังที่ได้รับการปรับปรุงให้ประสิทธิภาพที่ดีขึ้นในการเก็บข้อมูลทั้งความหมายและบริบทภายในขอบเขตของเรา นำไปสู่การแนะนำงานที่แม่นยำและมีความหมายมากขึ้นสำหรับผู้ใช้ของเรา

รูปภาพต่อไปนี้แสดงขั้นตอนการปรับแต่ง SBERT แบบละเอียด

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

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

import math
from datetime import datetime from torch.utils.data import DataLoader
from sentence_transformers import (SentenceTransformer, SentencesDataset, LoggingHandler, losses)
from sentence_transformers.readers import InputExample model_name = 'all-mpnet-base-v2'
train_batch_size = 16
num_epochs = 1
model_save_path = (f'output/{model_name}_'+ datetime.now().strftime("%Y-%m-%d_%H-%M-%S")) ### load pre-trained SBERT model
model = SentenceTransformer(model_name, device="cuda") ### construct training dataset of triplet texts,
### stored in three lists (achors, positives, negatives)
train_examples =[]
for anchor, positive, negative in zip(achors, positives, negatives): train_examples.append(InputExample(texts=(anchor, positive, negative))) train_dataset = SentencesDataset(train_examples, model)
train_dataloader = DataLoader(train_dataset, shuffle=True, batch_size=train_batch_size) ### use TripletLoss with cosine distance metric and margin=0.5
distance_metric=losses.TripletDistanceMetric.COSINE
train_loss = losses.TripletLoss(model=model, distance_metric=distance_metric, triplet_margin=0.5) ### 10% of train data for warm-up
warmup_steps = math.ceil(len(train_dataloader) * num_epochs * 0.1) # Train the model
model.fit(train_objectives=[(train_dataloader, train_loss)], epochs=num_epochs, warmup_steps=warmup_steps, output_path=model_save_path)

การฝึกอบรมโมเดลด้วย SageMaker Distributed Data Parallel

เราใช้ SageMaker Distributed Data Parallel (SMDDP) ซึ่งเป็นคุณสมบัติของแพลตฟอร์ม SageMaker ML ที่สร้างขึ้นบน PyTorch DDP โดยมอบสภาพแวดล้อมที่ได้รับการปรับปรุงให้เหมาะสมที่สุดสำหรับการรันงานการฝึกอบรม PyTorch DDP บนแพลตฟอร์ม SageMaker ได้รับการออกแบบมาเพื่อเร่งความเร็วการฝึกโมเดลการเรียนรู้เชิงลึกได้อย่างมาก ซึ่งทำได้สำเร็จโดยการแยกชุดข้อมูลขนาดใหญ่ออกเป็นส่วนเล็กๆ และกระจายไปยัง GPU หลายตัว โมเดลนี้จะถูกจำลองบน GPU ทุกตัว GPU แต่ละตัวประมวลผลข้อมูลที่ได้รับมอบหมายอย่างเป็นอิสระ และผลลัพธ์จะถูกจัดเรียงและซิงโครไนซ์กับ GPU ทั้งหมด DDP ดูแลการสื่อสารแบบไล่ระดับเพื่อให้แบบจำลองแบบจำลองซิงโครไนซ์และทับซ้อนกับการคำนวณแบบไล่ระดับเพื่อเพิ่มความเร็วในการฝึกฝน SMDDP ใช้อัลกอริธึม AllReduce ที่ได้รับการปรับปรุงเพื่อลดการสื่อสารระหว่าง GPU ลดเวลาการซิงโครไนซ์ และปรับปรุงความเร็วการฝึกโดยรวม อัลกอริธึมจะปรับให้เข้ากับสภาวะเครือข่ายที่แตกต่างกัน ทำให้มีประสิทธิภาพสูงสำหรับสภาพแวดล้อมทั้งในสถานที่และบนคลาวด์ ในสถาปัตยกรรม SMDDP (ดังแสดงในรูปต่อไปนี้) การฝึกแบบกระจายยังได้รับการปรับขนาดโดยใช้คลัสเตอร์ของโหนดจำนวนมากอีกด้วย ซึ่งหมายความว่าไม่ใช่แค่ GPU หลายตัวในอินสแตนซ์การประมวลผลเดียว แต่หลายอินสแตนซ์ที่มี GPU หลายตัว ซึ่งจะช่วยเร่งความเร็วในการฝึกอบรมได้มากขึ้น

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสถาปัตยกรรมนี้ โปรดดูที่ ข้อมูลเบื้องต้นเกี่ยวกับ Distributed Data Parallel Library ของ SageMaker.

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

คุณสามารถปรับสคริปต์การฝึกอบรมของคุณด้วย SMDDP ด้วยโค้ดเพียงสามบรรทัด ดังที่แสดงในบล็อกโค้ดต่อไปนี้ การใช้ PyTorch เป็นตัวอย่าง สิ่งเดียวที่คุณต้องทำคือนำเข้าไคลเอนต์ PyTorch ของไลบรารี SMDDP (smdistributed.dataparallel.torch.torch_smddp). ลูกค้าลงทะเบียน smddp เป็นแบ็กเอนด์สำหรับ PyTorch

import smdistributed.dataparallel.torch.torch_smddp
import torch.distributed as dist dist.init_process_group(backend='smddp')

หลังจากที่คุณมีสคริปต์ PyTorch ที่ใช้งานได้ซึ่งได้รับการปรับให้ใช้ไลบรารีคู่ขนานของข้อมูลแบบกระจาย คุณก็สามารถทำได้ เปิดตัวงานการฝึกอบรมแบบกระจายโดยใช้ SageMaker Python SDK.

การประเมินประสิทธิภาพของแบบจำลอง

เมื่อประเมินประสิทธิภาพของระบบการแนะนำ สิ่งสำคัญคือต้องเลือกหน่วยเมตริกที่สอดคล้องกับเป้าหมายทางธุรกิจอย่างใกล้ชิด และให้ความเข้าใจที่ชัดเจนเกี่ยวกับประสิทธิภาพของแบบจำลอง ในกรณีของเรา เราใช้ AUC เพื่อประเมินประสิทธิภาพการคาดการณ์การคลิกงานของโมเดล TTDP ของเรา และใช้ mAP@K เพื่อประเมินคุณภาพของรายการงานที่ได้รับการจัดอันดับสุดท้าย

AUC หมายถึงพื้นที่ใต้เส้นโค้งลักษณะการทำงานของเครื่องรับ (ROC) มันแสดงถึงความน่าจะเป็นที่ตัวอย่างเชิงบวกที่เลือกแบบสุ่มจะได้รับการจัดอันดับสูงกว่าตัวอย่างเชิงลบที่เลือกแบบสุ่ม โดยมีช่วงตั้งแต่ 0–1 โดยที่ 1 หมายถึงตัวแยกประเภทในอุดมคติ และ 0.5 หมายถึงการเดาแบบสุ่ม mAP@K เป็นตัวชี้วัดที่ใช้กันทั่วไปในการประเมินคุณภาพของระบบการดึงข้อมูล เช่น เครื่องมือแนะนำงานของเรา โดยจะวัดความแม่นยำโดยเฉลี่ยในการดึงข้อมูลรายการที่เกี่ยวข้อง K อันดับต้นๆ สำหรับการสืบค้นหรือผู้ใช้ที่ระบุ โดยมีช่วงตั้งแต่ 0–1 โดย 1 หมายถึงการจัดอันดับที่เหมาะสมที่สุด และ 0 หมายถึงความแม่นยำต่ำสุดที่เป็นไปได้ที่ค่า K ที่กำหนด เราประเมิน AUC, mAP@1 และ mAP@3 โดยรวมแล้ว เกณฑ์ชี้วัดเหล่านี้ช่วยให้เราสามารถวัดความสามารถของโมเดลในการแยกแยะระหว่างคลาสเชิงบวกและเชิงลบ (AUC) และความสำเร็จในการจัดอันดับรายการที่เกี่ยวข้องมากที่สุดที่ด้านบน (mAP@K)

จากการประเมินแบบออฟไลน์ของเรา โมเดล TTDP มีประสิทธิภาพเหนือกว่าโมเดลพื้นฐาน ซึ่งเป็นโมเดลการผลิตที่ใช้ XGBoost ที่มีอยู่ โดย 16.65% สำหรับ AUC, 20% สำหรับ mAP@1 และ 11.82% สำหรับ mAP@3

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

นอกจากนี้ เรายังออกแบบการทดสอบ A/B ออนไลน์เพื่อประเมินระบบที่เสนอและดำเนินการทดสอบตามเปอร์เซ็นต์ของประชากรอีเมลในสหรัฐฯ เป็นเวลา 6 สัปดาห์ โดยรวมแล้ว มีการส่งอีเมลประมาณ 22 ล้านฉบับโดยใช้งานที่แนะนำโดยระบบใหม่ ผลลัพธ์ของการคลิกเพิ่มขึ้นเมื่อเทียบกับรุ่นการผลิตก่อนหน้าคือ 8.6% Talent.com ค่อยๆ เพิ่มเปอร์เซ็นต์ในการเปิดตัวระบบใหม่ให้กับประชากรและช่องทางทั้งหมด

สรุป

การสร้างระบบการแนะนำงานเป็นความพยายามที่ซับซ้อน ผู้หางานแต่ละคนมีความต้องการ ความชอบ และประสบการณ์ทางวิชาชีพที่แตกต่างกัน ซึ่งไม่สามารถอนุมานได้จากคำค้นหาสั้นๆ ในโพสต์นี้ Talent.com ร่วมมือกับ AWS เพื่อพัฒนาโซลูชันผู้แนะนำงานที่มีการเรียนรู้เชิงลึกแบบ end-to-end ซึ่งจัดอันดับรายการงานที่จะแนะนำให้ผู้ใช้ ทีม Talent.com มีความสุขอย่างยิ่งที่ได้ร่วมงานกับทีม AWS ตลอดกระบวนการแก้ไขปัญหานี้ นี่เป็นหลักชัยสำคัญบนเส้นทางการเปลี่ยนแปลงของ Talent.com เนื่องจากทีมใช้ประโยชน์จากการเรียนรู้เชิงลึกเพื่อเสริมศักยภาพธุรกิจ

โปรเจ็กต์นี้ได้รับการปรับแต่งอย่างละเอียดโดยใช้ SBERT เพื่อสร้างการฝังข้อความ ในขณะที่เขียนบทความนี้ AWS ได้แนะนำ การฝัง Amazon Titan ซึ่งเป็นส่วนหนึ่งของโมเดลพื้นฐาน (FM) ที่นำเสนอผ่าน อเมซอน เบดร็อคซึ่งเป็นบริการที่มีการจัดการเต็มรูปแบบโดยคัดสรรโมเดลพื้นฐานประสิทธิภาพสูงจากบริษัท AI ชั้นนำ เราขอแนะนำให้ผู้อ่านสำรวจเทคนิคการเรียนรู้ของเครื่องที่นำเสนอในบล็อกโพสต์นี้ และใช้ประโยชน์จากความสามารถที่ได้รับจาก AWS เช่น SMDDP ในขณะที่ใช้โมเดลพื้นฐานของ AWS Bedrock เพื่อสร้างฟังก์ชันการค้นหาของตนเอง

อ้างอิง


เกี่ยวกับผู้แต่ง

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. ยี่เซียง เป็นนักวิทยาศาสตร์ประยุกต์ II ที่ Amazon Machine Learning Solutions Lab ซึ่งเธอช่วยลูกค้า AWS ในอุตสาหกรรมต่างๆ เร่งการนำ AI และการนำระบบคลาวด์ไปใช้

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ตงหวาง เป็นนักวิทยาศาสตร์ประยุกต์อาวุโสที่ Amazon Machine Learning Solutions Lab ซึ่งเขาช่วยลูกค้า AWS ในอุตสาหกรรมต่างๆ เร่งการนำ AI และระบบคลาวด์ไปใช้

ดมิทรี เบสปาลอฟดมิทรี เบสปาลอฟ เป็นนักวิทยาศาสตร์ประยุกต์อาวุโสที่ Amazon Machine Learning Solutions Lab ซึ่งเขาช่วยลูกค้า AWS ในอุตสาหกรรมต่างๆ เร่งการนำ AI และระบบคลาวด์ไปใช้

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.อนาโตลี โคเมนโก เป็นวิศวกรการเรียนรู้เครื่องจักรอาวุโสที่ Talent.com ที่มีความหลงใหลในการประมวลผลภาษาธรรมชาติที่จับคู่คนดีเข้ากับงานที่ดี

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.อับเดนัวร์ เบซูห์ เป็นผู้บริหารที่มีประสบการณ์มากกว่า 25 ปีในการสร้างและนำเสนอโซลูชั่นเทคโนโลยีที่ขยายขนาดให้กับลูกค้าหลายล้านคน Abdenour ดำรงตำแหน่งประธานเจ้าหน้าที่ฝ่ายเทคโนโลยี (CTO) ที่ ทาเล้นท์.คอม เมื่อทีม AWS ออกแบบและดำเนินการโซลูชันนี้โดยเฉพาะ ทาเล้นท์.คอม.

จากข้อความสู่งานในฝัน: การสร้างผู้แนะนำงานที่ใช้ NLP ที่ Talent.com ด้วย Amazon SageMaker | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.เดล ฌาคส์ เป็นนักยุทธศาสตร์ AI อาวุโสภายในศูนย์นวัตกรรม Generative AI ซึ่งเขาช่วยลูกค้า AWS แปลปัญหาทางธุรกิจเป็นโซลูชัน AI

หยานจุนฉีหยานจุนฉี เป็นผู้จัดการอาวุโสด้านวิทยาศาสตร์ประยุกต์ที่ Amazon Machine Learning Solution Lab เธอคิดค้นและใช้แมชชีนเลิร์นนิงเพื่อช่วยให้ลูกค้า AWS เร่งการนำ AI และระบบคลาวด์ไปใช้

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS