อเมซอน SageMaker ให้ชุดของ อัลกอริทึมในตัว, รุ่นก่อนการฝึกอบรมและ เทมเพลตโซลูชันที่สร้างไว้ล่วงหน้า เพื่อช่วยให้นักวิทยาศาสตร์ข้อมูลและผู้ปฏิบัติงานด้านการเรียนรู้ของเครื่อง (ML) เริ่มต้นการฝึกอบรมและปรับใช้โมเดล ML ได้อย่างรวดเร็ว คุณสามารถใช้อัลกอริธึมและแบบจำลองเหล่านี้สำหรับการเรียนรู้ทั้งแบบมีผู้สอนและแบบไม่มีผู้ดูแล พวกเขาสามารถประมวลผลข้อมูลอินพุตประเภทต่างๆ รวมทั้งแบบตาราง รูปภาพ และข้อความ
โพสต์นี้เป็นโพสต์ที่สามในซีรีส์เกี่ยวกับอัลกอริธึมในตัวใหม่ใน SageMaker ใน โพสต์แรกเราแสดงให้เห็นว่า SageMaker มีอัลกอริทึมในตัวสำหรับการจัดประเภทรูปภาพอย่างไร ใน โพสต์ที่สองเราแสดงให้เห็นว่า SageMaker มีอัลกอริทึมในตัวสำหรับการตรวจจับวัตถุอย่างไร วันนี้ เราขอประกาศว่า SageMaker ได้จัดเตรียมอัลกอริธึมในตัวใหม่สำหรับการจัดประเภทข้อความโดยใช้ TensorFlow อัลกอริธึมการเรียนรู้ภายใต้การดูแลนี้รองรับการถ่ายโอนการเรียนรู้สำหรับโมเดลที่ผ่านการฝึกอบรมล่วงหน้าจำนวนมากที่มีอยู่ใน ฮับ TensorFlow. ใช้ชิ้นส่วนของข้อความเป็นอินพุตและส่งออกความน่าจะเป็นสำหรับป้ายกำกับแต่ละคลาส คุณสามารถปรับแต่งโมเดลที่ฝึกไว้ล่วงหน้าเหล่านี้ได้โดยใช้การเรียนรู้แบบโอนย้าย แม้ว่าจะไม่มีคลังข้อความขนาดใหญ่ก็ตาม มีให้บริการผ่าน SageMaker อัลกอริทึมในตัวตลอดจนผ่าน UI JumpStart ของ SageMaker in สตูดิโอ Amazon SageMaker. สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การจัดประเภทข้อความ และสมุดตัวอย่าง ข้อมูลเบื้องต้นเกี่ยวกับ JumpStart – การจัดประเภทข้อความ.
การจัดประเภทข้อความด้วย TensorFlow ใน SageMaker ให้การถ่ายโอนการเรียนรู้เกี่ยวกับโมเดลที่ผ่านการฝึกอบรมล่วงหน้าจำนวนมากที่มีอยู่ใน TensorFlow Hub ตามจำนวนป้ายกำกับคลาสในข้อมูลการฝึก เลเยอร์การจำแนกประเภทจะแนบมากับโมเดลฮับ TensorFlow ที่ฝึกอบรมล่วงหน้า เลเยอร์การจัดหมวดหมู่ประกอบด้วยเลเยอร์ดรอปเอาต์และเลเยอร์หนาแน่น เลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์ด้วยตัวปรับมาตรฐาน 2-norm ซึ่งเริ่มต้นด้วยตุ้มน้ำหนักแบบสุ่ม การฝึกโมเดลมีพารามิเตอร์ไฮเปอร์สำหรับอัตราการออกกลางคันของเลเยอร์การออกกลางคัน และปัจจัยการทำให้เป็นมาตรฐาน L2 สำหรับเลเยอร์ที่หนาแน่น จากนั้น เครือข่ายทั้งหมด รวมถึงโมเดลที่ได้รับการฝึกอบรมล่วงหน้า หรือเฉพาะเลเยอร์การจัดหมวดหมู่บนสุดเท่านั้นที่สามารถปรับแต่งข้อมูลการฝึกใหม่ได้ ในโหมดการโอนย้ายการเรียนรู้นี้ การฝึกอบรมสามารถทำได้แม้กระทั่งกับชุดข้อมูลที่เล็กกว่า
วิธีใช้อัลกอริธึมการจัดประเภทข้อความ TensorFlow ใหม่
ส่วนนี้อธิบายวิธีการใช้อัลกอริธึมการจำแนกข้อความ TensorFlow กับ SageMaker Python SDK. สำหรับข้อมูลเกี่ยวกับวิธีการใช้งานจาก Studio UI โปรดดูที่ SageMaker JumpStart.
อัลกอริธึมรองรับการถ่ายโอนการเรียนรู้สำหรับโมเดลที่ได้รับการฝึกฝนล่วงหน้าซึ่งระบุไว้ใน โมเดลเทนเซอร์โฟลว์. แต่ละรุ่นจะถูกระบุโดยที่ไม่ซ้ำกัน model_id
. รหัสต่อไปนี้แสดงวิธีการปรับแต่งโมเดลพื้นฐาน BERT ที่ระบุโดย model_id
tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2
ในชุดข้อมูลการฝึกอบรมที่กำหนดเอง แต่ละ model_id
, เพื่อเริ่มงานฝึกอบรม SageMaker ผ่าน ประมาณการ คลาสของ SageMaker Python SDK คุณต้องดึง URI อิมเมจ Docker, URI สคริปต์การฝึก และ URI ของโมเดลที่ฝึกไว้ล่วงหน้าผ่านฟังก์ชันยูทิลิตี้ที่มีให้ใน SageMaker URI สคริปต์การฝึกอบรมประกอบด้วยโค้ดที่จำเป็นทั้งหมดสำหรับการประมวลผลข้อมูล การโหลดโมเดลที่ฝึกไว้ล่วงหน้า การฝึกโมเดล และการบันทึกโมเดลที่ผ่านการฝึกอบรมสำหรับการอนุมาน URI ของโมเดลที่ฝึกไว้ล่วงหน้าประกอบด้วยคำจำกัดความของสถาปัตยกรรมโมเดลที่ฝึกไว้ล่วงหน้าและพารามิเตอร์ของโมเดล URI ของโมเดลที่ฝึกไว้ล่วงหน้านั้นจำเพาะสำหรับโมเดลนั้นๆ tarball รุ่นที่ได้รับการฝึกอบรมล่วงหน้าได้รับการดาวน์โหลดล่วงหน้าจาก TensorFlow และบันทึกด้วยลายเซ็นรุ่นที่เหมาะสมใน บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon บัคเก็ต (Amazon S3) เพื่อให้งานการฝึกทำงานแบบแยกเครือข่าย ดูรหัสต่อไปนี้:
ด้วยสิ่งประดิษฐ์การฝึกอบรมเฉพาะรุ่นเหล่านี้ คุณสามารถสร้างวัตถุของ ประมาณการ ระดับ:
ถัดไป สำหรับการถ่ายโอนการเรียนรู้ในชุดข้อมูลที่คุณกำหนดเอง คุณอาจต้องเปลี่ยนค่าเริ่มต้นของไฮเปอร์พารามิเตอร์การฝึก ซึ่งแสดงอยู่ใน ไฮเปอร์พารามิเตอร์. คุณสามารถดึงพจนานุกรม Python ของไฮเปอร์พารามิเตอร์เหล่านี้ด้วยค่าเริ่มต้นได้โดยการเรียก hyperparameters.retrieve_default
อัปเดตตามต้องการ แล้วส่งต่อไปยังคลาส Estimator โปรดทราบว่าค่าเริ่มต้นของไฮเปอร์พารามิเตอร์บางตัวจะแตกต่างกันสำหรับรุ่นต่างๆ สำหรับรุ่นใหญ่ ขนาดแบทช์เริ่มต้นจะเล็กกว่าและ train_only_top_layer
ไฮเปอร์พารามิเตอร์ถูกตั้งค่าเป็น True
. ไฮเปอร์พารามิเตอร์ Train_only_top_layer
กำหนดว่าพารามิเตอร์รุ่นใดเปลี่ยนแปลงระหว่างกระบวนการปรับแต่ง ถ้า train_only_top_layer
is True
จากนั้นพารามิเตอร์ของชั้นการจำแนกประเภทจะเปลี่ยนไปและพารามิเตอร์ที่เหลือจะคงที่ในระหว่างกระบวนการปรับแต่ง ในทางกลับกัน ถ้า train_only_top_layer
is False
จากนั้นพารามิเตอร์ทั้งหมดของโมเดลจะได้รับการปรับแต่งอย่างละเอียด ดูรหัสต่อไปนี้:
เราให้บริการ SST2 เป็นชุดข้อมูลเริ่มต้นสำหรับการปรับแต่งโมเดลอย่างละเอียด ชุดข้อมูลประกอบด้วยบทวิจารณ์ภาพยนตร์เชิงบวกและเชิงลบ ดาวน์โหลดแล้วจาก TensorFlow ภายใต้ ใบอนุญาต Apache 2.0. รหัสต่อไปนี้แสดงชุดข้อมูลการฝึกเริ่มต้นที่โฮสต์ในบัคเก็ต S3
สุดท้าย ในการเริ่มงานการฝึกอบรม SageMaker สำหรับการปรับแต่งโมเดลอย่างละเอียด ให้เรียก .fit บนออบเจ็กต์ของคลาส Estimator ขณะส่งตำแหน่ง Amazon S3 ของชุดข้อมูลการฝึก:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้อัลกอริธึมการจัดประเภทข้อความ SageMaker TensorFlow ใหม่สำหรับการถ่ายโอนการเรียนรู้ในชุดข้อมูลที่กำหนดเอง ปรับใช้โมเดลที่ปรับแต่งอย่างละเอียด เรียกใช้การอนุมานบนโมเดลที่ปรับใช้ และปรับใช้โมเดลที่ได้รับการฝึกล่วงหน้าตามที่เป็นอยู่โดยไม่ต้องปรับละเอียดในครั้งแรก ในชุดข้อมูลที่กำหนดเอง ดูตัวอย่างสมุดบันทึกต่อไปนี้: ข้อมูลเบื้องต้นเกี่ยวกับ JumpStart – การจัดประเภทข้อความ.
อินเทอร์เฟซอินพุต/เอาต์พุตสำหรับอัลกอริธึมการจำแนกข้อความ TensorFlow
คุณสามารถปรับแต่งรุ่นที่ได้รับการฝึกฝนไว้ล่วงหน้าแต่ละรายการใน แบบจำลองเทนเซอร์โฟลว์ ไปยังชุดข้อมูลใดๆ ที่ประกอบขึ้นจากประโยคข้อความที่มีคลาสจำนวนเท่าใดก็ได้ โมเดลที่ได้รับการฝึกอบรมล่วงหน้าจะแนบเลเยอร์การจัดหมวดหมู่เข้ากับโมเดลการฝังข้อความและเริ่มต้นพารามิเตอร์ของเลเยอร์เป็นค่าสุ่ม มิติข้อมูลเอาท์พุตของเลเยอร์การจัดหมวดหมู่ถูกกำหนดตามจำนวนคลาสที่ตรวจพบในข้อมูลอินพุต วัตถุประสงค์คือเพื่อลดข้อผิดพลาดในการจำแนกประเภทข้อมูลที่ป้อนเข้า โมเดลที่ส่งคืนโดยการปรับแต่งแบบละเอียดสามารถนำไปปรับใช้เพิ่มเติมสำหรับการอนุมานได้
คำแนะนำต่อไปนี้อธิบายวิธีจัดรูปแบบข้อมูลการฝึกอบรมสำหรับการป้อนข้อมูลลงในแบบจำลอง:
- อินพุต – ไดเร็กทอรีที่มีไฟล์ data.csv แต่ละแถวของคอลัมน์แรกควรมีป้ายกำกับคลาสจำนวนเต็มระหว่าง 0 ถึงจำนวนคลาส แต่ละแถวของคอลัมน์ที่สองควรมีข้อมูลข้อความที่สอดคล้องกัน
- เอาท์พุต – โมเดลที่ปรับแต่งอย่างละเอียดซึ่งสามารถปรับใช้สำหรับการอนุมานหรือฝึกฝนเพิ่มเติมโดยใช้การฝึกอบรมแบบเพิ่มหน่วย ดัชนีคลาสการแมปไฟล์กับป้ายกำกับคลาสจะถูกบันทึกพร้อมกับโมเดล
ต่อไปนี้คือตัวอย่างไฟล์ CSV อินพุต โปรดทราบว่าไฟล์ไม่ควรมีส่วนหัว ไฟล์ควรโฮสต์ในบัคเก็ต S3 ที่มีเส้นทางคล้ายกับต่อไปนี้: s3://bucket_name/input_directory/
. โปรดทราบว่าการต่อท้าย /
จำเป็นต้องมี
การอนุมานด้วยอัลกอริธึมการจำแนกข้อความ TensorFlow
โมเดลที่สร้างขึ้นสามารถโฮสต์สำหรับการอนุมานและข้อความสนับสนุนเป็น application/x-text
ชนิดของเนื้อหา. ผลลัพธ์ประกอบด้วยค่าความน่าจะเป็น ป้ายกำกับคลาสสำหรับคลาสทั้งหมด และป้ายกำกับที่คาดการณ์ซึ่งสอดคล้องกับดัชนีคลาสที่มีความน่าจะเป็นสูงสุดที่เข้ารหัสในรูปแบบ JSON โมเดลประมวลผลสตริงเดียวต่อคำขอและส่งออกเพียงบรรทัดเดียว ต่อไปนี้เป็นตัวอย่างของการตอบสนองรูปแบบ JSON:
If accept
ถูกตั้งค่าเป็น application/json
จากนั้นโมเดลจะแสดงความน่าจะเป็นเท่านั้น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการฝึกอบรมและการอนุมาน โปรดดูตัวอย่างสมุดบันทึก Introduction to ข้อมูลเบื้องต้นเกี่ยวกับ JumpStart – การจัดประเภทข้อความ.
ใช้อัลกอริทึมในตัวของ SageMaker ผ่าน JumpStart UI
คุณยังสามารถใช้การจัดประเภทข้อความ SageMaker TensorFlow และอัลกอริธึมในตัวอื่นๆ ได้ด้วยการคลิกเพียงไม่กี่ครั้งผ่าน JumpStart UI JumpStart เป็นคุณสมบัติ SageMaker ที่ให้คุณฝึกฝนและปรับใช้อัลกอริทึมในตัวและโมเดลที่ฝึกฝนล่วงหน้าจากเฟรมเวิร์ก ML ต่างๆ และฮับโมเดลผ่านอินเทอร์เฟซแบบกราฟิก นอกจากนี้ ยังช่วยให้คุณปรับใช้โซลูชัน ML เต็มรูปแบบที่รวมโมเดล ML และบริการของ AWS อื่นๆ เข้าด้วยกันเพื่อแก้ไขกรณีการใช้งานที่เป็นเป้าหมาย
ต่อไปนี้คือวิดีโอสองวิดีโอที่แสดงให้เห็นว่าคุณสามารถจำลองกระบวนการปรับแต่งและปรับใช้แบบเดียวกันได้อย่างไร ซึ่งเราเพิ่งดำเนินการไปด้วยการคลิกเพียงไม่กี่ครั้งผ่าน JumpStart UI
ปรับแต่งโมเดลที่ฝึกไว้ล่วงหน้าอย่างละเอียด
นี่คือขั้นตอนในการปรับแต่งโมเดลการจัดประเภทข้อความที่ฝึกไว้ล่วงหน้าแบบเดียวกันอย่างละเอียด
ปรับใช้แบบจำลองที่ปรับแต่งแล้ว
หลังจากการฝึกโมเดลเสร็จสิ้น คุณสามารถปรับใช้โมเดลกับปลายทางแบบเรียลไทม์ที่คงอยู่ได้โดยตรงด้วยการคลิกเพียงครั้งเดียว
สรุป
ในโพสต์นี้ เราได้ประกาศเปิดตัวอัลกอริทึมในตัวการจัดประเภทข้อความ SageMaker TensorFlow เราได้จัดเตรียมโค้ดตัวอย่างสำหรับวิธีถ่ายโอนการเรียนรู้ในชุดข้อมูลที่กำหนดเองโดยใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้าจากฮับ TensorFlow โดยใช้อัลกอริธึมนี้
สำหรับข้อมูลเพิ่มเติมโปรดดูที่ เอกสาร และสมุดตัวอย่าง ข้อมูลเบื้องต้นเกี่ยวกับ JumpStart – การจัดประเภทข้อความ.
เกี่ยวกับผู้แต่ง
ดร.วิเวก มะดัน เป็นนักวิทยาศาสตร์ประยุกต์กับ ทีม Amazon SageMaker JumpStart. เขาสำเร็จการศึกษาระดับปริญญาเอกจากมหาวิทยาลัยอิลลินอยส์ Urbana-Champaign และเป็นนักวิจัยหลังปริญญาเอกที่ Georgia Tech เขาเป็นนักวิจัยเชิงรุกด้านการเรียนรู้ของเครื่องและการออกแบบอัลกอริธึม และได้ตีพิมพ์เอกสารในการประชุม EMNLP, ICLR, COLT, FOCS และ SODA
ชูเอา มูร่า เป็นสถาปนิกโซลูชันผู้เชี่ยวชาญ AI/ML ที่ Amazon Web Services เขามุ่งเน้นไปที่กรณีการใช้งาน NLP เป็นส่วนใหญ่ และช่วยลูกค้าเพิ่มประสิทธิภาพการฝึกอบรมและการปรับใช้โมเดลการเรียนรู้เชิงลึก เขายังเป็นผู้สนับสนุนโซลูชัน ML แบบ low-code และฮาร์ดแวร์เฉพาะสำหรับ ML
ดร. Ashish Khetan เป็นนักวิทยาศาสตร์ประยุกต์อาวุโสด้วย อัลกอริทึมในตัวของ Amazon SageMaker และช่วยพัฒนาอัลกอริธึมการเรียนรู้ของเครื่อง เขาได้รับปริญญาเอกจากมหาวิทยาลัยอิลลินอยส์เออร์บานาแชมเปญ เขาเป็นนักวิจัยเชิงรุกด้านการเรียนรู้ของเครื่องและการอนุมานทางสถิติ และได้ตีพิมพ์บทความจำนวนมากในการประชุม NeurIPS, ICML, ICLR, JMLR, ACL และ EMNLP
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน SageMaker
- Amazon SageMaker JumpStart
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- รองพื้น (100)
- google ai
- เรียนรู้เครื่อง
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- ลมทะเล