Sber.DS เป็นแพลตฟอร์มที่ให้คุณสร้างและนำโมเดลไปใช้ได้แม้ไม่มีโค้ด

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

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

Sber.DS เป็นแพลตฟอร์มที่ให้คุณสร้างและนำโมเดลไปใช้ได้แม้ไม่มีโค้ด

ทีมของเรากำลังพัฒนาแพลตฟอร์ม Sber.DS ช่วยให้คุณสามารถแก้ปัญหาการเรียนรู้ของเครื่อง เร่งกระบวนการทดสอบสมมติฐาน โดยหลักการแล้วทำให้กระบวนการพัฒนาและตรวจสอบแบบจำลองง่ายขึ้น และยังควบคุมผลลัพธ์ของแบบจำลองใน PROM อีกด้วย

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

Sber.DS ประกอบด้วยองค์ประกอบหลายอย่าง องค์ประกอบหลักคือไลบรารี ระบบการพัฒนา และระบบการดำเนินการแบบจำลอง

Sber.DS เป็นแพลตฟอร์มที่ให้คุณสร้างและนำโมเดลไปใช้ได้แม้ไม่มีโค้ด

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

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

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

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

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

Sber.DS เป็นแพลตฟอร์มที่ให้คุณสร้างและนำโมเดลไปใช้ได้แม้ไม่มีโค้ด

สถาปัตยกรรม Sber.DS สร้างขึ้นจากไมโครเซอร์วิส มีความคิดเห็นมากมายเกี่ยวกับไมโครเซอร์วิส บางคนคิดว่ามันเพียงพอที่จะแยกรหัสเสาหินออกเป็นส่วน ๆ แต่พวกเขายังคงไปที่ฐานข้อมูลเดียวกัน ไมโครเซอร์วิสของเราต้องสื่อสารกับไมโครเซอร์วิสอื่นผ่าน REST API เท่านั้น ไม่มีวิธีแก้ปัญหาสำหรับการเข้าถึงฐานข้อมูลโดยตรง

เราพยายามป้องกันไม่ให้บริการมีขนาดใหญ่มากและเชื่องช้า: อินสแตนซ์เดี่ยวไม่ควรใช้ RAM เกิน 4-8 กิกะไบต์ และควรสามารถปรับขนาดคำขอในแนวนอนได้ด้วยการเปิดตัวอินสแตนซ์ใหม่ แต่ละบริการสื่อสารกับผู้อื่นผ่าน REST API เท่านั้น (เปิด API). ทีมงานที่รับผิดชอบในการบริการจะต้องรักษา API ที่เข้ากันได้แบบย้อนหลังไว้จนกว่าลูกค้ารายสุดท้ายจะใช้งาน

แกนหลักของแอปพลิเคชันเขียนด้วยภาษา Java โดยใช้ Spring Framework เดิมทีโซลูชันนี้ออกแบบมาเพื่อการใช้งานที่รวดเร็วในโครงสร้างพื้นฐานคลาวด์ ดังนั้นแอปพลิเคชันจึงถูกสร้างขึ้นโดยใช้ระบบคอนเทนเนอร์ RedShift OpenShift (Kubernetes). แพลตฟอร์มนี้มีการพัฒนาอย่างต่อเนื่อง ทั้งในแง่ของการเพิ่มฟังก์ชันทางธุรกิจ (ตัวเชื่อมต่อใหม่ เพิ่ม AutoML) และในแง่ของประสิทธิภาพทางเทคโนโลยี

หนึ่งใน "ชิป" ของแพลตฟอร์มของเราคือเราสามารถรันโค้ดที่พัฒนาในส่วนต่อประสานภาพบนระบบการดำเนินการโมเดล Sberbank ใดก็ได้ ขณะนี้มีสองรายการแล้ว: อันหนึ่งบน Hadoop และอีกอันบน OpenShift (Docker) เราไม่ได้หยุดเพียงแค่นั้นและสร้างโมดูลการรวมเพื่อรันโค้ดบนโครงสร้างพื้นฐานใดๆ รวมถึงภายในองค์กรและในระบบคลาวด์ ในแง่ของความเป็นไปได้ในการบูรณาการอย่างมีประสิทธิภาพเข้ากับระบบนิเวศของ Sberbank เรายังวางแผนที่จะสนับสนุนการทำงานกับสภาพแวดล้อมรันไทม์ที่มีอยู่ ในอนาคต โซลูชันนี้สามารถบูรณาการ "นอกกรอบ" เข้ากับทุกภูมิทัศน์ขององค์กรได้อย่างยืดหยุ่น

ผู้ที่เคยพยายามดูแลรักษาโซลูชันที่ใช้ Python บน Hadoop ใน PROM จะรู้ดีว่าการเตรียมและส่งมอบสภาพแวดล้อม Python แบบกำหนดเองไปยังแต่ละดาต้าโหนดนั้นไม่เพียงพอ ไลบรารี C / C ++ จำนวนมากสำหรับการเรียนรู้ของเครื่องที่ใช้โมดูล Python จะไม่ยอมให้คุณพักผ่อนอย่างสงบ เราต้องไม่ลืมอัปเดตแพ็คเกจเมื่อเพิ่มไลบรารีหรือเซิร์ฟเวอร์ใหม่ ในขณะเดียวกันก็รักษาความเข้ากันได้แบบย้อนหลังด้วยโค้ดโมเดลที่นำไปใช้แล้ว

มีหลายวิธีในการทำเช่นนี้ ตัวอย่างเช่น เตรียมไลบรารีที่ใช้บ่อยหลายไลบรารีไว้ล่วงหน้าและนำไปใช้ใน PROM โดยปกติแล้วการกระจาย Hadoop ของ Cloudera ห่อ. ขณะนี้ใน Hadoop ยังมีโอกาสที่จะทำงานอีกด้วย นักเทียบท่า- ภาชนะบรรจุ ในบางกรณี คุณสามารถส่งโค้ดพร้อมกับแพ็คเกจได้ หลาม.ไข่.

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

Sber.DS เป็นแพลตฟอร์มที่ให้คุณสร้างและนำโมเดลไปใช้ได้แม้ไม่มีโค้ด

ปีนี้เราวางแผนที่จะทำให้ MVP ของโมเดลการรันที่เขียนด้วย Python/R/Java บน Hadoop เสร็จสมบูรณ์ เรากำหนดภารกิจอันทะเยอทะยานในการเรียนรู้วิธีรันสภาพแวดล้อมผู้ใช้บน Hadoop เพื่อไม่ให้จำกัดผู้ใช้แพลตฟอร์มของเราในทางใดทางหนึ่ง

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

เรามีคนที่มีความรู้ในด้านต่างๆ: Linux และ DevOps, Hadoop และ Spark, Java และ Spring, Scala และ Akka, OpenShift และ Kubernetes ครั้งต่อไปเราจะพูดถึงไลบรารีของโมเดล วิธีที่โมเดลผ่านวงจรชีวิตภายในบริษัท การตรวจสอบและการใช้งานเกิดขึ้นอย่างไร

ที่มา: will.com

เพิ่มความคิดเห็น