โลกของปัญญาประดิษฐ์ (AI) และแมชชีนเลิร์นนิง (ML) ได้เห็นการเปลี่ยนแปลงกระบวนทัศน์ด้วยการเพิ่มขึ้นของแบบจำลอง AI ที่สามารถสร้างข้อความ รูปภาพ รหัส และเสียงที่เหมือนมนุษย์ เมื่อเทียบกับโมเดล ML แบบคลาสสิก โมเดล AI กำเนิดมีขนาดใหญ่กว่าและซับซ้อนกว่ามาก อย่างไรก็ตาม ความซับซ้อนที่เพิ่มขึ้นยังมาพร้อมกับค่าใช้จ่ายสูงสำหรับการอนุมานและความต้องการที่เพิ่มขึ้นสำหรับทรัพยากรการประมวลผลที่ทรงพลัง ค่าใช้จ่ายสูงในการอนุมานสำหรับโมเดล AI เชิงกำเนิดอาจเป็นอุปสรรคในการเข้าสู่ธุรกิจและนักวิจัยที่มีทรัพยากรจำกัด ทำให้จำเป็นต้องใช้โซลูชันที่มีประสิทธิภาพและคุ้มค่ามากขึ้น นอกจากนี้ กรณีการใช้งาน AI เชิงกำเนิดส่วนใหญ่เกี่ยวข้องกับการโต้ตอบของมนุษย์หรือสถานการณ์ในโลกแห่งความเป็นจริง ซึ่งจำเป็นต้องใช้ฮาร์ดแวร์ที่สามารถให้ประสิทธิภาพความหน่วงต่ำได้ AWS ได้สร้างสรรค์นวัตกรรมด้วยชิปที่สร้างขึ้นตามวัตถุประสงค์เพื่อตอบสนองความต้องการที่เพิ่มขึ้นสำหรับฮาร์ดแวร์การประมวลผลที่ทรงพลัง มีประสิทธิภาพ และคุ้มค่า
วันนี้เรารู้สึกตื่นเต้นที่จะประกาศว่า อเมซอน SageMaker สนับสนุน AWS Inferentia2 (ml.inf2) และ การฝึกอบรม AWS (ml.trn1) ตามอินสแตนซ์ SageMaker เพื่อโฮสต์โมเดล AI เชิงกำเนิดสำหรับการอนุมานแบบเรียลไทม์และแบบอะซิงโครนัส อินสแตนซ์ ml.inf2 พร้อมใช้งานสำหรับการปรับใช้โมเดลบน SageMaker ในสหรัฐอเมริกาฝั่งตะวันออก (โอไฮโอ) และอินสแตนซ์ ml.trn1 ในสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ)
คุณสามารถใช้อินสแตนซ์เหล่านี้บน SageMaker เพื่อให้ได้ประสิทธิภาพสูงด้วยต้นทุนที่ต่ำสำหรับโมเดล AI เชิงกำเนิด รวมถึงโมเดลภาษาขนาดใหญ่ (LLM) การแพร่กระจายที่เสถียร และทรานส์ฟอร์มการมองเห็น นอกจากนี้ คุณสามารถใช้ ผู้แนะนำการอนุมานของ Amazon SageMaker เพื่อช่วยคุณรันการทดสอบโหลดและประเมินประโยชน์ต่อประสิทธิภาพด้านราคาของการปรับใช้โมเดลของคุณในอินสแตนซ์เหล่านี้
คุณสามารถใช้อินสแตนซ์ ml.inf2 และ ml.trn1 เพื่อเรียกใช้แอปพลิเคชัน ML ของคุณบน SageMaker สำหรับการสรุปข้อความ การสร้างรหัส การสร้างวิดีโอและรูปภาพ การรู้จำเสียง การตั้งค่าส่วนบุคคล การตรวจจับการฉ้อโกง และอื่นๆ คุณสามารถเริ่มต้นได้ง่ายๆ โดยระบุอินสแตนซ์ ml.trn1 หรือ ml.inf2 เมื่อกำหนดค่าตำแหน่งข้อมูล SageMaker ของคุณ คุณสามารถใช้ AWS Deep Learning Containers (DLC) ที่เข้ากันได้กับ ml.trn1 และ ml.inf2 สำหรับ PyTorch, TensorFlow, Hugging Face และการอนุมานโมเดลขนาดใหญ่ (LMI) เพื่อเริ่มต้นใช้งานได้อย่างง่ายดาย สำหรับรายการเวอร์ชันทั้งหมด โปรดดูที่ รูปภาพคอนเทนเนอร์การเรียนรู้เชิงลึกที่มีอยู่.
ในโพสต์นี้ เราแสดงขั้นตอนการปรับใช้โมเดลภาษาขนาดใหญ่บน AWS Inferentia2 โดยใช้ SageMaker โดยไม่ต้องมีการเข้ารหัสเพิ่มเติม โดยใช้ประโยชน์จากคอนเทนเนอร์ LMI เราใช้ GPT4ALL-Jซึ่งเป็นโมเดล GPT-J 7B ที่ปรับแต่งอย่างละเอียดซึ่งให้การโต้ตอบแบบแชทบอท
ภาพรวมของอินสแตนซ์ ml.trn1 และ ml.inf2
อินสแตนซ์ ml.trn1 ขับเคลื่อนโดย Trainium accelerator ซึ่งสร้างขึ้นโดยมีวัตถุประสงค์หลักเพื่อการฝึกอบรมการเรียนรู้เชิงลึกที่มีประสิทธิภาพสูงของโมเดล AI เชิงกำเนิด รวมถึง LLM อย่างไรก็ตาม อินสแตนซ์เหล่านี้ยังรองรับปริมาณงานการอนุมานสำหรับโมเดลที่มีขนาดใหญ่กว่าที่เหมาะกับ Inf2 ขนาดอินสแตนซ์ที่ใหญ่ที่สุด อินสแตนซ์ trn1.32xlarge คุณลักษณะ 16 ตัวเร่งความเร็ว Trainium ด้วยหน่วยความจำตัวเร่งความเร็ว 512 GB ในอินสแตนซ์เดียวที่ให้กำลังประมวลผล FP3.4/BF16 สูงถึง 16 เพตาฟล็อป 16 ตัวเร่งความเร็ว Trainium เชื่อมต่อกับ NeuronLinkv2 ความเร็วสูงเป็นพิเศษเพื่อการสื่อสารแบบรวมที่คล่องตัว
อินสแตนซ์ ml.Inf2 ขับเคลื่อนโดย ตัวเร่ง AWS Inferentia2, ตัวเร่งความเร็วที่สร้างขึ้นเพื่อจุดประสงค์สำหรับการอนุมาน ให้ประสิทธิภาพการประมวลผลที่สูงขึ้นสามเท่า ทรูพุตที่สูงขึ้นถึงสี่เท่า และเวลาแฝงที่ต่ำกว่าถึง 10 เท่าเมื่อเทียบกับ AWS Inferentia รุ่นแรก ขนาดอินสแตนซ์ที่ใหญ่ที่สุด Inf2.48xlarge มีตัวเร่งความเร็ว AWS Inferentia12 2 ตัวพร้อมหน่วยความจำตัวเร่งความเร็ว 384 GB ในอินสแตนซ์เดียวสำหรับพลังประมวลผลรวม 2.3 เพตาฟล็อปสำหรับ BF16/FP16 ช่วยให้คุณสามารถปรับใช้โมเดลได้ถึง 175 พันล้านพารามิเตอร์ในอินสแตนซ์เดียว Inf2 เป็นอินสแตนซ์ที่ปรับให้เหมาะสมสำหรับการอนุมานเท่านั้นที่นำเสนอการเชื่อมต่อระหว่างกัน ซึ่งเป็นคุณลักษณะที่มีให้เฉพาะในอินสแตนซ์การฝึกอบรมที่มีราคาแพงกว่าเท่านั้น สำหรับรุ่นขนาดใหญ่พิเศษที่ไม่พอดีกับตัวเร่งความเร็วเดียว ข้อมูลจะไหลโดยตรงระหว่างตัวเร่งความเร็วด้วย NeuronLink โดยผ่าน CPU ไปโดยสิ้นเชิง ด้วย NeuronLink ทำให้ Inf2 รองรับการอนุมานแบบกระจายที่เร็วขึ้นและปรับปรุงทรูพุตและเวลาแฝง
ทั้ง AWS Inferentia2 และ Trainium Accelerator มีสองตัว NeuronCores-v2, สแต็กหน่วยความจำ HBM ขนาด 32 GB และเอ็นจิ้นการประมวลผลแบบรวมเฉพาะ ซึ่งปรับรันไทม์ให้เหมาะสมโดยอัตโนมัติด้วยการคำนวณและการสื่อสารที่ทับซ้อนกันเมื่อทำการอนุมานแบบหลายตัวเร่งความเร็ว สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับสถาปัตยกรรม โปรดดูที่ อุปกรณ์ Trainium และ Inferentia.
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมตัวอย่างที่ใช้ AWS Inferentia2
AWS Neuron SDK
AWS เซลล์ประสาท เป็น SDK ที่ใช้ในการเรียกใช้ปริมาณงานการเรียนรู้เชิงลึกบนอินสแตนซ์ที่ใช้ AWS Inferentia และ Trainium AWS Neuron มีคอมไพเลอร์การเรียนรู้เชิงลึก รันไทม์ และเครื่องมือที่รวมเข้ากับ TensorFlow และ PyTorch โดยกำเนิด ด้วย Neuron คุณสามารถพัฒนา สร้างโปรไฟล์ และใช้งานปริมาณงาน ML ประสิทธิภาพสูงบน ml.trn1 และ ml.inf2
พื้นที่ คอมไพเลอร์เซลล์ประสาท ยอมรับโมเดล ML ในรูปแบบต่างๆ (TensorFlow, PyTorch, XLA HLO) และปรับแต่งให้ทำงานบนอุปกรณ์ Neuron คอมไพเลอร์ Neuron ถูกเรียกใช้ภายในเฟรมเวิร์ก ML โดยที่โมเดล ML จะถูกส่งไปยังคอมไพเลอร์โดยปลั๊กอิน Neuron framework สิ่งประดิษฐ์คอมไพเลอร์ที่เป็นผลลัพธ์เรียกว่าไฟล์ NEFF (รูปแบบไฟล์ปฏิบัติการ Neuron) ซึ่งรันไทม์ของ Neuron จะโหลดไปยังอุปกรณ์ Neuron
พื้นที่ รันไทม์ของเซลล์ประสาท ประกอบด้วยไดรเวอร์เคอร์เนลและไลบรารี C/C++ ซึ่งมี API เพื่อเข้าถึงอุปกรณ์ AWS Inferentia และ Trainium Neuron ปลั๊กอินเฟรมเวิร์ก Neuron ML สำหรับ TensorFlow และ PyTorch ใช้รันไทม์ของ Neuron เพื่อโหลดและรันโมเดลบน NeuronCores รันไทม์ของ Neuron โหลดโมเดลการเรียนรู้เชิงลึก (NEFF) ที่คอมไพล์แล้วไปยังอุปกรณ์ Neuron และปรับให้เหมาะสมสำหรับปริมาณงานสูงและเวลาแฝงต่ำ
โฮสต์โมเดล NLP โดยใช้อินสแตนซ์ SageMaker ml.inf2
ก่อนที่เราจะลงลึกในการให้บริการ LLMs กับ Transformers-neuronxซึ่งเป็นไลบรารีแบบโอเพ่นซอร์สสำหรับแยกย่อยเมทริกซ์น้ำหนักขนาดใหญ่ของโมเดลไปยัง NeuronCore หลายตัว เราจะมาพูดถึงขั้นตอนการปรับใช้โดยทั่วไปสำหรับโมเดลที่สามารถใส่ลงใน NeuronCore เดียวโดยสังเขป
ตรวจสอบ รายการรุ่นที่รองรับ เพื่อให้แน่ใจว่าโมเดลได้รับการสนับสนุนบน AWS Inferentia2 ถัดไป โมเดลจะต้องได้รับการคอมไพล์ล่วงหน้าโดย Neuron Compiler คุณสามารถใช้สมุดบันทึก SageMaker หรือ อเมซอน อีลาสติก คอมพิวท์ คลาวด์ (Amazon EC2) เพื่อรวบรวมโมเดล คุณสามารถใช้ SageMaker Python SDK เพื่อปรับใช้โมเดลโดยใช้เฟรมเวิร์กการเรียนรู้เชิงลึกยอดนิยม เช่น PyTorch ดังที่แสดงในโค้ดต่อไปนี้ คุณสามารถปรับใช้โมเดลของคุณกับบริการโฮสติ้งของ SageMaker และรับตำแหน่งข้อมูลที่สามารถใช้ในการอนุมานได้ ตำแหน่งข้อมูลเหล่านี้ได้รับการจัดการอย่างสมบูรณ์และรองรับการปรับขนาดอัตโนมัติ
เอ่ยถึง โฟลว์ของนักพัฒนา สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับขั้นตอนการพัฒนาทั่วไปของ Inf2 บน SageMaker พร้อมสคริปต์ตัวอย่าง
โฮสต์ LLM โดยใช้อินสแตนซ์ SageMaker ml.inf2
โมเดลภาษาขนาดใหญ่ที่มีพารามิเตอร์หลายพันล้านตัวมักจะใหญ่เกินไปที่จะพอดีกับตัวเร่งความเร็วตัวเดียว สิ่งนี้จำเป็นต้องใช้เทคนิคแบบคู่ขนานสำหรับการโฮสต์ LLM ผ่านตัวเร่งความเร็วหลายตัว ข้อกำหนดที่สำคัญอีกประการหนึ่งสำหรับการโฮสต์ LLM คือการใช้โซลูชันการแสดงแบบจำลองที่มีประสิทธิภาพสูง โซลูชันนี้ควรโหลดโมเดลอย่างมีประสิทธิภาพ จัดการการแบ่งพาร์ติชัน และให้บริการคำขออย่างราบรื่นผ่านปลายทาง HTTP
SageMaker ประกอบด้วยคอนเทนเนอร์การเรียนรู้เชิงลึก (DLC) พิเศษ ไลบรารี และเครื่องมือสำหรับการขนานแบบจำลองและการอนุมานแบบจำลองขนาดใหญ่ สำหรับแหล่งข้อมูลในการเริ่มต้นใช้งาน LMI บน SageMaker โปรดดูที่ ความขนานของแบบจำลองและการอนุมานแบบจำลองขนาดใหญ่. SageMaker รักษา DLC ด้วยไลบรารีโอเพ่นซอร์สยอดนิยมสำหรับการโฮสต์โมเดลขนาดใหญ่ เช่น GPT, T5, OPT, BLOOM และ Stable Diffusion บนโครงสร้างพื้นฐาน AWS DLC พิเศษเหล่านี้เรียกว่าคอนเทนเนอร์ SageMaker LMI
คอนเทนเนอร์ SageMaker LMI ใช้ DJLServing ซึ่งเป็นเซิร์ฟเวอร์รุ่นที่รวมเข้ากับไลบรารี Transformers-neuronx เพื่อรองรับการขนานของเทนเซอร์ใน NeuronCores หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของ DJLServing โปรดดูที่ ปรับใช้โมเดลขนาดใหญ่บน Amazon SageMaker โดยใช้ DJLServing และการอนุมานแบบขนานของโมเดล DeepSpeed. เซิร์ฟเวอร์โมเดล DJL และไลบรารี Transformers-neuronx ทำหน้าที่เป็นส่วนประกอบหลักของคอนเทนเนอร์ ซึ่งรวมถึง Neuron SDK ด้วย การตั้งค่านี้อำนวยความสะดวกในการโหลดโมเดลไปยัง AWS Inferentia2 accelerator ทำให้โมเดลเป็นแบบขนานใน NeuronCores หลายตัว และเปิดใช้การให้บริการผ่านจุดสิ้นสุด HTTP
คอนเทนเนอร์ LMI รองรับการโหลดโมเดลจาก บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3) ที่ฝากข้อมูลหรือ Hugging Face Hub สคริปต์ตัวจัดการเริ่มต้นจะโหลดโมเดล คอมไพล์และแปลงเป็นรูปแบบที่ปรับให้เหมาะกับ Neuron แล้วโหลด หากต้องการใช้คอนเทนเนอร์ LMI เพื่อโฮสต์ LLM เรามีสองตัวเลือก:
- ไม่มีรหัส (แนะนำ) – นี่เป็นวิธีที่ง่ายที่สุดในการปรับใช้ LLM โดยใช้คอนเทนเนอร์ LMI ในวิธีนี้ คุณสามารถใช้สิ่งที่ให้มา ตัวจัดการเริ่มต้น และเพียงแค่ส่งชื่อรุ่นและพารามิเตอร์ที่จำเป็นเข้าไป
serving.properties
ไฟล์สำหรับโหลดและโฮสต์โมเดล หากต้องการใช้ตัวจัดการเริ่มต้น เรามีให้entryPoint
พารามิเตอร์เป็นdjl_python.transformers-neuronx
. - นำสคริปต์ของคุณเอง – ในแนวทางนี้ คุณมีตัวเลือกในการสร้างไฟล์ model.py ของคุณเอง ซึ่งมีโค้ดที่จำเป็นสำหรับการโหลดและให้บริการโมเดล ไฟล์นี้ทำหน้าที่เป็นสื่อกลางระหว่าง
DJLServing
API และtransformers-neuronx
API หากต้องการปรับแต่งกระบวนการโหลดโมเดล คุณสามารถระบุได้serving.properties
ด้วยพารามิเตอร์ที่กำหนดค่าได้ สำหรับรายการพารามิเตอร์ที่กำหนดค่าได้แบบครอบคลุม โปรดดูที่ ตัวเลือกการกำหนดค่า DJL ทั้งหมด. นี่คือตัวอย่างของ model.py ไฟล์
สถาปัตยกรรมรันไทม์
พื้นที่ tensor_parallel_degree
ค่าคุณสมบัติกำหนดการกระจายของโมดูลคู่ขนานของเทนเซอร์ใน NeuronCores หลายตัว ตัวอย่างเช่น inf2.24xlarge มีตัวเร่งความเร็ว AWS Inferentia2 หกตัว AWS Inferentia2 Accelerator แต่ละตัวมี NeuronCore สองตัว NeuronCore แต่ละตัวมีหน่วยความจำแบนด์วิธสูง (HBM) เฉพาะ 16 GB ที่จัดเก็บโมดูลคู่ขนานของเทนเซอร์ ด้วยระดับขนานของเทนเซอร์ที่ 4 LMI จะจัดสรรสำเนาโมเดลสามชุดของโมเดลเดียวกัน โดยแต่ละชุดจะใช้ NeuronCore สี่ชุด ดังที่แสดงในไดอะแกรมต่อไปนี้ เมื่อคอนเทนเนอร์ LMI เริ่มทำงาน โมเดลจะถูกโหลดและติดตามก่อนในหน่วยความจำ CPU แอดเดรส เมื่อการติดตามเสร็จสิ้น โมเดลจะถูกแบ่งพาร์ติชันใน NeuronCores ตามองศาการขนานของเทนเซอร์
LMI ใช้ DJLServing เป็นโมเดลที่ให้บริการสแตก หลังจากผ่านการตรวจสอบความสมบูรณ์ของคอนเทนเนอร์ใน SageMaker แล้ว คอนเทนเนอร์ก็พร้อมที่จะให้บริการคำขอการอนุมาน DJLServing เปิดตัวกระบวนการ Python หลายกระบวนการเทียบเท่ากับ TOTAL NUMBER OF NEURON CORES/TENSOR_PARALLEL_DEGREE
. แต่ละกระบวนการ Python มีเธรดใน C ++ ที่เทียบเท่ากับ TENSOR_PARALLEL_DEGREE
. เธรด C++ แต่ละอันเก็บชิ้นส่วนของโมเดลไว้บน NeuronCore หนึ่งอัน
ผู้ปฏิบัติงานจำนวนมาก (กระบวนการ Python) มักจะเรียกใช้การอนุมานตามลำดับเมื่อเซิร์ฟเวอร์ถูกเรียกใช้ด้วยคำขออิสระหลายรายการ แม้ว่าจะตั้งค่าได้ง่ายกว่า แต่โดยปกติแล้วไม่ใช่แนวทางปฏิบัติที่ดีที่สุดในการใช้พลังการประมวลผลของตัวเร่งความเร็ว เพื่อแก้ปัญหานี้ DJLServing เสนอการปรับให้เหมาะสมในตัวของการแบทช์แบบไดนามิกเพื่อรวมคำขอการอนุมานอิสระเหล่านี้บนฝั่งเซิร์ฟเวอร์เพื่อสร้างแบทช์ที่ใหญ่ขึ้นแบบไดนามิกเพื่อเพิ่มปริมาณงาน คำขอทั้งหมดจะไปถึงตัวแบทช์แบบไดนามิกก่อนที่จะเข้าสู่คิวงานจริงเพื่อรอการอนุมาน คุณสามารถกำหนดขนาดแบทช์ที่คุณต้องการสำหรับการแบทช์แบบไดนามิกโดยใช้ปุ่ม batch_size
การตั้งค่าใน serving.properties
. คุณยังสามารถกำหนดค่า max_batch_delay
เพื่อระบุเวลาหน่วงสูงสุดในแบทช์เพื่อรอคำขออื่นๆ เพื่อเข้าร่วมแบทช์ตามข้อกำหนดด้านเวลาแฝงของคุณ ทรูพุตยังขึ้นอยู่กับจำนวนของสำเนาโมเดลและกลุ่มกระบวนการ Python ที่เปิดใช้งานในคอนเทนเนอร์ ดังที่แสดงในแผนภาพต่อไปนี้ เมื่อตั้งค่าระดับขนานของเทนเซอร์เป็น 4 คอนเทนเนอร์ LMI จะเรียกใช้กลุ่มกระบวนการ Python สามกลุ่ม โดยแต่ละกลุ่มมีสำเนาทั้งหมดของแบบจำลอง สิ่งนี้ช่วยให้คุณเพิ่มขนาดแบทช์และรับปริมาณงานที่สูงขึ้น
สมุดบันทึก SageMaker สำหรับการปรับใช้ LLM
ในส่วนนี้ เรามีคำแนะนำแบบทีละขั้นตอนในการปรับใช้ GPT4All-J ซึ่งเป็นโมเดล 6 พันล้านพารามิเตอร์ที่มีขนาด 24 GB ใน FP32 GPT4All-J เป็นแชทบอทยอดนิยมที่ได้รับการฝึกอบรมเกี่ยวกับเนื้อหาการโต้ตอบที่หลากหลาย เช่น ปัญหาคำศัพท์ บทสนทนา รหัส บทกวี เพลง และเรื่องราว GPT4all-J เป็นโมเดล GPT-J ที่ปรับแต่งอย่างละเอียดซึ่งสร้างการตอบสนองที่คล้ายกับการโต้ตอบของมนุษย์
สมุดบันทึกที่สมบูรณ์สำหรับตัวอย่างนี้มีให้ใน GitHub. เราสามารถใช้ SageMaker Python SDK เพื่อปรับใช้โมเดลกับอินสแตนซ์ Inf2 เราใช้ที่ให้มา ตัวจัดการเริ่มต้น เพื่อโหลดโมเดล ด้วยสิ่งนี้ เราเพียงแค่ต้องจัดเตรียม สรรพคุณ ไฟล์. ไฟล์นี้มีการกำหนดค่าที่จำเป็นสำหรับเซิร์ฟเวอร์โมเดล DJL เพื่อดาวน์โหลดและโฮสต์โมเดล เราสามารถระบุชื่อรุ่น Hugging Face ได้โดยใช้ model_id
พารามิเตอร์เพื่อดาวน์โหลดโมเดลโดยตรงจาก repo Hugging Face หรือคุณสามารถดาวน์โหลดโมเดลจาก Amazon S3 โดยระบุ s3url
พารามิเตอร์. entryPoint
พารามิเตอร์ถูกกำหนดค่าให้ชี้ไปที่ไลบรารีเพื่อโหลดโมเดล ดูรายละเอียดเพิ่มเติมได้ที่ djl_python.fastertransformer
อ้างถึง รหัส GitHub.
พื้นที่ tensor_parallel_degree
ค่าคุณสมบัติกำหนดการกระจายของโมดูลขนานเทนเซอร์ในอุปกรณ์ต่างๆ ตัวอย่างเช่น ด้วย 12 NeuronCores และระดับขนานของเทนเซอร์ที่ 4 LMI จะจัดสรรสำเนาโมเดลสามชุด แต่ละชุดใช้ NeuronCores สี่ชุด คุณยังสามารถกำหนดประเภทความแม่นยำได้โดยใช้คุณสมบัติ dtype
. n_position
พารามิเตอร์กำหนดผลรวมของความยาวลำดับอินพุตและเอาต์พุตสูงสุดสำหรับโมเดล ดูรหัสต่อไปนี้:
สร้าง tarball
ที่มี serving.properties
และอัปโหลดไปยังบัคเก็ต S3 แม้ว่าตัวจัดการเริ่มต้นจะใช้ในตัวอย่างนี้ คุณสามารถพัฒนา model.py
ไฟล์สำหรับปรับแต่งกระบวนการโหลดและเสิร์ฟ หากมีแพ็คเกจใดที่ต้องติดตั้ง ให้รวมไว้ใน requirements.txt
ไฟล์. ดูรหัสต่อไปนี้:
รับอิมเมจคอนเทนเนอร์ DJL และสร้างโมเดล SageMaker:
ต่อไป เราสร้างตำแหน่งข้อมูล SageMaker ด้วยการกำหนดค่าโมเดลที่กำหนดไว้ก่อนหน้านี้ คอนเทนเนอร์ดาวน์โหลดโมเดลลงใน /tmp
พื้นที่เนื่องจาก SageMaker ทำแผนที่ /tmp
ไปยัง ร้านค้า Amazon Elastic Block (อีบีเอสของอเมซอน). เราต้องเพิ่ม volume_size
พารามิเตอร์เพื่อให้แน่ใจว่า /tmp
ไดเร็กทอรีมีพื้นที่เพียงพอสำหรับดาวน์โหลดและคอมไพล์โมเดล เราตั้ง container_startup_health_check_timeout
ถึง 3,600 วินาทีเพื่อให้แน่ใจว่าการตรวจสุขภาพจะเริ่มขึ้นหลังจากที่โมเดลพร้อม เราใช้อินสแตนซ์ ml.inf2.8xlarge ดูรหัสต่อไปนี้:
หลังจากสร้างตำแหน่งข้อมูล SageMaker แล้ว เราสามารถคาดการณ์ตามเวลาจริงเทียบกับตำแหน่งข้อมูล SageMaker โดยใช้ Predictor
วัตถุ:
ทำความสะอาด
ลบปลายทางเพื่อประหยัดค่าใช้จ่ายหลังจากเสร็จสิ้นการทดสอบ:
สรุป
ในโพสต์นี้ เราได้แสดงความสามารถที่เพิ่งเปิดตัวใหม่ของ SageMaker ซึ่งขณะนี้รองรับอินสแตนซ์ ml.inf2 และ ml.trn1 สำหรับการโฮสต์โมเดล AI เชิงกำเนิด เราสาธิตวิธีปรับใช้ GPT4ALL-J ซึ่งเป็นโมเดล AI เชิงกำเนิด บน AWS Inferentia2 โดยใช้ SageMaker และคอนเทนเนอร์ LMI โดยไม่ต้องเขียนโค้ดใดๆ เรายังแสดงวิธีที่คุณสามารถใช้ DJLServing และ transformers-neuronx
เพื่อโหลดโมเดล แบ่งพาร์ติชัน และให้บริการ
อินสแตนซ์ Inf2 มอบวิธีที่คุ้มค่าที่สุดในการรันโมเดล AI เชิงกำเนิดบน AWS สำหรับรายละเอียดประสิทธิภาพ โปรดดูที่ ประสิทธิภาพของ Inf2.
วันที่ออก GitHub repo สำหรับสมุดบันทึกตัวอย่าง ลองใช้และแจ้งให้เราทราบหากคุณมีคำถามใดๆ!
เกี่ยวกับผู้เขียน
วิเวกกังสนิ เป็นสถาปนิกอาวุโสด้านโซลูชันการเรียนรู้ของเครื่องที่ Amazon Web Services เขาทำงานร่วมกับ Machine Learning Startups เพื่อสร้างและปรับใช้แอปพลิเคชัน AI/ML บน AWS ปัจจุบันเขามุ่งเน้นไปที่การนำเสนอโซลูชันสำหรับ MLOps, ML Inference และ ML แบบโค้ดต่ำ เขาทำงานในโครงการต่างๆ ในโดเมนต่างๆ รวมถึง Natural Language Processing และ Computer Vision
ฮิโรชิ โทโคโยะ เป็นสถาปนิกโซลูชันที่ AWS Annapurna Labs เขาเข้าร่วมกับ Annapurna Labs ซึ่งตั้งอยู่ในประเทศญี่ปุ่นก่อนที่จะถูก AWS ซื้อกิจการเสียอีก และได้ช่วยเหลือลูกค้าอย่างต่อเนื่องด้วยเทคโนโลยี Annapurna Labs ความสนใจล่าสุดของเขาคือโซลูชันแมชชีนเลิร์นนิงที่ใช้ซิลิคอน AWS Inferentia และ Trainium ที่สร้างขึ้นตามวัตถุประสงค์
ดาวัล พาเทล เป็นหัวหน้าสถาปนิก Machine Learning ที่ AWS เขาได้ทำงานร่วมกับองค์กรต่างๆ ตั้งแต่องค์กรขนาดใหญ่ไปจนถึงสตาร์ทอัพขนาดกลางในปัญหาที่เกี่ยวข้องกับการคำนวณแบบกระจายและปัญญาประดิษฐ์ เขามุ่งเน้นไปที่การเรียนรู้อย่างลึกซึ้งรวมถึงโดเมน NLP และ Computer Vision เขาช่วยให้ลูกค้าบรรลุการอนุมานแบบจำลองประสิทธิภาพสูงบน SageMaker
ชิงหลาน เป็นวิศวกรพัฒนาซอฟต์แวร์ใน AWS เขาทำงานเกี่ยวกับผลิตภัณฑ์ที่ท้าทายหลายอย่างใน Amazon รวมถึงโซลูชันการอนุมาน ML ประสิทธิภาพสูงและระบบการบันทึกที่มีประสิทธิภาพสูง ทีมของ Qing ประสบความสำเร็จในการเปิดตัวโมเดลพารามิเตอร์พันล้านรายการแรกใน Amazon Advertising โดยต้องมีเวลาแฝงที่ต่ำมาก Qing มีความรู้เชิงลึกเกี่ยวกับการเพิ่มประสิทธิภาพโครงสร้างพื้นฐานและการเร่งการเรียนรู้เชิงลึก
ชิงเหว่ย ลี่ เป็นผู้เชี่ยวชาญด้าน Machine Learning ที่ Amazon Web Services เขาได้รับปริญญาเอกของเขา ใน Operations Research หลังจากที่เขาทำลายบัญชีทุนวิจัยของที่ปรึกษาและล้มเหลวในการมอบรางวัลโนเบลที่เขาสัญญาไว้ ปัจจุบันเขาช่วยลูกค้าในอุตสาหกรรมบริการทางการเงินและประกันภัยสร้างโซลูชันแมชชีนเลิร์นนิงบน AWS เวลาว่างชอบอ่านหนังสือและสอน
อลัน ตัน เป็นผู้จัดการผลิตภัณฑ์อาวุโสที่มี SageMaker เป็นผู้นำในการอนุมานแบบจำลองขนาดใหญ่ เขาหลงใหลในการใช้แมชชีนเลิร์นนิงในด้านการวิเคราะห์ นอกเวลางาน เขาสนุกกับกิจกรรมกลางแจ้ง
วรุณ ศัล เป็นวิศวกรพัฒนาซอฟต์แวร์ของ AWS Sagemaker ซึ่งทำงานเกี่ยวกับฟีเจอร์สำคัญที่ลูกค้าต้องเผชิญสำหรับแพลตฟอร์ม ML Inference เขามีความกระตือรือร้นในการทำงานด้าน Distributed Systems และ AI เวลาว่างชอบอ่านหนังสือและทำสวน
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตไอสตรีม. ข้อมูลอัจฉริยะ Web3 ขยายความรู้ เข้าถึงได้ที่นี่.
- การสร้างอนาคตโดย Adryenn Ashley เข้าถึงได้ที่นี่.
- ซื้อและขายหุ้นในบริษัท PRE-IPO ด้วย PREIPO® เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/achieve-high-performance-with-lowest-cost-for-generative-ai-inference-using-aws-inferentia2-and-aws-trainium-on-amazon-sagemaker/
- :มี
- :เป็น
- :ไม่
- :ที่ไหน
- $ ขึ้น
- 10
- 100
- 12
- 13
- 14
- 15%
- 22
- 24
- 7
- 8
- 9
- a
- เกี่ยวกับเรา
- คันเร่ง
- เร่ง
- ยอมรับ
- เข้า
- ลงชื่อเข้าใช้
- บรรลุ
- การครอบครอง
- ข้าม
- การกระทำ
- เพิ่ม
- นอกจากนี้
- ที่อยู่
- แอดเดรส
- ความได้เปรียบ
- การโฆษณา
- หลังจาก
- กับ
- AI
- กรณีการใช้งาน ai
- AI / ML
- ทั้งหมด
- ช่วยให้
- ด้วย
- แม้ว่า
- อเมซอน
- Amazon EC2
- อเมซอน SageMaker
- Amazon Web Services
- an
- การวิเคราะห์
- และ
- ประกาศ
- อื่น
- ใด
- APIs
- การใช้งาน
- การประยุกต์ใช้
- เข้าใกล้
- สถาปัตยกรรม
- เป็น
- AREA
- เทียม
- ปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ (AI)
- AS
- At
- เสียง
- รถยนต์
- อัตโนมัติ
- ใช้ได้
- AWS
- การอนุมาน AWS
- ลูกบอล
- แบนด์วิดธ์
- อุปสรรค
- ตาม
- BE
- เพราะ
- รับ
- ก่อน
- ประโยชน์ที่ได้รับ
- ที่ดีที่สุด
- ระหว่าง
- ใหญ่
- ที่ใหญ่กว่า
- พันล้าน
- ปิดกั้น
- บล็อก
- บานสะพรั่ง
- สั้น
- Broke
- สร้าง
- สร้าง
- built-in
- ธุรกิจ
- by
- C + +
- ที่เรียกว่า
- CAN
- กรณี
- ท้าทาย
- chatbot
- ตรวจสอบ
- ชิป
- รหัส
- การเข้ารหัส
- โดยรวม
- รวมกัน
- รวม
- มา
- การสื่อสาร
- คมนาคม
- เมื่อเทียบกับ
- เข้ากันได้
- สมบูรณ์
- อย่างสมบูรณ์
- ซับซ้อน
- ความซับซ้อน
- ส่วนประกอบ
- ครอบคลุม
- การคำนวณ
- คำนวณ
- คอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- การคำนวณ
- องค์ประกอบ
- งานที่เชื่อมต่อ
- ภาชนะ
- ภาชนะบรรจุ
- มี
- เนื้อหา
- แกน
- ราคา
- ค่าใช้จ่ายที่มีประสิทธิภาพ
- ค่าใช้จ่าย
- สร้าง
- ที่สร้างขึ้น
- วิกฤติ
- สำคัญมาก
- ขณะนี้
- ลูกค้า
- ลูกค้า
- ปรับแต่ง
- ข้อมูล
- ทุ่มเท
- ลึก
- การเรียนรู้ลึก ๆ
- ค่าเริ่มต้น
- กำหนด
- กำหนด
- องศา
- ความล่าช้า
- ส่งมอบ
- การส่งมอบ
- มอบ
- แสดงให้เห็นถึง
- ขึ้นอยู่กับ
- ปรับใช้
- ปรับใช้
- การใช้งาน
- รายละเอียด
- การตรวจพบ
- แน่นอน
- พัฒนา
- พัฒนาการ
- เครื่อง
- อุปกรณ์
- ต่าง
- การจัดจำหน่าย
- โดยตรง
- กระจาย
- คอมพิวเตอร์แบบกระจาย
- ระบบกระจาย
- การกระจาย
- การทำ
- โดเมน
- Dont
- ดาวน์โหลด
- ดาวน์โหลด
- คนขับรถ
- พลวัต
- แบบไดนามิก
- แต่ละ
- ก่อน
- ง่ายดาย
- ที่ง่ายที่สุด
- อย่างง่ายดาย
- ตะวันออก
- ที่มีประสิทธิภาพ
- อย่างมีประสิทธิภาพ
- ความพยายาม
- ช่วยให้
- ปลาย
- ปลายทาง
- วิศวกร
- เครื่องยนต์
- พอ
- ทำให้มั่นใจ
- การป้อน
- ผู้ประกอบการ
- การเข้า
- เท่ากัน
- ประเมินค่า
- แม้
- ตัวอย่าง
- ตื่นเต้น
- แพง
- พิเศษ
- ใบหน้า
- อำนวยความสะดวก
- หันหน้าไปทาง
- ล้มเหลว
- เร็วขึ้น
- ลักษณะ
- คุณสมบัติ
- เนื้อไม่มีมัน
- ทางการเงิน
- บริการทางการเงิน
- เสร็จสิ้น
- ชื่อจริง
- พอดี
- ไหล
- กระแส
- โฟกัส
- มุ่งเน้น
- มุ่งเน้นไปที่
- ดังต่อไปนี้
- สำหรับ
- ฟอร์ม
- รูป
- สี่
- กรอบ
- กรอบ
- การหลอกลวง
- การตรวจจับการฉ้อโกง
- ราคาเริ่มต้นที่
- เต็ม
- อย่างเต็มที่
- นอกจากนี้
- สร้าง
- รุ่น
- กำเนิด
- กำเนิด AI
- ได้รับ
- Go
- ให้
- กลุ่ม
- การเจริญเติบโต
- ฮาร์ดแวร์
- มี
- he
- สุขภาพ
- ช่วย
- ช่วย
- จะช่วยให้
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- จุดสูง
- ประสิทธิภาพสูง
- สูงกว่า
- ของเขา
- โฮลดิ้ง
- ถือ
- เจ้าภาพ
- โฮสติ้ง
- บริการโฮสติ้ง
- บ้าน
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- อย่างไรก็ตาม
- HTML
- ที่ http
- HTTPS
- Hub
- เป็นมนุษย์
- if
- ภาพ
- ภาพ
- การดำเนินงาน
- นำเข้า
- in
- ลึกซึ้ง
- ประกอบด้วย
- รวมถึง
- รวมทั้ง
- เพิ่ม
- ที่เพิ่มขึ้น
- อิสระ
- อุตสาหกรรม
- โครงสร้างพื้นฐาน
- นวัตกรรม
- อินพุต
- ปัจจัยการผลิต
- การติดตั้ง
- ตัวอย่าง
- ประกัน
- แบบบูรณาการ
- Intelligence
- ปฏิสัมพันธ์
- ปฏิสัมพันธ์
- ตัวกลาง
- เข้าไป
- เรียก
- รวมถึง
- IT
- ITS
- ประเทศญี่ปุ่น
- การสัมภาษณ์
- ร่วม
- เข้าร่วม
- jpg
- JSON
- เพียงแค่
- ทราบ
- ความรู้
- ห้องปฏิบัติการ
- ภาษา
- ใหญ่
- องค์กรขนาดใหญ่
- ที่มีขนาดใหญ่
- ใหญ่ที่สุด
- ความแอบแฝง
- เปิดตัว
- การเปิดตัว
- ชั้นนำ
- เรียนรู้
- การเรียนรู้
- ความยาว
- ให้
- ห้องสมุด
- ห้องสมุด
- กดไลก์
- ยอดไลก์
- ถูก จำกัด
- รายการ
- LLM
- โหลด
- โหลด
- โหลด
- การเข้าสู่ระบบ
- ต่ำ
- ลด
- ต่ำที่สุด
- เครื่อง
- เรียนรู้เครื่อง
- ส่วนใหญ่
- รักษา
- ส่วนใหญ่
- ทำ
- จัดการ
- การจัดการ
- ผู้จัดการ
- แผนที่
- แม็กซ์
- สูงสุด
- หน่วยความจำ
- วิธี
- ML
- ม.ป.ป
- แบบ
- โมเดล
- โมดูล
- ข้อมูลเพิ่มเติม
- มีประสิทธิภาพมากขึ้น
- มากที่สุด
- หลาย
- ชื่อ
- โดยธรรมชาติ
- ประมวลผลภาษาธรรมชาติ
- จำเป็น
- จำเป็นต้อง
- ความต้องการ
- ใหม่
- นิวยอร์ก
- ถัดไป
- NLP
- รางวัลโนเบล
- สมุดบันทึก
- ตอนนี้
- จำนวน
- วัตถุ
- of
- เสนอ
- เสนอ
- มักจะ
- โอไฮโอ
- on
- ONE
- เพียง
- โอเพนซอร์ส
- การดำเนินการ
- การเพิ่มประสิทธิภาพ
- เพิ่มประสิทธิภาพ
- การปรับให้เหมาะสม
- เพิ่มประสิทธิภาพ
- ตัวเลือกเสริม (Option)
- Options
- or
- องค์กร
- อื่นๆ
- ของเรา
- ออก
- กลางแจ้ง
- เอาท์พุต
- ด้านนอก
- ของตนเอง
- แพคเกจ
- ตัวอย่าง
- Parallel
- พารามิเตอร์
- พารามิเตอร์
- ส่ง
- ผ่าน
- หลงใหล
- การปฏิบัติ
- ส่วนบุคคล
- เวที
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เสียบเข้าไป
- ปลั๊กอิน
- จุด
- ยอดนิยม
- โพสต์
- อำนาจ
- ขับเคลื่อน
- ที่มีประสิทธิภาพ
- การปฏิบัติ
- ความแม่นยำ
- การคาดการณ์
- Predictor
- ที่ต้องการ
- หลัก
- รางวัล
- ปัญหาที่เกิดขึ้น
- กระบวนการ
- กระบวนการ
- การประมวลผล
- ผลิตภัณฑ์
- ผู้จัดการผลิตภัณฑ์
- ผลิตภัณฑ์
- โปรไฟล์
- โครงการ
- สัญญา
- คุณสมบัติ
- คุณสมบัติ
- ให้
- ให้
- ให้
- การให้
- วัตถุประสงค์
- หลาม
- ไฟฉาย
- ตั้งแต่
- มาถึง
- การอ่าน
- พร้อม
- โลกแห่งความจริง
- เรียลไทม์
- ที่ได้รับ
- เมื่อเร็ว ๆ นี้
- การรับรู้
- เรียกว่า
- ที่เกี่ยวข้อง
- ขอ
- การร้องขอ
- จำเป็นต้องใช้
- ความต้องการ
- ความต้องการ
- การวิจัย
- นักวิจัย
- แหล่งข้อมูล
- การตอบสนอง
- ส่งผลให้
- ขึ้น
- วิ่ง
- sagemaker
- การอนุมาน SageMaker
- เดียวกัน
- ลด
- ปรับ
- สถานการณ์
- สคริปต์
- SDK
- ได้อย่างลงตัว
- วินาที
- Section
- เห็น
- ระดับอาวุโส
- ลำดับ
- ให้บริการ
- บริการ
- บริการ
- การให้บริการ
- ชุด
- การตั้งค่า
- การติดตั้ง
- หลาย
- เปลี่ยน
- น่า
- โชว์
- จัดแสดง
- แสดง
- แสดงให้เห็นว่า
- ด้าน
- อย่างมีความหมาย
- ซิลิคอน
- คล้ายคลึงกัน
- ง่าย
- เดียว
- หก
- ขนาด
- ขนาด
- So
- ซอฟต์แวร์
- การพัฒนาซอฟต์แวร์
- ทางออก
- โซลูชัน
- ช่องว่าง
- ผู้เชี่ยวชาญ
- เฉพาะ
- การพูด
- การรู้จำเสียง
- มั่นคง
- กอง
- สแต็ค
- เริ่มต้น
- ข้อความที่เริ่ม
- เริ่มต้น
- startups
- การเก็บรักษา
- จำนวนชั้น
- การเก็บรักษา
- คล่องตัว
- สไตล์
- ประสบความสำเร็จ
- อย่างเช่น
- สนับสนุน
- ที่สนับสนุน
- รองรับ
- ระบบ
- ระบบ
- การ
- การเรียนการสอน
- ทีม
- เทคนิค
- เทคโนโลยี
- tensorflow
- การทดสอบ
- กว่า
- ที่
- พื้นที่
- พื้นที่
- ของพวกเขา
- พวกเขา
- ที่นั่น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- นี้
- สาม
- ตลอด
- ปริมาณงาน
- เวลา
- ครั้ง
- ไปยัง
- เกินไป
- เครื่องมือ
- การติดตาม
- ผ่านการฝึกอบรม
- การฝึกอบรม
- หม้อแปลง
- กลับ
- สอง
- ชนิด
- ตามแบบฉบับ
- อัปโหลด
- us
- ใช้
- มือสอง
- การใช้
- มักจะ
- นำไปใช้
- การใช้ประโยชน์
- ความคุ้มค่า
- ความหลากหลาย
- ต่างๆ
- กว้างใหญ่
- มาก
- ผ่านทาง
- วีดีโอ
- virginia
- วิสัยทัศน์
- รอ
- คำแนะนำ
- ทาง..
- we
- เว็บ
- บริการเว็บ
- น้ำหนัก
- อะไร
- เมื่อ
- ที่
- จะ
- กับ
- ภายใน
- ไม่มี
- การเป็นพยาน
- คำ
- งาน
- ทำงาน
- การทำงาน
- โรงงาน
- โลก
- เขียน
- การเขียน
- นิวยอร์ก
- คุณ
- ของคุณ
- ลมทะเล