Coding Gun

Top 10 AWS Machine Learning services

AWS มี Machine Learning ให้บริการอยู่หลาย Service ด้วยกันในบทความนี้เราจะมาสรุปภาพรวมของ Machine Learning Services บน AWS ว่ามี Service ไหนใช้ทำอะไรได้บ้าง

1. Amazon Comprehend

Amazon Comprehend เป็น Natural Language Processing(NLP) ทำหน้าที่ประมวลผล ทำความเข้าใจความหมายของประโยคที่เราส่งเข้าไป เราสามารถใช้ Comprehend ทำ Sentiment Analysis

Sentiment Analysis คือการวิเคราะห์ความรูสึกของลูกค้า ว่าลูกค้าพูดถึงบริการและสินค้าของเราในแง่บวกหรือแง่ลบ

Amazon Comprehend ใช้ทำอะไรได้บ้าง

  1. Analyze Call Center Analytics คอย detect ว่าลูกค้ารู้สึกยังไงกับบริการของเรา
  2. Search Product Reviews คอยตรวจสอบความรู้สึกของลูกค้าที่ทำการ Review สินค้า

2. Amazon Kendra

Amazon Kendra เป็น Intelligence Search Service เป็น Service ที่ใช้ Machine Learning ในการค้นหาข้อความ โดยที่ Kendra จะสามารถรวบรวมข้อมูลจากแหล่งต่างๆ เช่น S3 Buckets, File server และบนหน้า Website

Amazon Kendra ใช้ทำอะไรได้บ้าง

  1. Research and Development(R&D) เพิ่มความรวดเร็วในการค้นหา paper จากแหล่งต่างๆ นำข้อมูลมา Integrate ไว้ที่เดียว
  2. Customer Interaction ใช้เพิ่มประสิทธิภาพของการค้นหาทำให้ User มีประสบการณ์ที่ดีขึ้น
  3. Employee Productivity ทำให้พนักงานสามารถค้นหาข้อมูลได้รวดเร็วมากขึ้น งานเสร็จเร็วขึ้น

3. Amazon Textract

Amazon Textract ใช้ Machine Learning อ่านข้อความที่เป็นลายมือ หรือ Data ที่ scan เข้ามา ซึ่ง Textract จะดีกว่า Optical Character Recognition(OCR) ตรงที่สามารถอ่านลายมือและข้อความที่ไม่สมบูรณ์ได้ เพราะมี Machine Learning เป็นตัวช่วย

Amazon Textract ใช้ทำอะไรได้บ้าง

เราสามารถอ่านข้อความจากใบเสร็จหรือเอกสารที่เป็น Hard Copy แล้วนำไปเก็บไว้ใน S3 Bucket หรือ AWS Database ได้

4. Amazon Forecast

Amazon Forecast ตือบริการที่ใช้ Machine Learning มาช่วยวิเคราะห์หาแนวโน้ม(Trend) จากข้อมูลที่เป็น Time-Series เราแค่ส่งข้อมูลเข้าไปใน Amazon Forecast ระบบจะเลือก Machine Learning Algorithm และช่วย Forecast ให้เราทันที

Time-Series Data คือข้อมูลที่ถูกเก็บตามช่วยเวลา(Time Series) ซึ่งข้อมูลเหล่านี้เราต้องการค้นหาตามช่วงเวลา ข้อมูลที่เป็น Time Series จะแบ่งออกเป็น 3 กลุ่มใหญ่ๆดังนี้

  1. ข้อมูลจากอุปกรณ์ IoT
  2. ข้อมูล Web traffic
  3. Log Message

5. Amazon Fraud Detector

