แชร์ผ่าน


สร้างแบบจําลองด้วย SynapseML

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

ข้อกำหนดเบื้องต้น

เตรียมแหล่งข้อมูล

ตั้งค่าเครื่องมือและทรัพยากรที่คุณต้องการเพื่อสร้างแบบจําลองและไปป์ไลน์

  1. สร้างสมุดบันทึกใหม่
  2. แนบสมุดบันทึกของคุณเข้ากับเลคเฮ้าส์ ใน Explorer ให้ขยาย Lakehouses แล้วเลือก เพิ่ม
  3. รับคีย์บริการ Azure AI โดยทําตามคําแนะนําใน เริ่มต้นใช้งานด่วน: สร้างทรัพยากรแบบหลายบริการสําหรับบริการ Azure AI
  4. สร้างอินสแตนซ์ Azure Key Vault และเพิ่มคีย์บริการ Azure AI ของคุณไปยังชุดเก็บคีย์เป็นข้อมูลลับ
  5. บันทึกชื่อ Key Vault และชื่อลับของคุณ คุณต้องการข้อมูลนี้เพื่อเรียกใช้การแปลงขั้นตอนเดียวในภายหลังในบทความนี้

ตั้งค่าสภาพแวดล้อม

ในสมุดบันทึกของคุณ ให้นําเข้าไลบรารี SynapseML และเตรียมใช้งานเซสชัน Spark ของคุณ

from pyspark.sql import SparkSession
from synapse.ml.core.platform import *

spark = SparkSession.builder.getOrCreate()

โหลดชุดข้อมูล

โหลดชุดข้อมูลของคุณ และแยกชุดข้อมูลลงในชุดการฝึกและการทดสอบ

train, test = (
    spark.read.parquet(
        "wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
    )
    .limit(1000)
    .cache()
    .randomSplit([0.8, 0.2])
)

display(train)

สร้างไปป์ไลน์การฝึกอบรม

สร้างไปป์ไลน์ที่มีข้อมูลโดยใช้ TextFeaturizer จาก synapse.ml.featurize.text ไลบรารี และได้รับการจัดอันดับโดยใช้ LightGBMRegressor ฟังก์ชัน

from pyspark.ml import Pipeline
from synapse.ml.featurize.text import TextFeaturizer
from synapse.ml.lightgbm import LightGBMRegressor

model = Pipeline(
    stages=[
        TextFeaturizer(inputCol="text", outputCol="features"),
        LightGBMRegressor(featuresCol="features", labelCol="rating", dataTransferMode="bulk")
    ]
).fit(train)

คาดการณ์ผลลัพธ์ของข้อมูลทดสอบ

transformเรียกใช้ฟังก์ชันบนแบบจําลองเพื่อทํานายและแสดงผลลัพธ์ของข้อมูลทดสอบเป็น dataframe

display(model.transform(test))

ใช้บริการ Azure AI เพื่อแปลงข้อมูลในขั้นตอนเดียว

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

  • แทนที่ <secret-name> ด้วยชื่อของข้อมูลลับที่สําคัญของบริการ AI Azure ของคุณ
  • แทนที่ <key-vault-name> ด้วยชื่อของชุดเก็บคีย์ของคุณ
from synapse.ml.services import TextSentiment
from synapse.ml.core.platform import find_secret

model = TextSentiment(
    textCol="text",
    outputCol="sentiment",
    subscriptionKey=find_secret("<secret-name>", "<key-vault-name>")
).setLocation("eastus")

display(model.transform(test))