Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน

การรู้จำอักขระด้วยแสง (OCR) คืองานในการแปลงข้อความที่พิมพ์หรือเขียนด้วยลายมือให้เป็นข้อความที่เข้ารหัสด้วยเครื่อง OCR มีการใช้กันอย่างแพร่หลายในสถานการณ์ต่างๆ เช่น การทำให้เป็นอิเล็กทรอนิกส์ของเอกสารและการรับรองความถูกต้องของข้อมูลประจำตัว เนื่องจาก OCR สามารถลดความพยายามด้วยตนเองได้อย่างมากในการลงทะเบียนข้อมูลสำคัญ และใช้เป็นขั้นตอนในการทำความเข้าใจเอกสารจำนวนมาก ระบบ OCR ที่แม่นยำจึงมีบทบาทสำคัญในยุคของการเปลี่ยนแปลงทางดิจิทัล

ชุมชนโอเพ่นซอร์สและนักวิจัยกำลังจดจ่ออยู่กับวิธีปรับปรุงความแม่นยำของ OCR, การใช้งานง่าย, การผสานรวมกับโมเดลที่ฝึกไว้ล่วงหน้า, การขยาย และความยืดหยุ่น ในบรรดาเฟรมเวิร์กที่เสนอมากมาย PaddleOCR ได้รับความสนใจเพิ่มขึ้นเมื่อเร็วๆ นี้ กรอบการทำงานที่เสนอมุ่งเน้นไปที่การได้รับความแม่นยำสูงในขณะที่รักษาสมดุลของประสิทธิภาพในการคำนวณ นอกจากนี้ โมเดลที่ได้รับการฝึกฝนมาล่วงหน้าสำหรับภาษาจีนและภาษาอังกฤษทำให้เป็นที่นิยมในตลาดที่ใช้ภาษาจีนเป็นหลัก ดู ที่เก็บ PaddleOCR GitHub .

ที่ AWS เรายังเสนอบริการ AI แบบบูรณาการที่พร้อมใช้งานโดยไม่ต้องมีความเชี่ยวชาญด้านการเรียนรู้ของเครื่อง (ML) หากต้องการแยกข้อความและข้อมูลที่มีโครงสร้าง เช่น ตารางและแบบฟอร์มจากเอกสาร คุณสามารถใช้ Amazon Text. ใช้เทคนิค ML เพื่ออ่านและประมวลผลเอกสารประเภทใดก็ได้ แยกข้อความ ลายมือ ตาราง และข้อมูลอื่นๆ ได้อย่างแม่นยำโดยไม่ต้องใช้ความพยายามด้วยตนเอง

สำหรับนักวิทยาศาสตร์ด้านข้อมูลที่ต้องการความยืดหยุ่นในการใช้เฟรมเวิร์กโอเพนซอร์สเพื่อพัฒนาโมเดล OCR ของคุณเอง เราขอเสนอบริการ ML ที่มีการจัดการเต็มรูปแบบ อเมซอน SageMaker. SageMaker ช่วยให้คุณสามารถนำแนวทางปฏิบัติที่ดีที่สุดของ MLOps ไปใช้ตลอดวงจรชีวิต ML และจัดเตรียมเทมเพลตและชุดเครื่องมือเพื่อลดภาระงานหนักที่ไม่แตกต่างกันเพื่อนำโปรเจ็กต์ ML ไปใช้จริง

ในโพสต์นี้ เรามุ่งเน้นที่การพัฒนาโมเดลที่กำหนดเองภายในเฟรมเวิร์ก PaddleOCR บน SageMaker เราอธิบายวงจรการพัฒนา ML เพื่อแสดงให้เห็นว่า SageMaker สามารถช่วยคุณสร้างและฝึกโมเดลได้อย่างไร และสุดท้ายปรับใช้โมเดลเป็นบริการบนเว็บได้อย่างไร แม้ว่าเราจะอธิบายวิธีแก้ปัญหานี้ด้วย PaddleOCR แต่คำแนะนำทั่วไปก็เป็นจริงสำหรับเฟรมเวิร์กที่กำหนดเองที่จะใช้บน SageMaker เพื่อประกอบกับโพสต์นี้ เรายังให้โค้ดตัวอย่างในไฟล์ พื้นที่เก็บข้อมูล GitHub.

กรอบงาน PaddleOCR

