æªæ¥ãå°æ¥ãã人工ç¥èœãšæ©æ¢°åŠç¿ãã¯ãããžãŒã¯ãã§ã«ãæ°ã«å ¥ãã®åºèãééäŒç€Ÿãããã«ã¯äžé¢é³¥èŸ²å Žã§ããŸã掻çšãããŠããŸãã
ãããŠãäœããååšãããªããããã«é¢ããäœããã€ã³ã¿ãŒãããäžã«ãã§ã«ååšããŠããŸã...ãªãŒãã³ãããžã§ã¯ãã§ã! Open Data Hub ãæ°ãããã¯ãããžãŒãæ¡åŒµããå®è£
äžã®èª²é¡ãåé¿ããã®ã«ã©ã®ããã«åœ¹ç«ã€ããã芧ãã ããã
人工ç¥èœ (AI) ãšæ©æ¢°åŠç¿ (ML) ã«ã¯ããŸããŸãªå©ç¹ããããŸãããå€ãã®å Žåãçµç¹ã¯ãããã®ãã¯ãããžãŒãæ¡åŒµããããšãå°é£ã«ãªããŸãã ãã®å Žåã®äž»ãªåé¡ã¯é垞次ã®ãšããã§ãã
- æ å ±äº€æãšåå â ç°¡åã«æ å ±ã亀æããè¿ éã«å ±åäœæ¥ãè¡ãããšã¯ã»ãšãã©äžå¯èœã§ãã
- ããŒã¿ã¢ã¯ã»ã¹ â ã¿ã¹ã¯ããšã«æåã§æ°ãã«æ§ç¯ããå¿ èŠããããéåžžã«æéãããããŸãã
- ãªã³ããã³ãã§ã¢ã¯ã»ã¹ â æ©æ¢°åŠç¿ããŒã«ããã©ãããã©ãŒã ãã³ã³ãã¥ãŒãã£ã³ã° ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ãªã³ããã³ãã§ã¢ã¯ã»ã¹ããæ¹æ³ã¯ãããŸããã
- 補é â ã¢ãã«ã¯è©Šäœæ®µéã«çãŸããç£æ¥çšéã«ã¯å°å ¥ãããŸããã
- AI ã®çµæã远跡ããŠèª¬æãã â AI/ML çµæã®åçŸæ§ã远跡ã説æãå°é£ã
ãããã®åé¡ãæŸçœ®ãããšã貎éãªããŒã¿ ãµã€ãšã³ãã£ã¹ãã®ã¹ããŒããå¹çãçç£æ§ã«æªåœ±é¿ãåãŒããŸãã ããã¯åœŒãã®ä»äºã«å¯Ÿãããã©ã¹ãã¬ãŒã·ã§ã³ã倱æã«ã€ãªããããã®çµæãAI/ML ã«å¯Ÿããããžãã¹ã®æåŸ ã¯ç¡é§ã«ãªã£ãŠããŸããŸãã
ãããã®åé¡ã解決ãã責任㯠IT ã¹ãã·ã£ãªã¹ãã«ãããããŒã¿ ã¢ããªã¹ãã«ã¯ã©ãŠãã®ãããªãã®ãæäŸããå¿ èŠããããŸãã ããã«è©³ããèšãã°ãéžæã®èªç±ãäžãã䟿å©ã§ç°¡åã«ã¢ã¯ã»ã¹ã§ãããã©ãããã©ãŒã ãå¿ èŠã§ãã åæã«ãé«éã§åæ§æã容æã§ããªã³ããã³ãã§æ¡åŒµå¯èœã§ãããé害ã«åŒ·ãã§ãã ãªãŒãã³ãœãŒã¹ ãã¯ãããžãŒã«åºã¥ããŠãã®ãããªãã©ãããã©ãŒã ãæ§ç¯ãããšããã³ããŒã®ããã¯ã€ã³ãåé¿ããã³ã¹ã管çã®èŠ³ç¹ããé·æçãªæŠç¥çåªäœæ§ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
æ°å¹Žåãã¢ããªã±ãŒã·ã§ã³éçºã§ãåæ§ã®ããšãèµ·ããããã€ã¯ããµãŒãã¹ããã€ããªãã ã¯ã©ãŠããIT èªååãã¢ãžã£ã€ã« ããã»ã¹ã®åºçŸã«ã€ãªãããŸããã ããããã¹ãŠã«å¯ŸåŠããããã«ãIT ãããã§ãã·ã§ãã«ã¯ã³ã³ãããKubernetesããªãŒãã³ ãã€ããªãã ã¯ã©ãŠãã«ç®ãåããŠããŸããã
ãã®çµéšã¯çŸåšãã¢ã«ã®èª²é¡ã«çããããã«å¿çšãããŠããŸãã ãã®ãããIT ãããã§ãã·ã§ãã«ã¯ãã³ã³ããããŒã¹ã§ãã¢ãžã£ã€ã« ããã»ã¹å 㧠AI/ML ãµãŒãã¹ã®äœæãå¯èœã«ããã€ãããŒã·ã§ã³ãå éãããã€ããªãã ã¯ã©ãŠããèŠæ®ããŠæ§ç¯ããããã©ãããã©ãŒã ãæ§ç¯ããŠããŸãã
åœç€Ÿã¯ããã€ããªãã ã¯ã©ãŠãçšã®ã³ã³ããåããã Kubernetes ãã©ãããã©ãŒã ã§ãã Red Hat OpenShift ã䜿çšããŠããã®ãããªãã©ãããã©ãŒã ã®æ§ç¯ãéå§ããŸããããã¯ããœãããŠã§ã¢ããã³ããŒããŠã§ã¢ ML ãœãªã¥ãŒã·ã§ã³ (NVIDIAãH2O.aiãStarburstãPerceptiLabs ãªã©) ã®ãšã³ã·ã¹ãã ãæ¥éã«æé·ããŠããŸãã BMW GroupãExxonMobil ãªã©ã® Red Hat ã®é¡§å®¢ã®äžéšã¯ããã©ãããã©ãŒã ãšãã®ãšã³ã·ã¹ãã äžã«ã³ã³ããåããã ML ããŒã«ãã§ãŒã³ãš DevOps ããã»ã¹ããã§ã«ãããã€ããŠãML ã¢ãŒããã¯ãã£ãæ¬çªç°å¢ã«å°å ¥ããããŒã¿ ã¢ããªã¹ãã®äœæ¥ãé«éåããŠããŸãã
ç§ãã¡ã Open Data Hub ãããžã§ã¯ããç«ã¡äžãããã XNUMX ã€ã®çç±ã¯ãããã€ãã®ãªãŒãã³ãœãŒã¹ ãœãããŠã§ã¢ ãããžã§ã¯ãã«åºã¥ãã¢ãŒããã¯ãã£ã®äŸã瀺ããOpenShift ãã©ãããã©ãŒã ã«åºã¥ã㊠ML ãœãªã¥ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«å šäœãå®è£ ããæ¹æ³ã瀺ãããšã§ãã
ãªãŒãã³ããŒã¿ãããããžã§ã¯ã
ããã¯ã察å¿ããéçºã³ãã¥ããã£å ã§éçºããããªãŒãã³ãœãŒã¹ ãããžã§ã¯ãã§ãããOpenShift äžã®ã³ã³ãããš Kubernetes ã䜿çšã㊠AI / ML åé¡ã解決ããéã«ãåæããŒã¿ã®ããŒããšå€æããã¢ãã«ã®çæããã¬ãŒãã³ã°ãä¿å®ã«è³ããŸã§ã®æäœã®ãã« ãµã€ã¯ã«ãå®è£ ããŸãããã©ããããŒã ã ãã®ãããžã§ã¯ãã¯ãªãã¡ã¬ã³ã¹å®è£ ãã€ãŸã OpenShift ããã³é¢é£ãããªãŒãã³ ãœãŒã¹ ããŒã« (TensorflowãJupyterHubãSpark ãªã©) ã«åºã¥ããªãŒãã³ AI/ML-as-a-service ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããæ¹æ³ã®äŸãšèããããšãã§ããŸãã Red Hat èªäœããã®ãããžã§ã¯ãã䜿çšã㊠AI/ML ãµãŒãã¹ãæäŸããŠããããšã«æ³šæããããšãéèŠã§ãã ããã«ãOpenShift ã¯ãNVIDIAãSeldonãStarbustããã®ä»ã®ãã³ããŒã®äž»èŠãªãœãããŠã§ã¢ããã³ããŒããŠã§ã¢ ML ãœãªã¥ãŒã·ã§ã³ãšçµ±åãããŠãããç¬èªã®æ©æ¢°åŠç¿ã·ã¹ãã ã®æ§ç¯ãšå®è¡ã容æã«ãªããŸãã
Open Data Hub ãããžã§ã¯ãã¯ã次ã®ã«ããŽãªã®ãŠãŒã¶ãŒãšãŠãŒã¹ã±ãŒã¹ã«çŠç¹ãåœãŠãŠããŸãã
- ã»ã«ããµãŒãã¹æ©èœãåããã¯ã©ãŠãã®ããã«çµç¹ããããML ãããžã§ã¯ããå®è£ ããããã®ãœãªã¥ãŒã·ã§ã³ãå¿ èŠãšããããŒã¿ ã¢ããªã¹ãã
- ææ°ã®ãªãŒãã³ãœãŒã¹ AI/ML ããŒã«ããã³ãã©ãããã©ãŒã ããæ倧éã®éžæè¢ãå¿ èŠãšããããŒã¿ ã¢ããªã¹ãã
- ã¢ãã«ããã¬ãŒãã³ã°ãããšãã«ããŒã¿ ãœãŒã¹ã«ã¢ã¯ã»ã¹ããå¿ èŠãããããŒã¿ ã¢ããªã¹ãã
- ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ (CPUãGPUãã¡ã¢ãª) ã«ã¢ã¯ã»ã¹ããå¿ èŠãããããŒã¿ ã¢ããªã¹ãã
- ååãšååããŠäœæ¥ãå ±æãããã£ãŒãããã¯ãåãåããè¿ éãªå埩ã§æ¹åãè¡ãèœåãå¿ èŠãšããããŒã¿ ã¢ããªã¹ãã
- éçºè (ããã³ Devops ããŒã ) ãšå¯Ÿè©±ããŠãML ã¢ãã«ãšäœæ¥çµæãæ¬çªç°å¢ã«å°å ¥ããããšèããŠããããŒã¿ ã¢ããªã¹ãã
- èŠå¶ãã»ãã¥ãªãã£ã®èŠä»¶ãéµå®ããªãããããŒã¿ ã¢ããªã¹ãã«ããŸããŸãªããŒã¿ ãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãæäŸããå¿ èŠãããããŒã¿ ãšã³ãžãã¢ã
- ãªãŒãã³ãœãŒã¹ ã³ã³ããŒãã³ãããã³ãã¯ãããžã®ã©ã€ããµã€ã¯ã« (ã€ã³ã¹ããŒã«ãæ§æãã¢ããã°ã¬ãŒã) ã容æã«å¶åŸ¡ããèœåãå¿ èŠãšãã IT ã·ã¹ãã 管çè /ãªãã¬ãŒã¿ãŒã é©åãªç®¡çããŒã«ãšã¯ã©ãŒã¿ ããŒã«ãå¿ èŠã§ãã
Open Data Hub ãããžã§ã¯ãã¯ãAI/ML éçšã®å®å šãªãµã€ã¯ã«ãå®è£ ããããã«ãããŸããŸãªãªãŒãã³ãœãŒã¹ ããŒã«ãçµ±åããŸãã ããã§ã¯ãããŒã¿åæã®äž»ãªäœæ¥ããŒã«ãšã㊠Jupyter Notebook ã䜿çšãããŠããŸãã ãã®ããŒã«ãããã¯çŸåšããŒã¿ ãµã€ãšã³ãã£ã¹ãã®éã§åºãæ®åããŠãããOpen Data Hub ã䜿çšãããšãçµã¿èŸŒã¿ã® JupyterHub ã䜿çšã㊠Jupyter Notebook ã¯ãŒã¯ã¹ããŒã¹ãç°¡åã«äœæããã³ç®¡çã§ããŸãã Jupyter ããŒãããã¯ã®äœæãšã€ã³ããŒãã«å ããŠãOpen Data Hub ãããžã§ã¯ãã«ã¯ãAI ã©ã€ãã©ãªã®åœ¢åŒã§æ¢è£œã®ããŒãããã¯ãå€æ°å«ãŸããŠããŸãã
ãã®ã©ã€ãã©ãªã¯ãã©ããã ãããã¿ã€ãã³ã°ãç°¡çŽ åããäžè¬çãªã·ããªãªçšã®ãªãŒãã³ãœãŒã¹ã®æ©æ¢°åŠç¿ã³ã³ããŒãã³ããšãœãªã¥ãŒã·ã§ã³ã®ã³ã¬ã¯ã·ã§ã³ã§ãã JupyterHub 㯠OpenShift ã® RBAC ã¢ã¯ã»ã¹ ã¢ãã«ãšçµ±åãããŠãããããæ¢åã® OpenShift ã¢ã«ãŠã³ãã䜿çšããŠã·ã³ã°ã« ãµã€ã³ãªã³ãå®è£ ã§ããŸãã ããã«ãJupyterHub ã¯ã¹ãããŒãšåŒã°ãã䜿ãããããŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŠããããŠãŒã¶ãŒã¯ãããéããŠãéžæãã Jupyter Notebook ã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ (CPU ã³ã¢ãã¡ã¢ãªãGPU) ã®éãç°¡åã«æ§æã§ããŸãã
ããŒã¿ ã¢ããªã¹ããã©ããããããäœæããŠæ§æããåŸãã©ãããããã«é¢ãããã®ä»ãã¹ãŠã®æžå¿µäºé ã¯ãOpenShift ã®äžéšã§ãã Kubernetes ã¹ã±ãžã¥ãŒã©ãŒã«ãã£ãŠåŠçãããŸãã ãŠãŒã¶ãŒã¯ãå®éšãå®è¡ããäœæ¥çµæãä¿åããã³å ±æããããšã®ã¿ãå¯èœã§ãã ããã«ãäžçŽãŠãŒã¶ãŒã¯ãJupyter ããŒãããã¯ãã OpenShift CLI ã·ã§ã«ã«çŽæ¥ã¢ã¯ã»ã¹ããŠããžã§ããªã©ã® Kubernetes ããªããã£ãããTekton ã Knative ãªã©ã® OpenShift æ©èœãå©çšã§ããŸãã ãŸãã¯ããã®ããã«ããOpenShift Web ã³ã³ãœãŒã«ããšåŒã°ãã OpenShift ã®äŸ¿å©ãª GUI ã䜿çšããããšãã§ããŸãã
次ã®æ®µéã«é²ããšãOpen Data Hub ã«ããããŒã¿ ãã€ãã©ã€ã³ã®ç®¡çãå¯èœã«ãªããŸãã ãã®ããã«ãS3 äºæã®ãªããžã§ã¯ã ããŒã¿ ã¹ãã¬ãŒãžãšããŠæäŸããã Ceph ãªããžã§ã¯ãã䜿çšãããŸãã Apache Spark ã䜿çšãããšãå€éšãœãŒã¹ãŸãã¯çµã¿èŸŒã¿ Ceph S3 ã¹ãã¬ãŒãžããããŒã¿ãã¹ããªãŒãã³ã°ããããäºåçãªããŒã¿å€æãå®è¡ãããã§ããŸãã Apache Kafka ã¯ãããŒã¿ ãã€ãã©ã€ã³ (ããŒã¿ãè€æ°åããŒãã§ããã»ããããŒã¿å€æãåæãæ°žç¶åæäœãªã©) ã®é«åºŠãªç®¡çãæäŸããŸãã
ããã§ãããŒã¿ ã¢ããªã¹ãã¯ããŒã¿ã«ã¢ã¯ã»ã¹ããŠã¢ãã«ãæ§ç¯ããŸããã çŸåšã圌ã¯åŸãããçµæãååãã¢ããªã±ãŒã·ã§ã³éçºè ãšå ±æãããµãŒãã¹ã®ååã«é¢ããã¢ãã«ãæäŸããããšèããŠããŸãã ããã«ã¯æšè«ãµãŒããŒãå¿ èŠã§ããOpen Data Hub ã«ã¯ Seldon ãšåŒã°ãããã®ãããªãµãŒããŒããããã¢ãã«ã RESTful ãµãŒãã¹ãšããŠå ¬éã§ããŸãã
ããæç¹ã§ãSeldon ãµãŒããŒäžã«ãã®ãããªã¢ãã«ãããã€ãååšããããããã©ã®ããã«äœ¿çšãããŠããããç£èŠããå¿ èŠããããŸãã ãããå®çŸããããã«ãOpen Data Hub ã¯ãé¢é£ããã¡ããªã¯ã¹ã®ã³ã¬ã¯ã·ã§ã³ãšãåºã䜿çšãããŠãããªãŒãã³ ãœãŒã¹ç£èŠããŒã« Prometheus ããã³ Grafana ã«åºã¥ãã¬ããŒã ãšã³ãžã³ãæäŸããŸãã ãã®çµæãç¹ã«å®çšŒåç°å¢ã§ã® AI ã¢ãã«ã®äœ¿çšãç£èŠããããã®ãã£ãŒãããã¯ãåãåããŸãã
ãã®ããã«ãOpen Data Hub ã¯ãããŒã¿ã®ã¢ã¯ã»ã¹ãšæºåããã¢ãã«ã®ãã¬ãŒãã³ã°ãšçæã«è³ããŸã§ãAI/ML ã©ã€ããµã€ã¯ã«å šäœãéããŠã¯ã©ãŠãã®ãããªã¢ãããŒããæäŸããŸãã
ããããŸãšããŠ
ããã§ãOpenShift 管çè ã®ããã«ããããã¹ãŠãã©ã®ããã«æŽçããããšããåé¡ãçããŸãã ããã§ãOpen Data Hub ãããžã§ã¯ãçšã®ç¹å¥ãª Kubernetes ãªãã¬ãŒã¿ãŒãç»å ŽããŸãã
ãã®ãªãã¬ãŒã¿ãŒã¯ãJupyterHubãCephãSparkãKafkaãSeldonãPrometheusãGrafana ãªã©ã®åè¿°ã®ããŒã«ã®ãããã€ã¡ã³ããå«ããOpen Data Hub ãããžã§ã¯ãã®ã€ã³ã¹ããŒã«ãæ§æãã©ã€ããµã€ã¯ã«ã管çããŸãã Open Data Hub ãããžã§ã¯ãã¯ãOpenShift Web ã³ã³ãœãŒã«ã®ã³ãã¥ãã㣠ãªãã¬ãŒã¿ãŒ ã»ã¯ã·ã§ã³ã«ãããŸãã ãããã£ãŠãOpenShift 管çè ã¯ã察å¿ãã OpenShift ãããžã§ã¯ãããOpen Data Hub ãããžã§ã¯ãããšããŠåé¡ãããããã«æå®ã§ããŸãã ããã¯äžåºŠã ãè¡ãããŸãã ãã®åŸãããŒã¿ ã¢ããªã¹ã㯠OpenShift Web ã³ã³ãœãŒã«ãéããŠãããžã§ã¯ã ã¹ããŒã¹ã«ãã°ã€ã³ãã察å¿ãã Kubernetes ãªãã¬ãŒã¿ãŒãã€ã³ã¹ããŒã«ããããããžã§ã¯ãã§äœ¿çšã§ããããšã確èªããŸãã 次ã«ãã¯ã³ã¯ãªãã¯ã§ Open Data Hub ãããžã§ã¯ã ã€ã³ã¹ã¿ã³ã¹ãäœæããäžèšã®ããŒã«ã«ããã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã ãããã¯ãã¹ãŠãé«å¯çšæ§ããã³ãã©ãŒã«ã ãã¬ã©ã³ã¹ ã¢ãŒãã§æ§æã§ããŸãã
Open Data Hub ãããžã§ã¯ããèªåã§è©ŠããŠã¿ããå Žåã¯ã以äžããå§ããŠãã ããã
èŠçŽ: æ·±å»ãªã¹ã±ãŒãªã³ã°ã®èª²é¡ã«ãããçµç¹ã¯äººå·¥ç¥èœãšæ©æ¢°åŠç¿ã®å¯èœæ§ãæ倧éã«æŽ»çšããããšãã§ããŸããã Red Hat OpenShift ã¯ããœãããŠã§ã¢æ¥çã«ãããåæ§ã®åé¡ã解決ããããã«é·ãé䜿çšãããŠæåããŠããŸããã ãªãŒãã³ãœãŒã¹éçºã³ãã¥ããã£å
ã§å®è£
ããã Open Data Hub ãããžã§ã¯ãã¯ãOpenShift ãã€ããªãã ã¯ã©ãŠãã«åºã¥ã㊠AI/ML éçšã®å
šãµã€ã¯ã«ãçµç¹ããããã®ãªãã¡ã¬ã³ã¹ ã¢ãŒããã¯ãã£ãæäŸããŸãã ç§ãã¡ã¯ãã®ãããžã§ã¯ãã®éçºã«ã€ããŠæ確ã§ææ
®æ·±ãèšç»ãæã£ãŠãããOpenShift ãã©ãããã©ãŒã äžã§ãªãŒãã³ AI ãœãªã¥ãŒã·ã§ã³ãéçºããããã«ããã®ãããžã§ã¯ããäžå¿ã«ã¢ã¯ãã£ãã§å®ãããã³ãã¥ããã£ãæ§ç¯ããããšã«çå£ã«åãçµãã§ããŸãã
åºæïŒ habr.com