เราเพิ่งเปิดตัวความสามารถใหม่ใน Amazon SageMaker Python SDK ที่ช่วยให้นักวิทยาศาสตร์ข้อมูลรันโค้ดแมชชีนเลิร์นนิง (ML) ที่เขียนขึ้นในสภาพแวดล้อมสำหรับนักพัฒนาแบบรวม (IDE) และโน้ตบุ๊กที่ต้องการพร้อมกับการพึ่งพารันไทม์ที่เกี่ยวข้องเป็น อเมซอน SageMaker งานฝึกอบรมที่มีการเปลี่ยนแปลงรหัสน้อยที่สุดในการทดลองที่ทำในเครื่อง นักวิทยาศาสตร์ข้อมูลมักจะทำการทดลองซ้ำหลายครั้งในการประมวลผลข้อมูลและแบบจำลองการฝึกอบรมในขณะที่ทำงานกับปัญหา ML พวกเขาต้องการรันโค้ด ML นี้และทำการทดลองโดยใช้งานง่ายและเปลี่ยนโค้ดน้อยที่สุด การฝึกอบรมโมเดล Amazon SageMaker ช่วยให้นักวิทยาศาสตร์ข้อมูลเรียกใช้งานการฝึกอบรมขนาดใหญ่ที่มีการจัดการเต็มรูปแบบบนโครงสร้างพื้นฐานการประมวลผลของ AWS การฝึกอบรม SageMaker ยังช่วยนักวิทยาศาสตร์ข้อมูลด้วยเครื่องมือขั้นสูง เช่น ดีบักเกอร์ Amazon SageMaker และ Profiler เพื่อดีบักและวิเคราะห์งานฝึกอบรมขนาดใหญ่
สำหรับลูกค้าที่มีงบประมาณน้อย ทีมขนาดเล็ก และไทม์ไลน์ที่จำกัด ทุกแนวคิดและบรรทัดของโค้ดใหม่ที่ถูกเขียนใหม่เพื่อใช้งานบน SageMaker ทำให้พวกเขามีประสิทธิผลน้อยลงสำหรับงานหลักของพวกเขา ซึ่งได้แก่ การประมวลผลข้อมูลและการฝึกอบรมโมเดล ML พวกเขาต้องการเขียนโค้ดหนึ่งครั้งในเฟรมเวิร์กที่พวกเขาเลือก และสามารถย้ายได้อย่างราบรื่นจากการรันโค้ดในโน้ตบุ๊กหรือแล็ปท็อปไปจนถึงการรันโค้ดตามขนาดโดยใช้ความสามารถของ SageMaker
ด้วยความสามารถใหม่ของ SageMaker Python SDK นี้ นักวิทยาศาสตร์ด้านข้อมูลสามารถนำโค้ด ML ของตนไปใช้ในแพลตฟอร์ม SageMaker Training ได้ในเวลาไม่กี่นาที คุณเพียงแค่เพิ่มโค้ดบรรทัดเดียวลงในโค้ด ML ของคุณ และ SageMaker จะเข้าใจโค้ดของคุณอย่างชาญฉลาดพร้อมกับชุดข้อมูลและการตั้งค่าสภาพแวดล้อมพื้นที่ทำงาน และเรียกใช้งานเป็นงาน SageMaker Training จากนั้น คุณสามารถใช้ประโยชน์จากความสามารถหลักของแพลตฟอร์ม SageMaker Training เช่น ความสามารถในการปรับขนาดงานอย่างง่ายดาย และเครื่องมือที่เกี่ยวข้องอื่นๆ เช่น Debugger และ Profiler ในรุ่นนี้ คุณสามารถรันโค้ด Python ของแมชชีนเลิร์นนิง (ML) ภายในของคุณเป็นงานฝึกอบรม Amazon SageMaker แบบโหนดเดียวหรือหลายงานพร้อมกัน งานการฝึกอบรมแบบกระจาย (ข้ามหลายโหนด) ไม่ได้รับการสนับสนุนโดยฟังก์ชันระยะไกล
ในโพสต์นี้ เราจะแสดงวิธีใช้ความสามารถใหม่นี้เพื่อรันโค้ด ML ภายในเป็นงาน SageMaker Training
ภาพรวมโซลูชัน
ตอนนี้คุณสามารถรันโค้ด ML ของคุณที่เขียนใน IDE หรือโน้ตบุ๊กของคุณเป็นงาน SageMaker Training โดยใส่คำอธิบายประกอบในฟังก์ชัน ซึ่งทำหน้าที่เป็นจุดเริ่มต้นไปยังฐานโค้ดของผู้ใช้ด้วยตัวตกแต่งที่เรียบง่าย เมื่อเรียกใช้ ความสามารถนี้จะถ่ายภาพสแน็ปช็อตของตัวแปรที่เกี่ยวข้องทั้งหมด ฟังก์ชัน แพ็กเกจ ตัวแปรสภาพแวดล้อม และข้อกำหนดรันไทม์อื่นๆ จากโค้ด ML ของคุณโดยอัตโนมัติ ทำให้เป็นอนุกรม และส่งเป็นงาน SageMaker Training มันรวมกับที่เพิ่งประกาศ คุณสมบัติ SageMaker Python SDK สำหรับการตั้งค่าเริ่มต้นสำหรับพารามิเตอร์. ความสามารถนี้ช่วยลดความซับซ้อนของโครงสร้าง SageMaker ที่คุณต้องเรียนรู้เพื่อให้สามารถรันโค้ดโดยใช้ SageMaker Training นักวิทยาศาสตร์ด้านข้อมูลสามารถเขียน ดีบัก และทำซ้ำโค้ดของตนใน IDE ที่ต้องการ (เช่น สตูดิโอ Amazon SageMaker, โน้ตบุ๊ก, VS Code หรือ PyCharm) เมื่อพร้อม คุณสามารถใส่คำอธิบายประกอบฟังก์ชัน Python ของคุณด้วย @remote
มัณฑนากรและเรียกใช้เป็นงาน SageMaker ตามขนาด
ความสามารถนี้ใช้ออบเจกต์ Python แบบโอเพ่นซอร์สที่คุ้นเคยเป็นอาร์กิวเมนต์และเอาต์พุต นอกจากนี้ คุณไม่จำเป็นต้องเข้าใจการจัดการวงจรชีวิตของคอนเทนเนอร์ และสามารถเรียกใช้ปริมาณงานของคุณในบริบทการประมวลผลที่แตกต่างกัน (เช่น IDE ภายในเครื่อง, Studio หรืองานฝึกอบรม) โดยมีค่าใช้จ่ายการกำหนดค่าน้อยที่สุด ในการรันโค้ดโลคัลเป็นงาน SageMaker Training ความสามารถนี้จะอนุมานถึงการกำหนดค่าที่จำเป็นสำหรับการรันงาน เช่น AWS Identity และการจัดการการเข้าถึง (IAM) บทบาท คีย์การเข้ารหัส และการกำหนดค่าเครือข่าย จากการตั้งค่า Studio หรือ IDE (ซึ่งอาจเป็นไฟล์ ตั้งค่าเริ่มต้น) และส่งผ่านไปยังแพลตฟอร์มตามค่าเริ่มต้น คุณมีความยืดหยุ่นในการปรับแต่งรันไทม์ของคุณในโครงสร้างพื้นฐานที่มีการจัดการของ SageMaker โดยใช้การกำหนดค่าที่อนุมานหรือแทนที่การกำหนดค่าที่ระดับ SDK โดยส่งเป็นอาร์กิวเมนต์ไปยังมัณฑนากร
ความสามารถใหม่ของ SageMaker Python SDK แปลงโค้ด ML ของคุณในสภาพแวดล้อมพื้นที่ทำงานที่มีอยู่ และโค้ดและชุดข้อมูลการประมวลผลข้อมูลที่เกี่ยวข้องให้เป็นงาน SageMaker Training ความสามารถนี้ค้นหารหัส ML ที่อยู่ภายในไฟล์ @remote
มัณฑนากรและแปลเป็นงานที่ทำงานใน Studio หรือ IDE ในเครื่องโดยอัตโนมัติ เช่น PyCharm
ในส่วนต่อไปนี้ เราจะแนะนำคุณลักษณะของความสามารถใหม่นี้และวิธีเปิดใช้ฟังก์ชันไพธอนเป็นงาน SageMaker Training
เบื้องต้น
หากต้องการใช้ความสามารถ SageMaker Python SDK ใหม่นี้และเรียกใช้โค้ดที่เกี่ยวข้องกับโพสต์นี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้:
- บัญชี AWS ที่จะมีทรัพยากร AWS ทั้งหมดของคุณ
- บทบาท IAM เพื่อเข้าถึง SageMaker
- เข้าถึง Studio หรืออินสแตนซ์โน้ตบุ๊ก SageMaker หรือ IDE เช่น PyCharm
ใช้ SDK จากโน้ตบุ๊ก Studio และ SageMaker
คุณสามารถใช้ความสามารถนี้จาก Studio โดยการเปิดใช้โน้ตบุ๊กและใส่รหัสของคุณด้วย @remote
มัณฑนากรภายในสมุดบันทึก ก่อนอื่นคุณต้องนำเข้าฟังก์ชันระยะไกลโดยใช้รหัสต่อไปนี้:
from sagemaker.remote_function import remote
เมื่อคุณใช้ฟังก์ชันมัณฑนากร ความสามารถนี้จะตีความฟังก์ชันของโค้ดของคุณโดยอัตโนมัติและรันเป็นงาน SageMaker Training
คุณยังสามารถใช้ความสามารถนี้จากอินสแตนซ์โน้ตบุ๊ก SageMaker ก่อนอื่นคุณต้องเริ่มอินสแตนซ์โน้ตบุ๊ก เปิด Jupyter หรือ Jupyter Lab จากนั้นเปิดโน้ตบุ๊ก จากนั้นนำเข้าฟังก์ชั่นระยะไกลตามที่แสดงในรหัสก่อนหน้าและรวมรหัสของคุณด้วย @remote
มัณฑนากร. เรามีตัวอย่างวิธีใช้ฟังก์ชันมัณฑนากรและการตั้งค่าที่เกี่ยวข้องในโพสต์นี้
ใช้ SDK จากสภาพแวดล้อมในเครื่องของคุณ
คุณยังสามารถใช้ความสามารถนี้จาก IDE ภายในเครื่องของคุณได้อีกด้วย ตามข้อกำหนดเบื้องต้น คุณต้องมี อินเทอร์เฟซบรรทัดคำสั่ง AWS AWS (AWS CLI), SageMaker Python SDK และ AWS SDK สำหรับ Python (Boto3) ติดตั้งในสภาพแวดล้อมท้องถิ่นของคุณ คุณต้องนำเข้าไลบรารีเหล่านี้ในโค้ดของคุณ ตั้งค่าเซสชัน SageMaker ระบุการตั้งค่า และตกแต่งฟังก์ชันของคุณด้วย @remote
มัณฑนากร. ในโค้ดตัวอย่างต่อไปนี้ เราเรียกใช้ฟังก์ชันการแบ่งอย่างง่ายเป็นงาน SageMaker Training:
import boto3
import sagemaker
from sagemaker.remote_function import remote sm_session = sagemaker.Session(boto_session=boto3.session.Session(region_name="us-west-2"))
settings = dict(
sagemaker_session=sm_session,
role=<IAM_ROLE_NAME>
instance_type="ml.m5.xlarge",
)
@remote(**settings)
def divide(x, y):
return x / y
if __name__ == "__main__":
print(divide(2, 3.0))
เราสามารถใช้วิธีการที่คล้ายกันเพื่อเรียกใช้ฟังก์ชันขั้นสูงเป็นงานฝึกอบรม ดังแสดงในส่วนถัดไป
เปิดใช้ฟังก์ชัน Python เป็นงาน SageMaker
คุณลักษณะใหม่ SageMaker Python SDK ช่วยให้คุณสามารถเรียกใช้ฟังก์ชัน Python เป็น งานฝึกอบรม SageMaker. โค้ด Python, โค้ดการฝึกอบรม ML ที่พัฒนาโดยนักวิทยาศาสตร์ข้อมูลโดยใช้ IDE ภายในที่ต้องการ (PyCharm, VS Code), โน้ตบุ๊ก SageMaker หรือโน้ตบุ๊ก Studio สามารถเปิดใช้งานเป็นงาน SageMaker ที่มีการจัดการได้
ในปริมาณงาน ML ที่ใช้ความสามารถนี้ ชุดข้อมูลที่เกี่ยวข้อง การขึ้นต่อกัน และการตั้งค่าสภาพแวดล้อมพื้นที่ทำงานจะถูกทำให้เป็นอนุกรมโดยใช้รหัส ML และรันเป็นงาน SageMaker ทั้งแบบซิงโครนัสและแบบอะซิงโครนัส
คุณสามารถเพิ่ม @remote
มัณฑนากรหมายเหตุประกอบโค้ด Python ใดๆ รวมถึงการประมวลผล ML หรือฟังก์ชันการฝึกอบรมในเครื่องเพื่อเปิดใช้งานเป็นงานการฝึกอบรม SageMaker ที่มีการจัดการ ดังนั้นจึงใช้ประโยชน์จากขนาด ประสิทธิภาพ และประโยชน์ด้านต้นทุนของ SageMaker สิ่งนี้สามารถทำได้ด้วยการเปลี่ยนแปลงโค้ดเพียงเล็กน้อยโดยการเพิ่มตัวตกแต่งให้กับโค้ดฟังก์ชัน Python การเรียกใช้ฟังก์ชันที่ได้รับการตกแต่งจะทำงานพร้อมกัน และการเรียกใช้ฟังก์ชันจะรอจนกว่างาน SageMaker จะเสร็จสมบูรณ์
ในตัวอย่างต่อไปนี้ เราใช้ @remote
มัณฑนากรเพื่อเรียกใช้งาน SageMaker ในโหมดมัณฑนากรโดยใช้อินสแตนซ์ ml.m5.large SageMaker ใช้งานการฝึกอบรมเพื่อเปิดใช้งานฟังก์ชันนี้เป็นงานที่ได้รับการจัดการ
from sagemaker.remote_function import remote
from numpy as np @remote(instance_type="ml.m5.large")
def matrix_multiply(a, b): return np.matmul(a, b) a = np.array([[1, 0], [0, 1]])
b = np.array([1, 2]) assert matrix_multiply(a, b) == np.array([1,2])
คุณยังสามารถใช้โหมดมัณฑนากรเพื่อเรียกใช้งาน SageMaker, แพ็คเกจ Python และการอ้างอิง คุณสามารถรวมตัวแปรสภาพแวดล้อม เช่น VPC, ซับเน็ต และกลุ่มความปลอดภัยเพื่อเรียกใช้งานการฝึกอบรม SageMaker ใน environment.yml
ไฟล์. ซึ่งช่วยให้วิศวกร ML และผู้ดูแลระบบสามารถกำหนดค่าตัวแปรสภาพแวดล้อมเหล่านี้ เพื่อให้นักวิทยาศาสตร์ข้อมูลสามารถมุ่งเน้นไปที่การสร้างแบบจำลอง ML และทำซ้ำได้เร็วขึ้น ดูรหัสต่อไปนี้:
from sagemaker.remote_function import remote @remote(instance_type="ml.g4dn.xlarge",dependencies = "./environment.yml")
def train_hf_model(
train_input_path,test_input_path,s3_output_path = None,
*,epochs = 1, train_batch_size = 32, eval_batch_size = 64,
warmup_steps = 500,learning_rate = 5e-5
):
model_name = "distilbert-base-uncased"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
... <TRUCNATED>
return os.path.join(s3_output_path, model_dir), eval_result
คุณสามารถใช้ได้ RemoteExecutor
เพื่อเปิดใช้ฟังก์ชัน Python เป็นงาน SageMaker แบบอะซิงโครนัส ผู้ดำเนินการแบบอะซิงโครนัสสำรวจงาน SageMaker Training เพื่ออัปเดตสถานะของงาน เดอะ RemoteExecutor
คลาสคือการดำเนินการของ พร้อมกัน.futures.Executorซึ่งใช้เพื่อส่งงาน SageMaker Training แบบอะซิงโครนัส ดูรหัสต่อไปนี้:
from sagemaker.remote_function import RemoteExecutor def train_hf_model(
train_input_path,test_input_path,s3_output_path = None,
*,epochs = 1, train_batch_size = 32, eval_batch_size = 64,
warmup_steps = 500,learning_rate = 5e-5
):
model_name = "distilbert-base-uncased"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
...<TRUNCATED>
return os.path.join(s3_output_path, model_dir), eval_result with RemoteExecutor(instance_type="ml.g4dn.xlarge", dependencies = './requirements.txt') as e:
future = e.submit(train_hf_model, train_input_path,test_input_path,s3_output_path,
epochs, train_batch_size, eval_batch_size,warmup_steps,learning_rate)
ปรับแต่งสภาพแวดล้อมรันไทม์
โหมดมัณฑนากรและ RemoteExecutor
อนุญาตให้คุณกำหนดและปรับแต่งสภาพแวดล้อมรันไทม์สำหรับงาน SageMaker สามารถระบุการพึ่งพารันไทม์ รวมถึงแพ็คเกจ Python และตัวแปรสภาพแวดล้อมสำหรับงาน SageMaker เพื่อปรับแต่งรันไทม์ได้ ในการรันโค้ด Python ในเครื่องเป็นงานที่ได้รับการจัดการโดย SageMaker จำเป็นต้องมีแพ็คเกจ Python และการอ้างอิงสำหรับ SageMaker วิศวกร ML หรือผู้ดูแลระบบวิทยาศาสตร์ข้อมูลสามารถกำหนดค่าเครือข่ายและการกำหนดค่าความปลอดภัย เช่น VPC, ซับเน็ต และกลุ่มความปลอดภัยสำหรับงาน SageMaker ดังนั้นนักวิทยาศาสตร์ข้อมูลจึงสามารถใช้การกำหนดค่าที่จัดการจากส่วนกลางเหล่านี้ในขณะที่เรียกใช้งาน SageMaker คุณสามารถใช้ทั้ง requirements.txt
ไฟล์หรือ a Conda environment.yaml
ไฟล์
เมื่อมีการกำหนดการอ้างอิงด้วย requirements.txt
แพ็คเกจจะถูกติดตั้งโดยใช้ pip ในรันไทม์งาน หากอิมเมจที่ใช้สำหรับการเรียกใช้งานมาพร้อมกับสภาพแวดล้อม Conda แพ็คเกจจะถูกติดตั้งในสภาพแวดล้อม Conda ที่ประกาศให้ใช้สำหรับงาน รหัสต่อไปนี้แสดงตัวอย่าง requirements.txt
ไฟล์:
datasets
transformers
torch
scikit-learn
s3fs==0.4.2
sagemaker>=2.148.0
คุณสามารถผ่านของคุณ Conda environment.yaml
ไฟล์เพื่อสร้างสภาพแวดล้อม Conda ที่คุณต้องการให้รหัสของคุณทำงานในระหว่างการฝึกอบรม หากอิมเมจที่ใช้สำหรับการเรียกใช้งานประกาศสภาพแวดล้อม Conda เพื่อรันโค้ดภายใต้ เราจะอัปเดตสภาพแวดล้อม Conda ที่ประกาศด้วยข้อมูลจำเพาะที่กำหนด รหัสต่อไปนี้เป็นตัวอย่างของ Conda environment.yaml
ไฟล์:
name: sagemaker_example
channels: - conda-forge
dependencies: - python=3.10 - pandas - pip: - sagemaker
หรือคุณสามารถตั้งค่า dependencies=”auto_capture”
เพื่อให้ SageMaker Python SDK จับการอ้างอิงที่ติดตั้งในสภาพแวดล้อม Conda ที่ใช้งานอยู่ คุณต้องมีสภาพแวดล้อม Conda ที่ใช้งานอยู่สำหรับ auto_capture
ไปทำงาน. โปรดทราบว่ามีข้อกำหนดเบื้องต้นสำหรับ auto_capture
ไปทำงาน; เราขอแนะนำให้คุณส่งผ่านการอ้างอิงของคุณเป็น requirement.txt
or Conda environment.yml
ไฟล์ตามที่อธิบายไว้ในส่วนก่อนหน้า
ดูรายละเอียดเพิ่มเติมได้ที่ รันโค้ดท้องถิ่นของคุณเป็นงาน SageMaker Training.
การกำหนดค่าสำหรับงาน SageMaker
การตั้งค่าที่เกี่ยวข้องกับโครงสร้างพื้นฐานสามารถถ่ายโอนไปยังไฟล์การกำหนดค่าที่ผู้ดูแลระบบสามารถช่วยตั้งค่าได้ คุณต้องตั้งค่าเพียงครั้งเดียว การตั้งค่าโครงสร้างพื้นฐานครอบคลุมการกำหนดค่าเครือข่าย บทบาท IAM บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon โฟลเดอร์ (Amazon S3) สำหรับอินพุต ข้อมูลเอาต์พุต และแท็ก อ้างถึง การกำหนดค่าและใช้ค่าเริ่มต้นด้วย SageMaker Python SDK .
SchemaVersion: '1.0'
SageMaker:
PythonSDK:
Modules:
RemoteFunction:
Dependencies: path/to/requirements.txt
EnvironmentVariables: {"EnvVarKey": "EnvVarValue"}
ImageUri: 366666666666.dkr.ecr.us-west-2.amazonaws.com/my-image:latest
InstanceType: ml.m5.large
RoleArn: arn:aws:iam::366666666666:role/MyRole
S3KmsKeyId: somekmskeyid
S3RootUri: s3://my-bucket/my-project
SecurityGroupIds:
- sg123
Subnets:
- subnet-1234
Tags:
- {"Key": "someTagKey", "Value": "someTagValue"}
VolumeKmsKeyId: somekmskeyid
การดำเนินงาน
โมเดลการเรียนรู้เชิงลึกเช่น PyTorch หรือ TensorFlow สามารถเรียกใช้ภายใน Studio ได้ด้วยการรันโค้ดเป็นงานฝึกอบรมภายในโน้ตบุ๊ก หากต้องการแสดงความสามารถนี้ใน Studio คุณสามารถโคลน repo นี้ลงใน Studio ของคุณและเรียกใช้โน้ตบุ๊กที่อยู่ใน GitHub กรุ
ตัวอย่างนี้แสดงกรณีการใช้งานการจัดประเภทข้อความไบนารีแบบ end-to-end เรากำลังใช้ตัวแปลง Hugging Face และไลบรารีชุดข้อมูลเพื่อปรับแต่งตัวแปลงที่ได้รับการฝึกฝนมาล่วงหน้าในการจำแนกประเภทข้อความไบนารี โดยเฉพาะอย่างยิ่ง โมเดลที่ฝึกไว้ล่วงหน้าจะได้รับการปรับแต่งอย่างละเอียดโดยใช้ ชุดข้อมูล IMDb.
เมื่อคุณโคลนที่เก็บ คุณควรค้นหาไฟล์ต่อไปนี้:
- config.yaml – อาร์กิวเมนต์มัณฑนากรส่วนใหญ่สามารถออฟโหลดไปยังไฟล์คอนฟิกูเรชันเพื่อแยกการตั้งค่าที่เกี่ยวข้องกับโครงสร้างพื้นฐานออกจากโค้ดเบส
- กอดเฟซ.ipynb – ประกอบด้วยโค้ดสำหรับฝึกโมเดล HuggingFace ที่ผ่านการฝึกอบรมล่วงหน้า ซึ่งจะได้รับการปรับแต่งอย่างละเอียดโดยใช้ชุดข้อมูล IMDB
- Requirement.txt – ไฟล์นี้มีการอ้างอิงทั้งหมดเพื่อเรียกใช้ฟังก์ชันที่จะใช้ในสมุดบันทึกนี้สำหรับการเรียกใช้โค้ดและเรียกใช้การฝึกอบรมจากระยะไกลในอินสแตนซ์ GPU เป็นงานฝึกอบรม
เมื่อคุณเปิดสมุดบันทึก คุณจะได้รับแจ้งให้ตั้งค่าสภาพแวดล้อมของสมุดบันทึก คุณสามารถเลือกอิมเมจ Data Science 3.0 ที่มีเคอร์เนล Python 3 และ ml.m5.large เป็นประเภทอินสแตนซ์ที่เปิดใช้งานด่วนสำหรับการรันโค้ดโน้ตบุ๊ก อินสแตนซ์ประเภทนี้เร็วกว่าอย่างมากในการหมุนสภาพแวดล้อม
งานฝึกอบรมจะทำงานในอินสแตนซ์ ml.g4dn.xlarge ตามที่กำหนดไว้ใน config.yaml
ไฟล์:
SchemaVersion: '1.0'
SageMaker:
PythonSDK:
Modules:
RemoteFunction:
# role arn is not required if in SageMaker Notebook instance or SageMaker Studio
# Uncomment the following line and replace with the right execution role if in a local IDE
# RoleArn: <IAM_ROLE_ARN>
InstanceType: ml.g4dn.xlarge
Dependencies: ./requirements.txt
พื้นที่ requirements.txt
การขึ้นต่อกันของไฟล์เพื่อเรียกใช้ฟังก์ชันสำหรับการฝึกโมเดล Hugging Face มีดังต่อไปนี้:
datasets
transformers
torch
scikit-learn
# lock s3fs to this specific version as more recent ones introduce dependency on aiobotocore, which is not compatible with botocore
s3fs==0.4.2
sagemaker>=2.148.0,<3
สมุดบันทึก Hugging Face แสดงวิธีดำเนินการฝึกอบรมจากระยะไกลผ่านทาง @remote
ฟังก์ชันที่ทำงานแบบซิงโครนัส ดังนั้น การเรียกใช้ฟังก์ชันสำหรับการฝึกโมเดลจะรอจนกว่างาน SageMaker Training จะเสร็จสมบูรณ์ การฝึกอบรมจะดำเนินการจากระยะไกลด้วยอินสแตนซ์ GPU ซึ่งประเภทอินสแตนซ์ถูกกำหนดไว้ในไฟล์กำหนดค่าก่อนหน้า
หลังจากที่คุณเรียกใช้งานการฝึกอบรมแล้ว คุณสามารถเรียกใช้เซลล์ที่เหลือในสมุดบันทึกเพื่อตรวจสอบเมตริกการประเมินและจัดประเภทข้อความในแบบจำลองที่ผ่านการฝึกอบรมของเรา
คุณยังสามารถดูสถานะงานการฝึกอบรมที่เรียกใช้จากระยะไกลในอินสแตนซ์ GPU บนแดชบอร์ด SageMaker ได้ด้วยการนำทางกลับไปที่คอนโซล SageMaker
ทันทีที่งานฝึกอบรมเสร็จสิ้น จะยังคงเรียกใช้คำแนะนำในสมุดบันทึกเพื่อประเมินและจัดประเภท งานที่คล้ายกันสามารถฝึกฝนและรันผ่านฟังก์ชันรีโมตเอ็กซีคิวเตอร์ที่ฝังอยู่ภายในโน้ตบุ๊ก Studio เพื่อดำเนินการรันแบบอะซิงโครนัส
การผสานรวมกับการทดลอง SageMaker ภายในฟังก์ชัน @remote
คุณสามารถส่งชื่อการทดสอบ ชื่อการทดสอบ และพารามิเตอร์อื่นๆ ไปยังฟังก์ชันระยะไกลของคุณเพื่อสร้างการทดสอบของ SageMaker ตัวอย่างโค้ดต่อไปนี้นำเข้าชื่อการทดสอบ ชื่อของการเรียกใช้ และพารามิเตอร์ที่จะบันทึกสำหรับการรันแต่ละครั้ง:
from sagemaker.remote_function import remote
from sagemaker.experiments.run import Run
# Define your remote function
@remote
def train(value_1, value_2, exp_name, run_name):
...
...
#Creates the experiment
with Run( experiment_name=exp_name, run_name=run_name, sagemaker_session=sagemaker_session
) as run:
...
...
#Define values for the parameters to log
run.log_parameter("param_1", value_1)
run.log_parameter("param_2", value_2)
...
...
#Define metrics to log
run.log_metric("metric_a", 0.5)
run.log_metric("metric_b", 0.1) # Invoke your remote function
train(1.0, 2.0, "my-exp-name", "my-run-name")
ในตัวอย่างก่อนหน้านี้ พารามิเตอร์ p1
และ p2
จะถูกบันทึกในช่วงเวลาหนึ่งภายในวงการฝึกอบรม พารามิเตอร์ทั่วไปอาจรวมถึงขนาดแบทช์หรือยุค ในตัวอย่าง เมตริก A
และ B
จะถูกบันทึกสำหรับการทำงานในช่วงเวลาหนึ่งภายในวงการฝึกอบรม เมตริกทั่วไปอาจรวมถึงความแม่นยำหรือการสูญเสีย สำหรับข้อมูลเพิ่มเติม โปรดดูที่ สร้างการทดลอง Amazon SageMaker.
สรุป
ในโพสต์นี้ เราแนะนำความสามารถใหม่ของ SageMaker Python SDK ที่ช่วยให้นักวิทยาศาสตร์ข้อมูลสามารถรันโค้ด ML ใน IDE ที่ต้องการเป็นงาน SageMaker Training เราได้กล่าวถึงข้อกำหนดเบื้องต้นที่จำเป็นสำหรับการใช้ความสามารถนี้พร้อมกับคุณสมบัติต่างๆ เรายังแสดงวิธีใช้ความสามารถนี้ใน Studio, อินสแตนซ์โน้ตบุ๊ก SageMaker และ IDE ภายในเครื่องของคุณ นอกจากนี้ เรายังจัดเตรียมตัวอย่างโค้ดตัวอย่างเพื่อสาธิตวิธีการใช้ความสามารถนี้ ในขั้นตอนถัดไป เราขอแนะนำให้ลองใช้ความสามารถนี้ใน IDE หรือ SageMaker ของคุณโดยทำตาม ตัวอย่างรหัส อ้างอิงในโพสต์นี้
เกี่ยวกับผู้เขียน
ดิปันการ์ ปาโตร เป็นวิศวกรพัฒนาซอฟต์แวร์ที่ AWS SageMaker สร้างสรรค์นวัตกรรมและสร้างโซลูชัน MLOps เพื่อช่วยให้ลูกค้านำโซลูชัน AI/ML ไปใช้ในวงกว้าง เขามีวิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์ และสาขาที่เขาสนใจคือความปลอดภัยของคอมพิวเตอร์ ระบบกระจาย และ AI/ML
ฟารุก ซาบีร์ เป็นสถาปนิกอาวุโสด้านปัญญาประดิษฐ์และผู้เชี่ยวชาญด้านการเรียนรู้ของเครื่องที่ AWS เขาสำเร็จการศึกษาระดับปริญญาเอกและปริญญาโทสาขาวิศวกรรมไฟฟ้าจากมหาวิทยาลัยเทกซัสออสติน และปริญญาโทสาขาวิทยาการคอมพิวเตอร์จากสถาบันเทคโนโลยีจอร์เจีย เขามีประสบการณ์การทำงานมากกว่า 15 ปี และยังชอบสอนและให้คำปรึกษาแก่นักศึกษาอีกด้วย ที่ AWS เขาช่วยลูกค้ากำหนดและแก้ปัญหาทางธุรกิจในด้านวิทยาศาสตร์ข้อมูล การเรียนรู้ของเครื่อง คอมพิวเตอร์วิทัศน์ ปัญญาประดิษฐ์ การเพิ่มประสิทธิภาพเชิงตัวเลข และโดเมนที่เกี่ยวข้อง เขาและครอบครัวอาศัยอยู่ในเมืองดัลลัส รัฐเท็กซัส รักการเดินทางและเดินทางไกล
มาโนช ราวี เป็นผู้จัดการผลิตภัณฑ์อาวุโสของ Amazon SageMaker เขามีความกระตือรือร้นเกี่ยวกับการสร้างผลิตภัณฑ์ AI ยุคหน้า และทำงานเกี่ยวกับซอฟต์แวร์และเครื่องมือเพื่อทำให้แมชชีนเลิร์นนิงขนาดใหญ่ง่ายขึ้นสำหรับลูกค้า เขาสำเร็จการศึกษา MBA จาก Haas School of Business และปริญญาโทด้านการจัดการระบบสารสนเทศจากมหาวิทยาลัย Carnegie Mellon ในเวลาว่าง มาโนชชอบเล่นเทนนิสและถ่ายภาพทิวทัศน์
ชิคาร์ ควาตรา เป็นสถาปนิก AI/ML Specialist Solutions ที่ Amazon Web Services ซึ่งทำงานร่วมกับ Global System Integrator ชั้นนำ เขาได้รับตำแหน่งหนึ่งในนักประดิษฐ์ระดับปรมาจารย์ชาวอินเดียที่อายุน้อยที่สุดด้วยสิทธิบัตรมากกว่า 500 ฉบับในโดเมน AI/ML และ IoT Shikhar ช่วยในการออกแบบสถาปัตยกรรม สร้าง และบำรุงรักษาสภาพแวดล้อมคลาวด์ที่ปรับขนาดได้และคุ้มค่าสำหรับองค์กร และสนับสนุนพันธมิตร GSI ในการสร้างโซลูชันอุตสาหกรรมเชิงกลยุทธ์บน AWS ชิคาร์ชอบเล่นกีตาร์ แต่งเพลง และฝึกสติในเวลาว่าง
วิกรม เอลังโก เป็น Sr. AI/ML Specialist Solutions Architect ที่ AWS ซึ่งตั้งอยู่ที่เวอร์จิเนีย สหรัฐอเมริกา ปัจจุบันเขามุ่งเน้นไปที่ generative AI, LLMs, วิศวกรรมที่รวดเร็ว, การเพิ่มประสิทธิภาพการอนุมานแบบจำลองขนาดใหญ่ และการปรับขนาด ML ทั่วทั้งองค์กร Vikram ช่วยลูกค้าในอุตสาหกรรมการเงินและประกันภัยด้วยความเป็นผู้นำด้านการออกแบบและความคิดในการสร้างและปรับใช้แอปพลิเคชันแมชชีนเลิร์นนิงในวงกว้าง ในเวลาว่างเขาชอบท่องเที่ยว เดินป่า ทำอาหาร และตั้งแคมป์
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตไอสตรีม. ข้อมูลอัจฉริยะ Web3 ขยายความรู้ เข้าถึงได้ที่นี่.
- การสร้างอนาคตโดย Adryenn Ashley เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/run-your-local-machine-learning-code-as-amazon-sagemaker-training-jobs-with-minimal-code-changes/
- :มี
- :เป็น
- :ไม่
- $ ขึ้น
- 1
- 10
- 100
- 500
- 7
- a
- ความสามารถ
- สามารถ
- เกี่ยวกับเรา
- เข้า
- ลงชื่อเข้าใช้
- ความถูกต้อง
- ประสบความสำเร็จ
- ข้าม
- คล่องแคล่ว
- การกระทำ
- เพิ่ม
- เพิ่ม
- นอกจากนี้
- ผู้ดูแลระบบ
- ผู้ดูแลระบบ
- นำมาใช้
- สูง
- ความได้เปรียบ
- AI
- AI / ML
- เอดส์
- ทั้งหมด
- ช่วยให้
- ตาม
- ด้วย
- อเมซอน
- อเมซอน SageMaker
- Amazon Web Services
- an
- วิเคราะห์
- และ
- ประกาศ
- ใด
- การใช้งาน
- เป็น
- พื้นที่
- ข้อโต้แย้ง
- เทียม
- ปัญญาประดิษฐ์
- ปัญญาประดิษฐ์และการเรียนรู้ด้วยเครื่อง
- AS
- ที่เกี่ยวข้อง
- At
- ออสติน
- อัตโนมัติ
- ใช้ได้
- AWS
- กลับ
- ฐาน
- ตาม
- BE
- ประโยชน์ที่ได้รับ
- งบประมาณ
- สร้าง
- การก่อสร้าง
- ธุรกิจ
- by
- CAN
- ความสามารถในการ
- จับ
- Carnegie Mellon
- พกพา
- กรณี
- เซลล์
- เปลี่ยนแปลง
- การเปลี่ยนแปลง
- ช่อง
- ทางเลือก
- ชั้น
- การจัดหมวดหมู่
- แยกประเภท
- เมฆ
- รหัส
- ฐานรหัส
- วิทยาลัย
- มา
- ร่วมกัน
- เข้ากันได้
- สมบูรณ์
- คำนวณ
- คอมพิวเตอร์
- วิทยาการคอมพิวเตอร์
- รักษาความปลอดภัยคอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- แนวคิด
- องค์ประกอบ
- ปลอบใจ
- บรรจุ
- ภาชนะ
- มี
- บริบท
- อย่างต่อเนื่อง
- แกน
- ราคา
- ได้
- หน้าปก
- สร้าง
- ขณะนี้
- ลูกค้า
- ปรับแต่ง
- ดัลลัส
- หน้าปัด
- ข้อมูล
- การประมวลผล
- วิทยาศาสตร์ข้อมูล
- ชุดข้อมูล
- ประกาศ
- ค่าเริ่มต้น
- ค่าเริ่มต้น
- กำหนด
- สาธิต
- แสดงให้เห็นถึง
- การอยู่ที่
- ปรับใช้
- อธิบาย
- ออกแบบ
- รายละเอียด
- พัฒนา
- ผู้พัฒนา
- พัฒนาการ
- ต่าง
- กล่าวถึง
- กระจาย
- ระบบกระจาย
- กระจายการฝึกอบรม
- โดเมน
- ทำ
- Dont
- ในระหว่าง
- e
- แต่ละ
- ที่ได้รับ
- สะดวกในการใช้
- ง่ายดาย
- อย่างง่ายดาย
- ทั้ง
- ที่ฝัง
- ช่วยให้
- การเข้ารหัสลับ
- จบสิ้น
- วิศวกร
- ชั้นเยี่ยม
- วิศวกร
- ผู้ประกอบการ
- การเข้า
- สิ่งแวดล้อม
- สภาพแวดล้อม
- ยุค
- ยุค
- การประเมินผล
- ทุกๆ
- ตัวอย่าง
- ตัวอย่าง
- การปฏิบัติ
- ที่มีอยู่
- ประสบการณ์
- การทดลอง
- ใบหน้า
- คุ้นเคย
- ครอบครัว
- FAST
- เร็วขึ้น
- ลักษณะ
- คุณสมบัติ
- สองสาม
- เนื้อไม่มีมัน
- ไฟล์
- ทางการเงิน
- ชื่อจริง
- ความยืดหยุ่น
- โฟกัส
- มุ่งเน้น
- ดังต่อไปนี้
- สำหรับ
- กรอบ
- ราคาเริ่มต้นที่
- อย่างเต็มที่
- ฟังก์ชัน
- ฟังก์ชั่น
- นอกจากนี้
- อนาคต
- ฟิวเจอร์ส
- กำเนิด
- กำเนิด AI
- จอร์เจีย
- กำหนด
- เหตุการณ์ที่
- Go
- GPU
- กลุ่ม
- มี
- he
- ช่วย
- จะช่วยให้
- ของเขา
- ถือ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTML
- ที่ http
- HTTPS
- กอดใบหน้า
- เอกลักษณ์
- if
- ภาพ
- การดำเนินงาน
- นำเข้า
- การนำเข้า
- in
- ประกอบด้วย
- รวมทั้ง
- ชาวอินเดีย
- อุตสาหกรรม
- ข้อมูล
- ระบบสารสนเทศ
- โครงสร้างพื้นฐาน
- นวัตกรรม
- อินพุต
- การติดตั้ง
- ตัวอย่าง
- สถาบัน
- คำแนะนำการใช้
- ประกัน
- แบบบูรณาการ
- รวม
- Intelligence
- อยากเรียนรู้
- เข้าไป
- แนะนำ
- แนะนำ
- ประดิษฐ์
- IOT
- IT
- ซ้ำ
- ITS
- การสัมภาษณ์
- งาน
- jpg
- เพียงแค่
- คีย์
- ห้องปฏิบัติการ
- ภูมิประเทศ
- แล็ปท็อป
- ใหญ่
- ขนาดใหญ่
- ล่าสุด
- เปิดตัว
- เปิดตัว
- การเปิดตัว
- ความเป็นผู้นำ
- ชั้นนำ
- เรียนรู้
- การเรียนรู้
- ให้
- ช่วยให้
- ห้องสมุด
- ห้องสมุด
- วงจรชีวิต
- กดไลก์
- ยอดไลก์
- Line
- ในประเทศ
- ในท้องถิ่น
- ที่ตั้งอยู่
- เข้าสู่ระบบ
- เข้า
- นาน
- LOOKS
- ปิด
- ความรัก
- เครื่อง
- เรียนรู้เครื่อง
- ทำ
- การบำรุงรักษา
- ทำ
- ทำให้
- การจัดการ
- การจัดการ
- ผู้จัดการ
- เจ้านาย
- อาจ..
- เมลลอน
- ระเบียบวิธี
- ตัวชี้วัด
- สัมมาสติ
- ต่ำสุด
- นาที
- ML
- ม.ป.ป
- โหมด
- แบบ
- โมเดล
- โมดูล
- ข้อมูลเพิ่มเติม
- มากที่สุด
- ย้าย
- MS
- หลาย
- ดนตรี
- ชื่อ
- คือ
- การนำทาง
- จำเป็นต้อง
- จำเป็น
- เครือข่าย
- เครือข่าย
- ใหม่
- ถัดไป
- โหนด
- สมุดบันทึก
- ตอนนี้
- มึน
- วัตถุ
- of
- on
- ออนบอร์ด
- ครั้งเดียว
- ONE
- เพียง
- เปิด
- โอเพนซอร์ส
- การเพิ่มประสิทธิภาพ
- or
- ใบสั่ง
- organizacja
- OS
- อื่นๆ
- ของเรา
- ออก
- เอาท์พุต
- เกิน
- แทนที่
- แพ็คเกจ
- แพคเกจ
- หมีแพนด้า
- Parallel
- พารามิเตอร์
- ในสิ่งที่สนใจ
- หุ้นส่วน
- ส่ง
- ผ่าน
- ที่ผ่านไป
- หลงใหล
- สิทธิบัตร
- เส้นทาง
- การปฏิบัติ
- การถ่ายภาพ
- เวที
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เล่น
- จุด
- โพสต์
- ที่ต้องการ
- ข้อกำหนดเบื้องต้น
- ก่อน
- ปัญหา
- ปัญหาที่เกิดขึ้น
- การประมวลผล
- ผลิตภัณฑ์
- ผู้จัดการผลิตภัณฑ์
- ประสิทธิผล
- ผลิตภัณฑ์
- ให้
- หลาม
- ไฟฉาย
- พร้อม
- เมื่อเร็ว ๆ นี้
- เมื่อเร็ว ๆ นี้
- แนะนำ
- ที่เกี่ยวข้อง
- ปล่อย
- รีโมท
- แทนที่
- กรุ
- จำเป็นต้องใช้
- ความต้องการ
- REST
- กลับ
- ถนน
- บทบาท
- บทบาท
- วิ่ง
- วิ่ง
- sagemaker
- ที่ปรับขนาดได้
- ขนาด
- ปรับ
- โรงเรียน
- วิทยาศาสตร์
- นักวิทยาศาสตร์
- scikit เรียนรู้
- SDK
- ได้อย่างลงตัว
- Section
- ส่วน
- ความปลอดภัย
- เห็น
- ระดับอาวุโส
- แยก
- บริการ
- เซสชั่น
- ชุด
- การตั้งค่า
- การตั้งค่า
- การติดตั้ง
- หลาย
- น่า
- โชว์
- แสดง
- แสดง
- แสดงให้เห็นว่า
- อย่างมีความหมาย
- คล้ายคลึงกัน
- ง่าย
- ง่ายดาย
- เดียว
- ขนาด
- เล็ก
- ภาพย่อ
- So
- ซอฟต์แวร์
- การพัฒนาซอฟต์แวร์
- โซลูชัน
- แก้
- ผู้เชี่ยวชาญ
- โดยเฉพาะ
- สเปค
- ที่ระบุไว้
- เริ่มต้น
- ที่เริ่มต้น
- Status
- ขั้นตอน
- การเก็บรักษา
- ยุทธศาสตร์
- นักเรียน
- สตูดิโอ
- ส่ง
- ซับเน็ต
- อย่างเช่น
- ที่สนับสนุน
- รองรับ
- ระบบ
- ระบบ
- เอา
- ใช้เวลา
- การ
- งาน
- ทีม
- เทคโนโลยี
- tensorflow
- เท็กซัส
- การจัดประเภทข้อความ
- ที่
- พื้นที่
- ของพวกเขา
- พวกเขา
- แล้วก็
- ที่นั่น
- ดังนั้น
- ดังนั้น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- นี้
- คิดว่า
- ความเป็นผู้นำทางความคิด
- ตลอด
- เวลา
- ชื่อหนังสือ
- ไปยัง
- เครื่องมือ
- ไฟฉาย
- ไปทาง
- รถไฟ
- ผ่านการฝึกอบรม
- การฝึกอบรม
- หม้อแปลง
- การเดินทาง
- การเดินทาง
- ทริกเกอร์
- ชนิด
- เป็นปกติ
- ภายใต้
- เข้าใจ
- มหาวิทยาลัย
- บันทึก
- us
- ใช้
- ใช้กรณี
- มือสอง
- ผู้ใช้
- การใช้
- ความคุ้มค่า
- ความคุ้มค่า
- รุ่น
- ผ่านทาง
- รายละเอียด
- virginia
- วิสัยทัศน์
- vs
- เทียบกับรหัส
- รอ
- ต้องการ
- we
- เว็บ
- บริการเว็บ
- เมื่อ
- ที่
- ในขณะที่
- จะ
- กับ
- ภายใน
- งาน
- การทำงาน
- โรงงาน
- จะ
- ห่อ
- ตะลึง
- เขียน
- เขียนโค้ด
- เขียน
- X
- ปี
- คุณ
- สุดท้อง
- ของคุณ
- ลมทะเล