หนึ่งในรุ่นที่ได้รับความนิยมมากที่สุดในปัจจุบันคือ XGBoost ด้วยความสามารถในการแก้ปัญหาต่างๆ เช่น การจำแนกประเภทและการถดถอย XGBoost ได้กลายเป็นตัวเลือกยอดนิยมที่จัดอยู่ในหมวดหมู่ของโมเดลแบบต้นไม้ ในโพสต์นี้เราจะเจาะลึกเพื่อดูว่า อเมซอน SageMaker สามารถให้บริการรุ่นเหล่านี้โดยใช้ เซิร์ฟเวอร์การอนุมาน NVIDIA Triton. ปริมาณงานการอนุมานตามเวลาจริงสามารถมีข้อกำหนดและข้อตกลงระดับบริการ (SLA) ในระดับต่างๆ กันในแง่ของเวลาแฝงและปริมาณงาน และสามารถตอบสนองได้โดยใช้จุดสิ้นสุดแบบเรียลไทม์ของ SageMaker
SageMaker จัดให้ จุดสิ้นสุดของโมเดลเดียวซึ่งช่วยให้คุณปรับใช้โมเดลแมชชีนเลิร์นนิง (ML) เดียวกับปลายทางแบบลอจิคัลได้ สำหรับกรณีการใช้งานอื่นๆ คุณสามารถเลือกจัดการต้นทุนและประสิทธิภาพโดยใช้ ปลายทางหลายรุ่นซึ่งอนุญาตให้คุณระบุโมเดลหลายรุ่นเพื่อโฮสต์หลังจุดสิ้นสุดแบบลอจิคัล ไม่ว่าคุณจะเลือกตัวเลือกใดก็ตาม จุดสิ้นสุดของ SageMaker ช่วยให้มีกลไกที่ปรับขนาดได้แม้กระทั่งลูกค้าองค์กรที่มีความต้องการมากที่สุด ในขณะที่มอบคุณค่าด้วยคุณสมบัติมากมาย รวมถึง ตัวแปรเงา, ปรับขนาดอัตโนมัติและการรวมเนทีฟด้วย อเมซอน คลาวด์วอตช์ (ดูข้อมูลเพิ่มเติมได้ที่ เมตริก CloudWatch สำหรับการปรับใช้ปลายทางหลายรุ่น).
Triton รองรับแบ็กเอนด์ต่างๆ เป็นเอ็นจิ้นเพื่อรองรับการทำงานและให้บริการโมเดล ML ต่างๆ สำหรับการอนุมาน สำหรับการปรับใช้ Triton ใดๆ สิ่งสำคัญคือต้องทราบว่าลักษณะการทำงานของแบ็กเอนด์ส่งผลต่อปริมาณงานของคุณอย่างไร และสิ่งที่คาดหวังเพื่อให้คุณประสบความสำเร็จ ในโพสต์นี้ เราช่วยให้คุณเข้าใจ แบ็กเอนด์ของ Forest Inference Library (FIL)ซึ่งสนับสนุนโดย Triton บน SageMaker เพื่อให้คุณตัดสินใจได้อย่างมีข้อมูลสำหรับปริมาณงานของคุณ และได้รับประสิทธิภาพที่ดีที่สุดและการปรับต้นทุนให้เหมาะสมที่สุดเท่าที่จะเป็นไปได้
ดำดิ่งสู่แบ็กเอนด์ FIL
ไทรทันรองรับ FIL แบ็กเอนด์ เพื่อให้บริการโมเดลต้นไม้ เช่น XGBoost,ไลท์จีบีเอ็ม, scikit เรียนรู้ ป่าสุ่ม, RAPIDS cuML ป่าสุ่มและรุ่นอื่นๆ ที่รองรับโดย ทรีไลท์. แบบจำลองเหล่านี้ใช้แก้ปัญหามานานแล้ว เช่น การจำแนกประเภทหรือการถดถอย แม้ว่าโมเดลประเภทนี้จะทำงานบน CPU แบบดั้งเดิม แต่ความนิยมของโมเดลเหล่านี้และความต้องการในการอนุมานได้นำไปสู่เทคนิคต่างๆ เพื่อเพิ่มประสิทธิภาพการอนุมาน แบ็กเอนด์ FIL ใช้เทคนิคเหล่านี้มากมายโดยใช้โครงสร้าง cuML และสร้างขึ้นบน C++ และไลบรารีหลัก CUDA เพื่อเพิ่มประสิทธิภาพการอนุมานบนตัวเร่ง GPU
แบ็กเอนด์ FIL ใช้ไลบรารีของ cuML เพื่อใช้แกน CPU หรือ GPU เพื่อเร่งการเรียนรู้ ในการใช้โปรเซสเซอร์เหล่านี้ ข้อมูลจะถูกอ้างอิงจากหน่วยความจำโฮสต์ (เช่น อาร์เรย์ NumPy) หรืออาร์เรย์ GPU (uDF, Numba, cuPY หรือไลบรารีใดๆ ที่รองรับ __cuda_array_interface__
) เอพีไอ. หลังจากที่ข้อมูลอยู่ในหน่วยความจำแล้ว แบ็กเอนด์ FIL สามารถเรียกใช้การประมวลผลทั่วทั้ง CPU หรือ GPU คอร์ที่มีอยู่ทั้งหมด
เธรดแบ็กเอนด์ FIL สามารถสื่อสารระหว่างกันโดยไม่ต้องใช้หน่วยความจำที่ใช้ร่วมกันของโฮสต์ แต่ควรพิจารณาหน่วยความจำโฮสต์สำหรับเวิร์กโหลดทั้งมวล ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมรันไทม์ตัวกำหนดตารางเวลาทั้งมวลที่คุณมีความสามารถในการปรับแต่งพื้นที่หน่วยความจำ รวมถึงหน่วยความจำที่ใช้ร่วมกันของ CPU แอดเดรสที่ใช้สำหรับการสื่อสารระหว่างกระบวนการระหว่าง Triton (C++) และกระบวนการ Python (ส่วนหลังของ Python) สำหรับการแลกเปลี่ยน เทนเซอร์ (อินพุต/เอาต์พุต) พร้อมแบ็กเอนด์ FIL
Triton Inference Server มีตัวเลือกที่สามารถกำหนดค่าได้สำหรับนักพัฒนาในการปรับแต่งปริมาณงานและเพิ่มประสิทธิภาพของโมเดล การกำหนดค่า dynamic_batching
ช่วยให้ Triton สามารถเก็บคำขอฝั่งไคลเอ็นต์และแบทช์ไว้บนฝั่งเซิร์ฟเวอร์ เพื่อใช้การคำนวณแบบขนานของ FIL ในการอนุมานทั้งแบทช์เข้าด้วยกันอย่างมีประสิทธิภาพ ทางเลือก max_queue_delay_microseconds
เสนอการควบคุมที่ไม่ปลอดภัยสำหรับระยะเวลาที่ Triton รอเพื่อสร้างแบทช์
มี FIL เฉพาะอื่นๆ อีกจำนวนหนึ่ง ตัวเลือกที่มี ที่ส่งผลต่อประสิทธิภาพและพฤติกรรม เราขอแนะนำให้เริ่มต้นด้วย storage_type
. เมื่อเรียกใช้แบ็กเอนด์บน GPU FIL จะสร้างหน่วยความจำ/โครงสร้างข้อมูลใหม่ที่เป็นตัวแทนของแผนผังซึ่ง FIL สามารถส่งผลกระทบต่อประสิทธิภาพและรอยเท้า สิ่งนี้สามารถกำหนดค่าได้ผ่านพารามิเตอร์สภาพแวดล้อม storage_type
ซึ่งมีตัวเลือกหนาแน่น เบาบาง และอัตโนมัติ การเลือกตัวเลือกที่มีความหนาแน่นสูงจะใช้หน่วยความจำ GPU มากขึ้นและไม่ได้ทำให้ประสิทธิภาพดีขึ้นเสมอไป ดังนั้นจึงควรตรวจสอบ ในทางตรงกันข้าม ตัวเลือกแบบเบาบางจะใช้หน่วยความจำ GPU น้อยกว่า และอาจทำงานได้ดีหรือดีกว่าแบบหนาแน่น การเลือกอัตโนมัติจะทำให้รูปแบบเริ่มต้นเป็นแบบหนาแน่น เว้นแต่การทำเช่นนั้นจะใช้หน่วยความจำ GPU มากกว่าแบบเบาบาง
เมื่อพูดถึงประสิทธิภาพของโมเดล คุณอาจพิจารณาเน้นที่ threads_per_tree
ตัวเลือก. สิ่งหนึ่งที่คุณอาจละเลยในสถานการณ์จริงก็คือ threads_per_tree
สามารถส่งผลกระทบต่อทรูพุตได้มากกว่าพารามิเตอร์อื่นๆ การตั้งค่าเป็นยกกำลัง 2 จาก 1–32 นั้นถูกต้องตามกฎหมาย ค่าที่เหมาะสมที่สุดนั้นคาดการณ์ได้ยากสำหรับพารามิเตอร์นี้ แต่เมื่อคาดว่าเซิร์ฟเวอร์จะจัดการกับโหลดที่สูงขึ้นหรือประมวลผลชุดงานขนาดใหญ่ ก็มักจะได้รับประโยชน์จากค่าที่มากกว่าเมื่อประมวลผลครั้งละสองสามแถว
พารามิเตอร์อื่นที่ควรทราบคือ algo
ซึ่งยังมีให้ใช้งานหากคุณใช้ GPU พารามิเตอร์นี้กำหนดอัลกอริทึมที่ใช้ในการประมวลผลคำขอการอนุมาน ตัวเลือกที่รองรับได้แก่ ALGO_AUTO
, NAIVE
, TREE_REORG
และ BATCH_TREE_REORG
. ตัวเลือกเหล่านี้กำหนดวิธีการจัดระเบียบโหนดภายในแผนผัง และยังส่งผลให้ประสิทธิภาพเพิ่มขึ้นอีกด้วย เดอะ ALGO_AUTO
ค่าเริ่มต้นของตัวเลือกเป็น NAIVE
เพื่อการจัดเก็บที่เบาบางและ BATCH_TREE_REORG
เพื่อการจัดเก็บที่หนาแน่น
สุดท้าย FIL มาพร้อมกับตัวอธิบาย Shapley ซึ่งสามารถเปิดใช้งานได้โดยใช้ treeshap_output
พารามิเตอร์. อย่างไรก็ตาม คุณควรระลึกไว้เสมอว่าผลลัพธ์ของ Shapley ส่งผลเสียต่อประสิทธิภาพเนื่องจากขนาดเอาต์พุตของมัน
รูปแบบโมเดล
ขณะนี้ไม่มีรูปแบบไฟล์มาตรฐานในการจัดเก็บแบบจำลองตามฟอเรสต์ ทุกเฟรมเวิร์กมีแนวโน้มที่จะกำหนดรูปแบบของมันเอง เพื่อรองรับไฟล์อินพุตหลายรูปแบบ FIL จะนำเข้าข้อมูลโดยใช้โอเพ่นซอร์ส ทรีไลท์ ห้องสมุด. ซึ่งช่วยให้ FIL สามารถรองรับโมเดลที่ได้รับการฝึกฝนในเฟรมเวิร์กยอดนิยม เช่น XGBoost และ ไลท์จีบีเอ็ม. โปรดทราบว่าจะต้องตั้งค่ารูปแบบของโมเดลที่คุณระบุใน model_type
ค่าการกำหนดค่าที่ระบุใน config.pbtxt
ไฟล์
กำหนดค่า pbtxt
แต่ละรุ่นในก ที่เก็บแบบจำลอง ต้องรวมการกำหนดค่าโมเดลที่ให้ข้อมูลที่จำเป็นและเป็นทางเลือกเกี่ยวกับโมเดล โดยทั่วไปแล้ว การกำหนดค่านี้มีให้ใน config.pbtxt
ไฟล์ที่ระบุเป็น โปรโตบัฟ ModelConfig. หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่า config โปรดดูที่ การกำหนดค่าโมเดล. ต่อไปนี้เป็นพารามิเตอร์การกำหนดค่าโมเดลบางส่วน:
- max_batch_size – สิ่งนี้กำหนดขนาดแบทช์สูงสุดที่สามารถส่งผ่านไปยังโมเดลนี้ได้ โดยทั่วไป ขีดจำกัดเพียงอย่างเดียวของขนาดของแบตช์ที่ส่งผ่านไปยังแบ็กเอนด์ FIL คือหน่วยความจำที่พร้อมสำหรับการประมวลผล สำหรับการเรียกใช้ GPU หน่วยความจำที่มีอยู่จะพิจารณาจากขนาดของพูลหน่วยความจำ CUDA ของ Triton ซึ่งสามารถตั้งค่าผ่านอาร์กิวเมนต์บรรทัดคำสั่งเมื่อเริ่มต้นเซิร์ฟเวอร์
- อินพุต – ตัวเลือกในส่วนนี้จะบอก Triton ถึงจำนวนคุณสมบัติที่คาดหวังสำหรับแต่ละตัวอย่างอินพุต
- เอาท์พุต – ตัวเลือกในส่วนนี้จะบอก Triton ว่าจะมีค่าเอาต์พุตเท่าใดสำหรับแต่ละตัวอย่าง ถ้า
predict_proba
ตัวเลือกถูกตั้งค่าเป็นจริง จากนั้นค่าความน่าจะเป็นจะถูกส่งกลับสำหรับแต่ละคลาส มิฉะนั้น จะส่งกลับค่าเดียว โดยระบุคลาสที่คาดการณ์ไว้สำหรับตัวอย่างที่กำหนด - อินสแตนซ์_กรุ๊ป – สิ่งนี้กำหนดจำนวนอินสแตนซ์ของโมเดลนี้ที่จะสร้างขึ้นและจะใช้ GPU หรือ CPU
- รุ่น_ประเภท – สตริงนี้ระบุว่าโมเดลอยู่ในรูปแบบใด (
xgboost_json
ในตัวอย่างนี้ แต่xgboost
,lightgbm
และtl_checkpoint
เป็นรูปแบบที่ถูกต้องด้วย) - ทำนาย_proba – หากตั้งค่าเป็นจริง ค่าความน่าจะเป็นจะถูกส่งกลับสำหรับแต่ละคลาส แทนที่จะเป็นแค่การทำนายคลาส
- เอาต์พุต_คลาส – ค่านี้ตั้งค่าเป็นจริงสำหรับแบบจำลองการจำแนกประเภท และเท็จสำหรับแบบจำลองการถดถอย
- ธรณีประตู – นี่คือเกณฑ์คะแนนสำหรับการพิจารณาการจัดประเภท เมื่อไร
output_class
ถูกตั้งค่าเป็นจริง จะต้องระบุสิ่งนี้ แม้ว่าจะไม่ใช้ ifpredict_proba
ถูกตั้งค่าเป็นจริงเช่นกัน - ที่เก็บข้อมูล_ประเภท – โดยทั่วไป การใช้ AUTO สำหรับการตั้งค่านี้ควรเป็นไปตามกรณีการใช้งานส่วนใหญ่ หากเลือกที่เก็บข้อมูล AUTO FIL จะโหลดโมเดลโดยใช้การแสดงแบบเบาบางหรือหนาแน่นตามขนาดโดยประมาณของโมเดล ในบางกรณี คุณอาจต้องการตั้งค่านี้เป็น SPARSE อย่างชัดเจน เพื่อลดรอยเท้าหน่วยความจำของโมเดลขนาดใหญ่
Triton Inference Server บน SageMaker
SageMaker ช่วยให้ คุณสามารถปรับใช้ทั้งจุดสิ้นสุดรุ่นเดียวและหลายรุ่นด้วย NVIDIA Triton Inference Server รูปต่อไปนี้แสดงสถาปัตยกรรมระดับสูงของ Triton Inference Server เดอะ ที่เก็บแบบจำลอง เป็นที่เก็บข้อมูลตามระบบไฟล์ของโมเดลที่ Triton จะจัดเตรียมไว้สำหรับการอนุมาน คำขอการอนุมานมาถึงเซิร์ฟเวอร์และถูกส่งไปยังตัวกำหนดตารางเวลาตามรุ่นที่เหมาะสม ไทรทันอิมพลีเมนต์ อัลกอริทึมการตั้งเวลาและแบทช์หลายรายการ ที่สามารถกำหนดค่าได้แบบรุ่นต่อรุ่น ตัวกำหนดตารางเวลาของโมเดลแต่ละรุ่นเลือกที่จะดำเนินการแบทช์ของคำขอการอนุมาน จากนั้นส่งคำขอไปยัง แบ็กเอนด์ ตรงตามแบบของรุ่น แบ็กเอนด์ทำการอนุมานโดยใช้อินพุตที่ให้ไว้ในคำขอแบทช์เพื่อสร้างเอาต์พุตที่ร้องขอ ผลลัพธ์จะถูกส่งกลับ
เมื่อกำหนดค่ากลุ่มการปรับขนาดอัตโนมัติสำหรับจุดสิ้นสุด SageMaker คุณอาจต้องพิจารณา SageMakerVariantInvocationsPerInstance
เป็นเกณฑ์หลักในการกำหนดลักษณะการปรับสเกลของกลุ่มการปรับสเกลอัตโนมัติของคุณ นอกจากนี้ ขึ้นอยู่กับว่าโมเดลของคุณทำงานบน GPU หรือ CPU คุณอาจพิจารณาใช้ CPUUtilization หรือ GPUUtilization เป็นเกณฑ์เพิ่มเติม โปรดทราบว่าสำหรับตำแหน่งข้อมูลโมเดลเดียว เนื่องจากโมเดลที่ใช้งานเหมือนกันทั้งหมด การตั้งนโยบายที่เหมาะสมเพื่อให้เป็นไปตาม SLA ของคุณจึงค่อนข้างตรงไปตรงมา สำหรับปลายทางหลายรุ่น เราขอแนะนำให้ปรับใช้โมเดลที่คล้ายกันหลังตำแหน่งข้อมูลที่กำหนดเพื่อให้มีประสิทธิภาพที่คาดการณ์ได้คงที่มากขึ้น ในกรณีการใช้งานที่มีการใช้โมเดลที่มีขนาดและข้อกำหนดที่แตกต่างกัน คุณอาจต้องการแยกปริมาณงานเหล่านั้นออกจากตำแหน่งข้อมูลหลายรุ่นหรือใช้เวลาในการปรับแต่งนโยบายกลุ่มการปรับขนาดอัตโนมัติเพื่อให้ได้ต้นทุนและประสิทธิภาพที่สมดุลที่สุด
สำหรับรายการของ NVIDIA Triton Deep Learning Containers (DLC) ที่รองรับโดยการอนุมานของ SageMaker โปรดดูที่ รูปภาพคอนเทนเนอร์การเรียนรู้เชิงลึกที่มีอยู่.
การแนะนำสมุดบันทึก SageMaker
แอปพลิเคชัน ML มีความซับซ้อนและมักต้องมีการประมวลผลข้อมูลล่วงหน้า ในสมุดบันทึกนี้ เราจะเจาะลึกวิธีการปรับใช้โมเดล ML แบบต้นไม้ เช่น XGBoost โดยใช้แบ็กเอนด์ FIL ใน Triton บนตำแหน่งข้อมูลหลายโมเดลของ SageMaker นอกจากนี้ เรายังกล่าวถึงวิธีการใช้ไปป์ไลน์การอนุมานการประมวลผลข้อมูลล่วงหน้าที่ใช้ Python สำหรับโมเดลของคุณโดยใช้ฟีเจอร์ ensemble ใน Triton ซึ่งจะช่วยให้เราสามารถส่งข้อมูลดิบจากฝั่งไคลเอนต์ และมีทั้งการประมวลผลข้อมูลล่วงหน้าและการอนุมานแบบจำลองเกิดขึ้นใน Triton SageMaker endpoint เพื่อประสิทธิภาพการอนุมานที่เหมาะสมที่สุด
คุณสมบัติชุดรูปแบบ Triton
Triton Inference Server ช่วยลดความยุ่งยากในการปรับใช้โมเดล AI ในระดับการผลิตอย่างมาก Triton Inference Server มาพร้อมกับโซลูชันที่สะดวกซึ่งช่วยลดความยุ่งยากในการสร้างไปป์ไลน์การประมวลผลก่อนและหลังการประมวลผล แพลตฟอร์ม Triton Inference Server มีตัวกำหนดตารางเวลาทั้งมวล ซึ่งมีหน้าที่รับผิดชอบในการวางโมเดลที่มีส่วนร่วมในกระบวนการอนุมาน ในขณะเดียวกันก็รับประกันประสิทธิภาพและปรับปริมาณงานให้เหมาะสม การใช้แบบจำลองทั้งมวลสามารถหลีกเลี่ยงค่าใช้จ่ายในการถ่ายโอนเทนเซอร์ระดับกลาง และลดจำนวนคำขอที่ต้องส่งไปยัง Triton
ในสมุดบันทึกนี้ เราจะแสดงวิธีใช้คุณลักษณะทั้งมวลสำหรับการสร้างไปป์ไลน์ของการประมวลผลข้อมูลล่วงหน้าด้วยการอนุมานแบบจำลอง XGBoost และคุณสามารถอนุมานจากคุณลักษณะนี้เพื่อเพิ่มการประมวลผลภายหลังแบบกำหนดเองไปยังไปป์ไลน์ได้
ตั้งค่าสภาพแวดล้อม
เราเริ่มต้นด้วยการตั้งค่าสภาพแวดล้อมที่จำเป็น เราติดตั้งการพึ่งพาที่จำเป็นในการจัดแพ็คเกจโมเดลไปป์ไลน์ของเราและรันการอนุมานโดยใช้ Triton Inference Server นอกจากนี้เรายังกำหนด AWS Identity และการจัดการการเข้าถึง บทบาท (IAM) ที่จะให้ SageMaker เข้าถึงสิ่งประดิษฐ์โมเดลและ NVIDIA Triton การลงทะเบียน Amazon Elastic Container ภาพ (Amazon ECR) ดูรหัสต่อไปนี้:
สร้างสภาพแวดล้อม Conda สำหรับการประมวลผลการขึ้นต่อกันล่วงหน้า
แบ็กเอนด์ Python ใน Triton ต้องการให้เราใช้ไฟล์ คอนดา สภาพแวดล้อมสำหรับการพึ่งพาเพิ่มเติมใดๆ ในกรณีนี้ เราใช้แบ็กเอนด์ Python เพื่อประมวลผลข้อมูลดิบล่วงหน้าก่อนที่จะป้อนลงในโมเดล XGBoost ที่ทำงานอยู่ในแบ็กเอนด์ FIL แม้ว่าเดิมเราใช้ RAPIDS cuDF และ cuML เพื่อประมวลผลข้อมูลล่วงหน้า แต่ที่นี่เราใช้ Pandas และ scikit-learn เป็นการอ้างอิงการประมวลผลล่วงหน้าระหว่างการอนุมาน เราทำเช่นนี้ด้วยเหตุผลสามประการ:
- เราแสดงวิธีสร้างสภาพแวดล้อม Conda สำหรับการขึ้นต่อกันของคุณ และวิธีจัดแพ็คเกจใน รูปแบบที่คาดไว้ โดยแบ็กเอนด์ Python ของ Triton
- ด้วยการแสดงโมเดลการประมวลผลล่วงหน้าที่ทำงานในแบ็กเอนด์ Python บน CPU ขณะที่ XGBoost ทำงานบน GPU ในแบ็กเอนด์ FIL เราจึงแสดงให้เห็นว่าแต่ละโมเดลในไปป์ไลน์ ensemble ของ Triton สามารถทำงานบนแบ็คเอนด์เฟรมเวิร์กที่แตกต่างกันได้อย่างไร รวมถึงการกำหนดค่าฮาร์ดแวร์ที่แตกต่างกัน
- มันเน้นว่าไลบรารี RAPIDS (cuDF, cuML) เข้ากันได้กับ CPU คู่กันอย่างไร (Pandas, scikit-learn) ตัวอย่างเช่น เราสามารถแสดงวิธีการ
LabelEncoders
สร้างขึ้นใน cuML สามารถใช้ใน scikit-learn และในทางกลับกัน
เราปฏิบัติตามคำแนะนำจาก เอกสารไทรทัน สำหรับการบรรจุการพึ่งพาการประมวลผลล่วงหน้า (scikit-learn และ Pandas) ที่จะใช้ในแบ็กเอนด์ Python เป็นไฟล์ TAR ของสภาพแวดล้อม Conda สคริปต์ทุบตี create_prep_env.sh สร้างไฟล์ TAR ของสภาพแวดล้อม Conda จากนั้นเราจะย้ายไปยังไดเร็กทอรีโมเดลการประมวลผลล่วงหน้า ดูรหัสต่อไปนี้:
หลังจากที่เราเรียกใช้สคริปต์ก่อนหน้า สคริปต์จะสร้าง preprocessing_env.tar.gz
ซึ่งเราคัดลอกไปยังไดเร็กทอรีการประมวลผลล่วงหน้า:
ตั้งค่าการประมวลผลล่วงหน้าด้วยแบ็กเอนด์ Triton Python
สำหรับการประมวลผลล่วงหน้า เราใช้ของ Triton Python แบ็กเอนด์ เพื่อดำเนินการประมวลผลล่วงหน้าข้อมูลแบบตาราง (การเข้ารหัสตามหมวดหมู่) ระหว่างการอนุมานสำหรับคำขอข้อมูลดิบที่เข้ามาในเซิร์ฟเวอร์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการประมวลผลล่วงหน้าที่ทำระหว่างการฝึกอบรม โปรดดูที่ สมุดบันทึกการฝึกอบรม.
แบ็กเอนด์ของ Python เปิดใช้งานการประมวลผลล่วงหน้า การประมวลผลภายหลัง และตรรกะที่กำหนดเองอื่นๆ เพื่อนำไปใช้ใน Python และให้บริการกับ Triton การใช้ Triton บน SageMaker กำหนดให้เราต้องตั้งค่าโฟลเดอร์ที่เก็บโมเดลที่มีโมเดลที่เราต้องการให้บริการก่อน เราได้ตั้งค่าโมเดลสำหรับการประมวลผลข้อมูลล่วงหน้าของ Python ที่เรียกว่าการประมวลผลล่วงหน้าใน cpu_model_repository
และ gpu_model_repository
.
Triton มีข้อกำหนดเฉพาะสำหรับโครงร่างที่เก็บโมเดล ภายในไดเร็กทอรีที่เก็บโมเดลระดับบนสุด แต่ละโมเดลมีไดเร็กทอรีย่อยของตัวเองซึ่งมีข้อมูลสำหรับโมเดลที่เกี่ยวข้อง แต่ละไดเร็กทอรีโมเดลใน Triton ต้องมีไดเร็กทอรีย่อยที่เป็นตัวเลขอย่างน้อยหนึ่งรายการซึ่งแสดงถึงเวอร์ชันของโมเดล ค่า 1 แสดงถึงเวอร์ชัน 1 ของโมเดลการประมวลผลล่วงหน้าของ Python แต่ละรุ่นถูกเรียกใช้โดยแบ็กเอนด์เฉพาะ ดังนั้นภายในไดเร็กทอรีย่อยแต่ละเวอร์ชันจะต้องมีอาร์ติแฟกต์โมเดลที่จำเป็นสำหรับแบ็กเอนด์นั้น สำหรับตัวอย่างนี้ เราใช้แบ็กเอนด์ของ Python ซึ่งกำหนดให้ไฟล์ Python ที่คุณให้บริการเรียกว่า model.py และไฟล์จำเป็นต้องอิมพลีเมนต์ ฟังก์ชั่นบางอย่าง. หากเราใช้แบ็กเอนด์ PyTorch จะต้องมีไฟล์ model.pt เป็นต้น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งชื่อสำหรับไฟล์โมเดล โปรดดูที่ ไฟล์โมเดล.
พื้นที่ model.py ไฟล์ Python ที่เราใช้ที่นี่ใช้ตรรกะการประมวลผลล่วงหน้าของข้อมูลแบบตารางทั้งหมดเพื่อแปลงข้อมูลดิบให้เป็นคุณสมบัติที่สามารถป้อนเข้าสู่โมเดล XGBoost ของเรา
ไทรทันทุกรุ่นต้องมีก config.pbtxt
ไฟล์อธิบายการกำหนดค่าโมเดล หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่า config โปรดดูที่ การกำหนดค่าโมเดล. ของเรา config.pbtxt ไฟล์ระบุแบ็กเอนด์เป็น python และคอลัมน์อินพุตทั้งหมดสำหรับข้อมูลดิบพร้อมกับเอาต์พุตที่ประมวลผลล่วงหน้า ซึ่งประกอบด้วยฟีเจอร์ 15 รายการ เรายังระบุว่าเราต้องการเรียกใช้โมเดลการประมวลผลล่วงหน้าของ Python บน CPU ดูรหัสต่อไปนี้:
ตั้งค่าโมเดล ML แบบต้นไม้สำหรับแบ็กเอนด์ FIL
ต่อไป เราตั้งค่าไดเร็กทอรีโมเดลสำหรับโมเดล ML แบบต้นไม้ เช่น XGBoost ซึ่งจะใช้แบ็กเอนด์ FIL
เค้าโครงที่คาดหวังสำหรับ cpu_memory_repository
และ gpu_memory_repository
คล้ายกับที่เราแสดงให้เห็นก่อนหน้านี้
ที่นี่ FIL
เป็นชื่อรุ่น เราสามารถตั้งชื่อให้อย่างอื่นได้ เช่น xgboost
ถ้าเราต้องการ 1
เป็นไดเร็กทอรีย่อยของเวอร์ชัน ซึ่งมีอาร์ติแฟกต์ของโมเดล ในกรณีนี้ก็คือ xgboost.json
โมเดลที่เราบันทึกไว้ มาสร้างเลย์เอาต์ที่คาดไว้นี้:
เราต้องมีไฟล์คอนฟิกูเรชัน config.pbtxt
อธิบายการกำหนดค่าโมเดลสำหรับโมเดล ML แบบทรี เพื่อให้แบ็กเอนด์ FIL ใน Triton เข้าใจวิธีให้บริการ สำหรับข้อมูลเพิ่มเติม อ้างอิงถึงข้อมูลทั่วไปล่าสุด ตัวเลือกการกำหนดค่าไทรทัน และตัวเลือกการกำหนดค่าเฉพาะสำหรับ FIL แบ็กเอนด์. เรามุ่งเน้นไปที่ตัวเลือกทั่วไปและที่เกี่ยวข้องกันสองสามตัวในตัวอย่างนี้
สร้างบัญชีตัวแทน config.pbtxt
for
model_cpu_repository
:
ในทำนองเดียวกันตั้งค่า config.pbtxt
for
model_gpu_repository
(สังเกตความแตกต่างคือ USE_GPU = True
):
ตั้งค่าไปป์ไลน์การอนุมานของแบ็กเอนด์ Python ที่ประมวลผลล่วงหน้าและแบ็กเอนด์ FIL โดยใช้ชุด
ตอนนี้เราพร้อมที่จะตั้งค่าไปป์ไลน์การอนุมานสำหรับการประมวลผลข้อมูลล่วงหน้าและการอนุมานแบบจำลองตามต้นไม้โดยใช้ an รุ่นทั้งมวล. โมเดลทั้งมวลแสดงถึงไปป์ไลน์ของโมเดลตั้งแต่หนึ่งโมเดลขึ้นไป และการเชื่อมต่อของเทนเซอร์อินพุตและเอาต์พุตระหว่างโมเดลเหล่านั้น ที่นี่เราใช้โมเดลทั้งมวลเพื่อสร้างไปป์ไลน์ของการประมวลผลข้อมูลล่วงหน้าในแบ็กเอนด์ Python ตามด้วย XGBoost ในแบ็กเอนด์ FIL
เค้าโครงที่คาดหวังสำหรับ ensemble
ไดเร็กทอรีโมเดลคล้ายกับไดเร็กทอรีที่เราแสดงไว้ก่อนหน้านี้:
เราสร้างแบบจำลองทั้งมวล config.pbtxt ตามคำแนะนำใน โมเดลทั้งมวล. ที่สำคัญเราต้องตั้งค่ากำหนดการทั้งมวลด้วย config.pbtxt
ซึ่งระบุการไหลของข้อมูลระหว่างรุ่นภายในชุด ตัวกำหนดเวลาทั้งมวลจะรวบรวมเทนเซอร์เอาต์พุตในแต่ละขั้นตอน และจัดเตรียมเทนเซอร์อินพุตสำหรับขั้นตอนอื่นๆ ตามข้อกำหนด
จัดแพ็คเกจที่เก็บโมเดลและอัปโหลดไปยัง Amazon S3
สุดท้าย เราจะลงเอยด้วยโครงสร้างไดเร็กทอรีที่เก็บโมเดลต่อไปนี้ ซึ่งมีโมเดลการประมวลผลล่วงหน้าของ Python และการขึ้นต่อกันพร้อมกับโมเดล XGBoost FIL และชุดโมเดล
เราจัดแพ็คเกจไดเร็กทอรีและเนื้อหาเป็น model.tar.gz
สำหรับการอัปโหลดไปยัง บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน S3). เรามีสองตัวเลือกในตัวอย่างนี้: ใช้อินสแตนซ์ที่ใช้ CPU หรืออินสแตนซ์ที่ใช้ GPU อินสแตนซ์ที่ใช้ GPU นั้นเหมาะสมกว่าเมื่อคุณต้องการพลังการประมวลผลที่สูงขึ้นและต้องการใช้คอร์ CUDA
สร้างและอัปโหลดแพ็คเกจโมเดลสำหรับอินสแตนซ์ที่ใช้ CPU (ปรับให้เหมาะสมสำหรับ CPU) ด้วยรหัสต่อไปนี้:
สร้างและอัปโหลดแพ็คเกจโมเดลสำหรับอินสแตนซ์ที่ใช้ GPU (ปรับให้เหมาะสมสำหรับ GPU) ด้วยรหัสต่อไปนี้:
สร้างจุดสิ้นสุด SageMaker
ตอนนี้เรามีอาร์ติแฟกต์โมเดลที่จัดเก็บไว้ในบัคเก็ต S3 ในขั้นตอนนี้ เรายังสามารถจัดเตรียมตัวแปรสภาพแวดล้อมเพิ่มเติมได้อีกด้วย SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
ซึ่งระบุชื่อรุ่นที่จะโหลดโดยไทรทัน ค่าของคีย์นี้ควรตรงกับชื่อโฟลเดอร์ในแพ็คเกจรุ่นที่อัปโหลดไปยัง Amazon S3 ตัวแปรนี้เป็นทางเลือกในกรณีของโมเดลเดียว ในกรณีของรุ่นทั้งมวล ต้องระบุคีย์นี้เพื่อให้ Triton เริ่มทำงานใน SageMaker
นอกจากนี้ คุณสามารถตั้งค่า SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
และ SAGEMAKER_TRITON_THREAD_COUNT
เพื่อเพิ่มประสิทธิภาพการนับด้าย
เราใช้โมเดลก่อนหน้าเพื่อสร้างการกำหนดค่าปลายทางซึ่งเราสามารถระบุประเภทและจำนวนของอินสแตนซ์ที่เราต้องการในปลายทางได้
เราใช้การกำหนดค่าจุดสิ้นสุดนี้เพื่อสร้างจุดสิ้นสุดของ SageMaker และรอให้การปรับใช้เสร็จสิ้น ด้วย SageMaker MME เรามีตัวเลือกในการโฮสต์โมเดลทั้งมวลหลายชุดโดยทำขั้นตอนนี้ซ้ำ แต่เรายังคงปรับใช้เพียงครั้งเดียวสำหรับตัวอย่างนี้:
สถานะจะเปลี่ยนเป็น InService
เมื่อการปรับใช้สำเร็จ
เรียกใช้โมเดลของคุณที่โฮสต์บนตำแหน่งข้อมูล SageMaker
หลังจากรันเอ็นด์พอยต์แล้ว เราสามารถใช้ข้อมูลดิบตัวอย่างบางส่วนเพื่อทำการอนุมานโดยใช้ JSON เป็นรูปแบบเพย์โหลด สำหรับรูปแบบคำขอการอนุมาน Triton ใช้ KFServing
มาตรฐานชุมชน โปรโตคอลการอนุมาน. ดูรหัสต่อไปนี้:
สมุดบันทึกที่อ้างถึงในบล็อกสามารถพบได้ใน พื้นที่เก็บข้อมูล GitHub.
ปฏิบัติที่ดีที่สุด
นอกจากตัวเลือกในการปรับแต่งการตั้งค่าของแบ็กเอนด์ FIL ที่เรากล่าวถึงก่อนหน้านี้แล้ว นักวิทยาศาสตร์ด้านข้อมูลยังสามารถมั่นใจได้ว่าข้อมูลที่ป้อนเข้าสำหรับแบ็กเอนด์ได้รับการปรับให้เหมาะสมสำหรับการประมวลผลโดยกลไก เมื่อใดก็ตามที่เป็นไปได้ ให้ป้อนข้อมูลในรูปแบบแถวหลักลงในอาร์เรย์ GPU รูปแบบอื่นๆ จะต้องมีการแปลงภายในและใช้เวลาเป็นรอบ ทำให้ประสิทธิภาพลดลง
เนื่องจากวิธีรักษาโครงสร้างข้อมูล FIL ในหน่วยความจำ GPU โปรดคำนึงถึงความลึกของแผนผัง ยิ่งความลึกของต้นไม้ลึกเท่าใด รอยเท้าหน่วยความจำ GPU ของคุณก็จะยิ่งมากขึ้นเท่านั้น
ใช้ instance_group_count
เพื่อเพิ่มกระบวนการของผู้ปฏิบัติงานและเพิ่มทรูพุตของแบ็กเอนด์ FIL ซึ่งจะส่งผลให้มีการใช้หน่วยความจำ CPU และ GPU มากขึ้น นอกจากนี้ ให้พิจารณาตัวแปรเฉพาะของ SageMaker ที่พร้อมใช้งานเพื่อเพิ่มปริมาณงาน เช่น เธรด HTTP, ขนาดบัฟเฟอร์ HTTP, ขนาดแบทช์ และความล่าช้าสูงสุด
สรุป
ในโพสต์นี้ เราจะลงลึกถึงแบ็กเอนด์ FIL ที่ Triton Inference Server รองรับบน SageMaker แบ็กเอนด์นี้ให้การเร่งทั้ง CPU และ GPU ของโมเดลแบบต้นไม้ของคุณ เช่น อัลกอริทึม XGBoost ยอดนิยม มีตัวเลือกมากมายให้พิจารณาเพื่อให้ได้ประสิทธิภาพสูงสุดสำหรับการอนุมาน เช่น ขนาดแบทช์ รูปแบบการป้อนข้อมูล และปัจจัยอื่นๆ ที่สามารถปรับให้ตรงกับความต้องการของคุณ SageMaker ช่วยให้คุณใช้ความสามารถนี้กับจุดสิ้นสุดรุ่นเดียวและหลายรุ่นเพื่อสร้างความสมดุลระหว่างประสิทธิภาพและการประหยัดต้นทุน
เราขอแนะนำให้คุณใช้ข้อมูลในโพสต์นี้และดูว่า SageMaker สามารถตอบสนองความต้องการด้านโฮสติ้งของคุณในการให้บริการโมเดลแบบต้นไม้หรือไม่ ตรงตามข้อกำหนดของคุณสำหรับการลดต้นทุนและประสิทธิภาพปริมาณงานหรือไม่
สมุดบันทึกที่อ้างอิงในโพสต์นี้สามารถพบได้ในตัวอย่าง SageMaker พื้นที่เก็บข้อมูล GitHub. นอกจากนี้ คุณสามารถค้นหาเอกสารประกอบล่าสุดบนแบ็กเอนด์ FIL GitHub.
เกี่ยวกับผู้เขียน
ราหู ราเมชา เป็น Senior ML Solutions Architect กับทีม Amazon SageMaker Service เขามุ่งเน้นไปที่การช่วยลูกค้าสร้าง ปรับใช้ และโยกย้ายปริมาณงานการผลิต ML ไปยัง SageMaker ตามขนาด เขาเชี่ยวชาญด้านแมชชีนเลิร์นนิง, AI และคอมพิวเตอร์วิทัศน์ และสำเร็จการศึกษาระดับปริญญาโทสาขาวิทยาการคอมพิวเตอร์จาก UT Dallas เวลาว่างชอบท่องเที่ยวและถ่ายรูป
เจมส์พาร์ค เป็นสถาปนิกโซลูชันที่ Amazon Web Services เขาทำงานร่วมกับ Amazon.com เพื่อออกแบบ สร้าง และปรับใช้โซลูชันเทคโนโลยีบน AWS และมีความสนใจเป็นพิเศษใน AI และการเรียนรู้ของเครื่อง ในเวลาว่าง เขาชอบค้นหาวัฒนธรรมใหม่ๆ ประสบการณ์ใหม่ๆ และติดตามเทรนด์เทคโนโลยีล่าสุดอยู่เสมอ
ดาวัล พาเทล เป็นหัวหน้าสถาปนิก Machine Learning ที่ AWS เขาได้ทำงานร่วมกับองค์กรต่างๆ ตั้งแต่องค์กรขนาดใหญ่ไปจนถึงสตาร์ทอัพขนาดกลางในปัญหาที่เกี่ยวข้องกับการคำนวณแบบกระจายและปัญญาประดิษฐ์ เขามุ่งเน้นไปที่การเรียนรู้อย่างลึกซึ้งรวมถึง NLP และโดเมนวิชันซิสเต็ม เขาช่วยให้ลูกค้าบรรลุการอนุมานแบบจำลองประสิทธิภาพสูงบน Amazon SageMaker
เจียหงหลิว เป็น Solution Architect ในทีม Cloud Service Provider ที่ NVIDIA เขาช่วยลูกค้าในการใช้การเรียนรู้ด้วยเครื่องและโซลูชัน AI ที่ใช้ประโยชน์จากการประมวลผลแบบเร่งความเร็วของ NVIDIA เพื่อจัดการกับความท้าทายในการฝึกอบรมและการอนุมาน ในยามว่าง เขาสนุกกับการพับกระดาษ โปรเจกต์ทำเอง และเล่นบาสเก็ตบอล
กษิติซ กุปตะ เป็นสถาปนิกโซลูชันที่ NVIDIA เขาสนุกกับการให้ความรู้แก่ลูกค้าคลาวด์เกี่ยวกับเทคโนโลยี GPU AI ที่ NVIDIA นำเสนอและช่วยเหลือพวกเขาในการเร่งการเรียนรู้ด้วยเครื่องและแอปพลิเคชันการเรียนรู้เชิงลึก นอกเวลางาน เขาชอบวิ่ง เดินป่า และชมสัตว์ป่า
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตไอสตรีม. ข้อมูลอัจฉริยะ Web3 ขยายความรู้ เข้าถึงได้ที่นี่.
- การสร้างอนาคตโดย Adryenn Ashley เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :มี
- :เป็น
- :ไม่
- :ที่ไหน
- $ ขึ้น
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- ความสามารถ
- เกี่ยวกับเรา
- เร่งความเร็ว
- เร่ง
- เร่ง
- เร่ง
- เข้า
- ตาม
- ตาม
- ลงชื่อเข้าใช้
- บรรลุ
- ข้าม
- เพิ่ม
- นอกจากนี้
- เพิ่มเติม
- ที่อยู่
- แอดเดรส
- การนำ
- หลังจาก
- กับ
- ข้อตกลง
- AI
- ขั้นตอนวิธี
- ทั้งหมด
- การจัดสรร
- อนุญาต
- ช่วยให้
- ตาม
- แล้ว
- ด้วย
- แม้ว่า
- เสมอ
- อเมซอน
- อเมซอน SageMaker
- Amazon Web Services
- Amazon.com
- จำนวน
- an
- และ
- ใด
- API
- การใช้งาน
- เหมาะสม
- สถาปัตยกรรม
- เป็น
- พื้นที่
- อาร์กิวเมนต์
- แถว
- เทียม
- ปัญญาประดิษฐ์
- AS
- ช่วย
- At
- รถยนต์
- ใช้ได้
- หลีกเลี่ยง
- AWS
- แบ็กเอนด์
- ยอดคงเหลือ
- ตาม
- ทุบตี
- รากฐาน
- บาสเกตบอล
- BE
- เพราะ
- กลายเป็น
- รับ
- ก่อน
- เริ่ม
- หลัง
- ด้านล่าง
- ประโยชน์
- ที่ดีที่สุด
- ดีกว่า
- ระหว่าง
- ที่ใหญ่กว่า
- บล็อก
- ร่างกาย
- ทั้งสอง
- กันชน
- สร้าง
- การก่อสร้าง
- สร้าง
- แต่
- by
- C + +
- ที่เรียกว่า
- CAN
- บัตร
- กรณี
- กรณี
- หมวดหมู่
- ก่อให้เกิด
- ความท้าทาย
- เปลี่ยนแปลง
- ลักษณะ
- ตรวจสอบ
- ชิป
- Choose
- เลือก
- เมือง
- ชั้น
- การจัดหมวดหมู่
- ไคลเอนต์
- ลูกค้า
- เมฆ
- รหัส
- คอลัมน์
- COM
- มา
- มา
- ร่วมกัน
- สื่อสาร
- การสื่อสาร
- ชุมชน
- เข้ากันได้
- ซับซ้อน
- การคำนวณ
- คอมพิวเตอร์
- วิทยาการคอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- การคำนวณ
- องค์ประกอบ
- การเชื่อมต่อ
- พิจารณา
- ถือว่า
- บริโภค
- การบริโภค
- ภาชนะ
- ภาชนะบรรจุ
- มี
- เนื้อหา
- ตรงกันข้าม
- ควบคุม
- สะดวกสบาย
- การแปลง
- แปลง
- แกน
- ตรงกัน
- ราคา
- ลดต้นทุน
- ประหยัดค่าใช้จ่าย
- หน้าปก
- สร้าง
- ที่สร้างขึ้น
- สร้าง
- เกณฑ์
- สำคัญมาก
- ขณะนี้
- ประเพณี
- ลูกค้า
- รอบ
- ดัลลัส
- ข้อมูล
- วันที่
- วัน
- จัดการ
- การตัดสินใจ
- ลึก
- การเรียนรู้ลึก ๆ
- ลึก
- ค่าเริ่มต้น
- ค่าเริ่มต้น
- องศา
- ความล่าช้า
- เรียกร้อง
- ความต้องการ
- ทั้งนี้ขึ้นอยู่กับ
- ปรับใช้
- นำไปใช้
- ปรับใช้
- การใช้งาน
- ความลึก
- ออกแบบ
- รายละเอียด
- กำหนด
- แน่นอน
- แน่นอน
- การกำหนด
- นักพัฒนา
- ความแตกต่าง
- ต่าง
- กระจาย
- คอมพิวเตอร์แบบกระจาย
- DIY
- do
- เอกสาร
- ไม่
- การทำ
- โดเมน
- ทำ
- นกพิราบ
- สอง
- ในระหว่าง
- แต่ละ
- ก่อน
- การให้ความรู้
- อย่างมีประสิทธิภาพ
- อย่างมีประสิทธิภาพ
- ทั้ง
- เน้น
- ช่วยให้
- ส่งเสริม
- ปลาย
- ปลายทาง
- เครื่องยนต์
- เครื่องยนต์
- ทำให้มั่นใจ
- การสร้างความมั่นใจ
- Enterprise
- ผู้ประกอบการ
- ทั้งหมด
- สิ่งแวดล้อม
- ข้อผิดพลาด
- แม้
- ทุกๆ
- ตัวอย่าง
- ตัวอย่าง
- การแลกเปลี่ยน
- คาดหวัง
- ที่คาดหวัง
- ประสบการณ์
- ส่งออก
- ปัจจัย
- อย่างเป็นธรรม
- ฟอลส์
- เท็จ
- ลักษณะ
- คุณสมบัติ
- เฟด
- การกินอาหาร
- สองสาม
- รูป
- เนื้อไม่มีมัน
- ไฟล์
- หา
- เสร็จสิ้น
- ชื่อจริง
- ไหล
- โฟกัส
- มุ่งเน้นไปที่
- ปฏิบัติตาม
- ตาม
- ดังต่อไปนี้
- รอยพระบาท
- สำหรับ
- ฟอร์ม
- รูป
- พบ
- กรอบ
- กรอบ
- การหลอกลวง
- ฟรี
- ราคาเริ่มต้นที่
- นอกจากนี้
- กําไร
- General
- สร้าง
- ได้รับ
- ให้
- กำหนด
- GPU
- อย่างมาก
- บัญชีกลุ่ม
- กลุ่ม
- คำแนะนำ
- เกิดขึ้น
- ยาก
- ฮาร์ดแวร์
- มี
- he
- ช่วย
- การช่วยเหลือ
- จะช่วยให้
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ระดับสูง
- ประสิทธิภาพสูง
- สูงกว่า
- ไฮไลท์
- ของเขา
- ถือ
- ถือ
- เจ้าภาพ
- เป็นเจ้าภาพ
- โฮสติ้ง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- อย่างไรก็ตาม
- HTML
- ที่ http
- HTTPS
- เจ็บ
- เอกลักษณ์
- รหัส
- IDX
- if
- ภาพ
- ส่งผลกระทบ
- ผลกระทบ
- การดำเนินการ
- การดำเนินการ
- การดำเนินการ
- การนำเข้า
- in
- ประกอบด้วย
- รวมทั้ง
- เพิ่ม
- บ่งชี้ว่า
- ข้อมูล
- แจ้ง
- อินพุต
- ติดตั้ง
- ตัวอย่าง
- คำแนะนำการใช้
- บูรณาการ
- Intelligence
- อยากเรียนรู้
- ภายใน
- เข้าไป
- IT
- ITS
- jpg
- JSON
- เพียงแค่
- เก็บ
- คีย์
- ชนิด
- ทราบ
- ใหญ่
- องค์กรขนาดใหญ่
- ที่มีขนาดใหญ่
- ความแอบแฝง
- ล่าสุด
- แบบ
- เรียนรู้
- การเรียนรู้
- น้อยที่สุด
- นำ
- ถูกกฎหมาย
- น้อยลง
- ชั้น
- ระดับ
- เลฟเวอเรจ
- ห้องสมุด
- ห้องสมุด
- กดไลก์
- LIMIT
- Line
- รายการ
- โหลด
- ตรรกะ
- ตรรกะ
- นาน
- เครื่อง
- เรียนรู้เครื่อง
- ทำ
- จัดการ
- หลาย
- ปริญญาโท
- การจับคู่
- แม็กซ์
- สูงสุด
- อาจ..
- กลไก
- พบ
- ที่ประชุม
- หน่วยความจำ
- กล่าวถึง
- พ่อค้า
- ตัวชี้วัด
- อาจ
- อพยพ
- ใจ
- ML
- โหมด
- แบบ
- โมเดล
- เดือน
- ข้อมูลเพิ่มเติม
- มากที่สุด
- เป็นที่นิยม
- ย้าย
- ปลายทางหลายรุ่น
- หลาย
- ต้อง
- ชื่อ
- การตั้งชื่อ
- พื้นเมือง
- จำเป็นต้อง
- ความต้องการ
- ใหม่
- NLP
- ไม่
- โหนด
- สมุดบันทึก
- ตอนนี้
- จำนวน
- มึน
- Nvidia
- ได้รับ
- of
- เสนอ
- เสนอ
- มักจะ
- on
- ONE
- คน
- เพียง
- โอเพนซอร์ส
- ดีที่สุด
- การเพิ่มประสิทธิภาพ
- เพิ่มประสิทธิภาพ
- การปรับให้เหมาะสม
- การเพิ่มประสิทธิภาพ
- ตัวเลือกเสริม (Option)
- Options
- or
- ใบสั่ง
- องค์กร
- Organized
- แต่เดิม
- OS
- อื่นๆ
- มิฉะนั้น
- ของเรา
- ออก
- เอาท์พุต
- ด้านนอก
- ของตนเอง
- แพ็คเกจ
- บรรจุภัณฑ์
- หมีแพนด้า
- Parallel
- พารามิเตอร์
- พารามิเตอร์
- ที่เข้าร่วมโครงการ
- ในสิ่งที่สนใจ
- ผ่าน
- ผ่าน
- เส้นทาง
- ดำเนินการ
- การปฏิบัติ
- ดำเนินการ
- การอนุญาต
- การถ่ายภาพ
- ท่อ
- เวที
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เล่น
- กรุณา
- มากมายเหลือเฟือ
- นโยบาย
- นโยบาย
- สระ
- ยอดนิยม
- ความนิยม
- เป็นไปได้
- อาจ
- โพสต์
- อำนาจ
- คาดการณ์
- ทายได้
- ที่คาดการณ์
- คำทำนาย
- การคาดการณ์
- ก่อนหน้านี้
- ประถม
- หลัก
- ปัญหาที่เกิดขึ้น
- กระบวนการ
- กระบวนการ
- การประมวลผล
- กำลังประมวลผล
- โปรเซสเซอร์
- ก่อ
- การผลิต
- โครงการ
- เหมาะสม
- โปรโต
- ให้
- ให้
- ผู้จัดหา
- ให้
- การให้
- หลาม
- ไฟฉาย
- สุ่ม
- ตั้งแต่
- ค่อนข้าง
- ดิบ
- พร้อม
- โลกแห่งความจริง
- เรียลไทม์
- เหตุผล
- แนะนำ
- ลด
- เรียกว่า
- ไม่คำนึงถึง
- ภูมิภาค
- ที่เกี่ยวข้อง
- ตรงประเด็น
- แทนที่
- กรุ
- การแสดง
- เป็นตัวแทนของ
- แสดงให้เห็นถึง
- ขอ
- การร้องขอ
- ต้องการ
- จำเป็นต้องใช้
- ความต้องการ
- ต้อง
- คำตอบ
- รับผิดชอบ
- ผล
- ผลสอบ
- บทบาท
- วิ่ง
- วิ่ง
- s
- sagemaker
- การอนุมาน SageMaker
- เดียวกัน
- เงินออม
- ที่ปรับขนาดได้
- ขนาด
- ปรับ
- สถานการณ์
- การกำหนด
- วิทยาศาสตร์
- นักวิทยาศาสตร์
- scikit เรียนรู้
- คะแนน
- Section
- เห็น
- ที่กำลังมองหา
- เลือก
- ส่ง
- ระดับอาวุโส
- แยก
- ให้บริการ
- บริการ
- ผู้ให้บริการ
- บริการ
- การให้บริการ
- ชุด
- การตั้งค่า
- การตั้งค่า
- รูปร่าง
- ที่ใช้ร่วมกัน
- น่า
- โชว์
- แสดงให้เห็นว่า
- ด้าน
- อย่างมีความหมาย
- คล้ายคลึงกัน
- ง่าย
- เดียว
- ขนาด
- ขนาด
- So
- ทางออก
- โซลูชัน
- แก้
- การแก้
- บาง
- แหล่ง
- ความเชี่ยวชาญ
- โดยเฉพาะ
- สเปค
- ที่ระบุไว้
- ใช้จ่าย
- มาตรฐาน
- เริ่มต้น
- ที่เริ่มต้น
- startups
- สถานะ
- Status
- คงที่
- ขั้นตอน
- ขั้นตอน
- การเก็บรักษา
- จัดเก็บ
- เก็บไว้
- ซื่อตรง
- เชือก
- โครงสร้าง
- ที่ประสบความสำเร็จ
- อย่างเช่น
- แนะนำ
- เหมาะสม
- สนับสนุน
- ที่สนับสนุน
- รองรับ
- เอา
- ทีม
- เทคนิค
- เทคโนโลยี
- เทคโนโลยี
- บอก
- เงื่อนไขการใช้บริการ
- กว่า
- ที่
- พื้นที่
- ข้อมูล
- ของพวกเขา
- พวกเขา
- แล้วก็
- ที่นั่น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- สิ่ง
- นี้
- เหล่านั้น
- แต่?
- สาม
- ธรณีประตู
- ปริมาณงาน
- เวลา
- ไปยัง
- ในวันนี้
- ร่วมกัน
- ระดับบนสุด
- ตามธรรมเนียม
- ผ่านการฝึกอบรม
- การฝึกอบรม
- การถ่ายโอน
- การเดินทาง
- ต้นไม้
- แนวโน้ม
- ไทรทัน
- จริง
- สอง
- ชนิด
- ชนิด
- เป็นปกติ
- เข้าใจ
- อัปโหลด
- อัปโหลด
- us
- ใช้
- มือสอง
- ผู้ใช้งาน
- การใช้
- ใช้ประโยชน์
- การใช้ประโยชน์
- ความคุ้มค่า
- ความคุ้มค่า
- ต่างๆ
- รุ่น
- ผ่านทาง
- วิสัยทัศน์
- W
- รอ
- ต้องการ
- คือ
- ชม
- ทาง..
- we
- เว็บ
- บริการเว็บ
- ดี
- คือ
- อะไร
- เมื่อ
- เมื่อไรก็ตาม
- ว่า
- ที่
- ในขณะที่
- จะ
- กับ
- ภายใน
- ไม่มี
- งาน
- ทำงาน
- ผู้ปฏิบัติงาน
- โรงงาน
- จะ
- XGBoost
- ปี
- คุณ
- ของคุณ
- ลมทะเล
- รหัสไปรษณีย์