ในฐานะที่เป็นเฟรมเวิร์ก OCR ที่นำมาใช้กันอย่างแพร่หลาย PaddleOCR มีการตรวจจับข้อความที่หลากหลาย การจดจำข้อความ และอัลกอริทึมแบบ end-to-end โดยเลือก Differentiable Binarization (DB) และ Convolutional Recurrent Neural Network (CRNN) เป็นแบบจำลองการตรวจจับและจดจำพื้นฐาน และเสนอชุดของแบบจำลองที่เรียกว่า PP-OCR สำหรับการใช้งานในอุตสาหกรรมหลังจากชุดของกลยุทธ์การปรับให้เหมาะสม

โมเดล PP-OCR มุ่งเป้าไปที่สถานการณ์ทั่วไปและสร้างไลบรารีแบบจำลองของภาษาต่างๆ ประกอบด้วยสามส่วน: การตรวจจับข้อความ การตรวจจับและการแก้ไขกล่อง และการจดจำข้อความ ดังแสดงในรูปต่อไปนี้บน PaddleOCR พื้นที่เก็บข้อมูล GitHub อย่างเป็นทางการ. คุณยังสามารถอ้างถึงเอกสารวิจัย PP-OCR: ระบบ OCR น้ำหนักเบาพิเศษที่ใช้งานได้จริง สำหรับข้อมูลเพิ่มเติม

เพื่อให้เฉพาะเจาะจงมากขึ้น PaddleOCR ประกอบด้วยสามงานต่อเนื่องกัน:

  • การตรวจจับข้อความ – จุดประสงค์ของการตรวจจับข้อความคือเพื่อค้นหาพื้นที่ข้อความในภาพ งานดังกล่าวสามารถยึดตามเครือข่ายการแบ่งส่วนอย่างง่าย
  • การตรวจจับและแก้ไขกล่อง – กล่องข้อความแต่ละกล่องจะต้องถูกแปลงเป็นกล่องสี่เหลี่ยมแนวนอนเพื่อการจดจำข้อความที่ตามมา ในการทำเช่นนี้ PaddleOCR เสนอให้ฝึกตัวแยกประเภททิศทางข้อความ (งานการจำแนกรูปภาพ) เพื่อกำหนดทิศทางของข้อความ
  • การจดจำข้อความ – หลังจากตรวจพบกล่องข้อความ ตัวจำแนกข้อความจะทำการอนุมานในกล่องข้อความแต่ละกล่องและให้ผลลัพธ์ตามตำแหน่งของกล่องข้อความ PaddleOCR ใช้วิธี CRNN ที่ใช้กันอย่างแพร่หลาย

PaddleOCR นำเสนอโมเดลที่ผ่านการฝึกอบรมล่วงหน้าคุณภาพสูงซึ่งเปรียบได้กับเอฟเฟกต์เชิงพาณิชย์ คุณสามารถใช้โมเดลที่ฝึกไว้ล่วงหน้าสำหรับโมเดลการตรวจจับ ตัวแยกประเภททิศทาง หรือโมเดลการรู้จำ หรือคุณสามารถปรับแต่งและฝึกแต่ละโมเดลใหม่เพื่อรองรับกรณีการใช้งานของคุณ เพื่อเพิ่มประสิทธิภาพและประสิทธิผลของการตรวจจับภาษาจีนตัวเต็มและภาษาอังกฤษ เราแสดงวิธีปรับแต่งรูปแบบการรู้จำข้อความอย่างละเอียด รุ่นก่อนการฝึกอบรมที่เราเลือกคือ ch_ppocr_mobile_v2.0_rec_trainซึ่งเป็นรุ่นน้ำหนักเบา รองรับภาษาจีน อังกฤษ และตัวเลข ต่อไปนี้เป็นตัวอย่างผลการอนุมานโดยใช้บัตรประจำตัวประชาชนฮ่องกง

Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ในส่วนต่อไปนี้ เราจะอธิบายวิธีการปรับแต่งโมเดลที่ฝึกไว้ล่วงหน้าโดยใช้ SageMaker

แนวทางปฏิบัติที่ดีที่สุดของ MLOps กับ SageMaker

SageMaker เป็นบริการ ML ที่มีการจัดการเต็มรูปแบบ ด้วย SageMaker นักวิทยาศาสตร์ด้านข้อมูลและนักพัฒนาสามารถสร้างและฝึกอบรมโมเดล ML ได้อย่างรวดเร็วและง่ายดาย จากนั้นปรับใช้โดยตรงในสภาพแวดล้อมที่มีการจัดการที่พร้อมสำหรับการผลิต

