è¿å¹Žãæ©æ¢°åŠç¿ã¯åäŸã®ãªãåã®äž»æµã«ãªããŸããã ãã®åŸåã¯ãã¯ã©ãŠãç°å¢ã®å®ãã ãã§ãªãããã®ãããªèšç®ã«äœ¿çšãããæã匷åãªãããªã«ãŒãã®å¯çšæ§ã«ãã£ãŠãä¿é²ãããŸã-æ©æ¢°åŠç¿ã®ããã®ãã¬ãŒã ã¯ãŒã¯ãå€æ°ãããŸãã ãããã®ã»ãšãã©ã¯ãªãŒãã³ãœãŒã¹ã§ãããããã«éèŠãªããšã¯ããããã®ãã¬ãŒã ã¯ãŒã¯ã¯æ©æ¢°åŠç¿ã®æãå°é£ãªéšåãæœè±¡åããããã«èšèšãããŠãããå¹
åºãã¯ã©ã¹ã®éçºè
ããããã®æè¡ã«ã¢ã¯ã»ã¹ããããããããšã§ãã ã«ããã®äžã«ã¯ãéå»1幎éã«æè¿äœæããã³åèšèšãããæ©æ¢°åŠç¿ãã¬ãŒã ã¯ãŒã¯ã®éžæããããŸãã è±èªã§ããŸããã£ãŠãããªãããªãªãžãã«ã®èšäºã¯
ããããå
¥æã§ã
ãŸã ã
Apache Spark MLlib
Apache Sparkã¯ãHadoopãã¡ããªãŒã«é¢äžããŠããããšã§æãããç¥ãããŠããŸãã ãããããã®ã€ã³ã¡ã¢ãªãã¬ãŒã ã¯ãŒã¯ã¯Hadoopã®å€ã«ç»å ŽããŠããããã®ãšã³ã·ã¹ãã ã®å€ã§ãè©å€ãç²åŸãç¶ããŠããŸãã Sparkã¯ãã¡ã¢ãªå
ã®ããŒã¿ã«ãã°ããé©çšã§ãã
ã¢ã«ãŽãªãºã ã®ã©ã€ãã©ãªãå¢ããããšã«ããã䜿ãæ
£ããæ©æ¢°åŠç¿ããŒã«ã«é²åããŸããã
Sparkã¯éçºäžã«åçµãããŠãããããã®ã¢ã«ãŽãªãºã ã¯çµ¶ããæ¡å€§ããã³æ¹èšãããŠããŸãã
ãªãªãŒã¹1.5ã§ã¯ãå€ãã®æ°ããã¢ã«ãŽãªãºã ãè¿œå ãããæ¢åã®ã¢ã«ãŽãªãºã ãæ¹åãããŠããŸãããŸããPythonã§ã¯ãæ°åŠããã³çµ±èšã®åé¡ã解決ããããã®ã¡ã€ã³ãã©ãããã©ãŒã ã§ããMLlibã®ãµããŒãã匷åãããŠããŸãã Spark 1.6ã§ã¯ããšããããç¶ç¶çãªãã€ãã©ã€ã³ã®ãããã§ãSpark MLã¿ã¹ã¯ãäžæåæ¢ããã³ç¶ç¶ããæ©èœãè¿œå ãããŸããã
ã¢ãããã·ã³ã¬
ã
ãã£ãŒãã©ãŒãã³ã° ããã¬ãŒã ã¯ãŒã¯ã¯ãèªç¶èšèªã®åŠçãç»åèªèãªã©ãæ©æ¢°åŠç¿ã®é£ããã¿ã¹ã¯ã解決ããããã«äœ¿çšãããŸãã æè¿ã
SingaãªãŒãã³ãœãŒã¹ãã¬ãŒã ã¯ãŒã¯ãApacheã€ã³ãã¥ããŒã¿ãŒã«å°å
¥ãããŸãããããã¯ã倧éã®ããŒã¿ã«å¯Ÿãããã£ãŒãã©ãŒãã³ã°ã¢ãã«ã®ãã¬ãŒãã³ã°ãä¿é²ããããã«èšèšãããŠããŸãã
Singaã¯ããã·ã³ã®ã¯ã©ã¹ã¿ãŒã«åºã¥ãããã¬ãŒãã³ã°ãããã¯ãŒã¯çšã®ã·ã³ãã«ãªãœãããŠã§ã¢ã¢ãã«ãæäŸãã
ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ ã
å¶éä»ããã«ããã³ãã·ã³ã ãªã«ã¬ã³ããã¥ãŒã©ã«ãããã¯ãŒã¯ ãªã©ãå€ãã®æšæºã¿ã€ãã®ãã¬ãŒãã³ã°ã¿ã¹ã¯ããµããŒãããŠã
ãŸã ã ãã®åé¡ã«æé©ãªã¢ãã«ã«å¿ããŠãã¢ãã«ãåæçã«ïŒæ¬¡ã
ã«ïŒããã³éåæçã«ïŒäžç·ã«ïŒãã¬ãŒãã³ã°ã§ããŸãã Singaã§ã¯ã
Apache Zookeeperã䜿çšããŠã¯ã©ã¹ã¿ãŒãç°¡åã«ã»ããã¢ããããããšãã§ããŸãã
ã«ãã§
Caffeã¯ãã£ãŒãã©ãŒãã³ã°ãã¬ãŒã ã¯ãŒã¯ã§ãã ãè¡šçŸåãã¹ããŒããã¢ãžã¥ãŒã«æ§ãæåŸ
ããŠãäœãããŠããŸãã åœåããã¬ãŒã ã¯ãŒã¯ã¯
ãã·ã³ããžã§ã³ãããžã§ã¯ãçšã«äœæãããŠããŸãããããã以æ¥é²åããé³å£°èªèããã«ãã¡ãã£ã¢ã®æäœãªã©ãä»ã®ã¿ã¹ã¯ã«äœ¿çšãããŠããŸãã
Caffeã®äž»ãªå©ç¹ã¯é床ã§ãã ãã¬ãŒã ã¯ãŒã¯ã¯å®å
šã«C ++ã§èšè¿°ãããCUDAããµããŒãããå¿
èŠã«å¿ããŠãããã»ããµãšãããªã«ãŒãã®éã§åŠçãããŒãåãæ¿ããããšãã§ããŸãã ãã®ããã±ãŒãžã«ã¯ãæšæºã®åé¡ã¿ã¹ã¯çšã®ç¡æã®ãªãŒãã³ãœãŒã¹åç
§ã¢ãã«ã®ã»ãããå«ãŸããŠããŸãã ãŸããå€ãã®ã¢ãã«ã
CaffeãŠãŒã¶ãŒã³ãã¥ããã£ã«ãã£ãŠäœæãããŠããŸã ã
Microsoft Azure ML Studio
æ©æ¢°åŠç¿ã«å¿
èŠãªèšå€§ãªéã®ããŒã¿ãšåŠçèœåãèãããšãã¯ã©ãŠãã¯MLã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠçæ³çãªåªäœã§ãã ãã€ã¯ããœããã¯ãAzureã«ç¬èªã®æ©æ¢°åŠç¿ãµãŒãã¹ãæäŸããŠããŸãããã®ãµãŒãã¹
ã«ã€ããŠã¯ã䜿çšããäºå®ã®ã¿ãæ¯æãããšãã§ããŸã-Azure ML Studioã æ¯æããã³æ¯æããŒãžã§ã³ãããã³ç¡æïŒãã£ã¢ïŒãå©çšå¯èœã§ãã ç¹ã«ã
HowOldRobotãããžã§ã¯ãã¯ãã®ã·ã¹ãã ã䜿çšããŠäœæãããŸããã
Azure ML Studioã§ã¯ãã¢ãã«ãäœæããã³ãã¬ãŒãã³ã°ããä»ã®ãµãŒãã¹ãæäŸããããã®APIã«å€æã§ããŸãã ãŠãŒã¶ãŒã¢ã«ãŠã³ãããšã«æ倧10 GBã®ã¹ãã¬ãŒãžã¹ããŒã¹ãå²ãåœãŠãããšãã§ããŸãããç¬èªã®Azureã¹ãã¬ãŒãžãæ¥ç¶ããããšãã§ããŸãã Microsoftããã³ãµãŒãããŒãã£ã«ãã£ãŠäœæãããå¹
åºãã¢ã«ãŽãªãºã ãå©çšå¯èœã§ãã ãµãŒãã¹ãè©Šãã«ã¯ãã¢ã«ãŠã³ããäœæããå¿
èŠããããŸãããå¿åã§ãã°ã€ã³ããã ãã§ãAzure ML Studioã8æé䜿çšã§ããŸãã
Amazonæ©æ¢°åŠç¿
Amazonã«ã¯ãã¯ã©ãŠããµãŒãã¹ãæäŸããç¬èªã®æšæºçãªã¢ãããŒãããããŸããæåã«ãé¢å¿ã®ãã察象è
ã«åºæ¬æ©èœãæäŸããã察象è
ãããããäœããäœæããäŒç€Ÿã¯æ¬åœã«å¿
èŠãªãã®ãèŠã€ããŸãã
Amazon Machine Learningã§ãåãããšãèšã
ãŸã ã ãã®ãµãŒãã¹ã¯ãAmazon S3ãRedshiftããŸãã¯RDSã«ä¿åãããããŒã¿ã«æ¥ç¶ãããã€ããªåé¡ããã«ãã¯ã©ã¹åé¡ãããã³æå®ãããããŒã¿ã®ååž°ãå®è¡ããŠã¢ãã«ãäœæã§ããŸãã ãã ãããã®ãµãŒãã¹ã¯Amazonã«é¢é£ä»ããããŠããŸãã äŒç€Ÿææã®ã¹ãã¬ãŒãžã«ä¿åãããŠããããŒã¿ã䜿çšããã ãã§ãªããã¢ãã«ãã€ã³ããŒããŸãã¯ãšã¯ã¹ããŒãããããšãäžå¯èœã§ããããã¬ãŒãã³ã°çšã®ããŒã¿ãµã³ãã«ã¯100 GBãè¶
ããããšã¯ã§ããŸããã ããã§ããããã¯æåããè¯ãããŒã«ã§ãããæ©æ¢°åŠç¿ãèŽ
æ²¢ããå®çšçãªããŒã«ã«å€ãã£ãŠããããšã瀺ããŠããŸãã
Microsoftåæ£æ©æ¢°åŠç¿ããŒã«ããã
æ©æ¢°åŠç¿ã®åé¡ã解決ããããã«äœ¿çšã§ããã³ã³ãã¥ãŒã¿ãŒãå€ããã°å€ãã»ã©è¯ãã§ãã ããããå€æ°ã®ãã·ã³ãçµã¿åãããŠããããã§å¹ççã«å®è¡ãããMLã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã¯å°é£ãªäœæ¥ã§ãã
DMTK ïŒDistributed Machine Learning ToolkitïŒãã¬ãŒã ã¯ãŒã¯ã¯ãããŸããŸãªMLæäœãã·ã¹ãã ã®ã¯ã©ã¹ã¿ãŒå
šäœã«åæ£ããåé¡ã解決ããããã«èšèšãããŠããŸãã
DMTKã¯ãã¬ãŒã ã¯ãŒã¯ã§ãããæ¬æ Œçãªããã¯ã¹ãœãªã¥ãŒã·ã§ã³ã§ã¯ãªããããå°æ°ã®ã¢ã«ãŽãªãºã ãä»å±ããŠããŸãã ãã ããDMTKã¢ãŒããã¯ãã£ã䜿çšãããšããªãœãŒã¹ãå¶éããã¯ã©ã¹ã¿ãŒããå¯èœãªéããã¹ãŠãå§çž®ã§ããã ãã§ãªããæ¡åŒµããããšãã§ããŸãã ããšãã°ãåã¯ã©ã¹ã¿ãŒããŒãã«ã¯ç¬èªã®ãã£ãã·ã¥ããããã¿ã¹ã¯ã®ãªã³ããã³ããã©ã¡ãŒã¿ãŒãæäŸããäžå€®ããŒããšã®ããŒã¿äº€æéãåæžããŸãã
Google TensorFlow
Microsoft DMTKãšåæ§ã«ã
Google TensorFlowã¯
ãã¯ã©ã¹ã¿ãŒ
å
šäœã«ã³ã³ãã¥ãŒãã£ã³ã°
ãåæ£ããããã«èšèšãããæ©æ¢°åŠç¿ãã¬ãŒã ã¯ãŒã¯ã§ãã Google Kubernetesãšãšãã«ããã®ãã¬ãŒã ã¯ãŒã¯ã¯Googleã®å
éšåé¡ã解決ããããã«éçºãããŸããããæçµçã«å瀟ã¯ãªãŒãã³ã¹ã€ãã³ã°è£œåãšããŠãªãŒãã³ãœãŒã¹è£œåãšããŠãªãªãŒã¹ããŸããã
TensorFlowã¯ãããŒã¿ã®äžéšïŒããã³ãœã«ãïŒãã°ã©ãã§èšè¿°ãããäžé£ã®ã¢ã«ãŽãªãºã ã§åŠçã§ããå ŽåãããŒã¿ãããŒã°ã©ããå®è£
ããŸãã ã·ã¹ãã å
ã§ããŒã¿ã移åããããšããã¹ããªãŒã ããšåŒã³ãŸãã ã°ã©ãã¯ãC ++ãŸãã¯Pythonã䜿çšããŠåéããããã»ããµãŸãã¯ãããªã«ãŒãã§åŠçã§ããŸãã Googleã«ã¯ããµãŒãããŒãã£ã®éçºè
ãéããŠTensorFlowãéçºããããã®é·æèšç»ããããŸãã
Microsoftèšç®ãããã¯ãŒã¯ããŒã«ããã
DMTKã«ç¶ããŠMicrosoftã¯ãæ©æ¢°åŠç¿çšã®å¥ã®ããŒã«ãããCNTKããªãªãŒã¹ã
ãŸãã ã
CNTKã¯Google TensorFlowã«äŒŒãŠããã
æåã°ã©ãã䜿çšããŠãã¥ãŒã©ã«ãããã¯ãŒã¯ãäœæã§ããŸãã Microsoftã¯ããã®ãã¬ãŒã ã¯ãŒã¯ãCaffeãTheanoãTorchãªã©ã®è£œåãšæ¯èŒããŠããŸãã ãã®äž»ãªå©ç¹ã¯ãç¹ã«è€æ°ã®ããã»ããµãšãããªã«ãŒãã®äžŠå䜿çšã«é¢ããŠã¯é床ã§ãã Microsoftã¯ãCNTKãAzureããŒã¹ã®GPUã¯ã©ã¹ã¿ãŒãšçµã¿åãããŠäœ¿çšââãããšãCortanaã®ä»®æ³ã¢ã·ã¹ã¿ã³ãã«ããé³å£°èªèã®ãã¬ãŒãã³ã°ãã¹ããŒãã¢ããã§ãããšäž»åŒµããŠããŸãã
åœåãCNTKã¯é³å£°èªèç 究ããã°ã©ã ã®äžéšãšããŠéçºããããªãŒãã³ãœãŒã¹ãããžã§ã¯ããšããŠæäŸãããŠããŸãããããã®åŸãããèªç±ãªã©ã€ã»ã³ã¹ã®äžã§GitHubã§CNTKãåãªãªãŒã¹ããŸããã
VelesïŒãµã ã¹ã³ïŒ
Velesã¯ããã£ãŒãã©ãŒãã³ã°ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®åæ£ãã©ãããã©ãŒã ã§ãã TensorFlowãDMTKãšåæ§ãC ++ã§èšè¿°ãããŠããŸãããPythonã¯ããŒãã®èªååãšèª¿æŽã«äœ¿çšãããŸãã ããŒã¿ãµã³ãã«ã®ã¯ã©ã¹ã¿ãŒã«äŸçµŠãããåã«ãããããåæããŠèªåçã«æ£èŠåã§ããŸãã REST APIã䜿çšãããšããã¬ãŒãã³ã°æžã¿ã®ã¢ãã«ãäœæ¥ãããžã§ã¯ãã§ããã«äœ¿çšã§ããŸãïŒååã«åŒ·åãªæ©åšãããå ŽåïŒã
Velesã§Pythonã䜿çšããããšã¯ããã¹ãã£ãããŒã³ãŒãããè¶
ããŠããŸãã ããšãã°ãããŒã¿ãèŠèŠåããã³åæããããã®ããŒã«ã§ããIPythonïŒçŸåšã®JupyterïŒã¯ãVelesã¯ã©ã¹ã¿ãŒããããŒã¿ãåºåã§ããŸãã ãµã ã¹ã³ã¯ããªãŒãã³ãœãŒã¹ã®ã¹ããŒã¿ã¹ããããªã補åéçºãä¿é²ããWindowsããã³Mac OS Xãžã®ç§»æ€ã«åœ¹ç«ã€ããšãæãã§ããŸãã
ãã¬ã€ã³ã¹ããŒãã³ã°
Brainstormãããžã§ã¯ãã¯ãã¹ã€ã¹ç 究æIDSIAïŒ
人工ç¥èœç 究æDalle Molle ïŒã®å€§åŠé¢çã«ãã£ãŠéçºãããŸããã ããã£ãŒãã©ãŒãã³ã°ãã¥ãŒã©ã«ãããã¯ãŒã¯ãããéããããæè»ã«ãããé¢çœãããããã«ãäœæãããŸããã ãã§ã«ããŸããŸãªãªã«ã¬ã³ããã¥ãŒã©ã«ãããã¯ãŒã¯ãããšãã°LSTMã®ãµããŒãããããŸãã
Brainstormã¯Pythonã䜿çšããŠ2ã€ã®ããã³ãã©ãŒããå®è£
ããŸããããŒã¿ç®¡çAPIïŒNumpyã©ã€ãã©ãªã䜿çšããããã»ããµãŒã³ã³ãã¥ãŒãã£ã³ã°çšãšãCUDAã䜿çšãããããªã«ãŒãçšã§ãã ã»ãšãã©ã®äœæ¥ã¯Pythonã¹ã¯ãªããã§è¡ããããããèªåã§äœããå°ç¡ãã«ããªãéãã豪è¯ãªããã³ããšã³ãã€ã³ã¿ãŒãã§ã€ã¹ãæåŸ
ããªãã§ãã ããã ããããèè
ã¯ã以åã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãããåŠã³ãããããŸããŸãªãã©ãããã©ãŒã ããã³ã³ã³ãã¥ãŒãã£ã³ã°ããã¯ãšã³ããšäºææ§ã®ããæ°ããèšèšèŠçŽ ãã䜿çšããããã®åºç¯ãªèšç»ãæã£ãŠããŸãã
mlpack 2
å€ãã®æ©æ¢°åŠç¿ãããžã§ã¯ãã¯ã2011幎ã«äœæãããã䜿çšãæ¡å€§ãé«éåãç°¡çŽ åãããããã«èšèšãããC ++ã©ã€ãã©ãªã§ãã
mlpackã䜿çšããŸãã mlpackãå®è£
ããŠãã³ãã³ãã©ã€ã³çµç±ã§å®è¡ããããã¡ã€ã«ã®ãã£ãã·ã¥ã䜿çšããããã©ãã¯ããã¯ã¹ããªã©ã®ãã€ããã¢ããæäœãå®è¡ããããC ++ APIã䜿çšããŠããè€éãªã¿ã¹ã¯ãå®è¡ãããã§ããŸãã
mlpack 2.0ã§ã¯ãæ°ããã¢ã«ãŽãªãºã ã®ãªãã¡ã¯ã¿ãªã³ã°ãšå®è£
ãåŠçãé«éåãéå¹ççãªå€ãã¢ã«ãŽãªãºã ã®åé€ã«é¢ããŠå€ãã®äœæ¥ãè¡ãããŸããã ããšãã°ããã€ãã£ãC ++ 11ä¹±æ°çæé¢æ°ã®å ŽåãBoostã©ã€ãã©ãªãžã§ãã¬ãŒã¿ãŒã¯é€å€ãããŸããã
mlpackã®é·å¹Žã®æ¬ ç¹ã®1ã€ã¯ãC ++ãé€ãä»ã®èšèªã®ãã€ã³ããŒããªãããšã§ãã ãããã£ãŠããããã®ä»ã®èšèªã§äœæããããã°ã©ããŒã¯ã誰ããé©åãªã©ãããŒãããŒã«ãããŸã§mlpackã䜿çšã§ããŸããã
MATLABãµããŒããè¿œå ãããŸãããããã®ãããªãããžã§ã¯ãã¯ãæ©æ¢°åŠç¿ã䜿çšãããäž»èŠãªç°å¢ã§çŽæ¥åœ¹ç«ã€å Žåã«æã圹ç«ã¡ãŸãã
ããŒãã³
å¥ã®æ¯èŒçæ°é®®ãªè£œåã
Marvinã¯ãPrinceton Vision Groupã«ãã£ãŠäœæããããã¥ãŒã©ã«ãããã¯ãŒã¯ãã¬ãŒã ã¯ãŒã¯ã§ãã C ++ã§èšè¿°ãããããã€ãã®ãã¡ã€ã«ãšCUDAãã¬ãŒã ã¯ãŒã¯ã«åºã¥ããŠããŸãã æå°éã®ã³ãŒãã«ãããããããMarvinã«ã¯ããããžã§ã¯ãèªäœã®ã³ãŒãã®ããã«ãé©åãªåŒçšã§äœ¿çšãããã«èŠæ±ã䜿çšããŠå®è£
ã§ãã
äºåãã¬ãŒãã³ã°æžã¿ã®ã¢ãã«ãå€æ°ä»å±ããŠããŸãã
ããªã³
Nervanaã¯ããã£ãŒãã©ãŒãã³ã°çšã®ãœãããŠã§ã¢ããã³ããŒããŠã§ã¢ãã©ãããã©ãŒã ãäœæããŠããŸãã ãããŠããªãŒãã³ãœãŒã¹ãããžã§ã¯ããšããŠã
Neonãã¬ãŒã ã¯ãŒã¯ãæäŸããŸãã ãã©ã°ã€ã³ã®å©ããåããŠãNervanaãäœæããããã»ããµãã°ã©ãã£ãã¯ã¹ã«ãŒãããŸãã¯æ©åšã§éãã³ã³ãã¥ãŒãã£ã³ã°ãå®è¡ã§ããŸãã
Neonã¯Pythonã§æžãããŠãããC ++ãšã¢ã»ã³ãã©ãŒã§ããã€ãã®éšåããããŸãã ãããã£ãŠãPythonã§ç§åŠçãªäœæ¥ãè¡ã£ãŠããå ŽåããŸãã¯Pythonãã€ã³ããŒãæã€ä»ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããå Žåã¯ãããã«Neonã䜿çšã§ããŸãã
çµè«ãšããŠããã¡ããããããã¯ãã¹ãŠã®äžè¬çãªãã¬ãŒã ã¯ãŒã¯ãšã¯ã»ã©é ãããšãèšããããšæããŸãã ãã³ã«ã¯ãæ°ã«å
¥ãã®ããŒã«ããããããããŸãã ãã®èšäºãžã®ã³ã¡ã³ãã§çºèŠäºé
ãå
±æããŠãã ããã