Notifications
Clear all

การเลือก Cloud platform สำหรับ Deep learning

6 ข้อความ
3 Users
0 Likes
31.8 K Views
KWN
 KWN
(@kwn)
Active Member
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 7
Topic starter  
ก่อนอื่นขอขอบคุณทีมงานที่สร้างเว็บที่ให้ความรู้และเป็นแหล่งรวบรวมความรู้อย่างดีครับ 
 
ผมเป็นวิศวกรไฟฟ้าไม่มีความรู้ทางด้าน Deep learning เลยครับ ผมกับทีมงานกำลังทำโครงงานวิจัยด้าน Predictive maintenance เราต้องการดึงข้อมูลวัดจาก sensors ผ่านทาง OPC protocol มายังคอมพิวเตอร์มาทำการเทรนโมเดล เพื่อใช้โมเดลในการทำนายอายุที่เหลือของอุปกรณ์ในระบบเช่น control valve ครับ 
 
ทางทีมงานแนะนำ Kaggle ผมดีใจมากครับที่มี platform ที่ให้เราใช้งาน GPU ได้ฟรี ก่อนที่จะลงทุนกับระบบจริง ต้องขอขอบคุณทีมงาน Thaikeras ครับ ผมมีพื้นฐานเขียนโปรแกนมบน Matlab คิดว่าจะเรียนรู้ Python ได้ และมือใหม่มากสำหรับ Deep learning และ Cloud platform ผมมีคำถามรบกวนดังนี้ครับ 
 
ถ้าผมเขียนโปรแกรม Python บน Kaggle สำหรับ Deep learning algorithm แล้ว หากต้องการนำโค้ดไปใช้งานบน Cloud IoT platform เพื่อส่งข้อมูลในรูปแบบ streaming และ batch เพื่อเทรนโมเดลและเพื่อการทำนาย รวมถึงเพื่อจัดเก็บเป็นฐานข้อมูลด้วยครับ ตอนนี้ผมตัดสินใจอยู่ 2 ตัวเลือกคือ AWS หรือ ThingWorx ครับ ผมเข้าใจว่าทั้ง 2 platform มี Data analytics tool ให้เลือกใช้ อยากสอบถามว่า platform ไหนที่มีความสามารถรองรับการย้ายโค้ดที่พัฒนาบน Kaggle หรือ Google Colab ไปใช้งานได้ หรือมีไลบรารี่ที่รองรับโค้ด Deep learning ที่พัฒนาด้วยการใช้ Tensorflow หรือ Keras ได้ครับ  
 
ที่ต้องเลือกแค่ 2 platform นี้เนื่องจากเป็นความต้องการของบริษัทครับ 
 
ผมได้ส่ง email สอบถามทางทีมงาน Thaikeras และได้รับคำตอบเบื้องต้นมาแล้ว ขอบคุณอีกครั้งครับ 
ผมลองไปหาข้อมูลเพิ่มเติมมาพบว่า ทาง Amazon มี Deep Learning AMI ที่รองรับ Tensorflow ได้ น่าจะมีความยืดหยุ่นกว่า Thingworx ในด้านการพัฒนาอัลกอริทึมเองครับ ผมเองอาจจะลองปรึกษากับทีมวิจัยเพื่อพิจารณา Google cloud platform ด้วยครับ ถ้าท่านใดมีข้อแนะนำเพิ่มเติม ยินดีและขอบคุณครับ  

   
อ้างอิง
nameless
(@nameless)
Member Moderator
เข้าร่วมเมื่อ: 7 years ago
ข้อความ: 7
 

สวัสดีครับคุณ KWN

เนื่องจากทางทีมงานไม่เคยใช้บริการคลาวด์ของ AWS หรือ ThingWorx จึงอาจตอบในส่วนที่เป็นรายละเอียดไม่ได้ แต่โดยทั่วไปถ้าสร้าง virtual machine ในคลาวด์เหล่านี้ เราจะสามารถลง software และ library เพื่อรองรับ deep learning ได้ปกติ สิ่งที่ต้องคำนึงถึงคือคลาวด์เหล่านี้ควรจะมี GPU ให้ใช้งาน เพราะจะทำให้ประหยัดเวลาได้มาก และอาจจะต้องคำนึงถึง cost ถ้าบริษัทจำกัดงบประมาณครับ

ในส่วนของการรองรับโค้ดที่เขียนใน Kaggle พบว่าโดยทั่วไป ถ้าลง Python 3 และ library ที่จำเป็น ก็จะสามารถนำโค้ดที่รันบน Kaggle มารันได้เลย แต่ถ้าจะให้เกิด compatibility กันจริงๆ ทาง Kaggle ก็ได้สร้าง docker ไว้ให้ใช้งานครับ https://github.com/Kaggle/docker-python


   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 7 years ago
ข้อความ: 409
 

ผมขอเสริมคุณ @nameless และที่ตอบใน email เล็กน้อยครับ ถ้าต้องเลือกระหว่างสองทางเลือกข้างบนขอสนับสนุน Amazon อีกเสียงครับผม ... คุณ @KWN เคยทดลองดูทางเลือก Docker ไหมครับ  อาจจะสะดวกในระยะยาวในกรณีทำงานร่วมกับ Kaggle ด้วยบางส่วน เพราะว่าไม่ว่า library ต่างๆ จะ update อย่างไร เราสามารถรอ update ที่ตัว docker ที่เดียวได้เลย (นอกจาก TF และ Keras แล้วยังมี Machine Learning libraries อีกหลายตัวที่ใช้ร่วมกัน ทำให้เราไม่ต้องเสียเวลาในส่วนนี้)