นักวิทยาศาสตร์ด้านข้อมูลจำนวนมากใช้ SageMaker เพื่อเร่งวงจรชีวิต ML ในส่วนนี้ เราแสดงให้เห็นว่า SageMaker สามารถช่วยคุณได้อย่างไรตั้งแต่การทดลองไปจนถึงการผลิต ML ทำตามขั้นตอนมาตรฐานของโปรเจ็กต์ ML ตั้งแต่วลีทดลอง (การพัฒนาโค้ดและการทดลอง) ไปจนถึงวลีปฏิบัติการ (การทำให้เวิร์กโฟลว์การสร้างแบบจำลองและไปป์ไลน์การปรับใช้เป็นระบบอัตโนมัติ) SageMaker สามารถเพิ่มประสิทธิภาพได้ในขั้นตอนต่อไปนี้:

  1. สำรวจข้อมูลและสร้างโค้ด ML ด้วย สตูดิโอ Amazon SageMaker โน๊ตบุ๊ค
  2. ฝึกฝนและปรับแต่งโมเดลด้วยงานฝึกอบรม SageMaker
  3. ทำให้โมเดลใช้งานได้ด้วยปลายทาง SageMaker สำหรับการให้บริการโมเดล
  4. จัดการเวิร์กโฟลว์ด้วย ท่อส่ง Amazon SageMaker.

ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมและเวิร์กโฟลว์นี้

Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

โปรดทราบว่าคุณสามารถใช้ SageMaker ในแบบโมดูลาร์ได้ ตัวอย่างเช่น คุณสามารถสร้างโค้ดของคุณด้วยสภาพแวดล้อมการพัฒนาแบบบูรณาการในเครื่อง (IDE) และฝึกอบรมและปรับใช้โมเดลของคุณบน SageMaker หรือคุณสามารถพัฒนาและฝึกอบรมโมเดลของคุณในแหล่งที่มาของการประมวลผลคลัสเตอร์ของคุณเอง และใช้ไปป์ไลน์ SageMaker สำหรับการจัดการเวิร์กโฟลว์และ ปรับใช้บนจุดปลาย SageMaker ซึ่งหมายความว่า SageMaker มีแพลตฟอร์มแบบเปิดเพื่อปรับให้เข้ากับความต้องการของคุณเอง

ดูรหัสใน .ของเรา พื้นที่เก็บข้อมูล GitHub และ README เพื่อทำความเข้าใจโครงสร้างโค้ด

จัดเตรียมโครงการ SageMaker

คุณสามารถใช้ได้ โครงการ Amazon SageMaker เพื่อเริ่มต้นการเดินทางของคุณ ด้วยโปรเจ็กต์ SageMaker คุณสามารถจัดการเวอร์ชันสำหรับที่เก็บ Git ของคุณ เพื่อให้คุณสามารถทำงานร่วมกันระหว่างทีมต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น รับรองความสอดคล้องของโค้ด และเปิดใช้งานการผสานรวมอย่างต่อเนื่องและการส่งมอบอย่างต่อเนื่อง (CI/CD) แม้ว่าโน้ตบุ๊กจะมีประโยชน์สำหรับการสร้างแบบจำลองและการทดลอง แต่เมื่อคุณมีทีมนักวิทยาศาสตร์ข้อมูลและวิศวกร ML ที่ทำงานเกี่ยวกับปัญหา ML คุณต้องมีวิธีปรับขนาดได้มากขึ้นเพื่อรักษาความสอดคล้องของโค้ดและควบคุมเวอร์ชันที่เข้มงวดยิ่งขึ้น

โปรเจ็กต์ SageMaker สร้างเทมเพลต MLOps ที่กำหนดค่าไว้ล่วงหน้า ซึ่งรวมถึงองค์ประกอบที่จำเป็นสำหรับการทำให้การรวม PaddleOCR ง่ายขึ้น:

  • ที่เก็บโค้ดเพื่อสร้างอิมเมจคอนเทนเนอร์แบบกำหนดเองสำหรับการประมวลผล การฝึกอบรม และการอนุมาน โดยผสานรวมกับเครื่องมือ CI/CD ซึ่งช่วยให้เราสามารถกำหนดค่าอิมเมจ Docker ที่กำหนดเองและกดไปที่ การลงทะเบียน Amazon Elastic Container (Amazon ECR) ให้พร้อมใช้งาน
  • ไปป์ไลน์ SageMaker ที่กำหนดขั้นตอนสำหรับการเตรียมข้อมูล การฝึกอบรม การประเมินแบบจำลอง และการลงทะเบียนแบบจำลอง สิ่งนี้เป็นการเตรียมความพร้อมให้เราเป็น MLOps เมื่อโครงการ ML เข้าสู่ขั้นตอนการผลิต
  • ทรัพยากรที่มีประโยชน์อื่นๆ เช่น ที่เก็บ Git สำหรับการควบคุมเวอร์ชันของโค้ด กลุ่มโมเดลที่มีเวอร์ชันของโมเดล ทริกเกอร์การเปลี่ยนแปลงโค้ดสำหรับไปป์ไลน์การสร้างโมเดล และทริกเกอร์ตามเหตุการณ์สำหรับไปป์ไลน์การปรับใช้โมเดล

