การระบุข้อความถอดความมีคุณค่าทางธุรกิจในหลายกรณีการใช้งาน ตัวอย่างเช่น โดยการระบุการถอดความประโยค ระบบการสรุปข้อความสามารถลบข้อมูลที่ซ้ำซ้อนได้ อีกโปรแกรมหนึ่งคือการระบุเอกสารที่ลอกเลียนแบบ ในโพสต์นี้ เราปรับแต่ง a กอดหน้า หม้อแปลงไฟฟ้าบน อเมซอน SageMaker เพื่อระบุคู่ประโยคที่ถอดความในไม่กี่ขั้นตอน
โมเดลที่มีประสิทธิภาพอย่างแท้จริงสามารถระบุข้อความที่ถอดความได้เมื่อภาษาที่ใช้อาจแตกต่างกันโดยสิ้นเชิง และยังระบุความแตกต่างเมื่อภาษาที่ใช้มีความทับซ้อนกันของคำศัพท์สูง ในบทความนี้ เราเน้นที่ส่วนหลัง โดยเฉพาะอย่างยิ่ง เราพิจารณาว่าเราสามารถฝึกแบบจำลองที่สามารถระบุความแตกต่างระหว่างสองประโยคที่มีการทับซ้อนของคำศัพท์สูงและความหมายที่แตกต่างกันหรือตรงกันข้ามอย่างมากหรือไม่ ตัวอย่างเช่น ประโยคต่อไปนี้มีคำเหมือนกันทุกประการแต่มีความหมายตรงกันข้าม:
- ฉันนั่งเครื่องบินจากนิวยอร์กไปปารีส
- ฉันนั่งเครื่องบินจากปารีสไปนิวยอร์ก
ภาพรวมโซลูชัน
เราแนะนำคุณผ่านขั้นตอนระดับสูงดังต่อไปนี้:
- ตั้งค่าสภาพแวดล้อม
- เตรียมข้อมูล.
- Tokenize ชุดข้อมูล
- ปรับแต่งโมเดลอย่างละเอียด
- ปรับใช้โมเดลและทำการอนุมาน
- ประเมินประสิทธิภาพของแบบจำลอง
หากคุณต้องการข้ามการตั้งค่าสภาพแวดล้อม คุณสามารถใช้สมุดบันทึกต่อไปนี้บน GitHub และรันโค้ดใน SageMaker
Hugging Face และ AWS ประกาศความร่วมมือเมื่อต้นปี 2022 ซึ่งทำให้การฝึกโมเดล Hugging Face บน SageMaker ง่ายยิ่งขึ้น ฟังก์ชันนี้ใช้งานได้ผ่านการพัฒนา Hugging Face คอนเทนเนอร์การเรียนรู้เชิงลึกของ AWS (DLC). คอนเทนเนอร์เหล่านี้รวมถึง Hugging Face Transformers, Tokenizers และไลบรารีชุดข้อมูล ซึ่งช่วยให้เราใช้ทรัพยากรเหล่านี้สำหรับการฝึกอบรมและการอนุมานได้ สำหรับรายการอิมเมจ DLC ที่มี โปรดดูที่ รูปภาพคอนเทนเนอร์การเรียนรู้เชิงลึกที่มีอยู่. พวกเขาได้รับการบำรุงรักษาและอัปเดตเป็นประจำด้วยแพตช์ความปลอดภัย คุณจะพบตัวอย่างมากมายเกี่ยวกับวิธีการฝึกโมเดล Hugging Face ด้วย DLC เหล่านี้และ กอดใบหน้า Python SDK ในต่อไปนี้ repo GitHub.
ชุดข้อมูล PAWS
ตระหนักถึงการขาดชุดข้อมูลคู่ประโยคที่มีประสิทธิภาพซึ่งแสดงการทับซ้อนของคำศัพท์สูงโดยไม่ต้องถอดความต้นฉบับ อุ้งเท้า ชุดข้อมูลที่เผยแพร่ในปี 2019 มีวัตถุประสงค์เพื่อให้ชุมชนการประมวลผลภาษาธรรมชาติ (NLP) เป็นทรัพยากรใหม่สำหรับการฝึกอบรมและการประเมินแบบจำลองการตรวจจับการถอดความ คู่ประโยค PAWS ถูกสร้างขึ้นในสองขั้นตอนโดยใช้ วิกิพีเดีย และ คู่คำถาม Quora (QQP) ชุดข้อมูล โมเดลภาษาจะสลับคำในคู่ประโยคด้วย Bag of Words (BOW) เดียวกันก่อนเพื่อสร้างคู่ประโยค ขั้นตอนการแปลย้อนกลับจะสร้างการถอดความที่มี BOW ทับซ้อนกันสูง แต่ใช้ลำดับคำที่ต่างกัน ชุดข้อมูล PAWS สุดท้ายประกอบด้วยคู่ที่ติดฉลากโดยมนุษย์จำนวน 108,000 คู่และคู่ที่ติดฉลากที่มีเสียงดัง 656,000 คู่
ในโพสต์นี้เราใช้ ป้าย PAWS-Wiki (รอบชิงชนะเลิศ) ชุดข้อมูลจาก Hugging Face Hugging Face ได้ดำเนินการแบ่งข้อมูลให้เราแล้ว ซึ่งส่งผลให้มีคู่ประโยค 49,000 คู่ในชุดข้อมูลการฝึก และคู่ประโยค 8,000 คู่สำหรับชุดข้อมูลการตรวจสอบและทดสอบ ตัวอย่างคู่ประโยคสองประโยคจากชุดข้อมูลการฝึกแสดงในตัวอย่างต่อไปนี้ ป้ายกำกับ 1 แสดงว่าทั้งสองประโยคเป็นการถอดความของกันและกัน
ประโยค 1 | ประโยค 2 | ฉลาก |
ถึงแม้ว่าจะใช้แทนกันได้ แต่ชิ้นส่วนของรถทั้ง 2 คันนั้นไม่เหมือนกัน | แม้ว่าจะคล้ายคลึงกัน แต่ส่วนต่าง ๆ ของร่างกายไม่สามารถเปลี่ยนได้ในรถ 2 คัน | 0 |
Katz เกิดที่สวีเดนในปี 1947 และย้ายไปนิวยอร์กซิตี้เมื่ออายุได้ 1 ขวบ | Katz เกิดในปี 1947 ในสวีเดนและย้ายไปนิวยอร์กเมื่ออายุได้หนึ่งขวบ | 1 |
เบื้องต้น
คุณต้องปฏิบัติตามข้อกำหนดเบื้องต้นต่อไปนี้:
- ลงชื่อสมัครใช้บัญชี AWS หากคุณยังไม่มี ดูข้อมูลเพิ่มเติมได้ที่ ตั้งค่าข้อกำหนดเบื้องต้นของ Amazon SageMaker.
- เริ่มต้นใช้งาน อินสแตนซ์โน้ตบุ๊ก SageMaker.
- ตั้งค่าขวา AWS Identity และการจัดการการเข้าถึง (IAM) สิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่ บทบาทของ SageMaker.
ตั้งค่าสภาพแวดล้อม
ก่อนที่เราจะเริ่มต้นตรวจสอบและเตรียมข้อมูลของเราสำหรับการปรับแต่งแบบจำลอง เราต้องตั้งค่าสภาพแวดล้อมของเรา เริ่มต้นด้วยการหมุนอินสแตนซ์โน้ตบุ๊ก SageMaker เลือกภูมิภาค AWS ในบัญชี AWS ของคุณและทำตามคำแนะนำเพื่อ สร้างอินสแตนซ์โน้ตบุ๊ก SageMaker. อินสแตนซ์โน้ตบุ๊กอาจใช้เวลาในการหมุนสักครู่
เมื่ออินสแตนซ์โน้ตบุ๊กกำลังทำงาน ให้เลือก conda_pytorch_p38
เป็นประเภทเคอร์เนลของคุณ ในการใช้ชุดข้อมูล Hugging Face ก่อนอื่นเราต้องติดตั้งและนำเข้าคลัง Hugging Face:
ต่อไป มาสร้างเซสชัน SageMaker เราใช้ค่าเริ่มต้น บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon บัคเก็ต (Amazon S3) ที่เชื่อมโยงกับเซสชัน SageMaker เพื่อจัดเก็บชุดข้อมูล PAWS และสิ่งประดิษฐ์ของโมเดล:
เตรียมข้อมูล
เราสามารถโหลดชุดข้อมูล PAWS เวอร์ชัน Hugging Face ด้วย load_dataset()
สั่งการ. การโทรนี้จะดาวน์โหลดและนำเข้าสคริปต์การประมวลผล PAWS Python จากที่เก็บ Hugging Face GitHub ซึ่งจะดาวน์โหลดชุดข้อมูล PAWS จาก URL ดั้งเดิมที่จัดเก็บไว้ในสคริปต์และแคชข้อมูลเป็นตาราง Arrow บนไดรฟ์ ดูรหัสต่อไปนี้:
ก่อนที่เราจะเริ่มต้นปรับแต่งโมเดล BERT ที่ผ่านการฝึกอบรมมาแล้ว มาดูการกระจายคลาสเป้าหมายของเรา สำหรับกรณีการใช้งานของเรา ชุดข้อมูล PAWS มีป้ายกำกับไบนารี (0 บ่งชี้ว่าคู่ประโยคไม่ใช่การถอดความ และ 1 บ่งชี้ว่าเป็น) มาสร้างแผนภูมิคอลัมน์เพื่อดูการแจกแจงชั้นเรียน ดังแสดงในโค้ดต่อไปนี้ เราพบว่ามีปัญหาความไม่สมดุลของชั้นเรียนเล็กน้อยในชุดการฝึกของเรา (กลุ่มตัวอย่างเชิงลบ 56% เทียบกับกลุ่มตัวอย่างเชิงบวก 44%) อย่างไรก็ตาม ความไม่สมดุลนั้นมีขนาดเล็กพอที่จะหลีกเลี่ยงการใช้เทคนิคการบรรเทาความไม่สมดุลของคลาส
Tokenize ชุดข้อมูล
ก่อนที่เราจะเริ่มต้นการปรับแต่ง เราต้องสร้างชุดข้อมูลของเราให้เป็นโทเค็น ในจุดเริ่มต้น สมมติว่าเราต้องการปรับแต่งและประเมินค่า roberta-base
หม้อแปลงไฟฟ้า เราเลือก roberta-base
เพราะเป็นหม้อแปลงไฟฟ้าเอนกประสงค์ที่ได้รับการฝึกอบรมล่วงหน้าเกี่ยวกับคลังข้อมูลภาษาอังกฤษขนาดใหญ่ และได้แสดงประสิทธิภาพสูงในงาน NLP ที่หลากหลาย ต้นแบบนี้ถูกนำมาใช้ในกระดาษ RoBERTa: วิธีการเตรียมการฝึกอบรม BERT ที่ได้รับการเพิ่มประสิทธิภาพอย่างแข็งแกร่ง.
เราดำเนินการ tokenization ในประโยคด้วย a roberta-base
tokenizer จาก Hugging Face ซึ่งใช้ Byte Pair Encoding ระดับไบต์เพื่อแยกเอกสารออกเป็นโทเค็น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ RoBERTa tokenizer โปรดดูที่ โรเบอร์ตาโทเคไนเซอร์. เนื่องจากอินพุตของเราเป็นคู่ประโยค เราจึงต้องสร้างโทเค็นทั้งสองประโยคพร้อมกัน เนื่องจากโมเดล BERT ส่วนใหญ่ต้องการให้อินพุตมีความยาวอินพุตโทเค็นตายตัว เราจึงตั้งค่าพารามิเตอร์ต่อไปนี้: max_len=128
และ truncation=True
. ดูรหัสต่อไปนี้:
ขั้นตอนสุดท้ายในการประมวลผลล่วงหน้าสำหรับการปรับแต่งโมเดล BERT ของเราคือการแปลงชุดข้อมูลรถไฟและการตรวจสอบความถูกต้องให้เป็นเมตริกซ์ PyTorch และอัปโหลดไปยังบัคเก็ต S3 ของเรา:
ปรับแต่งโมเดล
เมื่อเตรียมข้อมูลเสร็จแล้ว เราก็พร้อมที่จะปรับแต่งการฝึกอบรมล่วงหน้าของเราแล้ว roberta-base
แบบจำลองในงานระบุการถอดความ เราสามารถใช้คลาส SageMaker Hugging Face Estimator เพื่อเริ่มกระบวนการปรับแต่งได้ในสองขั้นตอน ขั้นตอนแรกคือการระบุไฮเปอร์พารามิเตอร์การฝึกอบรมและคำจำกัดความของเมตริก ตัวแปรคำจำกัดความเมตริกจะบอกตัวประมาณการใบหน้ากอดว่าควรแยกเมตริกประเภทใดจากบันทึกการฝึกของโมเดล ในที่นี้ เราสนใจหลักในการแยกเมตริกชุดการตรวจสอบความถูกต้องในแต่ละช่วงการฝึกอบรม
ขั้นตอนที่สองคือการสร้างอินสแตนซ์ Hugging Face Estimator และเริ่มกระบวนการปรับแต่งอย่างละเอียดด้วย .fit()
วิธี:
กระบวนการปรับละเอียดใช้เวลาประมาณ 30 นาทีโดยใช้ไฮเปอร์พารามิเตอร์ที่ระบุ
ปรับใช้โมเดลและทำการอนุมาน
SageMaker มีตัวเลือกการปรับใช้หลายแบบขึ้นอยู่กับกรณีการใช้งานของคุณ สำหรับตำแหน่งข้อมูลเรียลไทม์แบบต่อเนื่องที่คาดการณ์ได้ครั้งละหนึ่งรายการ เราขอแนะนำให้ใช้ SageMaker บริการโฮสต์แบบเรียลไทม์. หากคุณมีปริมาณงานที่มีช่วงว่างระหว่างช่วงที่มีการจราจรติดขัดและสามารถทนต่อการสตาร์ทขณะเย็นได้ เราขอแนะนำให้ใช้ การอนุมานแบบไร้เซิร์ฟเวอร์. ตำแหน่งข้อมูลแบบไร้เซิร์ฟเวอร์จะเปิดทรัพยากรการประมวลผลโดยอัตโนมัติและปรับขนาดเข้าและออกโดยขึ้นอยู่กับการรับส่งข้อมูล ทำให้ไม่จำเป็นต้องเลือกประเภทอินสแตนซ์หรือจัดการนโยบายการปรับขนาด เราสาธิตวิธีปรับใช้โมเดล Hugging Face ที่ปรับแต่งมาอย่างดีกับทั้งปลายทางการอนุมานแบบเรียลไทม์และจุดสิ้นสุดการอนุมานแบบไร้เซิร์ฟเวอร์
ปรับใช้กับจุดสิ้นสุดการอนุมานตามเวลาจริง
คุณสามารถปรับใช้ออบเจ็กต์การฝึกอบรมบนโฮสต์การอนุมานแบบเรียลไทม์ภายใน SageMaker โดยใช้ .deploy()
กระบวนการ. สำหรับรายการพารามิเตอร์ที่ยอมรับทั้งหมด โปรดดูที่ โมเดลหน้ากอด. ในการเริ่มต้น เรามาปรับใช้โมเดลกับอินสแตนซ์เดียว โดยส่งพารามิเตอร์ต่อไปนี้: initial_instance_count
, instance_type
และ endpoint_name
. ดูรหัสต่อไปนี้:
โมเดลใช้เวลาในการปรับใช้ไม่กี่นาที หลังจากปรับใช้โมเดลแล้ว เราสามารถส่งบันทึกตัวอย่างจากชุดข้อมูลทดสอบที่มองไม่เห็นไปยังปลายทางเพื่ออนุมานได้
ปรับใช้กับปลายทางการอนุมานแบบไร้เซิร์ฟเวอร์
ในการปรับใช้อ็อบเจกต์การฝึกอบรมของเราบนจุดสิ้นสุดแบบไร้เซิร์ฟเวอร์ อันดับแรก เราต้องระบุไฟล์การกำหนดค่าแบบไร้เซิร์ฟเวอร์ด้วย memory_size_in_mb
และ max_concurrency
ข้อโต้แย้ง:
memory_size_in_mb
กำหนดขนาด RAM ทั้งหมดของปลายทางแบบไร้เซิร์ฟเวอร์ของคุณ ขนาด RAM ขั้นต่ำคือ 1024 MB (1 GB) และสามารถขยายได้สูงสุด 6144 MB (6 GB) โดยทั่วไป คุณควรตั้งเป้าที่จะเลือกขนาดหน่วยความจำที่อย่างน้อยก็ใหญ่เท่ากับขนาดโมเดลของคุณ max_concurrency
กำหนดโควต้าสำหรับจำนวนการเรียกใช้พร้อมกันที่สามารถประมวลผลได้ในเวลาเดียวกัน (การเรียกใช้พร้อมกันสูงสุด 50 รายการ) สำหรับปลายทางเดียว
เรายังจำเป็นต้องจัดหา URI อิมเมจการอนุมานใบหน้ากอด ซึ่งคุณสามารถดึงข้อมูลได้โดยใช้รหัสต่อไปนี้:
ตอนนี้เรามีไฟล์กำหนดค่าแบบไร้เซิร์ฟเวอร์แล้ว เราสามารถสร้างปลายทางแบบไร้เซิร์ฟเวอร์ได้ในลักษณะเดียวกับจุดสิ้นสุดการอนุมานแบบเรียลไทม์ของเรา โดยใช้ .deploy()
วิธี:
จุดสิ้นสุดควรถูกสร้างขึ้นในไม่กี่นาที
ทำการอนุมานแบบจำลอง
ในการทำนาย เราจำเป็นต้องสร้างคู่ประโยคโดยเติม [CLS]
และ [SEP]
โทเค็นพิเศษแล้วส่งอินพุตไปยังจุดสิ้นสุดของโมเดล ไวยากรณ์สำหรับการอนุมานตามเวลาจริงและการอนุมานแบบไร้เซิร์ฟเวอร์จะเหมือนกัน:
ในตัวอย่างต่อไปนี้ เราจะเห็นว่าโมเดลสามารถจำแนกได้อย่างถูกต้องว่าคู่ประโยคอินพุตมีประโยคที่ถอดความหรือไม่
ต่อไปนี้เป็นตัวอย่างการอนุมานตามเวลาจริง
ต่อไปนี้เป็นตัวอย่างการอนุมานแบบไร้เซิร์ฟเวอร์
ประเมินประสิทธิภาพของแบบจำลอง
ในการประเมินโมเดล ให้ขยายโค้ดก่อนหน้าและส่งเร็กคอร์ดการทดสอบที่มองไม่เห็นทั้งหมด 8,000 รายการไปยังปลายทางแบบเรียลไทม์:
ต่อไป เราสามารถสร้างรายงานการจัดหมวดหมู่โดยใช้การคาดคะเนที่แยกออกมา:
เราได้รับคะแนนการทดสอบดังต่อไปนี้
เราสามารถสังเกตได้ว่า roberta-base
มีคะแนน F1 เฉลี่ยมาโครรวมกันที่ 92% และทำงานได้ดีขึ้นเล็กน้อยในการตรวจหาประโยคที่มีการถอดความ ดิ roberta-base
โมเดลทำงานได้ดี แต่ควรคำนวณประสิทธิภาพของแบบจำลองโดยใช้แบบจำลองอื่นอย่างน้อยหนึ่งตัว
ตารางต่อไปนี้เปรียบเทียบ roberta-base
ผลการปฏิบัติงานในชุดทดสอบเดียวกันกับหม้อแปลงไฟฟ้าแบบปรับละเอียดอีกตัวหนึ่งที่เรียกว่า paraphrase-mpnet-base-v2
, หม้อแปลงประโยคที่ได้รับการฝึกฝนมาโดยเฉพาะสำหรับงานระบุตัวตนแบบถอดความ โมเดลทั้งสองได้รับการฝึกอบรมบนอินสแตนซ์ ml.p3.8xlarge
ผลปรากฏว่า roberta-base
มีคะแนน F1 สูงกว่า 1% โดยมีเวลาการฝึกอบรมและอนุมานใกล้เคียงกันมากโดยใช้โฮสต์การอนุมานแบบเรียลไทม์บน SageMaker ความแตกต่างด้านประสิทธิภาพระหว่างรุ่นค่อนข้างน้อย อย่างไรก็ตาม roberta-base
เป็นผู้ชนะในที่สุด เนื่องจากมีการวัดประสิทธิภาพที่ดีขึ้นเล็กน้อยและการฝึกอบรมและการอนุมานที่เกือบจะเหมือนกัน
ความแม่นยำ | จำ | คะแนน F1 | เวลาฝึกอบรม (เรียกเก็บเงินได้) | เวลาอนุมาน (ชุดทดสอบเต็ม) | |
โรเบอร์ต้าเบส | 0.92 | 0.93 | 0.92 | 18 นาที | 2 นาที |
ถอดความ mpnet- ฐาน-v2 |
0.92 | 0.91 | 0.91 | 17 นาที | 2 นาที |
ทำความสะอาด
เมื่อคุณใช้ปลายทางของโมเดลเสร็จแล้ว คุณสามารถลบได้เพื่อหลีกเลี่ยงค่าใช้จ่ายในอนาคต:
สรุป
ในโพสต์นี้ เราได้พูดถึงวิธีสร้างแบบจำลองการระบุการถอดความอย่างรวดเร็วโดยใช้หม้อแปลง Hugging Face บน SageMaker เราได้ปรับแต่งหม้อแปลงไฟฟ้าที่ผ่านการฝึกอบรมมาแล้วสองตัว roberta-base
และ paraphrase-mpnet-base-v2
โดยใช้ชุดข้อมูล PAWS (ซึ่งมีคู่ประโยคที่มีการทับซ้อนของคำศัพท์สูง) เราแสดงให้เห็นและอภิปรายถึงประโยชน์ของการอนุมานตามเวลาจริงกับการปรับใช้การอนุมานแบบไร้เซิร์ฟเวอร์ โดยคุณสมบัติหลังนี้เป็นคุณลักษณะใหม่ที่กำหนดเป้าหมายปริมาณงานที่มีช่องโหว่และขจัดความจำเป็นในการจัดการนโยบายการปรับขนาด ในชุดการทดสอบที่มองไม่เห็นซึ่งมีระเบียน 8,000 รายการ เราแสดงให้เห็นว่าทั้งสองรุ่นได้คะแนน F1 มากกว่า 90%
หากต้องการขยายโซลูชันนี้ ให้พิจารณาสิ่งต่อไปนี้:
- ลองปรับแต่งด้วยชุดข้อมูลที่คุณกำหนดเอง หากคุณมีป้ายกำกับการฝึกอบรมไม่เพียงพอ คุณสามารถประเมินประสิทธิภาพของแบบจำลองที่ปรับแต่งได้เช่นเดียวกับที่แสดงในโพสต์นี้ในชุดข้อมูลการทดสอบที่กำหนดเอง
- ผสานรวมโมเดลที่ปรับแต่งแล้วนี้ลงในแอปพลิเคชันปลายทางที่ต้องการข้อมูลว่าสองประโยค (หรือกลุ่มข้อความ) เป็นข้อความถอดความของกันและกันหรือไม่
อาคารมีความสุข!
เกี่ยวกับผู้เขียน
บาลา กฤษณามัวร์ธี เป็นนักวิทยาศาสตร์ข้อมูลที่มี AWS Professional Services ซึ่งเขาสนุกกับการใช้การเรียนรู้ของเครื่องเพื่อแก้ปัญหาทางธุรกิจของลูกค้า เขาเชี่ยวชาญด้านกรณีการใช้งานการประมวลผลภาษาธรรมชาติ และได้ทำงานร่วมกับลูกค้าในอุตสาหกรรมต่างๆ เช่น ซอฟต์แวร์ การเงิน และการดูแลสุขภาพ ในเวลาว่าง เขาชอบลองอาหารใหม่ๆ ดูละครตลกและสารคดี ออกกำลังกายที่ Orange Theory และออกไปเล่นน้ำ (เล่นกระดานโต้คลื่น ดำน้ำตื้น และหวังว่าจะดำน้ำในเร็วๆ นี้)
อีวาน ชุย เป็นนักวิทยาศาสตร์ข้อมูลด้วย AWS Professional Services ซึ่งเขาช่วยลูกค้าสร้างและปรับใช้โซลูชันโดยใช้การเรียนรู้ของเครื่องบน AWS เขาได้ทำงานร่วมกับลูกค้าในอุตสาหกรรมที่หลากหลาย รวมทั้งซอฟต์แวร์ การเงิน เภสัชกรรม และการดูแลสุขภาพ ในเวลาว่าง เขาชอบอ่านหนังสือ ใช้เวลาอยู่กับครอบครัว และเพิ่มพอร์ตหุ้น
- '
- "
- 000
- 10
- 100
- 2019
- 2022
- 84
- เกี่ยวกับเรา
- เข้า
- ลงชื่อเข้าใช้
- ประสบความสำเร็จ
- ข้าม
- ทั้งหมด
- แล้ว
- อเมซอน
- ประกาศ
- อื่น
- การใช้งาน
- การประยุกต์ใช้
- ประมาณ
- ข้อโต้แย้ง
- ใช้ได้
- AWS
- กำลัง
- ประโยชน์ที่ได้รับ
- ร่างกาย
- ชายแดน
- สร้าง
- ธุรกิจ
- โทรศัพท์
- สามารถ
- รถยนต์
- กรณี
- โหลด
- Choose
- เมือง
- ชั้น
- การจัดหมวดหมู่
- รหัส
- คอลัมน์
- รวม
- ชุมชน
- อย่างสมบูรณ์
- คำนวณ
- ความมั่นใจ
- ภาชนะบรรจุ
- มี
- ได้
- สร้าง
- ที่สร้างขึ้น
- ประเพณี
- ลูกค้า
- ลูกค้า
- ข้อมูล
- นักวิทยาศาสตร์ข้อมูล
- สาธิต
- แสดงให้เห็นถึง
- ทั้งนี้ขึ้นอยู่กับ
- ปรับใช้
- นำไปใช้
- การใช้งาน
- รายละเอียด
- การตรวจพบ
- พัฒนาการ
- ต่าง
- การกระจาย
- สารคดี
- เอกสาร
- ดาวน์โหลด
- ขับรถ
- ที่มีประสิทธิภาพ
- ปลายทาง
- ภาษาอังกฤษ
- สิ่งแวดล้อม
- สร้าง
- ประเมินค่า
- ตัวอย่าง
- แสดง
- แสดง
- ใบหน้า
- ครอบครัว
- ลักษณะ
- เงินทุน
- ชื่อจริง
- เที่ยวบิน
- โฟกัส
- ปฏิบัติตาม
- ดังต่อไปนี้
- อาหาร
- ฟรี
- เต็ม
- ฟังก์ชัน
- ฟังก์ชั่น
- อนาคต
- จุดประสงค์ทั่วไป
- โดยทั่วไป
- สร้าง
- GitHub
- ดี
- มากขึ้น
- การดูแลสุขภาพ
- ความสูง
- จะช่วยให้
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- จุดสูง
- สูงกว่า
- โฮสติ้ง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTTPS
- ประจำตัว
- แยกแยะ
- ระบุ
- เอกลักษณ์
- ภาพ
- ประกอบด้วย
- รวมทั้ง
- อุตสาหกรรม
- ข้อมูล
- อินพุต
- ติดตั้ง
- สนใจ
- ปัญหา
- IT
- งาน
- ป้ายกำกับ
- ภาษา
- ใหญ่
- เปิดตัว
- การเรียนรู้
- ห้องสมุด
- รายการ
- โหลด
- เครื่อง
- เรียนรู้เครื่อง
- ทำให้
- จัดการ
- หน่วยความจำ
- ตัวชี้วัด
- ML
- แบบ
- โมเดล
- ข้อมูลเพิ่มเติม
- มากที่สุด
- หลาย
- โดยธรรมชาติ
- เชิงลบ
- นิวยอร์ก
- เมืองนิวยอร์ก
- สมุดบันทึก
- เสนอ
- การปรับให้เหมาะสม
- Options
- ใบสั่ง
- อื่นๆ
- ของตนเอง
- กระดาษ
- ปารีส
- พาร์ทเนอร์
- ที่ผ่านไป
- แพทช์
- รูปแบบไฟล์ PDF
- การปฏิบัติ
- งวด
- เภสัชกรรม
- จุด
- นโยบาย
- ผลงาน
- บวก
- การปฏิบัติ
- คำทำนาย
- การคาดการณ์
- ปัญหาที่เกิดขึ้น
- กระบวนการ
- การประมวลผล
- มืออาชีพ
- ให้
- คำถาม
- Quora
- แรม
- ทั้งหมด
- การอ่าน
- เรียลไทม์
- แนะนำ
- บันทึก
- การเผยแพร่
- รายงาน
- กรุ
- ต้องการ
- ทรัพยากร
- แหล่งข้อมูล
- ผลสอบ
- กลับ
- วิ่ง
- วิ่ง
- ขนาด
- ปรับ
- นักวิทยาศาสตร์
- ความปลอดภัย
- เลือก
- serverless
- บริการ
- ชุด
- การตั้งค่า
- คล้ายคลึงกัน
- ง่าย
- ขนาด
- เล็ก
- ซอฟต์แวร์
- ของแข็ง
- ทางออก
- โซลูชัน
- แก้
- พิเศษ
- ความเชี่ยวชาญ
- เฉพาะ
- การใช้จ่าย
- สปิน
- แยก
- เริ่มต้น
- ข้อความที่เริ่ม
- เริ่มต้น
- สต็อก
- การเก็บรักษา
- จัดเก็บ
- ต่อจากนั้น
- จัดหาอุปกรณ์
- สวีเดน
- ระบบ
- เป้า
- งาน
- เทคนิค
- บอก
- ทดสอบ
- ตลอด
- เวลา
- tokenization
- โทเค็น
- ราชสกุล
- ด้านบน
- ไฟฉาย
- การจราจร
- การฝึกอบรม
- การแปลภาษา
- us
- ใช้
- การตรวจสอบ
- ความคุ้มค่า
- ความหลากหลาย
- รายละเอียด
- น้ำดื่ม
- อะไร
- ว่า
- วิกิพีเดีย
- ภายใน
- ไม่มี
- คำ
- ทำงาน
- การทำงาน
- ออกกำลังกาย