ช่วง develop model ถ้าทำบน kaggle อาจจะช่วยเรื่องค่าใช้จ่ายได้ระดับนึงเลยครับ แม้ Kaggle จะให้รันต่อเนื่องได้เพียง 9 ชม. แต่ GPU ใหม่บน kaggle นั้นรัน 9 ชม. จะได้ประสิทธิภาพใกล้ๆ กับ 24 ชม. ของ GPU K80 ซึ่งเป็นมาตรฐานเก่าเลยทีเดียวครับ

 

Update: คุณ @nameless ไปค้น มาเพิ่มเติม ตอนนี้ Kaggle ยังไม่ปล่อย GPU Docker ครับ มีแค่ Cpu version ดังนั้น ลง Deep Learning Image แบบที่คุณ @KWN กล่าวข้างบนน่าจะสะดวกที่สุดแล้วครับ

This post was modified 6 years ago 4 times by The Neural Engineer

   
ตอบกลับอ้างอิง
KWN
 KWN
(@kwn)
Active Member
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 7
Topic starter  
Posted by: nameless

สวัสดีครับคุณ KWN

เนื่องจากทางทีมงานไม่เคยใช้บริการคลาวด์ของ AWS หรือ ThingWorx จึงอาจตอบในส่วนที่เป็นรายละเอียดไม่ได้ แต่โดยทั่วไปถ้าสร้าง virtual machine ในคลาวด์เหล่านี้ เราจะสามารถลง software และ library เพื่อรองรับ deep learning ได้ปกติ สิ่งที่ต้องคำนึงถึงคือคลาวด์เหล่านี้ควรจะมี GPU ให้ใช้งาน เพราะจะทำให้ประหยัดเวลาได้มาก และอาจจะต้องคำนึงถึง cost ถ้าบริษัทจำกัดงบประมาณครับ

ในส่วนของการรองรับโค้ดที่เขียนใน Kaggle พบว่าโดยทั่วไป ถ้าลง Python 3 และ library ที่จำเป็น ก็จะสามารถนำโค้ดที่รันบน Kaggle มารันได้เลย แต่ถ้าจะให้เกิด compatibility กันจริงๆ ทาง Kaggle ก็ได้สร้าง docker ไว้ให้ใช้งานครับ https://github.com/Kaggle/docker-python

ขอบคุณอีกครั้งครับ


   
ตอบกลับอ้างอิง
KWN
 KWN
(@kwn)
Active Member
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 7
Topic starter  
Posted by: The Neural Engineer

ผมขอเสริมคุณ @nameless และที่ตอบใน email เล็กน้อยครับ ถ้าต้องเลือกระหว่างสองทางเลือกข้างบนขอสนับสนุน Amazon อีกเสียงครับผม ... คุณ @KWN เคยทดลองดูทางเลือก Docker ไหมครับ  อาจจะสะดวกในระยะยาวในกรณีทำงานร่วมกับ Kaggle ด้วยบางส่วน เพราะว่าไม่ว่า library ต่างๆ จะ update อย่างไร เราสามารถรอ update ที่ตัว docker ที่เดียวได้เลย (นอกจาก TF และ Keras แล้วยังมี Machine Learning libraries อีกหลายตัวที่ใช้ร่วมกัน ทำให้เราไม่ต้องเสียเวลาในส่วนนี้)

ช่วง develop model ถ้าทำบน kaggle อาจจะช่วยเรื่องค่าใช้จ่ายได้ระดับนึงเลยครับ แม้ Kaggle จะให้รันต่อเนื่องได้เพียง 9 ชม. แต่ GPU ใหม่บน kaggle นั้นรัน 9 ชม. จะได้ประสิทธิภาพใกล้ๆ กับ 24 ชม. ของ GPU K80 ซึ่งเป็นมาตรฐานเก่าเลยทีเดียวครับ

 

Update: คุณ @nameless ไปค้น มาเพิ่มเติม ตอนนี้ Kaggle ยังไม่ปล่อย GPU Docker ครับ มีแค่ Cpu version ดังนั้น ลง Deep Learning Image แบบที่คุณ @KWN กล่าวข้างบนน่าจะสะดวกที่สุดแล้วครับ

เป็นทางเลือกที่น่าสนใจมาก ผมจะลองศึกษาไว้ด้วยครับ ขอบคุณมากครับ


   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 7 years ago
ข้อความ: 409
 

ปล. สำหรับเพื่อนๆ ท่านอื่นที่อาจต้องเลือก Platform Cloud คล้ายๆ กัน   ถ้ามี option Microsoft Azure หรือ Google Cloud Platform ด้วย เนื่องจากทีมงาน (จริงๆ แล้วก็คือคุณ @nameless แหะๆ ) ใช้ 2 platforms นี้อยู่ก็จะแนะนำได้คล่องกว่านี้ครับ 😀


   
ตอบกลับอ้างอิง
Share: