Vertex AI Neural Architecture Search ã䜿çšãããšã粟床ãã¬ã€ãã³ã·ãã¡ã¢ãªããããã®çµã¿åããããŸãã¯ã«ã¹ã¿ã ææšã®èгç¹ãããæé©ãªãã¥ãŒã©ã« ã¢ãŒããã¯ãã£ãæ€çŽ¢ã§ããŸãã
Vertex AI Neural Architecture Search ãæé©ãªããŒã«ãã©ããã倿ãã
- Vertex AI Neural Architecture Search ã¯ãã¬ã€ãã³ã·ãã¡ã¢ãªãã«ã¹ã¿ã ææšãªã©ã®å¶çŽã®æç¡ã«ãããããã粟床ã®èгç¹ããæé©ãªãã¥ãŒã©ã« ã¢ãŒããã¯ãã£ãèŠã€ããããã«äœ¿çšããããã€ãšã³ãã®æé©åããŒã«ã§ããå¯èœãªãã¥ãŒã©ã« ã¢ãŒããã¯ãã£ã®éžæè¢ã®æ€çŽ¢ã¹ããŒã¹ã¯ã10^20 ã«ããªãåŸãŸããããã¯ãNasnetãMNasnetãEfficientNetãNAS FPNãSpineNet ãªã©ãé廿°å¹Žéã§ãè€æ°ã®æå 端ã®ã³ã³ãã¥ãŒã¿ ããžã§ã³ ã¢ãã«ã®çæã«æåããæè¡ã«åºã¥ããŠããŸãã
- Neural Architecture Search ã¯ãããŒã¿ãæã¡èŸŒãã°ãã¹ããªãã§è¯ãçµæãæåŸ ã§ãããšãã£ããœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸãããããã¯ãã¹ãããŒã«ã§ãã
- Neural Architecture Search ã¯ãåŠç¿çããªããã£ãã€ã¶ãŒã®èšå®ã®èª¿æŽãªã©ããã€ããŒãã©ã¡ãŒã¿ã®èª¿æŽã«å¯Ÿå¿ããŠããŸãããããã¯ã¢ãŒããã¯ãã£æ€çŽ¢ã®ã¿ãç®çãšããŠããŸãããã€ããŒãã©ã¡ãŒã¿ã®èª¿æŽãš Neural Architecture Search ã¯çµã¿åãããã¹ãã§ã¯ãããŸããã
- ãã¬ãŒãã³ã° ããŒã¿ãéãããŠããå Žåããäžéšã®ã¯ã©ã¹ãéåžžã«ãŸãã§ããèããäžåè¡¡ãªããŒã¿ã»ããã®å Žåãã¢ãŒããã¯ãã£æ€çŽ¢ã¯ããããããŸãããããŒã¿äžè¶³ã®ãããããŒã¹ã©ã€ã³ ãã¬ãŒãã³ã°ã§ãã§ã«å€§éã®æ¡åŒµãè¡ã£ãŠããå ŽåãNeural Architecture Search ã¯ããããããŸããã
- ãŸããåŸæ¥ã® ML ã®ææ³ããã¯ããã¯ïŒãã€ããŒãã©ã¡ãŒã¿èª¿æŽãªã©ïŒãã詊ããã ãããNeural Architecture Search ã¯ããã®ãããªåŸæ¥ã®ææ³ã§ã¯å¹æãèŠãããªãå Žåã«ã®ã¿äœ¿çšããŠãã ããã
- ã¢ãŒããã¯ã㣠ãã©ã¡ãŒã¿ã®å€æŽã詊è¡ã«é¢ããåºæ¬çãªèããæã€ãã¢ãã«èª¿æŽã®ããã®ç€Ÿå ããŒã ãèšçœ®ããå¿ èŠããããŸãããããã®ã¢ãŒããã¯ã㣠ãã©ã¡ãŒã¿ã«ã¯ãã«ãŒãã«ãµã€ãºããã£ãã«æ°ãæ¥ç¶æ°ãªã©ãå€ãã®å¯èœæ§ãå«ãŸããŸããæ¢çŽ¢ããæ€çŽ¢ã¹ããŒã¹ã決ãŸã£ãŠããå ŽåãNeural Architecture Search ã¯éåžžã«äŸ¡å€ããããæå€§ 10^20 ã®ã¢ãŒããã¯ãã£ã®éžæè¢ãšããå€§èŠæš¡ãªæ€çŽ¢ã¹ããŒã¹ãæ¢çŽ¢ããããã«ããšã³ãžãã¢ãªã³ã°æéãå°ãªããšã 6 ãæççž®ã§ããŸãã
- Neural Architecture Search ã¯ããã¹ãã«æ°åãã«ãè²»ããããšãã§ããäŒæ¥ã®ã客æ§ã察象ãšããŠããŸãã
- Neural Architecture Search ã¯ãããžã§ã³ã®ã¿ã®ãŠãŒã¹ã±ãŒã¹ã«éå®ãããŸãããçŸåšã¯ãããžã§ã³ããŒã¹ã®ãã«ãæžã¿æ€çŽ¢ã¹ããŒã¹ãšãã¬ãŒããŒãæäŸãããŠããŸãããã客æ§ãç¬èªã®ããžã§ã³ãªãã®æ€çŽ¢ã¹ããŒã¹ãšãã¬ãŒããŒãçšæããããšãã§ããŸãã
- Neural Architecture Search ã§ã¯ãç¬èªã®ããŒã¿ãçšæããŠããããœãªã¥ãŒã·ã§ã³ãšããã¹ãŒããŒãããïŒã¯ã³ã·ã§ãã NAS ãŸãã¯éã¿å ±æããŒã¹ã® NASïŒã®ææ³ã¯äœ¿çšããŸãããã¹ãŒããŒããããã«ã¹ã¿ãã€ãºããã®ã¯ç°¡åã§ã¯ãããŸããïŒæ°ãæããããŸãïŒãã¹ãŒããŒããããšã¯ç°ãªããNeural Architecture Search ã¯ãã«ã¹ã¿ã æ€çŽ¢ã¹ããŒã¹ãšå ±é ¬ãå®çŸ©ããããã«é«åºŠã«ã«ã¹ã¿ãã€ãºã§ããŸããã«ã¹ã¿ãã€ãºã¯ãçŽ 1ïœ2 æ¥ã§è¡ããŸãã
- Neural Architecture Search ã¯ãäžçäžã® 8 ãªãŒãžã§ã³ã§ãµããŒããããŠããŸããå©çšå¯èœãªãªãŒãžã§ã³ãã確èªãã ããã
Neural Architecture Search ã䜿çšããåã«ãäºæ³ãããè²»çšãçµæã®å¢å ãGPU å²ãåœãŠã®èŠä»¶ã«é¢ããæ¬¡ã®ã»ã¯ã·ã§ã³ãã芧ãã ããã
äºæ³ãããè²»çšãçµæã®å¢å ãGPU å²ãåœãŠã®èŠä»¶
äžã®å³ã¯ãNeural Architecture Search æ²ç·ã瀺ããŠããŸããY-axis
ã¯è©Šè¡å ±é
‹X-axis
ã¯è©Šè¡åæ°ã瀺ããŸãããã©ã€ã¢ã«æ°ãå¢ãããšãã³ã³ãããŒã©ã¯ããåªããã¢ãã«ã®æ€åºãéå§ããŸãããã®ãããå ±é
¬ãå¢å ãå§ãããã®åŸå ±é
¬ã®åæ£ãšå ±é
¬ã®å¢å ãçž®å°ãå§ããåæã瀺ããŸããåæç¹ã§ã¯ã詊è¡åæ°ã¯æ€çŽ¢ã¹ããŒã¹ã®ãµã€ãºã«ãã£ãŠç°ãªããŸãããçŽ 2,000 åçšåºŠã§ããå詊è¡ã¯ããããã·ã¿ã¹ã¯ãšåŒã°ããå°èŠæš¡ãªãã¬ãŒãã³ã° ããŒãžã§ã³ãšããŠã2 ã€ã® Nvidia V100 GPU ã§çŽ 1ïœ2 æéå®è¡ããããã«èšèšãããŠããŸããã客æ§ã¯ãä»»æã®æç¹ã§æ€çŽ¢ãæåã§åæ¢ããããšãå¯èœã§ãåæç¹ãçããåã«ãããŒã¹ã©ã€ã³ãšæ¯èŒããŠããé«ãå ±é
¬ã¢ãã«ãèŠã€ããããšãã§ããŸããããè¯ãçµæãéžæããã«ã¯ãåæç¹ã«éãããŸã§åŸ
ã€ããšãããããããŸããæ€çŽ¢åŸãæ¬¡ã®æ®µéã§ã¯ãäžäœ 10 ä»¶ã®è©Šè¡ïŒã¢ãã«ïŒãéžã³ãããã«å¯ŸããŠå®å
šãªãã¬ãŒãã³ã°ãå®è¡ããŸãã
ïŒçç¥å¯ïŒäºåæ§ç¯æžã¿ã® MNasNet æ€çŽ¢ç©ºéãšãã¬ãŒããŒããã¹ããã
ãã®ã¢ãŒãã§ã¯ãæ€çŽ¢æ²ç·ãããã€ãã®è©Šè¡ïŒçŽ 25 åïŒã芳å¯ããäºåæ§ç¯æžã¿ã® MNasNet æ€çŽ¢ã¹ããŒã¹ãšãã¬ãŒããŒã䜿çšããŠãã¹ãéçšãè¡ããŸãã
å³ã§ã¯ãã¹ããŒãž 1 ã®æé«å ±é ¬ãããã©ã€ã¢ã« 1 ã®çŽ 0.30 ããããã©ã€ã¢ã« 17 ã®çŽ 0.37 ã«äžæããŠããŸãããµã³ããªã³ã°ã®ã©ã³ãã æ§ã«ãããæ£ç¢ºãªåäœã¯å€å°ç°ãªãå ŽåããããŸãããæé«å ±é ¬ã§ã¯å€å°ã®å¢å ã確èªã§ããã¯ãã§ããããã¯å°ãããã¹ãã§ãããæŠå¿µå®èšŒãå ¬çãªãã³ãããŒã¯æ€èšŒã衚ããã®ã§ã¯ãããŸããã
ãã®å®è¡ã«å¯Ÿããè²»çšã®è©³çŽ°ã¯æ¬¡ã®ãšããã§ãã
- ã¹ããŒãž 1:
- 詊è¡åæ°: 25
- 1 詊è¡ãããã® GPU æ°: 2
- GPU ã¿ã€ã: TESLA_T4
- 1 詊è¡ãããã® CPU æ°: 1
- CPU ã¿ã€ã: n1-highmem-16
- ãã¬ãŒãã³ã°ã®è©Šè¡ 1 åã®å¹³åæé: 3 æé
- 䞊åè©Šè¡æ°: 6
- 䜿çšããã GPU å²ãåœãŠ: ïŒ1 詊è¡ãããã® GPU æ° Ã äžŠåè©Šè¡æ°ïŒ= 12 GPU詊è¡ã«ã¯ us-central1 ãªãŒãžã§ã³ã䜿çšããåããªãŒãžã§ã³ã«ãã¬ãŒãã³ã° ããŒã¿ãé 眮ããŸãã远å ã®å²ãåœãŠã¯å¿ èŠãããŸããã
- å®è¡æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æéïŒÃ·ïŒäžŠåè©Šè¡æ°ïŒ= 12 æé
- GPU æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æé à 1 詊è¡ãããã® GPU æ°ïŒ= 150 T4 GPU æé
- CPU æé: ïŒè©Šè¡åæ° * 1 詊è¡ãããã®ãã¬ãŒãã³ã°æé * 1 詊è¡ãããã® CPU æ°ïŒ= 75 n1-highmem-16 æé
- è²»çš: çŽ $185ãžã§ãã¯ãæ©æã«åæ¢ããŠè²»çšãåæžã§ããŸããæ£ç¢ºãªæéãèšç®ããã«ã¯ãæéããŒãžãã芧ãã ããã
ããã¯å°ãããã¹ãã§ãããããã¹ããŒãž 1 ã®ã¢ãã«ã«å¯ŸããŠå®å šãªã¹ããŒãž 2 ãã¬ãŒãã³ã°ãå®è¡ããå¿ èŠã¯ãããŸãããã¹ããŒãž 2 ã®å®è¡ã®è©³çްã«ã€ããŠã¯ããã¥ãŒããªã¢ã« 3 ãã芧ãã ããã
ãã®å®è¡ã«ã¯ãMnasNet ããŒãããã¯ã䜿çšãããŸãã
ïŒçç¥å¯ïŒäºåæ§ç¯æžã¿ã® MNasNet æ€çŽ¢ã¹ããŒã¹ãšãã¬ãŒããŒã®æŠå¿µå®èšŒïŒPOCïŒå®è¡
å ¬éããã MNasnet ã®çµæãã»ãŒåçŸããå Žåã¯ããã®ã¢ãŒãã䜿çšã§ããŸãããã®è«æã«ãããšãMnasNet 㯠Google Pixel ã§ 78 ããªç§ã®ã¬ã€ãã³ã·ã§ 75.2% ã®ããã 1 ã®ç²ŸåºŠãéæããŠããŸãããã㯠MobileNetV2 ã® 1.8 åã®éãã§ 0.5% é«ã粟床ãNASNet ã® 2.3 åã®éãã§ 1.2% é«ã粟床ãšãªã£ãŠããŸãããã ãããã®äŸã§ã¯ããã¬ãŒãã³ã°ã« TPU ã§ã¯ãªã GPU ã䜿çšããã¬ã€ãã³ã·ã®è©äŸ¡ã« cloud-CPUïŒn1-highmem-8ïŒã䜿çšããŸãããã®äŸã§ã¯ãMNasNet ã§äºæ³ãããã¹ããŒãž 2 ã®ããã 1 粟床㯠75.2%ãcloud-CPUïŒn1-highmem-8ïŒã§ 50 ããªç§ã®ã¬ã€ãã³ã·ã«ãªããŸãã
ãã®å®è¡ã«å¯Ÿããè²»çšã®è©³çŽ°ã¯æ¬¡ã®ãšããã§ãã
ã¹ããŒãž 1 ã®æ€çŽ¢:
- 詊è¡åæ°: 2,000
- 1 詊è¡ãããã® GPU æ°: 2
- GPU ã¿ã€ã: TESLA_T4
- ãã¬ãŒãã³ã°ã®è©Šè¡ 1 åã®å¹³åæé: 3 æé
- 䞊åè©Šè¡æ°: 10
- 䜿çšããã GPU å²ãåœãŠ: ïŒ1 詊è¡ãããã® GPU æ° Ã äžŠåè©Šè¡æ°ïŒ= 20 T4 GPUãã®æ°ã¯ããã©ã«ãã®å²ãåœãŠãè¶ ããŠããããããããžã§ã¯ã UI ããå²ãåœãŠãªã¯ãšã¹ããäœæããŸãã詳现ã«ã€ããŠã¯ãsetting_up_path ãã芧ãã ããã
- å®è¡æé: ïŒè©Šè¡åæ° * 1 詊è¡ãããã®ãã¬ãŒãã³ã°æéïŒÃ·ïŒäžŠåè©Šè¡æ°ïŒÃ· 24 = 25 æ¥æ³š: ãžã§ã㯠14 æ¥åŸã«çµäºããŸãããã®åŸ 14 æ¥éã¯ã1 ã€ã®ã³ãã³ãã§ç°¡åã«æ€çŽ¢ãžã§ããåéã§ããŸããGPU å²ãåœãŠã倧ãããªãã»ã©ãããã«æ¯äŸããŠå®è¡æéã¯æžå°ããŸãã
- GPU æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æé à 1 詊è¡ãããã® GPU æ°ïŒ= 12,000 T4 GPU æé
- è²»çš: çŽ $15,000
ã¹ããŒãž 2 ã¯ãäžäœ 10 åã®ã¢ãã«ã§ãã«ãã¬ãŒãã³ã°ã宿œ:
- 詊è¡åæ°: 10
- 1 詊è¡ãããã® GPU æ°: 4
- GPU ã¿ã€ã: TESLA_T4
- ãã¬ãŒãã³ã°ã®è©Šè¡ 1 åã®å¹³åæé: çŽ 9 æ¥
- 䞊åè©Šè¡æ°: 10
- 䜿çšããã GPU å²ãåœãŠ: ïŒ1 詊è¡ãããã® GPU æ° Ã äžŠåè©Šè¡æ°ïŒ= 40 T4 GPUãã®æ°ã¯ããã©ã«ãã®å²ãåœãŠãè¶ ããŠããããããããžã§ã¯ã UI ããå²ãåœãŠãªã¯ãšã¹ããäœæããŸãã詳现ã«ã€ããŠã¯ãsetting_up_path ãã芧ãã ããããŸãã10 åãã¹ãŠã䞊åã«å®è¡ããã®ã§ã¯ãªã 5 åã®ã¢ãã«ã§ãžã§ãã 2 åå®è¡ããããšã§ã20 åã® T4 GPU ã§ãããå®è¡ããããšãã§ããŸãã
- å®è¡æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æéïŒÃ·ïŒäžŠåè©Šè¡æ°ïŒÃ· 24 = çŽ 9 æ¥
- GPU æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æé à 1 詊è¡ãããã® GPU æ°ïŒ= 8,960 T4 GPU æé
- è²»çš: çŽ $8,000
ç·è²»çš: çŽ $23,000ãæ£ç¢ºãªæéãèšç®ããã«ã¯ãæéããŒãžãã芧ãã ãããæ³š: ãã®äŸã¯ãå¹³åçãªéåžžã®ãã¬ãŒãã³ã° ãžã§ãã§ã¯ãããŸããããã« ãã¬ãŒãã³ã°ã¯ã4 åã® TESLA_T4 GPU ã§çŽ 9 æ¥éå®è¡ãããŸãã
ãã®å®è¡ã«ã¯ãMnasNet ããŒãããã¯ã䜿çšãããŸãã
æ€çŽ¢ã¹ããŒã¹ãšãã¬ãŒããŒã®äœ¿çš
å¹³åçãªã«ã¹ã¿ã ãŠãŒã¶ãŒã®ããããã®è²»çšãæç€ºããŸããã客æ§ã®ããŒãºã¯ããã¬ãŒãã³ã° ã¿ã¹ã¯ã䜿çšãã GPU ãš CPU ã«ãã£ãŠç°ãªããŸãããã¡ãã§èª¬æããããã«ããšã³ãããŒãšã³ãã®å®è¡ã«ã¯å°ãªããšã 20 GPU ã®å²ãåœãŠãå¿ èŠã§ããæ³š: ããã©ãŒãã³ã¹ã®åäžã¯å®å šã«ã¿ã¹ã¯ã«äŸåããŸããããã©ãŒãã³ã¹åäžã®åèäŸãšããŠã¯ãMNasnet ã®ãããªäŸããæäŸã§ããŸããã
ãã®ä»®å®ã®ã«ã¹ã¿ã å®è¡ã«ãããè²»çšã¯æ¬¡ã®ãšããã§ãã
ã¹ããŒãž 1 ã®æ€çŽ¢:
- 詊è¡åæ°: 2,000
- 1 詊è¡ãããã® GPU æ°: 2
- GPU ã¿ã€ã: TESLA_T4
- ãã¬ãŒãã³ã°ã®è©Šè¡ 1 åã®å¹³åæé: 1.5 æé
- 䞊åè©Šè¡æ°: 10
- 䜿çšããã GPU å²ãåœãŠ: ïŒ1 詊è¡ãããã® GPU æ° Ã äžŠåè©Šè¡æ°ïŒ= 20 T4 GPUãã®æ°ã¯ããã©ã«ãã®å²ãåœãŠãè¶ ããŠããããããããžã§ã¯ã UI ããå²ãåœãŠãªã¯ãšã¹ããäœæããå¿ èŠããããŸãã詳ããã¯ããããžã§ã¯ãã®è¿œå ã®ããã€ã¹å²ãåœãŠããªã¯ãšã¹ããããã芧ãã ããã
- å®è¡æé: ïŒè©Šè¡åæ° * 1 詊è¡ãããã®ãã¬ãŒãã³ã°æéïŒÃ·ïŒäžŠåè©Šè¡æ°ïŒÃ· 24 = 12.5 æ¥
- GPU æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æé à 1 詊è¡ãããã® GPU æ°ïŒ= 6,000 T4 GPU æé
- è²»çš: çŽ $7,400
ã¹ããŒãž 2 ã¯ãäžäœ 10 åã®ã¢ãã«ã§ãã«ãã¬ãŒãã³ã°ã宿œ:
- 詊è¡åæ°: 10
- 1 詊è¡ãããã® GPU æ°: 2
- GPU ã¿ã€ã: TESLA_T4
- ãã¬ãŒãã³ã°ã®è©Šè¡ 1 åã®å¹³åæé: çŽ 4 æ¥
- 䞊åè©Šè¡æ°: 10
- 䜿çšããã GPU å²ãåœãŠ: ïŒ1 詊è¡ãããã® GPU æ° Ã äžŠåè©Šè¡æ°ïŒ= 20 T4 GPU**ãã®æ°ã¯ããã©ã«ãã®å²ãåœãŠãè¶ ããŠããããããããžã§ã¯ã UI ããå²ãåœãŠãªã¯ãšã¹ããäœæããå¿ èŠããããŸãã詳ããã¯ããããžã§ã¯ãã®è¿œå ã®ããã€ã¹å²ãåœãŠããªã¯ãšã¹ããããã芧ãã ãããã«ã¹ã¿ã å²ãåœãŠã®ããŒãºã«ã€ããŠã¯ãåããã¥ã¡ã³ããã芧ãã ããã
- å®è¡æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æéïŒÃ·ïŒäžŠåè©Šè¡æ°ïŒÃ· 24 = çŽ 4 æ¥
- GPU æé: ïŒè©Šè¡åæ° Ã 1 詊è¡ãããã®ãã¬ãŒãã³ã°æé à 1 詊è¡ãããã® GPU æ°ïŒ= 1,920 T4 GPU æé
- è²»çš: çŽ $2,400
ãããã·ã¿ã¹ã¯ã®èšèšã³ã¹ãã®è©³çްã«ã€ããŠã¯ããããã·ã¿ã¹ã¯ã®èšèšãã芧ãã ããããã®è²»çšã¯ã12 ã¢ãã«ã®ãã¬ãŒãã³ã°ã«é¡äŒŒããŠããŸãïŒå³ã®ã¹ããŒãž 2 ã§ã¯ 10 ã¢ãã«ã䜿çšããŠããŸãïŒã
- 䜿çšããã GPU å²ãåœãŠ: å³ã®ã¹ããŒãž 2 ã®å®è¡ãšåãã
- è²»çš: ïŒ12 / 10ïŒÃ 10 ã¢ãã«åã®ã¹ããŒãž 2 ã®è²»çš = çŽ $2,880
ç·è²»çš: çŽ $12,680ãæ£ç¢ºãªæéãèšç®ããã«ã¯ãæéããŒãžãã芧ãã ããã
ãã®ã¹ããŒãž 1 ã®æ€çŽ¢è²»çšã¯ãåæç¹ã«éãããŸã§æ€çŽ¢ãè¡ããæå€§ã®ããã©ãŒãã³ã¹ãåŸãããã®ãã®ã§ããããããæ€çŽ¢ãåæãããŸã§åŸ ããªãã§ãã ãããæ€çŽ¢ã»å ±é ¬æ²ç·ãæé·ãå§ãããšããããŸã§ã®ãã¹ãã¢ãã«ã§ã¹ããŒãž 2 ã®ãã«ãã¬ãŒãã³ã°ãå®è¡ããããšã§ãããäœã³ã¹ãã§ããå°ããããã©ãŒãã³ã¹åäžãæåŸ ã§ããŸããããšãã°ãåã«ç€ºããæ€çŽ¢ããããã®å ŽåãåæãŸã§ã®è©Šè¡åæ°ã 2,000 ä»¶ã«éãããŸã§åŸ ããªãã§ãã ãããããè¯ãã¢ãã«ã¯ã700 åã 1,200 åã®è©Šè¡ã§èŠã€ããããšãã§ãããããã«å¯ŸããŠã¹ããŒãž 2 ã®ãã«ãã¬ãŒãã³ã°ã宿œã§ããŸããè²»çšãæãããããæ€çŽ¢ã¯ãã€ã§ã忢ã§ããŸããæ€çŽ¢ã®å®è¡äžã«ã¹ããŒãž 2 ã®ãã«ãã¬ãŒãã³ã°ã䞊è¡ããŠå®è¡ã§ããŸãããäœåãªäžŠåãžã§ãããµããŒãããããã® GPU å²ãåœãŠãããããšã確èªããŠãã ããã
ããã©ãŒãã³ã¹ãšè²»çšã®æŠèŠ
次ã®è¡šã¯ãããŸããŸãªãŠãŒã¹ã±ãŒã¹ãšãé¢é£ããããã©ãŒãã³ã¹ãšã³ã¹ããå«ãããã€ãã®ããŒã¿ãã€ã³ãããŸãšãããã®ã§ãã
ãŠãŒã¹ã±ãŒã¹ãšæ©èœ
Neural Architecture Search ã¯æè»æ§ãé«ãã䜿ããããæ©èœã§ããåããŠäœ¿çšããå Žåã§ãã远å ã®èšå®ãªãã§ãäºåæ§ç¯æžã¿ã®æ€çŽ¢ã¹ããŒã¹ããã¬ãŒããŒãããŒãããã¯ã䜿çšããŠãããŒã¿ã»ããã® Vertex AI Neural Architecture Search ãéå§ã§ããŸãããŸãããšãã¹ããŒã ãŠãŒã¶ãŒã¯ãã«ã¹ã¿ã ãã¬ãŒããŒãã«ã¹ã¿ã æ€çŽ¢ã¹ããŒã¹ãã«ã¹ã¿ã æšè«ããã€ã¹ã䜿çšã㊠Neural Architecture Search ãå©çšã§ããŸãããŸããããžã§ã³ä»¥å€ã®ãŠãŒã¹ã±ãŒã¹ã«ãã¢ãŒããã¯ãã£æ€çŽ¢ãæ¡åŒµã§ããŸãã
Neural Architecture Search ã«ã¯ã次ã®ãŠãŒã¹ã±ãŒã¹åãã« GPU ã§å®è¡ããããã«ãæžã¿ãã¬ãŒããŒãšæ€çŽ¢ã¹ããŒã¹ãçšæãããŠããŸãã
- ããŒãããã¯ã«å
¬éãããäžè¬å
¬éã®ããŒã¿ã»ãã ããŒã¹ã®çµæãå«ã Tensorflow ãã¬ãŒããŒ
- ãšã³ãããŒãšã³ãïŒSpineNetïŒã®æ€çŽ¢ã¹ããŒã¹ã䜿çšããç»åãªããžã§ã¯ãæ€åº
- äºåæ§ç¯æžã¿ã®ããã¯ããŒã³ïŒMnasNetïŒæ€çŽ¢ã¹ããŒã¹ã䜿çšããåé¡
- ãã«ãæžã¿ã®ãšã³ãããŒãšã³ãã®æ€çŽ¢ã¹ããŒã¹ãåãã LiDAR 3D Point Cloud Object Detection
- ã¬ã€ãã³ã·ãšã¡ã¢ãªã®å¶çŽã®ãããã¿ãŒã²ãã ããã€ã¹ã察象ãšããæ€çŽ¢
- ãã¥ãŒããªã¢ã«ã®ãµã³ãã«ãšããŠã®ã¿äœ¿çšããã PyTorch ãã¬ãŒããŒ
- PyTorch ã® 3D å»çç»åã»ã°ã¡ã³ããŒã·ã§ã³æ€çŽ¢ç©ºéã®äŸ
- PyTorch ããŒã¹ã® MNasNet åé¡
- ã¬ã€ãã³ã·ãšã¡ã¢ãªã®å¶çŽã®ãããã¿ãŒã²ãã ããã€ã¹ã察象ãšããæ€çŽ¢
- ã³ãŒããå«ãã远å ã® Tensorflow ããŒã¹ã®æå
端ã®ãã«ãæžã¿æ€çŽ¢ã¹ããŒã¹
- ã¢ãã«ã®ã¹ã±ãŒãªã³ã°
- ããŒã¿ã®æ¡åŒµ
Neural Architecture Search ãæäŸããæ©èœã®å®å šãªã»ããã¯ãã«ã¹ã¿ãã€ãºãããã¢ãŒããã¯ãã£ãšãŠãŒã¹ã±ãŒã¹ã«ãç°¡åã«äœ¿çšã§ããŸãã
- å¯èœãªãã¥ãŒã©ã« ã¢ãŒããã¯ãã£ã§ã«ã¹ã¿ã æ€çŽ¢ã¹ããŒã¹ãå®çŸ©ãããã®æ€çŽ¢ã¹ããŒã¹ãã«ã¹ã¿ã ãã¬ãŒã㌠ã³ãŒããšçµ±åãã Neural Architecture Search èšèªã
- ã³ãŒããå«ããããã«å©çšã§ããæå ç«¯ã®æ€çŽ¢ã¹ããŒã¹ã
- ã³ãŒããå«ããããã«äœ¿çšã§ããäºåæ§ç¯æžã¿ã®ãã¬ãŒããŒãTPU / GPU ã§å®è¡ãããŸãã
- 以äžãå«ãã¢ãŒããã¯ãã£æ€çŽ¢ã®ãããŒãžã ãµãŒãã¹:
- æ€çŽ¢ã¹ããŒã¹ããµã³ããªã³ã°ããŠæé©ãªã¢ãŒããã¯ãã£ãæ€çŽ¢ãã Neural Architecture Search ã³ã³ãããŒã©ã
- ã³ãŒããå«ãäºåæ§ç¯æžã¿ã® Docker / ã©ã€ãã©ãªãã«ã¹ã¿ã ããŒããŠã§ã¢ã®ã¬ã€ãã³ã· / FLOP / ã¡ã¢ãªã®èšç®ãè¡ããŸãã
- NAS ã®äœ¿ãæ¹ã説æãããã¥ãŒããªã¢ã«ã
- ãããã·ã¿ã¹ã¯ãèšèšããããã®äžé£ã®ããŒã«ã
- Vertex AI ã䜿çšããå¹çç㪠PyTorch ãã¬ãŒãã³ã°ã®ã¬ã€ãã³ã¹ãšäŸã
- ã«ã¹ã¿ã ææšã®ã¬ããŒããšåæã«å¯Ÿããã©ã€ãã©ãª ãµããŒãã
- ãžã§ãã®ã¢ãã¿ãªã³ã°ãšç®¡çãè¡ã Google Cloud Console UIã
- ããŒãããã¯ãå©çšããŠç°¡åã«æ€çŽ¢ãéå§ã§ããŸãã
- ãããžã§ã¯ããŸãã¯ãžã§ãã¬ãã«ã®ç²åºŠã§ã® GPU / CPU ã®ãªãœãŒã¹äœ¿çšé管çã«å¯Ÿããã©ã€ãã©ãª ãµããŒãã
- Docker ã®ãã«ããNAS ãžã§ãã®èµ·åã以åã®æ€çŽ¢ãžã§ãã®åéãè¡ã Python ããŒã¹ã® Nas ã¯ã©ã€ã¢ã³ãã
- Google Cloud ã³ã³ãœãŒã«ã® UI ããŒã¹ã®ã«ã¹ã¿ã㌠ãµããŒãã
èæ¯
Neural Architecture Search ã¯ããã¥ãŒã©ã« ãããã¯ãŒã¯ã®èšèšãèªååããææ³ã§ããé廿°å¹Žéã§ã次ã®ãããªæå 端ã®ã³ã³ãã¥ãŒã¿ ããžã§ã³ ã¢ãã«ãå®çŸããŸããã
ãããã®ã¢ãã«ã¯ãã³ã³ãã¥ãŒã¿ ããžã§ã³ã®åé¡ã® 3 ã€ã®äž»èŠãªã¯ã©ã¹ïŒç»ååé¡ããªããžã§ã¯ãæ€åºãã»ã°ã¡ã³ããŒã·ã§ã³ïŒã§æå ç«¯ã®æ¹æ³ãæäŸããŠããŸãã
Neural Architecture Search ã䜿çšãããšã1 åã®è©Šè¡ã§ç²ŸåºŠãã¬ã€ãã³ã·ãã¡ã¢ãªãã¢ãã«ã«åãããŠæé©åã§ãããããã¢ãã«ã®ãããã€ã«å¿ èŠãªæéãççž®ã§ããŸããNeural Architecture Search ã¯ãããŸããŸãªçš®é¡ã®ã¢ãã«ãæ¢çŽ¢ããŸããã³ã³ãããŒã©ã¯ ML ã¢ãã«ãææ¡ããã¢ãã«ã®ãã¬ãŒãã³ã°ãšè©äŸ¡ãè¡ããŸããããã 1,000 å以äžç¹°ãè¿ããã¿ãŒã²ãã ããã€ã¹ã«å¯Ÿããã¬ã€ãã³ã·ãšã¡ã¢ãªã®å¶çŽã«å¯Ÿããæé©è§£ãæ€çŽ¢ããŸããæ¬¡ã®å³ã¯ãã¢ãŒããã¯ãã£æ€çŽ¢ãã¬ãŒã ã¯ãŒã¯ã®äž»ãªã³ã³ããŒãã³ãã瀺ããŠããŸãã
- ã¢ãã«: ãªãã¬ãŒã·ã§ã³ãšæ¥ç¶ã®ãã¥ãŒã©ã« ã¢ãŒããã¯ãã£ã
- æ€çŽ¢ã¹ããŒã¹: èšèšãšæé©åãå¯èœãªã¢ãã«ïŒãªãã¬ãŒã·ã§ã³ãšæ¥ç¶ïŒã®ã¹ããŒã¹ã
- ãã¬ãŒã㌠Docker: ã«ã¹ã¿ãã€ãºå¯èœãªãã¬ãŒã㌠ã³ãŒããã¢ãã«ããã¬ãŒãã³ã°ããŠè©äŸ¡ããã¢ãã«ã®ç²ŸåºŠãèšç®ããŸãã
- æšè«ããã€ã¹: ã¢ãã«ã®ã¬ã€ãã³ã·ãšã¡ã¢ãªäœ¿çšéãèšç®ãã CPU / GPU ãªã©ã®ããŒããŠã§ã¢ ããã€ã¹ã
- å ±é ¬: ã¢ãã«ã®ææšïŒç²ŸåºŠãã¬ã€ãã³ã·ãã¡ã¢ãªãªã©ïŒãçµã¿åãããã¢ãã«ã®ã©ã³ãã³ã°ã«äœ¿çšãããŸãã
- Neural Architecture Search ã³ã³ãããŒã©: 次ã®ããšãè¡ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã¢ã«ãŽãªãºã ãïŒaïŒæ€çŽ¢ã¹ããŒã¹ããã¢ãã«ããµã³ããªã³ã°ãããïŒbïŒã¢ãã«ã®å ±é ¬ãåãåããïŒcïŒè©äŸ¡çšã®ã¢ãã«ææ¡ã»ãããæäŸããŠãæé©ãªã¢ãã«ãæ€çŽ¢ããã
ãŠãŒã¶ãŒèšå®ã¿ã¹ã¯
Neural Architecture Search ã¯ãäºåæ§ç¯æžã¿ã®æ€çŽ¢ã¹ããŒã¹ã«çµ±åãããäºåæ§ç¯æžã¿ã®ãã¬ãŒããŒãæäŸããŸãã远å ã®èšå®ãè¡ããªããŠããä»å±ã®ããŒãããã¯ã§ç°¡åã«äœ¿çšã§ããŸãã
ãã ããã»ãšãã©ã®ãŠãŒã¶ãŒã¯ãã«ã¹ã¿ã ãã¬ãŒããŒãã«ã¹ã¿ã æ€çŽ¢ã¹ããŒã¹ãã«ã¹ã¿ã ææšïŒã¡ã¢ãªãã¬ã€ãã³ã·ããã¬ãŒãã³ã°æéãªã©ïŒãã«ã¹ã¿ã å ±é ¬ïŒç²ŸåºŠãã¬ã€ãã³ã·ãªã©ã®çµã¿åããïŒã䜿çšããå¿ èŠããããŸãããã®ããã以äžã®ããšãè¡ãå¿ èŠããããŸãã
- ä»å±ã® Neural Architecture Search èšèªã䜿çšããŠã«ã¹ã¿ã æ€çŽ¢ã¹ããŒã¹ãå®çŸ©ããã
- æ€çŽ¢ã¹ããŒã¹ã®å®çŸ©ããã¬ãŒã㌠ã³ãŒãã«çµ±åããã
- ã«ã¹ã¿ã ææšã®ã¬ããŒãããã¬ãŒã㌠ã³ãŒãã«è¿œå ããã
- ã«ã¹ã¿ã å ±é ¬ããã¬ãŒã㌠ã³ãŒãã«è¿œå ããã
- ãã¬ãŒãã³ã° ã³ã³ãããæ§ç¯ã㊠Neural Architecture Search ãžã§ããéå§ããã
次ã®å³ã«ããã®äœæ¥ã瀺ããŸãã
Neural Architecture Search ãµãŒãã¹ã®å®è¡
䜿çšãããã¬ãŒãã³ã° ã³ã³ãããèšå®ãããšãNeural Architecture Search ãµãŒãã¹ã¯ãè€æ°ã® GPU ããã€ã¹ã䜿çšããŠãè€æ°ã®ãã¬ãŒãã³ã° ã³ã³ããã䞊è¡ããŠèµ·åããŸãããã¬ãŒãã³ã°ã§äžŠè¡ããŠäœ¿çšãããã©ã€ã¢ã«ã®æ°ãšãéå§ãããã©ã€ã¢ã«ã®åèšæ°ã管çã§ããŸããåãã¬ãŒãã³ã° ã³ã³ããã«ã¯ãæ€çŽ¢ã¹ããŒã¹ããæšå¥šã®ã¢ãŒããã¯ãã£ãæäŸãããŸãããã¬ãŒãã³ã° ã³ã³ããã¯æšå¥šã®ã¢ãã«ãæ§ç¯ãããã¬ãŒãã³ã°ãšè©äŸ¡ãè¡ããNeural Architecture Search ãµãŒãã¹ã«å ±é ¬ãå ±åããŸããNeural Architecture Search ãµãŒãã¹ã¯ãã®ããã»ã¹ãç¶ç¶ããå ±é ¬ã®ãã£ãŒãããã¯ã䜿çšããŠãããåªããã¢ãã« ã¢ãŒããã¯ãã£ãæ¢ããŸããæ€çŽ¢åŸãå ±åãããææšã«ã¢ã¯ã»ã¹ããŠãããã«è©³ããåæãè¡ãããšãã§ããŸãã
Neural Architecture Search ã§ã®ãŠãŒã¶ãŒã®äœæ¥ã®æŠèŠ
Neural Architecture Search ã®å€§ãŸããªãã¹ãæé ã¯æ¬¡ã®ãšããã§ãã
èšå®ãšå®çŸ©:
- ã©ãã«ä»ãããŒã¿ã»ãããèå¥ããã¿ã¹ã¯ã®çš®é¡ïŒæ€åºãã»ã°ã¡ã³ããŒã·ã§ã³ãªã©ïŒãæå®ããŸãã
- ãã¬ãŒã㌠ã³ãŒããã«ã¹ã¿ãã€ãºããŸãã
- äºåæ§ç¯æžã¿ã®æ€çŽ¢ã¹ããŒã¹ã䜿çšããããNeural Architecture Search èšèªã䜿çšããŠã«ã¹ã¿ã æ€çŽ¢ã¹ããŒã¹ãå®çŸ©ããŸãã
- æ€çŽ¢ã¹ããŒã¹ã®å®çŸ©ããã¬ãŒã㌠ã³ãŒãã«çµ±åããã
- ã«ã¹ã¿ã ææšã®ã¬ããŒãããã¬ãŒã㌠ã³ãŒãã«è¿œå ããã
- ã«ã¹ã¿ã å ±é ¬ããã¬ãŒã㌠ã³ãŒãã«è¿œå ããã
- ãã¬ãŒã㌠ã³ã³ããããã«ãããã
- éšåçãªãã¬ãŒãã³ã°ïŒãããã·ã¿ã¹ã¯ïŒçšã«ãã©ã€ã¢ã«æ€çŽ¢ãã©ã¡ãŒã¿ãèšå®ããŸããæ€çŽ¢ãã¬ãŒãã³ã°ã¯ãã¢ãã«ãéšåçã«ãã¬ãŒãã³ã°ããããã«ãé«éã§å®äºããïŒ30ïœ60 åãªã©ïŒããšãçæ³çã§ãã
- ãµã³ããªã³ã°ãããã¢ãã«ã§å ±é ¬ãåéããããã«å¿ èŠãªæå°ãšããã¯ïŒæå°ãšããã¯ã§ã¯ã¢ãã«ã®åæãä¿èšŒããå¿ èŠã¯ãããŸããïŒã
- ãã€ããŒãã©ã¡ãŒã¿ïŒåŠç¿çãªã©ïŒã
æ€çŽ¢ã¹ããŒã¹ã®çµ±åã³ã³ãããé©åã«å®è¡ãããããã«ãæ€çŽ¢ã¹ããŒã¹ãããŒã«ã«ã§å®è¡ããŸãã
5 ã€ã®ãã¹ã ãã©ã€ã¢ã«ãå«ã Google Cloud SearchïŒã¹ããŒãž 1ïŒãžã§ããéå§ããæ€çŽ¢ã®ãã©ã€ã¢ã«ãã©ã³ã¿ã€ã ãšç²ŸåºŠã®ç®æšãéæããŠããããšã確èªããŸãã
1,000 å以äžã®ãã©ã€ã¢ã«ãå«ã Google Cloud SearchïŒã¹ããŒãž 1ïŒãžã§ããéå§ããŸãã
æ€çŽ¢ã®äžç°ãšããŠïŒã¹ããŒãž 2 ã®ïŒäžäœ N åã®ã¢ãã«ããã¬ãŒãã³ã°ããééãèšå®ããŸãã
- ãã€ããŒãã©ã¡ãŒã¿æ€çŽ¢ã®ãã€ããŒãã©ã¡ãŒã¿ãšã¢ã«ãŽãªãºã ãã¹ããŒãž 2 ã§ã¯éåžžãã¹ããŒãž 1 ãšåæ§ã®æ§æã䜿çšãããŸãããç¹å®ã®ãã©ã¡ãŒã¿ïŒãã¬ãŒãã³ã° ã¹ãããããšããã¯ãªã©ïŒããã£ãã«æ°ãªã©ã®èšå®ãé«ããªããŸãã
- åæ¢åºæºïŒãšããã¯æ°ïŒã
å ±åãããææšãåæããããã¢ãŒããã¯ãã£ãå¯èŠåããŠåææ å ±ã確èªããŸãã
ã¢ãŒããã¯ãã£æ€çŽ¢ã®ãã¹ãåŸã«ãã¹ã±ãŒãªã³ã°æ€çŽ¢ã®ãã¹ããæ¡åŒµæ€çŽ¢ãã¹ãã®é ã«è¡ãããšãã§ããŸãã
ããã¥ã¡ã³ããèªãé åº
- ïŒå¿ é ïŒç°å¢ãèšå®ãã
- ïŒå¿ é ïŒãã¥ãŒããªã¢ã«
- ïŒPyTorch ããå©çšã®ã客æ§ã®ã¿å¿ é ïŒã¯ã©ãŠãããŒã¿ã䜿çšãã PyTorch ã®å¹ççãªãã¬ãŒãã³ã°
- ïŒå¿ é ïŒãã¹ã ãã©ã¯ãã£ã¹ãšããããã®ã¯ãŒã¯ãããŒ
- ïŒå¿ é ïŒãããã·ã¿ã¹ã¯ã®èšèš
- ïŒãã«ãæžã¿ã®ãã¬ãŒããŒã䜿çšããå Žåã®ã¿å¿ é ïŒãã«ãæžã¿ã®æ€çŽ¢ã¹ããŒã¹ãšãã¬ãŒããŒã䜿çšããæ¹æ³
ãªãã¡ã¬ã³ã¹
- æ©æ¢°åŠç¿ã䜿çšããŠãã¥ãŒã©ã« ãããã¯ãŒã¯ ã¢ãŒããã¯ãã£ã調ã¹ã
- MnasNet: ã¢ãã€ã«æ©æ¢°åŠç¿ã¢ãã«ã®èšèšã®èªåå
- EfficientNet: AutoML ãšã¢ãã«ã®ã¹ã±ãŒãªã³ã°ã«ãã粟床ãšå¹çã®æ¹å
- NAS-FPN: ãªããžã§ã¯ãæ€åºã®ããã®ã¹ã±ãŒã©ãã«ãªç¹åŸŽãã©ããã ã¢ãŒããã¯ãã£ãåŠç¿ãã
- SpineNet: èªèãšããŒã«ã©ã€ãºã®ããã®ã¹ã±ãŒã«äº€æããã¯ããŒã³ãåŠç¿ãã
- RandAugment