คุณสามารถใช้โค้ดเมล็ดพันธุ์ SageMaker เพื่อสร้างโปรเจ็กต์ SageMaker มาตรฐาน หรือเทมเพลตเฉพาะที่องค์กรของคุณสร้างขึ้นสำหรับสมาชิกในทีม ในโพสต์นี้เราใช้มาตราฐาน เทมเพลต MLOps สำหรับการสร้างอิมเมจ การสร้างแบบจำลอง และการปรับใช้โมเดล. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างโปรเจ็กต์ใน Studio โปรดดูที่ สร้างโครงการ MLOps โดยใช้ Amazon SageMaker Studio.

สำรวจข้อมูลและสร้างโค้ด ML ด้วย SageMaker Studio Notebooks

โน้ตบุ๊ก SageMaker Studio เป็นโน้ตบุ๊กที่ทำงานร่วมกันได้ซึ่งคุณสามารถเปิดใช้งานได้อย่างรวดเร็ว เนื่องจากคุณไม่จำเป็นต้องตั้งค่าอินสแตนซ์การประมวลผลและพื้นที่จัดเก็บไฟล์ไว้ล่วงหน้า นักวิทยาศาสตร์ด้านข้อมูลจำนวนมากต้องการใช้ IDE บนเว็บนี้เพื่อพัฒนาโค้ด ML ดีบัก API ของไลบรารีอย่างรวดเร็ว และทำให้สิ่งต่างๆ ทำงานด้วยตัวอย่างข้อมูลจำนวนเล็กน้อยเพื่อตรวจสอบความถูกต้องของสคริปต์การฝึกอบรม

ในโน้ตบุ๊ก Studio คุณสามารถใช้สภาพแวดล้อมที่สร้างไว้ล่วงหน้าสำหรับเฟรมเวิร์กทั่วไป เช่น TensorFlow, PyTorch, Pandas และ Scikit-Learn คุณสามารถติดตั้งการพึ่งพาไปยังเคอร์เนลที่สร้างไว้ล่วงหน้า หรือสร้างอิมเมจเคอร์เนลถาวรของคุณเอง สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ติดตั้งไลบรารีภายนอกและเคอร์เนลใน Amazon SageMaker Studio. โน้ตบุ๊ก Studio ยังมีสภาพแวดล้อม Python เพื่อทริกเกอร์งานการฝึกอบรม SageMaker การปรับใช้ หรือบริการอื่นๆ ของ AWS ในส่วนต่อไปนี้ เราจะแสดงวิธีใช้โน้ตบุ๊ก Studio เป็นสภาพแวดล้อมเพื่อทริกเกอร์งานการฝึกอบรมและการใช้งาน

SageMaker จัดเตรียม IDE อันทรงพลัง; เป็นแพลตฟอร์ม ML แบบเปิดที่นักวิทยาศาสตร์ข้อมูลมีความยืดหยุ่นในการใช้สภาพแวดล้อมการพัฒนาที่ต้องการ สำหรับนักวิทยาศาสตร์ข้อมูลที่ต้องการ IDE ในพื้นที่ เช่น PyCharm หรือ Visual Studio Code คุณสามารถใช้สภาพแวดล้อม Python ในพื้นที่เพื่อพัฒนาโค้ด ML ของคุณ และใช้ SageMaker สำหรับการฝึกอบรมในสภาพแวดล้อมที่ปรับขนาดได้ที่ได้รับการจัดการ ดูข้อมูลเพิ่มเติมได้ที่ เรียกใช้งาน TensorFlow ของคุณบน Amazon SageMaker ด้วย PyCharm IDE. หลังจากที่คุณมีโมเดลที่มั่นคงแล้ว คุณสามารถใช้แนวทางปฏิบัติที่ดีที่สุดของ MLOps กับ SageMaker