Amazon Fraud Detector คือบริการที่ใช้ Machine Learning มาตรวจสอบความผิดปกติของ Data ตามชื่อของ Service เลย ซึ่ง Fraud Detection หมายถึงการตรวจสอบการโกงการทุจริต ดังนั้นต้นตอของการโกงหรือการทุจริตคือความผิดปกติต่างๆ เช่น

  1. ตรวจสอบความผิดปกติจากการจ่ายเงิน เช่น โอนเงินไปยังประเทศที่ไม่เคยโอนมาก่อน
  2. ตรวจสอบความผิดปกติของการ Login เข้าใช้งาน Account สำคัญๆ หรือ Account ที่มีความเสี่ยงสูง เช่นมีการ Login เข้ามานอกเวลาทำงาน หรือ Login เข้ามาจากต่างประเทศ
  3. ตรวจสอบการใช้งานที่ผิดปกติ Free Account เช่นเข้าใช้ Service ที่ Free Account ไม่มีสิทธิ

6. Amazon Transcribe

Amazon Transcribe คือบริการแปลงเสียงพูดไปเป็นข้อความ(Speech to Text) เราสามารถนำ Amazon Transcribe มาสร้าง Caption ของ Video ได้เลย เราสามารถทดลองใช้ Amazon Transcribe ได้ฟรี 60 นาทีต่อเดือน(มีผลแค่ 1 ปีนับจากวันที่สมัคร Account)

7. Amazon Lex

Amazon Lex เป็น Chatbot ที่คอยตอบคำถามและพูดคุยกับลูกต้าโดย Amazon Lex จะใช้ Natural Language Model ในการกำหนดลำดับของคำและวิเคราะห์บริบทของการสนทนา

8. Amazon Polly

Amazon Polly คือบริการแปลงข้อความไปเป็นเสียงพูด(Text to Speech) ซึ่งจะตรงข้ามกับ Amazon Transcribe เราสามารถให้ Application ส่งข้อความไปยัง Amazon Polly เพื่อให้ Amazon Polly ส่งเสียงกลับมายัง Application ได้

เราสามารถนำ Amazon Trascribe, Amazon Lex และ Amazon Polly ไปใช้งานร่วมกันได้ดังรูป

การทำงานร่วมกันรหว่าง Amazon Transcribe, Lex และ Polly
การทำงานร่วมกันรหว่าง Amazon Transcribe, Amazon Lex และ Amazon Polly

ซึ่งผลที่ได้จะเป็น Product ที่เราอาจเคยได้ยินชื่อมาบ้างเรียกว่า Amazon Alexa

Amazon Alexa

ซึ่งเบื้องหลังของ Amazon Alexa จะเป็นการทำงานร่วมกันของ Amazon Transcribe, Amazon Lex และ Amazon Polly โดยจะมีขั้นตอนการทำงาน ดังนี้

  1. เมื่อเราพูดกับ Alexa ระบบจะแปลงประโยคที่เราพูดไปเป็นข้อความโดยใช้ AWS Transcribe
  2. หลังจากนั้นระบบจะส่งข้อความเข้าไปที่ Amazon Lex เพื่อสร้างบทสนทนาที่ต้องการตอบกลับ(Chatbot)
  3. เมื่อได้ข้อความที่ต้องการตอบกลับจาก Amazon Lex มาแล้ว Alexa จะส่งข้อความนั้นไปที่ Amazon Polly เพื่อส่งเสียงกลับมาหาเรา

9. Amazon Rekognition

Amazon Rekognition คือบริการที่ใช้ Machine Learning มาทำ Recognotion ตัวอย่างนึงที่เราได้ใช้ในชีวิตประจำวันกันมาบ้างคือ Face Recognotion ซึ่งเป็นส่วนหนึ่งในการทำ Recognotion

Recognition คือการทำความเข้าใจสิ่งที่อยู่ใน Video หรือรูปภาพนั้นคืออะไร

เราสามารถใช้ Amazon Rekognition ทำอะไรได้บ้าง

  1. Face Detection เราสามารถใช้ Rekognition มาทำระบบจดจำใบหน้าได้
  2. Video Event Detection ใช้ rekognition ในการตรวจสอบความผิดปกติที่เกิดขึ้นใน Video Stream
  3. Celebrity Recognition จดจำใบหน้าของผู้ที่มีชื่อเสียง

