การทดลองการเรียนรู้ของเครื่องใน Microsoft Fabric
การเรียนรู้ของเครื่อง การทดลอง เป็นหน่วยหลักขององค์กรและการควบคุมสําหรับการเรียกใช้การเรียนรู้ของเครื่องที่เกี่ยวข้องทั้งหมด
เรียกใช้ สอดคล้องกับการดําเนินการเดียวของรหัสแบบจําลอง ใน
การทดลองการเรียนรู้ของเครื่องช่วยให้นักวิทยาศาสตร์ข้อมูลสามารถบันทึกพารามิเตอร์ เวอร์ชันโค้ด เมตริก และไฟล์ผลลัพธ์เมื่อเรียกใช้โค้ดการเรียนรู้ของเครื่อง นอกจากนี้ การทดลองยังช่วยให้คุณสามารถแสดงภาพ ค้นหา และการเปรียบเทียบการเรียกใช้ รวมถึงดาวน์โหลดไฟล์เรียกใช้และเมตาดาต้าสําหรับการวิเคราะห์ในเครื่องมืออื่น ๆ ได้
ในบทความนี้ คุณจะได้เรียนรู้เพิ่มเติมว่านักวิทยาศาสตร์ข้อมูลสามารถโต้ตอบและใช้การทดลองการเรียนรู้ของเครื่องเพื่อจัดระเบียบกระบวนการพัฒนาของพวกเขาได้อย่างไร และเพื่อติดตามการเรียกใช้หลายรายการ
ข้อกําหนดเบื้องต้น
- การสมัครใช้งาน Power BI Premium ถ้าคุณยังไม่มี ให้ดู วิธีการซื้อ Power BI Premium
- พื้นที่ทํางาน Power BI ที่มีความจุพรีเมียมที่กําหนด
สร้างการทดลอง
คุณสามารถสร้างการทดลองการเรียนรู้ของเครื่องได้โดยตรงจากอินเทอร์เฟซผู้ใช้แบบแฟบริค (UI) หรือโดยการเขียนโค้ดที่ใช้ MLflow API
สร้างการทดลองโดยใช้ UI
วิธีการสร้างการทดลองการเรียนรู้ของเครื่องจาก UI:
- สร้างพื้นที่ทํางานใหม่หรือเลือกพื้นที่ทํางานที่มีอยู่
- คุณสามารถสร้างรายการใหม่ผ่านพื้นที่ทํางาน หรือโดยใช้ สร้าง ได้
- ระบุชื่อการทดสอบ และเลือก สร้าง การดําเนินการนี้จะสร้างการทดลองที่ว่างเปล่าภายในพื้นที่ทํางานของคุณ
หลังจากสร้างการทดลอง คุณสามารถเริ่มเพิ่มการเรียกใช้เพื่อติดตามเมตริกและพารามิเตอร์การเรียกใช้ได้
สร้างการทดลองโดยใช้ MLflow API
คุณยังสามารถสร้างการทดลองการเรียนรู้ของเครื่องได้โดยตรงจากประสบการณ์การเขียนของคุณโดยใช้ mlflow.create_experiment()
หรือ mlflow.set_experiment()
API ในโค้ดต่อไปนี้ ให้แทนที่ <EXPERIMENT_NAME>
ด้วยชื่อของการทดสอบ
import mlflow
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")
# This will set the given experiment as the active experiment.
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")
จัดการการเรียกใช้ภายในการทดลอง
การทดลองการเรียนรู้ของเครื่องประกอบด้วยคอลเลกชันของการเรียกใช้เพื่อการติดตามและการเปรียบเทียบที่ง่ายดาย ภายในการทดลอง นักวิทยาศาสตร์ข้อมูลสามารถนําทางในการทํางานต่าง ๆ และสํารวจพารามิเตอร์และเมตริกพื้นฐานได้ นักวิทยาศาสตร์ข้อมูลยังสามารถเปรียบเทียบการทํางานภายในการทดลองการเรียนรู้ของเครื่องเพื่อระบุชุดย่อยของพารามิเตอร์ที่ให้ประสิทธิภาพของแบบจําลองที่ต้องการได้
ติดตามการทํางาน
การเรียกใช้การเรียนรู้ของเครื่องสอดคล้องกับการดําเนินการรหัสแบบจําลองเดียว
แต่ละการเรียกใช้ประกอบด้วยข้อมูลต่อไปนี้:
- แหล่ง: ชื่อของสมุดบันทึกที่สร้างการเรียกใช้
- เวอร์ชันที่ลงทะเบียน : ระบุว่าการเรียกใช้ถูกบันทึกเป็นแบบจําลองการเรียนรู้ของเครื่องหรือไม่
- วันที่เริ่มต้น : เวลาเริ่มต้นของการเรียกใช้
- สถานะ : ความคืบหน้าของการเรียกใช้
- Hyperparameters: Hyperparameters ที่บันทึกเป็นคู่ค่าคีย์ ทั้งคีย์และค่าเป็นสตริง
- เมตริก: เรียกใช้เมตริกที่บันทึกไว้เป็นคู่ค่าคีย์ ค่าเป็นตัวเลข
- ไฟล์เอาต์พุต: ไฟล์เอาต์พุตในรูปแบบใด ๆ ตัวอย่างเช่น คุณสามารถบันทึกรูปภาพ สภาพแวดล้อม แบบจําลอง และไฟล์ข้อมูล
- Tags: เมตาดาต้าเป็นคู่ค่าคีย์ที่จะเรียกใช้
ดูการเรียกใช้ล่าสุด
คุณยังสามารถดูการทํางานล่าสุดสําหรับการทดสอบโดยการเลือก เรียกใช้รายการ มุมมองนี้ช่วยให้คุณสามารถติดตามกิจกรรมล่าสุดข้ามไปยังแอปพลิเคชัน Spark ที่เกี่ยวข้องและใช้ตัวกรองตามสถานะการเรียกใช้ได้อย่างรวดเร็ว
การเปรียบเทียบและการใช้งานตัวกรอง
เพื่อเปรียบเทียบและประเมินคุณภาพของการเรียกใช้การเรียนรู้ของเครื่องของคุณ คุณสามารถเปรียบเทียบพารามิเตอร์ เมตริก และเมตาดาต้าระหว่างการทํางานที่เลือกภายในการทดลองได้
นําแท็กไปใช้กับการเรียกใช้
การแท็ก MLflow สําหรับการเรียกใช้การทดสอบช่วยให้ผู้ใช้สามารถเพิ่มเมตาดาต้าแบบกําหนดเองในรูปแบบของคู่ค่าคีย์ไปยังการทํางานของตนได้ แท็กเหล่านี้ช่วยจัดประเภท กรอง และค้นหาการเรียกใช้ตามแอตทริบิวต์เฉพาะ ทําให้ง่ายต่อการจัดการและวิเคราะห์การทดลองภายในแพลตฟอร์ม MLflow ผู้ใช้สามารถใช้ประโยชน์จากแท็กเพื่อการเรียกใช้ป้ายชื่อด้วยข้อมูล เช่น ชนิดแบบจําลอง พารามิเตอร์ หรือตัวระบุที่เกี่ยวข้องใด ๆ ที่ช่วยเพิ่มองค์กรโดยรวมและความสามารถในการตรวจสอบย้อนกลับของการทดลอง
ส่วนย่อยของโค้ดนี้จะเริ่มต้นการเรียกใช้ MLflow บันทึกพารามิเตอร์และเมตริกบางอย่าง และเพิ่มแท็กเพื่อจัดประเภทและให้บริบทเพิ่มเติมสําหรับการเรียกใช้
import mlflow
import mlflow.sklearn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing
# Autologging
mlflow.autolog()
# Load the California housing dataset
data = fetch_california_housing(as_frame=True)
X = data.data
y = data.target
# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Start an MLflow run
with mlflow.start_run() as run:
# Train the model
model = LinearRegression()
model.fit(X_train, y_train)
# Predict and evaluate
y_pred = model.predict(X_test)
# Add tags
mlflow.set_tag("model_type", "Linear Regression")
mlflow.set_tag("dataset", "California Housing")
mlflow.set_tag("developer", "Bob")
เมื่อแท็กถูกนําไปใช้ แล้วคุณสามารถดูผลลัพธ์ได้โดยตรงจากวิดเจ็ต MLflow แบบอินไลน์หรือจากหน้ารายละเอียดการเรียกใช้
คำเตือน
คําเตือน : ข้อจํากัดเกี่ยวกับการใช้แท็กกับการเรียกใช้การทดลอง MLflow ใน Fabric
- แท็กที่ไม่ว่าง: ชื่อแท็กหรือค่าไม่สามารถว่างเปล่าได้ ถ้าคุณพยายามที่จะนําแท็กที่มีชื่อหรือค่าว่างมาใช้ การดําเนินการดังกล่าวจะล้มเหลว
- ชื่อแท็ก: ชื่อแท็กสามารถมีความยาวได้สูงสุด 250 อักขระ
- Tag Values: ค่าแท็กสามารถมีความยาวได้ถึง 5,000 อักขระ
-
ชื่อแท็กที่ถูกจํากัด: ชื่อแท็กที่ขึ้นต้นด้วยคํานําหน้าไม่ได้รับการรองรับ โดยเฉพาะชื่อแท็กที่ขึ้นต้นด้วย
synapseml
,mlflow
, หรือtrident
จะถูกจํากัดและจะไม่ได้รับการยอมรับ
เปรียบเทียบการเรียกใช้ด้วยภาพ
คุณสามารถเปรียบเทียบและเรียกใช้ตัวกรองแบบมองเห็นได้ภายในการทดลองที่มีอยู่ การเปรียบเทียบวิชวลช่วยให้คุณสามารถนําทางระหว่างการเรียกใช้หลายรายการและเรียงลําดับได้อย่างง่ายดาย
เพื่อเปรียบเทียบการเรียกใช้:
- เลือกการทดสอบการเรียนรู้ของเครื่องที่มีอยู่ซึ่งมีการเรียกใช้หลายรายการ
- เลือกแท็บ ดู จากนั้นไปที่รายการ เรียกใช้ มุมมอง อีกวิธีหนึ่งคือ คุณสามารถเลือกตัวเลือก
รายการเรียกใช้มุมมอง โดยตรงจากมุมมอง รายละเอียดการเรียกใช้ - กําหนดคอลัมน์ภายในตารางโดยขยาย กําหนดคอลัมน์เอง บานหน้าต่าง ที่นี่ คุณสามารถเลือกคุณสมบัติ เมตริก แท็ก และ hyperparameters ที่คุณต้องการดู
- ขยายบานหน้าต่าง ตัวกรอง
เพื่อจํากัดผลลัพธ์ให้แคบลงตามเกณฑ์ที่เลือก - เลือกการเรียกใช้หลายรายการเพื่อเปรียบเทียบผลลัพธ์ในบานหน้าต่างการเปรียบเทียบเมตริก จากบานหน้าต่างนี้ คุณสามารถกําหนดแผนภูมิโดยเปลี่ยนชื่อแผนภูมิ ชนิดการแสดงภาพ แกน X แกน Y และอื่น ๆ ได้
เปรียบเทียบการทํางานโดยใช้ MLflow API
นักวิทยาศาสตร์ข้อมูลยังสามารถใช้ MLflow เพื่อคิวรีและค้นหาระหว่างการเรียกใช้ภายในการทดลองได้ คุณสามารถสํารวจ MLflow API เพิ่มเติมสําหรับการค้นหา การกรอง และการเปรียบเทียบการทํางานได้โดยไปที่เอกสารประกอบ MLflow
รับการเรียกใช้ทั้งหมด
คุณสามารถใช้ mlflow.search_runs()
mlflow.search_runs()
ของการค้นหา MLflow ในการทดลองโดยแทนที่ <EXPERIMENT_NAME>
ด้วยชื่อการทดลองของคุณหรือ <EXPERIMENT_ID>
ด้วย ID การทดลองของคุณในโค้ดต่อไปนี้:
import mlflow
# Get runs by experiment name:
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])
# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])
ปลาย
คุณสามารถค้นหาการทดลองหลายรายการได้โดยการให้รายการรหัสการทดลองกับพารามิเตอร์ experiment_ids
ในทํานองเดียวกัน การให้รายการชื่อการทดลองกับพารามิเตอร์ experiment_names
จะอนุญาตให้ MLflow ค้นหาข้ามการทดลองหลายรายการได้ ซึ่งจะเป็นประโยชน์ถ้าคุณต้องการเปรียบเทียบการทํางานในแบบต่างๆ ภายในการทดลองที่แตกต่างกัน
การเรียกใช้คําสั่งซื้อและขีดจํากัด
ใช้พารามิเตอร์ max_results
จาก search_runs
เพื่อจํากัดจํานวนการเรียกใช้ที่ส่งกลับ พารามิเตอร์ order_by
ช่วยให้คุณสามารถแสดงรายการคอลัมน์ที่จะเรียงลําดับตาม และสามารถมีค่า DESC
หรือ ASC
ที่เลือกได้ ตัวอย่างเช่น ตัวอย่างต่อไปนี้จะแสดงการเรียกใช้ครั้งล่าสุดของการทดสอบ
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
เปรียบเทียบการเรียกใช้ภายในโน้ตบุ๊ค Fabric
คุณสามารถใช้วิดเจ็ตการเขียน MLFlow ภายในสมุดบันทึกสําหรับ Fabric เพื่อติดตามการเรียกใช้ MLflow ที่สร้างขึ้นภายในเซลล์ของสมุดบันทึกแต่ละเซลล์ได้ วิดเจ็ตช่วยให้คุณสามารถติดตามการทํางาน เมตริก พารามิเตอร์ และคุณสมบัติที่เกี่ยวข้องไปจนถึงระดับเซลล์แต่ละเซลล์
เพื่อรับการเปรียบเทียบวิชวล คุณยังสามารถสลับไปยังมุมมอง เรียกใช้การเปรียบเทียบ มุมมองนี้นําเสนอข้อมูลแบบกราฟิก ซึ่งช่วยในการระบุแบบด่วนของรูปแบบหรือค่าเบี่ยงเบนในการใช้งานที่แตกต่างกัน
บันทึกการเรียกใช้เป็นแบบจําลองการเรียนรู้ของเครื่อง
เมื่อเรียกใช้จะให้ผลลัพธ์ที่ต้องการแล้ว คุณสามารถบันทึกการเรียกใช้เป็นแบบจําลองสําหรับการติดตามแบบจําลองที่ได้รับการปรับปรุงและสําหรับการปรับใช้แบบจําลองโดยการเลือก บันทึกเป็นแบบจําลอง ML
ตรวจสอบการทดลอง ML (ตัวอย่าง)
การทดลอง ML จะรวมลงในการตรวจสอบโดยตรง ฟังก์ชันนี้ได้รับการออกแบบมาเพื่อให้ข้อมูลเชิงลึกมากขึ้นในแอปพลิเคชัน Spark ของคุณ และการทดลอง ML ที่สร้างขึ้น ทําให้ง่ายต่อการจัดการและดีบักกระบวนการเหล่านี้
ติดตามการทํางานจากจอภาพ
ผู้ใช้สามารถติดตามการเรียกใช้การทดสอบได้โดยตรงจากจอภาพ ให้มุมมองแบบครบวงจรของกิจกรรมทั้งหมดของพวกเขา การรวมนี้รวมถึงตัวเลือกการกรอง ช่วยให้ผู้ใช้สามารถมุ่งเน้นไปที่การทดลองหรือการเรียกใช้ที่สร้างขึ้นภายใน 30 วันที่ผ่านมาหรือช่วงเวลาที่ระบุอื่นๆ
ติดตามการเรียกใช้การทดลอง ML ที่เกี่ยวข้องจากแอปพลิเคชัน Spark ของคุณ
การทดลอง ML จะรวมเข้ากับตัวตรวจสอบโดยตรง ซึ่งคุณสามารถเลือกแอปพลิเคชัน Spark เฉพาะและเข้าถึงสแนปช็อตรายการได้ ที่นี่คุณจะพบรายการของการทดลองและการเรียกใช้ทั้งหมดที่สร้างขึ้นโดยแอปพลิเคชันนั้น
เนื้อหาที่เกี่ยวข้อง
- เรียนรู้เกี่ยวกับ การทดลอง MLflow
- ติดตามและจัดการแบบจําลองการเรียนรู้ของเครื่อง