ปัจจุบัน SageMaker ยังให้บริการ อินสแตนซ์โน้ตบุ๊ก SageMaker เป็นโซลูชันดั้งเดิมของเราสำหรับสภาพแวดล้อม Jupyter Notebook คุณมีความยืดหยุ่นในการรันคำสั่ง Docker build และ ใช้โหมดภายในเครื่อง SageMaker เพื่อฝึกบนอินสแตนซ์โน้ตบุ๊กของคุณ. นอกจากนี้เรายังมีโค้ดตัวอย่างสำหรับ PaddleOCR ในที่เก็บโค้ดของเรา: ./train_and_deploy/notebook.ipynb.

สร้างภาพที่กำหนดเองด้วยเทมเพลตโปรเจ็กต์ SageMaker

SageMaker ใช้คอนเทนเนอร์ Docker อย่างกว้างขวางสำหรับงานบิลด์และรันไทม์ คุณสามารถเรียกใช้คอนเทนเนอร์ของคุณเองด้วย SageMaker ได้อย่างง่ายดาย ดูรายละเอียดทางเทคนิคเพิ่มเติมได้ที่ ใช้อัลกอริทึมการฝึกอบรมของคุณเอง.

อย่างไรก็ตาม ในฐานะนักวิทยาศาสตร์ข้อมูล การสร้างคอนเทนเนอร์อาจไม่ง่ายนัก โปรเจ็กต์ SageMaker มอบวิธีง่ายๆ ให้คุณจัดการการพึ่งพาที่กำหนดเองผ่านไปป์ไลน์ CI/CD ของการสร้างอิมเมจ เมื่อคุณใช้โปรเจ็กต์ SageMaker คุณสามารถอัปเดตอิมเมจการฝึกด้วย Dockerfile คอนเทนเนอร์แบบกำหนดเองของคุณ สำหรับคำแนะนำทีละขั้นตอน โปรดดูที่ สร้างโปรเจ็กต์ Amazon SageMaker ด้วยไปป์ไลน์ CI/CD ของการสร้างอิมเมจ. ด้วยโครงสร้างที่มีให้ในเทมเพลต คุณสามารถแก้ไขโค้ดที่ให้มาในที่เก็บนี้เพื่อสร้างคอนเทนเนอร์การฝึก PaddleOCR

สำหรับโพสต์นี้ เราแสดงความเรียบง่ายของการสร้างภาพที่กำหนดเองสำหรับการประมวลผล การฝึกอบรม และการอนุมาน GitHub repo มีสามโฟลเดอร์:

โครงการเหล่านี้มีโครงสร้างคล้ายคลึงกัน นำอิมเมจคอนเทนเนอร์การฝึกเป็นตัวอย่าง ที่ image-build-train/ ที่เก็บมีไฟล์ต่อไปนี้:

  • ไฟล์ codebuild-buildspec.yml ซึ่งใช้เพื่อกำหนดค่า AWS CodeBuild เพื่อให้สามารถสร้างและพุชอิมเมจไปยัง Amazon ECR ได้
  • Dockerfile ใช้สำหรับสร้าง Docker ซึ่งมีการพึ่งพาและรหัสการฝึกอบรมทั้งหมด
  • จุดเริ่มต้น train.py สำหรับสคริปต์การฝึกที่มีไฮเปอร์พารามิเตอร์ทั้งหมด (เช่น อัตราการเรียนรู้และขนาดแบทช์) ที่สามารถกำหนดค่าเป็นอาร์กิวเมนต์ได้ อาร์กิวเมนต์เหล่านี้ถูกระบุเมื่อคุณเริ่มงานการฝึกอบรม
  • การพึ่งพาอาศัยกัน

เมื่อคุณกดรหัสลงในที่เก็บที่เกี่ยวข้อง มันจะทริกเกอร์ AWS CodePipeline เพื่อสร้างตู้ฝึกอบรมสำหรับคุณ อิมเมจคอนเทนเนอร์แบบกำหนดเองถูกจัดเก็บไว้ในที่เก็บ Amazon ECR ดังที่แสดงในรูปก่อนหน้า ขั้นตอนที่คล้ายกันถูกนำมาใช้เพื่อสร้างภาพการอนุมาน

ฝึกโมเดลด้วยการฝึกอบรม SageMaker SDK

หลังจากที่โค้ดอัลกอริธึมของคุณได้รับการตรวจสอบและบรรจุลงในคอนเทนเนอร์ คุณสามารถใช้งานการฝึกอบรม SageMaker เพื่อจัดเตรียมสภาพแวดล้อมที่มีการจัดการเพื่อฝึกโมเดล สภาพแวดล้อมนี้เป็นแบบชั่วคราว หมายความว่าคุณสามารถแยกทรัพยากรการประมวลผลที่ปลอดภัย (เช่น GPU) หรือสภาพแวดล้อมแบบกระจาย Multi-GPU เพื่อเรียกใช้โค้ดของคุณ เมื่อการฝึกอบรมเสร็จสิ้น SageMaker จะบันทึกสิ่งประดิษฐ์ของแบบจำลองที่เป็นผลลัพธ์ไปยัง บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3) ตำแหน่งที่คุณระบุ ข้อมูลบันทึกและข้อมูลเมตาทั้งหมดยังคงอยู่บน คอนโซลการจัดการ AWS, สตูดิโอ และ อเมซอน คลาวด์วอตช์.

