QGate-Sln-MLRun
Quality Gate สำหรับโซลูชัน MLRun (และ Iguazio) จุดมุ่งหมายหลักของโครงการคือ:
- การทดสอบคุณภาพโดยอิสระ (ฟังก์ชัน, การบูรณาการ, ประสิทธิภาพ, ช่องโหว่, การยอมรับ, ... การทดสอบ)
- การตรวจสอบคุณภาพเชิงลึกก่อนการเปิดตัว/การใช้งานเต็มรูปแบบในสภาพแวดล้อมของบริษัท
- การระบุปัญหาความเข้ากันได้ที่เป็นไปได้ (ถ้ามี)
- ความครอบคลุมการทดสอบภายนอกและอิสระ
- การสนับสนุนจากชุมชน
- ฯลฯ
การทดสอบใช้ส่วนประกอบหลักเหล่านี้ โซลูชัน MLRun ดู GIT mlrun ตัวอย่างโมเดลข้อมูลเมตา ดู GIT qgate-model และโปรเจ็กต์นี้
สถานการณ์การทดสอบ
ประตูคุณภาพครอบคลุมสถานการณ์การทดสอบเหล่านี้ (✅ เสร็จสิ้น ✔ อยู่ระหว่างดำเนินการ วางแผนไว้):
- 01 - โครงการ
- ✅ TS101: สร้างโปรเจ็กต์
- ✅ TS102: ลบโปรเจ็กต์
- 02 - ชุดคุณลักษณะ
- ✅ TS201: สร้างชุดคุณลักษณะ
- ✅ TS202: สร้างชุดคุณลักษณะ & นำเข้าจากแหล่งข้อมูล DataFrame (ขั้นตอนเดียว)
- ✅ TS203: สร้างชุดคุณลักษณะ & นำเข้าจากแหล่ง CSV (ขั้นตอนเดียว)
- ✅ TS204: สร้างชุดคุณลักษณะ & นำเข้าจากแหล่งปาร์เก้ (ขั้นตอนเดียว)
- ✅ TS205: สร้างชุดคุณลักษณะ & นำเข้าจากแหล่ง SQL (ขั้นตอนเดียว)
- ✔ TS206: สร้างชุดคุณลักษณะ & นำเข้าจากแหล่งที่มาของ Kafka (ขั้นตอนเดียว)
- ✔ TS207: สร้างชุดคุณลักษณะ & นำเข้าจากแหล่ง HTTP (ขั้นตอนเดียว)
- 03 - นำเข้าข้อมูล
- ✅ TS301: นำเข้าข้อมูล (โหมดดูตัวอย่าง)
- ✅ TS302: นำเข้าข้อมูลไปยังชุดคุณลักษณะจากแหล่งที่มา DataFrame
- ✅ TS303: นำเข้าข้อมูลไปยังชุดคุณลักษณะจากแหล่ง CSV
- ✅ TS304: นำเข้าข้อมูลไปยังชุดคุณลักษณะจากแหล่งที่มาของ Parquet
- ✅ TS305: นำเข้าข้อมูลไปยังชุดคุณลักษณะจากแหล่ง SQL
- ✔ TS306: นำเข้าข้อมูลไปยังชุดคุณลักษณะจากแหล่งที่มาของ Kafka
- ✔ TS307: นำเข้าข้อมูลไปยังชุดคุณลักษณะจากแหล่ง HTTP
- 04 - นำเข้าข้อมูลและไปป์ไลน์
- ✅ TS401: นำเข้าข้อมูลและไปป์ไลน์ (โหมดดูตัวอย่าง)
- ✅ TS402: นำเข้าข้อมูลและไปป์ไลน์ไปยังชุดคุณลักษณะจากแหล่งที่มา DataFrame
- ✅ TS403: นำเข้าข้อมูลและไปป์ไลน์ไปยังชุดคุณลักษณะจากแหล่ง CSV
- ✅ TS404: นำเข้าข้อมูลและไปป์ไลน์ไปยังชุดคุณลักษณะจากแหล่งที่มาของ Parquet
- ✅ TS405: นำเข้าข้อมูลและไปป์ไลน์ไปยังชุดคุณลักษณะจากแหล่ง SQL
- ✔ TS406: นำเข้าข้อมูลและไปป์ไลน์ไปยังชุดคุณลักษณะจากแหล่งที่มาของ Kafka
- TS407: นำเข้าข้อมูลและไปป์ไลน์ไปยังชุดคุณลักษณะจากแหล่ง HTTP
- 05 - เวกเตอร์คุณลักษณะ
- ✅ TS501: สร้างเวกเตอร์คุณลักษณะ
- 06 - รับข้อมูลจากเวกเตอร์
- ✅ TS601: รับข้อมูลจากเวกเตอร์คุณสมบัติออฟไลน์
- ✅ TS602: รับข้อมูลจากเวกเตอร์ฟีเจอร์ออนไลน์
- 07 - ไปป์ไลน์
- ✅ TS701: ไปป์ไลน์ธรรมดา
- ✅ TS702: ไปป์ไลน์ที่ซับซ้อน
- ✅ TS703: ไปป์ไลน์ที่ซับซ้อน การดำเนินงานจำนวนมาก
- 08 - สร้างโมเดล
- ✅ TS801: สร้างโมเดล CART
- TS802: สร้างโมเดล XGBoost
- TS803: สร้างโมเดล DNN
- 09 - เสิร์ฟโมเดล
- ✅ TS901: คะแนนการให้บริการจาก CART
- TS902: คะแนนการเสิร์ฟจาก XGBoost
- TS903: คะแนนการเสิร์ฟจาก DNN
- 10 - การตรวจสอบ/การดริฟท์โมเดล
- TS1001: การตรวจสอบแบบเรียลไทม์
- TS1002: การตรวจสอบแบทช์
- 11 - การทดสอบประสิทธิภาพ
- TS1101: ไปป์ไลน์ธรรมดา
- TS1102: ไปป์ไลน์ที่ซับซ้อน
- TS11xx: จะแจ้งภายหลัง
หมายเหตุ: แต่ละสถานการณ์การทดสอบประกอบด้วยกรณีการทดสอบเฉพาะเพิ่มเติม (เช่น มีเป้าหมายที่แตกต่างกันสำหรับชุดคุณลักษณะ เป็นต้น)
ทดสอบอินพุต/เอาต์พุต
ประตูคุณภาพจะทดสอบอินพุต/เอาท์พุตเหล่านี้ (✅ เสร็จแล้ว ✔ อยู่ระหว่างดำเนินการ วางแผนไว้):
- เอาท์พุต (เป้าหมาย)
- ✅ RedisTarget, ✅ SQLTarget/MySQL, ✔ SQLTarget/Postgres, ✅ KafkaTarget
- ✅ ParquetTarget, ✅ CSVTarget
- ✅ ระบบไฟล์ S3, BlobStorage
- อินพุต (แหล่งที่มา)
- ✅ แพนด้า/DataFrame, ✅ SQLSource/MySQL, SQLSource/Postgres, KafkaSource
- ✅ ParquetSource, ✅ CSVSource
- ✅ ระบบไฟล์ S3, BlobStorage
แหล่งที่มา/เป้าหมายที่รองรับในปัจจุบันใน MLRun
ตัวอย่างผลลัพธ์
PART รายงานในรูปแบบดั้งเดิม ดู:
- เสร็จสิ้นทั้งหมด - HTML, TXT
- มีข้อผิดพลาด - HTML, TXT
การใช้งาน
คุณสามารถใช้โซลูชันนี้ได้อย่างง่ายดายในสี่ขั้นตอน:
- ดาวน์โหลดเนื้อหาของที่เก็บ GIT ทั้งสองนี้ไปยังสภาพแวดล้อมภายในเครื่องของคุณ
- qgate-sln-mlrun
- qgate-รุ่น
- อัปเดตไฟล์
qgate-sln-mlrun.env
จาก qgate-model- อัปเดตตัวแปรสำหรับ MLRun/Iguazio ดูที่
MLRUN_DBPATH
, V3IO_USERNAME
, V3IO_ACCESS_KEY
, V3IO_API
- จำเป็นต้องตั้งค่า
V3IO_*
เฉพาะในกรณีของการติดตั้ง Iguazio เท่านั้น (ไม่ใช่สำหรับ MLRun ฟรีล้วนๆ)
- อัปเดตตัวแปรสำหรับ QGate ดูที่
QGATE_*
(คำอธิบายพื้นฐานโดยตรงใน *.env)- การกำหนดค่าการตั้งค่ารายละเอียด
- เรียกใช้จาก
qgate-sln-mlrun
- ดูเอาต์พุต (ตำแหน่งจะขึ้นอยู่กับ
QGATE_OUTPUT
ในการกำหนดค่า)- './output/qgt-mlrun- .html'
- './output/qgt-mlrun- .txt'
เงื่อนไขเบื้องต้น: คุณมีโซลูชัน MLRun หรือ Iguazio ที่พร้อมใช้งาน (MLRun เป็นส่วนหนึ่งของโซลูชันนั้น) ดูขั้นตอนการติดตั้งอย่างเป็นทางการ หรือการติดตั้งโดยตรงสำหรับ Desktop Docker
ทดสอบกับ
โครงการได้รับการทดสอบกับเวอร์ชัน MLRun เหล่านี้ (ดูบันทึกการเปลี่ยนแปลง):
- MLRun (ใน Kubernates หรือ Desktop Docker)
- MLRun 1.8.0 (แผนไตรมาส 1/2568)
- ✔ MLRun 1.7.0 (? 1.7.1 ?)
- ✅ MLRun 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0
- ✅ MLRun 1.5.2, 1.5.1, 1.5.0
- ✅ MLRun 1.4.1
- ✅ MLRun 1.3.0
- อีกัวซิโอ (k8s, ภายในองค์กร, VM บน VMware)
- ✅ อิกัวซิโอ 3.5.3 (พร้อม MLRun 1.4.1)
- ✅ อิกัวซิโอ 3.5.1 (พร้อม MLRun 1.3.0)
หมายเหตุ: สถานะปัจจุบัน มีการทดสอบเฉพาะ MLRun/Iguazio เวอร์ชันล่าสุดเท่านั้น (ความเข้ากันได้แบบย้อนหลังขึ้นอยู่กับ MLRun/Iguazio ดู)
คนอื่น
- To-Do รายการการปรับปรุงที่คาดหวัง/ในอนาคต โปรดดู
- ขีดจำกัดที่ใช้ ดู รายการข้อจำกัด/ปัญหาที่ใช้ โปรดดู
- คุณจะทดสอบวิธีแก้ปัญหาได้อย่างไร? คุณต้องมุ่งเน้นไปที่ Linux env หรือ Windows พร้อม WSL2 (ดูบทช่วยสอนทีละขั้นตอน)
- MLRun/Iguazio การเปลี่ยนแปลงที่สำคัญโดยสรุป (มุมมองลูกค้า) ดู
- การติดตั้ง MLRun ในเครื่อง ดูการแฮ็ก