10. Amazon Sagemaker

Amazon Sagemaker คือบริการสร้างและ Deploy Machine Learning Model ซึ่งจะแตกต่างจากการใช้งาน Machine Learning Services อื่นๆก่อนหน้านี้ที่เราแค่กำหนด Configuration แล้วก็เรียกใช้งานเท่านั้น แต่ในการใช้งาน Amazon Sagemaker เราจะต้องสร้างและ deploy Machine Learning Model ด้วยตัวเอง

Amazon Sagemaker จะแบ่งการทำงานออกเป็น 4 ขั้นตอนหลักๆดังนี้

  1. Ground Truth เป็นการติดตั้งและระบุ Label ให้กับ Dataset(บอกผลลัพธ์) เราอาจใช้ Active Learning หรือการระบุ Label แบบ Manual ก็ได้
  2. Notebook เข้าใช้งาน Jupyter Notebook ใครที่ใช้ Python ต้องใช้ Jupyter notebook
  3. Training ในขั้นตอนนี้เราจะทำการ Train และปรับแต่ง Model ซึ่งขั้นตอนการ Train Model ของ Sagemaker จะเป็นไปตามขั้นตอนต่างๆ ดังรูป
    การ Train Model
    1. ส่งข้อมูลหรือ Dataset ที่ต้องใช้ในการ Train เข้าไปทาง AWS Console, AWS SDK หรือไปวาง Dataset ไว้ใน S3 Bucket
    2. หลังจากนั้น Sagemaker จะนำสร้าง Model ขึ้นมาโดยใช้ Container(ML Training Container)
    3. เมื่อทำการ Train เสร็จเรียบร้อยแล้ว Sagemaker จะนำผลลัพธ์ออกไปวางไว้ใน S3 Bucket
    4. Inference หลังจากที่เราได้ Train Model เสร็จเรียบร้อยแล้ว หลังจากนี้เราจะไปสร้าง Model ใน Sagemaker เพื่อใช้งาน ซึ่งการสร้าง Model จะมีอยู่ 2 ทางเลือกด้วยกันคือ
    • สร้างจาก Model artifact ที่เราได้่จากขั้นตอนก่อนหน้า
    • นำ Model สำเร็จรูปจาก Marketplace มาใช้

ซึ่งหลังจากที่เราได้ Model ที่พร้อมสำหรับนำไปใช้งานแล้ว การนำไปใช้งานจะแบ่งออกเป็น 2 รูปแบบด้วยกันคือ Offline และ Online ซึ่งความแตกต่างของการใช้งานจะเป็นไปตามตารางนี้

Offline Online
การใช้งาน Asynchronous หรือ Batch Synchronous หรือ Real-time
การ Run Model ทำครั้งเดียวโดยใช้ข้อมูลทั้ง Dataset ทำเมื่อมีการใช้งาน Model น้อย
Method Sagemaker batch transform Sagemaker hosting service
Input Format ขึ้นอยู่กับ Algorithm ขึ้นอยู่กับ Algorithm
Output Format ขึ้นอยู่กับ Algorithm JSON

เครื่องมือที่ต้องรู้จัก

เมื่อต้องใช้งาน Sagemaker เราต้องรู้จักเครื่องมือเหล่านี้

  1. Sagemaker Neo เป็นเตรื่องมือที่ใช้ในการ compile และ convert Machine Learning Model ไปตาม CPU หรือ GPU ที่ต้องนำ Model นี้ไป run เช่น ARM, Intel และ NVIDIA
    Sagemaker Neo
  2. Elastic Inference(EI) เป็นเครื่องมือที่จะช่วยเพิ่ม Throughput และลด Latency ให้กับ Sagemaker Host Service(Online Usage) ซึ่ง Elastic Inference จะช่วยให้เราประหยัดค่าใช้จ่ายได้
Phanupong Permpimol
Follow me