งานฝึกอบรมประกอบด้วยข้อมูลสำคัญหลายประการ:

  • URL ของบัคเก็ต S3 ที่คุณเก็บข้อมูลการฝึก
  • URL ของบัคเก็ต S3 ที่คุณต้องการจัดเก็บผลลัพธ์ของงาน
  • ทรัพยากรการประมวลผลที่มีการจัดการที่คุณต้องการให้ SageMaker ใช้สำหรับการฝึกโมเดล
  • เส้นทาง Amazon ECR ที่จัดเก็บคอนเทนเนอร์การฝึก

ดูข้อมูลเพิ่มเติมเกี่ยวกับงานฝึกอบรมได้ที่ โมเดลรถไฟ. รหัสตัวอย่างสำหรับงานฝึกอบรมอยู่ที่ Experiments-train-notebook.ipynb.

SageMaker สร้างไฮเปอร์พารามิเตอร์ใน a CreateTrainingJob คำขอที่มีอยู่ในคอนเทนเนอร์ Docker ใน /opt/ml/input/config/hyperparameters.json ไฟล์

เราใช้คอนเทนเนอร์การฝึกแบบกำหนดเองเป็นจุดเริ่มต้นและระบุสภาพแวดล้อม GPU สำหรับโครงสร้างพื้นฐาน ไฮเปอร์พารามิเตอร์ที่เกี่ยวข้องทั้งหมดมีรายละเอียดเป็นพารามิเตอร์ ซึ่งช่วยให้เราติดตามการกำหนดค่างานแต่ละรายการ และเปรียบเทียบกับการติดตามการทดสอบ

เนื่องจากกระบวนการวิทยาศาสตร์ข้อมูลเป็นกระบวนการที่มุ่งเน้นการวิจัยเป็นอย่างมาก จึงเป็นเรื่องปกติที่การทดลองหลายรายการจะดำเนินไปพร้อม ๆ กัน สิ่งนี้ต้องใช้วิธีการที่ติดตามการทดลองที่แตกต่างกันทั้งหมด อัลกอริธึมที่แตกต่างกัน และชุดข้อมูลและพารามิเตอร์ไฮเปอร์พารามิเตอร์ที่อาจต่างกัน Amazon SageMaker Experiments ให้คุณจัดระเบียบ ติดตาม เปรียบเทียบ และประเมินการทดสอบ ML ของคุณ เราแสดงให้เห็นเช่นกันใน Experiments-train-notebook.ipynb. ดูรายละเอียดเพิ่มเติมได้ที่ จัดการแมชชีนเลิร์นนิงด้วย Amazon SageMaker Experiments.

ปรับใช้โมเดลสำหรับการให้บริการโมเดล

สำหรับการปรับใช้ โดยเฉพาะอย่างยิ่งสำหรับการให้บริการโมเดลแบบเรียลไทม์ นักวิทยาศาสตร์ด้านข้อมูลจำนวนมากอาจพบว่าทำได้ยากหากไม่ได้รับความช่วยเหลือจากทีมปฏิบัติการ SageMaker ทำให้ง่ายต่อการปรับใช้โมเดลที่ผ่านการฝึกอบรมของคุณในการผลิตด้วย SageMaker Python SDK. คุณสามารถปรับใช้โมเดลของคุณกับบริการโฮสติ้ง SageMaker และรับปลายทางเพื่อใช้สำหรับการอนุมานแบบเรียลไทม์

ในหลายองค์กร นักวิทยาศาสตร์ด้านข้อมูลอาจไม่รับผิดชอบในการบำรุงรักษาโครงสร้างพื้นฐานปลายทาง อย่างไรก็ตาม การทดสอบแบบจำลองของคุณเป็นจุดสิ้นสุดและการรับประกันพฤติกรรมการทำนายที่ถูกต้องนั้นเป็นความรับผิดชอบของนักวิทยาศาสตร์ด้านข้อมูลอย่างแท้จริง ดังนั้น SageMaker ช่วยลดความซับซ้อนของงานสำหรับการปรับใช้โดยการเพิ่มชุดเครื่องมือและ SDK สำหรับสิ่งนี้

สำหรับกรณีการใช้งานในโพสต์ เราต้องการให้มีความสามารถแบบเรียลไทม์ โต้ตอบได้ และมีความหน่วงต่ำ การอนุมานตามเวลาจริง เหมาะอย่างยิ่งสำหรับปริมาณงานการอนุมานนี้ อย่างไรก็ตาม มีตัวเลือกมากมายที่ปรับให้เข้ากับความต้องการเฉพาะแต่ละอย่าง สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ปรับใช้แบบจำลองสำหรับการอนุมาน.

ในการปรับใช้อิมเมจที่กำหนดเอง นักวิทยาศาสตร์ด้านข้อมูลสามารถใช้ SageMaker SDK ได้ดังภาพประกอบที่

Experiments-deploy-notebook.ipynb.

ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร create_model ขอคำจำกัดความคอนเทนเนอร์รวมถึง ModelDataUrl พารามิเตอร์ ซึ่งระบุตำแหน่งของ Amazon S3 ที่จัดเก็บสิ่งประดิษฐ์ของโมเดล SageMaker ใช้ข้อมูลนี้เพื่อกำหนดว่าจะคัดลอกสิ่งประดิษฐ์ของแบบจำลองจากที่ใด มันคัดลอกสิ่งประดิษฐ์ไปยัง /opt/ml/model ไดเร็กทอรีสำหรับใช้โดยรหัสอนุมานของคุณ ดิ serve และ predictor.py เป็นจุดเริ่มต้นสำหรับการให้บริการ โดยมีสิ่งประดิษฐ์แบบจำลองที่โหลดเมื่อคุณเริ่มการปรับใช้ ดูข้อมูลเพิ่มเติมได้ที่ ใช้รหัสการอนุมานของคุณเองกับบริการโฮสติ้ง.

จัดการเวิร์กโฟลว์ของคุณด้วย SageMaker Pipelines

ขั้นตอนสุดท้ายคือการแรปโค้ดของคุณเป็นเวิร์กโฟลว์ ML แบบ end-to-end และใช้แนวทางปฏิบัติที่ดีที่สุดของ MLO ใน SageMaker ปริมาณงานการสร้างแบบจำลอง กราฟ acyclic แบบกำกับ (DAG) ได้รับการจัดการโดย SageMaker Pipelines Pipelines เป็นบริการที่มีการจัดการเต็มรูปแบบซึ่งสนับสนุนการประสานและการติดตามสายข้อมูล นอกจากนี้ เนื่องจากไปป์ไลน์ผสานรวมกับ SageMaker Python SDK คุณจึงสร้างไปป์ไลน์โดยใช้โปรแกรมโดยใช้อินเทอร์เฟซ Python ระดับสูงที่เราใช้ก่อนหน้านี้ในระหว่างขั้นตอนการฝึกอบรม

เรามีตัวอย่างโค้ดไปป์ไลน์เพื่อแสดงการใช้งานที่ ไปป์ไลน์.py.

ไปป์ไลน์ประกอบด้วยขั้นตอนก่อนการประมวลผลสำหรับการสร้างชุดข้อมูล ขั้นตอนการฝึกอบรม ขั้นตอนเงื่อนไข และขั้นตอนการลงทะเบียนแบบจำลอง ในตอนท้ายของแต่ละไปป์ไลน์ นักวิทยาศาสตร์ด้านข้อมูลอาจต้องการลงทะเบียนโมเดลของตนสำหรับการควบคุมเวอร์ชันและปรับใช้โมเดลที่มีประสิทธิภาพดีที่สุด รีจีสทรีโมเดล SageMaker เป็นศูนย์กลางในการจัดการเวอร์ชันของโมเดล โมเดลแค็ตตาล็อก และทริกเกอร์การปรับใช้โมเดลอัตโนมัติพร้อมสถานะการอนุมัติของโมเดลเฉพาะ ดูรายละเอียดเพิ่มเติมได้ที่ ลงทะเบียนและปรับใช้โมเดลด้วย Model Registry

