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