ในระบบ ML การประสานเวิร์กโฟลว์อัตโนมัติจะช่วยป้องกันการลดประสิทธิภาพของแบบจำลอง หรือกล่าวอีกนัยหนึ่งคือ การเลื่อนลอยของโมเดล การตรวจจับความเบี่ยงเบนของข้อมูลตั้งแต่เนิ่นๆและเชิงรุกช่วยให้คุณดำเนินการแก้ไขได้ เช่น โมเดลการฝึกอบรมซ้ำ คุณสามารถทริกเกอร์ไปป์ไลน์ SageMaker เพื่อฝึกโมเดลรุ่นใหม่หลังจากตรวจพบการเบี่ยงเบน ทริกเกอร์ของไปป์ไลน์ยังสามารถกำหนดได้โดย การตรวจสอบโมเดล Amazon SageMakerซึ่งคอยติดตามคุณภาพของรุ่นในการผลิตอย่างต่อเนื่อง ด้วยความสามารถในการบันทึกข้อมูลในการบันทึกข้อมูล Model Monitor รองรับข้อมูลและการตรวจสอบคุณภาพของแบบจำลอง อคติ และการตรวจสอบความเบี่ยงเบนของการระบุแหล่งที่มา ดูรายละเอียดเพิ่มเติมได้ที่ ตรวจสอบแบบจำลองสำหรับข้อมูลและคุณภาพของแบบจำลอง อคติ และความสามารถในการอธิบาย.

สรุป

ในโพสต์นี้ เราแสดงวิธีเรียกใช้เฟรมเวิร์ก PaddleOCR บน SageMaker สำหรับงาน OCR เพื่อช่วยให้นักวิทยาศาสตร์ด้านข้อมูลเริ่มทำงานกับ SageMaker ได้อย่างง่ายดาย เราได้ดำเนินการตามวงจรการพัฒนา ML ตั้งแต่อัลกอริทึมการสร้าง การฝึกอบรม ไปจนถึงการโฮสต์โมเดลเป็นบริการเว็บสำหรับการอนุมานแบบเรียลไทม์ คุณสามารถใช้โค้ดเทมเพลตที่เราให้ไว้เพื่อย้ายเฟรมเวิร์กตามอำเภอใจไปยังแพลตฟอร์ม SageMaker ลองใช้สำหรับโครงการ ML ของคุณและแจ้งให้เราทราบเรื่องราวความสำเร็จของคุณ


เกี่ยวกับผู้เขียน

Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.จุนอี้(แจ็กกี้) หลิว เป็นนักวิทยาศาสตร์ประยุกต์อาวุโสที่ AWS เธอมีประสบการณ์การทำงานในด้านการเรียนรู้ของเครื่องเป็นเวลาหลายปี เธอมีประสบการณ์ภาคปฏิบัติมากมายในการพัฒนาและนำโซลูชันไปใช้ในการสร้างแบบจำลองการเรียนรู้ของเครื่องในอัลกอริธึมการทำนายห่วงโซ่อุปทาน ระบบแนะนำการโฆษณา พื้นที่ OCR และ NLP

Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.เหยียนเว่ย ชุยปริญญาเอก เป็นสถาปนิกโซลูชัน Machine Learning Specialist Solutions ที่ AWS เขาเริ่มการวิจัยแมชชีนเลิร์นนิงที่ IRISA (สถาบันวิจัยวิทยาการคอมพิวเตอร์และระบบสุ่ม) และมีประสบการณ์หลายปีในการสร้างแอปพลิเคชันทางอุตสาหกรรมที่ขับเคลื่อนด้วยปัญญาประดิษฐ์ในด้านคอมพิวเตอร์วิทัศน์ การประมวลผลภาษาธรรมชาติ และการทำนายพฤติกรรมผู้ใช้ออนไลน์ ที่ AWS เขาแบ่งปันความเชี่ยวชาญด้านโดเมนและช่วยให้ลูกค้าปลดล็อกศักยภาพทางธุรกิจ และขับเคลื่อนผลลัพธ์ที่นำไปใช้งานได้จริงด้วยแมชชีนเลิร์นนิงในวงกว้าง นอกงานเขาชอบอ่านหนังสือและท่องเที่ยว

Onboard PaddleOCR พร้อม Amazon SageMaker Projects สำหรับ MLOps เพื่อทำการจดจำอักขระด้วยแสงบนเอกสารระบุตัวตน PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.ยี่อันเฉิน เป็นนักพัฒนาซอฟต์แวร์ที่ Amazon Lab 126 เธอมีประสบการณ์มากกว่า 10 ปีในการพัฒนาผลิตภัณฑ์ที่ขับเคลื่อนด้วยการเรียนรู้ของเครื่องในสาขาวิชาต่างๆ รวมถึงการปรับเปลี่ยนในแบบของคุณ การประมวลผลภาษาธรรมชาติ และการมองเห็นด้วยคอมพิวเตอร์ นอกงาน เธอชอบวิ่งระยะไกลและปั่นจักรยาน

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS