
ãã®æçš¿ãã次ã®ããšãåŠã³ãŸãã
- ãªãé »ç¹ã«æ°ããã©ã³ãã³ã°åŒãéžæããå¿ èŠãããã®ãââããŸãFMLããããã©ã®ããã«å©ããŠãããã®ãã
- æ°ããèŠå ãéçºãããã®æå¹æ§ãè©äŸ¡ããæ¹æ³ã


ã©ã³ãã³ã°åŒã®éžæ
äžåºŠæ°åŒãååŸããããšãšãéåžžã«é »ç¹ã«è¡ãããšã¯ãŸã£ããå¥ã®ããšã§ãã ãããŠãç§ãã¡ã®çŸå®ã§2çªç®ãå¿ èŠãªçç±ã«ã€ããŠã話ããŸãã
ãã§ã«è¿°ã¹ãããã«ãã€ã³ã¿ãŒãããã¯æ¥éã«å€åããŠãããæ€çŽ¢ã®å質ãåžžã«æ¹åããå¿ èŠããããŸãã éçºè ã¯ãããã«åœ¹ç«ã€æ°ããèŠå ãåžžã«æ¢ããŠããŸãã åœç€Ÿã®è©äŸ¡è ã¯ãã€ã³ã¿ãŒãããäžã«åºçŸããæ°ããã¿ã€ãã®ãã¿ãŒã³ã«é¢ããã¢ã«ãŽãªãºã ãè¿ éã«ãã¬ãŒãã³ã°ãããã§ã«è©äŸ¡æžã¿ã®ããã¥ã¡ã³ãã®æçšæ§ã®å€åãèæ ®ããããã«ãæ¯æ¥æ°åã®ããã¥ã¡ã³ããè©äŸ¡ããŸãã æ€çŽ¢ããããã¯ãã€ã³ã¿ãŒãããäžã§å€ãã®æ°ããããã¥ã¡ã³ããåéããŸããããã«ãããèŠçŽ ã®å¹³åå€ã絶ããå€åããŸãã ä¿æ°ãèšç®ããã¢ã«ãŽãªãºã ãšãã®å®è£ ã¯åžžã«æ¹åãããŠãããããå€ã¯å€æŽãããŠããªãããã¥ã¡ã³ãã§ãå€æŽãããå¯èœæ§ããããŸãã
ã©ã³ãã³ã°åŒã®å€æŽã®ãã®æµãããã°ããèæ ®ããããã«ã¯ãæè¡çãªã³ã³ãã€ãŒå šäœãå¿ èŠã§ãã 圌ã¯äººã®åå ãå¿ èŠãšããªããããŸãã¯åœŒã«ãšã£ãŠã§ããã ãåçŽã§ããããšãæãŸããã ãŸããäžéšã®å€æŽãä»ã®å€æŽã®æçšæ§ã®è©äŸ¡ã劚ããªãããšãéåžžã«éèŠã§ãã ããããŸãã«FMLãå®çŸãããã€ãã©ã€ã³ã§ãã MatrixNetã¯æ©æ¢°åŠç¿ã®ãé è³ããšããŠæ©èœããŸãããFMLã¯ããã«åºã¥ãã䟿å©ãªãµãŒãã¹ã§ãããFMLã䜿çšããã«ã¯å°éç¥èãçµéšãããŸãå¿ èŠãããŸããã ãããéæãããå Žæã§ãã
ãŸããéçºè ãç§ãã¡ã®ãšããã«æ¥ãç¹å®ã®ã¿ã¹ã¯ããšã«ãFMLã¯ã¿ã¹ã¯ã®æ¡ä»¶ãšå¶éã«æé©ãªMatrixNetã¹ã¿ãŒãã¢ãããã©ã¡ãŒã¿ãŒãæšå¥šããŸãã ãµãŒãã¹èªäœã¯ãè©äŸ¡ã®ç¹å®ã®ããªã¥ãŒã ã«æé©ãªèšå®ãéžæããŸããããšãã°ããã¬ãŒãã³ã°ãµã³ãã«ã®ãµã€ãºã«å¿ããŠç®çé¢æ°ïŒ ãã€ã³ãã¯ã€ãºãŸãã¯ãã¢ã¯ã€ãº ïŒãéžæãããšåœ¹ç«ã¡ãŸãã
第äºã«ãFMLã¯ééçãªãã«ãã¿ã¹ã¯ãæäŸããŸãã æ°åŒã®éžæã®åå埩ã¯æ°æéã®èšç®ã§ãããæ°åå°ã®ãµãŒããŒã®å šè² è·ãå¿ èŠã§ãã ååãšããŠãåæ°çš®é¡ã®ç°ãªãåŒãåæã«éžæãããFMLã¯è² è·ã管çããåéçºè ãèªåã®èšç®ãååã®èšç®ããåé¢ããŠãäºãã«å¹²æžããªãããã«ããŸãã
第äžã«ãæåã§èµ·åããå¿ èŠãããMatrixnetãšã¯ç°ãªããFMLã¯ã¯ã©ã¹ã¿ãŒäžã§ãªãœãŒã¹ãéäžçã«äœ¿çšããã¿ã¹ã¯ã®åæ£å®è¡ãæäŸããŸãã ããã«ã¯ãæ©æ¢°åŠç¿ã©ã€ãã©ãªã®åäžããã³ææ°ããŒãžã§ã³ã®ãã¹ãŠã«ãã䜿çšããã¹ãŠã®æ©æ¢°äžã®ããã°ã©ã ã®ã¬ã€ã¢ãŠããçºçããé害ã®åŠçããã§ã«å®è¡ãããèšç®ã®ä¿åãããã³èšç®ãåéããå Žåã®çµæã®æ€èšŒãå«ãŸããŸãã
æåŸã«ãèšç®ãè€éãªã¿ã¹ã¯ã§ã¯ãæ±çšããã»ããµïŒCPUïŒã§ã¯ãªãã°ã©ãã£ãã¯ããã»ããµïŒGPUïŒã§å®è¡ãããšãããã©ãŒãã³ã¹ãéåžžã«å€§å¹ ã«åäžãããšããäºå®ã掻çšããŸããã ãããè¡ãããã«ãMatrixnetãGPUã«é©åãããŸãããããã«ãããæ©åšã®å䟡ãããã®èšç®é床ã20å以äžåäžããŸããã 決å®æšæ§ç¯ã¢ã«ãŽãªãºã ã®å®è£ ã®æ©èœã«ãããGPUã§å©çšå¯èœãªé«åºŠãªäžŠååŠçã䜿çšã§ããŸãã FMLã§äœ¿çšãããããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ãä¿æãããšããäºå®ã«ãããéåžžã®éçºããã»ã¹ãå€æŽããããšãªãããã¡ã¯ã¿ãŒã«åãçµãã§ããååã«æ°ããã³ã³ãã¥ãŒãã£ã³ã°ãã¯ãŒãæäŸããããšãã§ããŸããã
GPUã«ã€ããŠäžèš
äžè¬ã«ãCPUã«å¯ŸããGPUã®å©ç¹ã¯ãæµ®åå°æ°ç¹èšç®ã®å€§éšåãå ããã¿ã¹ã¯ã§æããã«ãªããæ©æ¢°åŠç¿ã¯ããããšåºå¥ãããŸããã èšç®ããã©ãŒãã³ã¹ã¯ãæŽæ°èšç®ã®å Žåã¯IOPSã§ãæµ®åå°æ°ç¹èšç®ã®å Žåã¯FLOPSã§æž¬å®ãããŸãã ãŸããã¡ã¢ãªãšã®éä¿¡ãå«ãI / Oã®ãã¹ãŠã®ã³ã¹ãããã©ã±ãããããŠããå ŽåãGPUãåŸæ¥ã®ãã®ã«æ¯ã¹ãŠã¯ããã«é²ãã§ããã®ã¯ãæ£ç¢ºã«FLOPSãã©ã¡ãŒã¿ãŒã«ãã£ãŠã§ãã äžéšã®ã¿ã¹ã¯ã¯ã©ã¹ã§ã¯ãæ±çšããã»ããµïŒCPUïŒãšæ¯èŒããŠããã©ãŒãã³ã¹ãæ°çŸååäžããŸãã
ãããããã¹ãŠã®äžè¬çãªã¢ã«ãŽãªãºã ãGPUã³ã³ãã¥ãŒãã£ã³ã°ã¢ãŒããã¯ãã£ã«é©ããŠãããããã¹ãŠã®ããã°ã©ã ã倧éã®æµ®åå°æ°ç¹èšç®ãå¿ èŠãšããããã§ã¯ãªããããæ¥çå šäœã§ã¯GPUã«åãæ¿ããã®ã§ã¯ãªãCPUã䜿çšãç¶ããŠããŸãã
ãããããã¹ãŠã®äžè¬çãªã¢ã«ãŽãªãºã ãGPUã³ã³ãã¥ãŒãã£ã³ã°ã¢ãŒããã¯ãã£ã«é©ããŠãããããã¹ãŠã®ããã°ã©ã ã倧éã®æµ®åå°æ°ç¹èšç®ãå¿ èŠãšããããã§ã¯ãªããããæ¥çå šäœã§ã¯GPUã«åãæ¿ããã®ã§ã¯ãªãCPUã䜿çšãç¶ããŠããŸãã

GPUã¯ã©ã¹ã¿ãŒãšã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒã«ã€ããŠ
çŸåšãYandex GPUã¯ã©ã¹ã¿ãŒã®ããã©ãŒãã³ã¹ã¯80 Tflopsã§ãããããã«300 Tflopsã«æ¡åŒµããäºå®ã§ãã ã¯ã©ã¹ã¿ãŒã¯ã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒãšã¯åŒã³ãŸããããå®éã¯ããã§ãã ããšãã°ããã®åºæ¬èŠçŽ ã®èŠ³ç¹ããããã·ã¢ãšæ±ãšãŒãããã§æã匷åãªãã¢ããœãã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒã«éåžžã«è¿ãã§ãã ç§ãã¡ã®å Žåã®ã³ã³ããŒãã³ãã®æ°ã¯ããã«çŸä»£çã§ãã ãããŠãã³ã³ãã¥ãŒãã£ã³ã°ããŒãã®æ°ïŒããã³ããã©ãŒãã³ã¹ïŒã®ç¹ã§ã¯ãã¢ããœãããå£ã£ãŠããŸãããæ¡åŒµåŸãç§ãã¡ã®ã¯ã©ã¹ã¿ãŒã¯äžçã§æã匷åãªTOP500ã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒãµã€ãã®æåã®100ãæãšãã·ã¢ã§æã匷åãªã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒã®ããã5ã«å
¥ãã§ããã
æ°ããèŠå ã®éçºãšãã®æå¹æ§ã®è©äŸ¡
ã©ã³ãã³ã°ã®èŠå ã¯ãåŒãéžæããæ©èœãããããã«éèŠãªåœ¹å²ãæãããŸãã çµå±ã®ãšãããç°ãªãããã¥ã¡ã³ããåºå¥ããããå€æ§ãªå åãããã°ããã»ã©ãã©ã³ãã³ã°æ©èœã¯ããå¹æçã«ãªããŸãã æ€çŽ¢ã®è³ªãåäžãããããã«ãç§ãã¡ã¯ç§ãã¡ãå©ããããšãã§ããæ°ããèŠå ãåžžã«æ¢ããŠããŸãã
ãããã®äœæã¯éåžžã«è€éãªããã»ã¹ã§ãã ãã¹ãŠã®ã¢ã€ãã¢ãå®è·µã®ãã¹ãã«èããããã§ã¯ãããŸããã è¯ãèŠå ãéçºããŠèšå®ããã®ã«æ°ã¶æãããããšããããå®éã«ç¢ºèªããã仮説ã®å²åã¯éåžžã«å°ããã§ãã ãã€ã³ãã¹ããŒã®ããã«ïŒ ãã°ã©ã çç£ã幎éåŽå ã ã FMLã®1幎ç®ã«ã¯ãããŸããŸãªãã©ã¡ãŒã¿ãŒã®çµã¿åããã§ããŸããŸãªèŠå ãäœäžåããã§ãã¯ãããããå®è£ ã§ããã®ã¯æ°çŸåã ãã§ããã
Yandexã§é·ãéãèŠå ã«åãçµãã«ã¯ããŸãæ€çŽ¢ããã€ã¹å šè¬ãç¹ã«ç§ãã¡ã®ãã®ãæ·±ãç解ããããšãå¿ èŠã§ããã次ã«ãæ©æ¢°åŠç¿ãšæ å ±æ€çŽ¢å šè¬ã«ã€ããŠã®ååãªç¥èãå¿ èŠã§ããã FMLã®ç»å Žã«ãããæåã®èŠä»¶ãåãé€ãããšãã§ãããã¡ã¯ã¿ãŒã®éçºã«å ¥ãããã®ãããå€ãå€§å¹ ã«äœäžããŸããã çŸåšãããã«å¯ŸåŠã§ããå°é家ã®æ°ã¯æ¡éãã«å¢ããŠããŸãã
ãããã倧èŠæš¡ãªããŒã ã«ã¯éçºããã»ã¹ã®éææ§ãå¿ èŠã§ããã 以åã¯ããããããæ€æ»ã«éå®ãããŠããããã圌èªèº«ãååãšèããå質ããç®ã§ã枬å®ããŠããŸããã ãã®çµæãè¯ãèŠçŽ ãåŸãããšã¯ãããèžè¡ã®ç®çã§ããããšãå€æããŸããã ãããŠãå å仮説ãåŽäžãããå Žåãæéããã€ã«ã€ããŠã決å®ãäžããããã¹ãã«ç²Ÿéããããšã¯äžå¯èœã«ãªããŸããã
FMLã®åºçŸã«ãããå åéçºã¯ã倧èŠæš¡ãªããŒã ã®æšæºçã§æž¬å®å¯èœãªå¶åŸ¡ãããããã»ã¹ã«ãªããŸããã ååãäœãããŠãããã誰ããèŠãããšãã§ãã以åã®å®éšã®å質ãå¶åŸ¡ããèœåããããšãã«ãçžäºéææ§ãçŸããŸããã ããã«ãçæãããèŠå ã®å質管çã·ã¹ãã ãåãåããŸãããããã«ãããæ å ±æ€çŽ¢ã®åéã§äžçããªãŒãããäŒè°ãããã¯ããã«äœã確çã§çµæãæªããªããŸãã

èŠå ã®è³ªãè©äŸ¡ããããã«ã次ã®ããšãè¡ããŸãã ãã¬ãŒãã³ã°ãšãã¹ãã®2ã€ã®ããŒãã«åããŠãã°ã¬ãŒãã®ã»ãããïŒæ¯åæ°ããã©ã³ãã ãªæ¹æ³ã§ïŒåå²ããŸãã æè²ã®èŠç©ããã«ãããšã2ã€ã®åŒãéžæããŸããå€ãåŒïŒãã¹ãæžã¿å åãªãïŒãšæ°ããåŒïŒããä»ãïŒãéžæãããã¹ãçšã«ãããã®åŒã®ã©ã¡ããåªããŠãããã調ã¹ãŸãã ãã®æé ã¯ãæšå®å€ã®å€æ°ã®ç°ãªãããŒãã£ã·ã§ã³ã§äœåºŠãç¹°ãè¿ãããŸãã çµ±èšã§ã¯ããã®ããã»ã¹ã¯çžäºæ€èšŒãšåŒã°ããŸãã ããã«ãããæ°ãããã©ãŒãã¥ã©ã®å質ãå€ããã©ãŒãã¥ã©ãããåªããŠããããšã確èªã§ããŸãã æ©æ¢°åŠç¿ã§ã¯ããã®ææ³ã¯wrappersã䜿çšãã次å åæžãšããŠç¥ãããŠããŸãã å¹³åããŠãæ°ããåŒãå€ããã®ãšæ¯èŒããŠå質ã®é¡èãªæ¹åãããããããšãå€æããå Žåãæ°ããèŠå ãå®è£ ã®åè£ã«ãªãå¯èœæ§ããããŸãã
ããããèŠå ããã®æçšæ§ã蚌æãããšããŠãããã®å®è£ ãšäœ¿çšã®ã³ã¹ããäœã§ããããç解ããå¿ èŠããããŸãã éçºè ãã¢ã€ãã¢ã®éçºãå®è£ ãã«ã¹ã¿ãã€ãºã«è²»ãããæéã ãã§ã¯ãããŸããã ãªã¯ãšã¹ãã§èŠã€ãã£ãæ°åã®ããã¥ã¡ã³ãããšã«ãæ€çŽ¢æã«å€ãã®èŠå ãçŽæ¥èšç®ããå¿ èŠããããŸãã ãããã£ãŠãããããã®æ°ããèŠå ã¯ãæ€çŽ¢ãšã³ãžã³ã®å¿çé床ã®æœåšçãªäœäžã§ãããéåžžã«ã¿ã€ããªãã¬ãŒã ã¯ãŒã¯ã®ãŸãŸã§ããããšã確èªããŸãã ã€ãŸãããŠãŒã¶ãŒã®èŠæ±ã«å¿çããã¯ã©ã¹ã¿ãŒã®å®¹éãå¢ããããšã«ãããæ°ããåèŠçŽ ã確å®ã«å°å ¥ããå¿ èŠããããŸãã ç¡æéã«äœ¿çšã§ããªãä»ã®ããŒããŠã§ã¢ãªãœãŒã¹ããããŸãã ããšãã°ãæ€çŽ¢ã¯ã©ã¹ã¿ãŒã§ããã¥ã¡ã³ãããšã«åãã€ããRAMã«ä¿åããã³ã¹ãã¯ã幎éçŽ10,000ãã«ã§ãã
ãããã£ãŠãå€ãã®æœåšçãªèŠå ãããå質ã®åäžãšæ©åšã®ã³ã¹ãã®æ¯çãæé©ã«ãªãèŠå ã®ã¿ãéžæããæ®ããæŸæ£ããããšãéèŠã§ãã 次ã®FMLã¿ã¹ã¯ã§æ°åŒãéžæããã®ã¯ãå質ã®åäžã枬å®ããè¿œå ã³ã¹ããè©äŸ¡ããããšã§ãã
枬å®äŸ¡æ Œãšç²ŸåºŠ
çµ±èšã«ãããšãå®è£
åã«èŠçŽ ã®å質ãè©äŸ¡ããããšã¯ãåŒèªäœãéžæãããããããªãå€ãã®èšç®æéãèŠããŸãã ã©ã³ã¯ä»ãåŒã¯ãåå åã«å¯ŸããŠç¹°ãè¿ãåéžæããå¿
èŠããããããå«ããŸãã ããšãã°ãéå»1幎éã§çŽ1,000äžãã·ã³æéãçŽ50,000åã®æ€æ»ã«è²»ããããçŽ200äžæéãã©ã³ãã³ã°åŒã®éžæã«è²»ããããŸãããã€ãŸããã¯ã©ã¹ã¿ãŒã®æéã®å€§éšåã¯å®æçãªåŒã®åéžæã§ã¯ãªãç 究ã«è²»ããããŠããŸãã
æçããåžå Žã®å Žåãšåæ§ã«ãæ°ããæ¹åã¯ããããåã®æ¹åãããã¯ããã«é£ããã次ã®ã9ãåã®å質ã®ã³ã¹ãã¯åã®æ¹åãããæ°åé«ããªããŸãã ç§ãã¡ã®ã¢ã«ãŠã³ãã¯ãç®æšå質ã¡ããªãã¯ã®10åã®1ãã100åã®1ã«ãªããŸãïŒãã®å Žåã¯pFoundã§ã ïŒã ãã®ãããªæ¡ä»¶äžã§ã¯ãå質枬å®åšã¯ããã®ãããªå°ããªå€åã§ã確å®ã«èšé²ã§ããã»ã©æ£ç¢ºã§ãªããã°ãªããŸããã
æçããåžå Žã®å Žåãšåæ§ã«ãæ°ããæ¹åã¯ããããåã®æ¹åãããã¯ããã«é£ããã次ã®ã9ãåã®å質ã®ã³ã¹ãã¯åã®æ¹åãããæ°åé«ããªããŸãã ç§ãã¡ã®ã¢ã«ãŠã³ãã¯ãç®æšå質ã¡ããªãã¯ã®10åã®1ãã100åã®1ã«ãªããŸãïŒãã®å Žåã¯pFoundã§ã ïŒã ãã®ãããªæ¡ä»¶äžã§ã¯ãå質枬å®åšã¯ããã®ãããªå°ããªå€åã§ã確å®ã«èšé²ã§ããã»ã©æ£ç¢ºã§ãªããã°ãªããŸããã
ããŒããŠã§ã¢ãªãœãŒã¹ã«ã€ããŠèšãã°ãèšç®ã³ã¹ãããã£ã¹ã¯ãµã€ãºãRAMãµã€ãºã®3ã€ã®ã³ã³ããŒãã³ããè©äŸ¡ããŸãã æéãçµã€ã«ã€ããŠãç§ãã¡ã¯ã亀æžããããããéçºããŸããïŒããã©ãŒãã³ã¹ãã©ãã ãäœäžãããããšãã§ãããããã£ã¹ã¯ãŸãã¯RAMã®äœãã€ããå質ã®1ïŒ ã®å¢å ã«å¯ŸããŠæ¯æãããšãããšããªããã ã¡ã¢ãªæ¶è²»ã¯å®éšçã«æšå®ãããå質ã®åäžã¯FMLããååŸãããããã©ãŒãã³ã¹ã®äœäžã¯åå¥ã®è² è·ãã¹ãã®çµæã«ãã£ãŠæšå®ãããŸãã ãã ããäžéšã®åŽé¢ã¯èªåçã«è©äŸ¡ã§ããŸãããããšãã°ãèŠå ã匷ããã£ãŒãããã¯ããããããŸãã ãã®ãããèŠå ã®å°å ¥ãæåŠããæš©å©ãæã€å°éè©è°äŒããããŸãã
æ°ããèŠçŽ ã䜿çšããŠäœæãããæ°åŒãå®è£ ãããšããæ¥ããã A / Bãã¹ããå®æœããŸã -å°æ°ã®ãŠãŒã¶ãŒã察象ã«ããå®éšã§ãã 圌ããçŸåšã®ã©ã³ãã³ã°ãããæ°ããã©ã³ãã³ã°ãæ°ã«å ¥ã£ãŠããããšã確èªããå¿ èŠããããŸãã æçµçãªå®è£ ã®æ±ºå®ã¯ã ã«ã¹ã¿ã å質ã¡ããªãã¯ã«åºã¥ããŠè¡ãããŸã ã Yandexã§ã¯ãåžžã«äœåãã®å®éšãè¡ãããŠããŸããããã®ããã»ã¹ãæ€çŽ¢ãšã³ãžã³ã®ãŠãŒã¶ãŒã«èŠããªãããã«ããããšããŠããŸãã ãããã£ãŠã決å®ã®æ°åŠç劥åœæ§ã ãã§ãªããå®éã®ã€ãããŒã·ã§ã³ã®æçšæ§ãéæããŸãã

ãã®ãããFMLã䜿çšããããšã§ãYandexã§ãã¡ã¯ã¿ãŒã®éçºãã¹ããªãŒã ã§è¡ãããšãã§ããéçºè ã¯ãæ確ã§èŠå¶ãããæ¹æ³ã§è³ªåãç解ããæ©äŒãåŸãããšãã§ããŸããã 次ã®æåŸã®æçš¿ã§ãå åã®å質ãæéã®çµéãšãšãã«äœäžããªãããšã確èªããæ¹æ³ã«ã€ããŠèª¬æããŸãã ãããããç§ãã¡ã®æ©æ¢°åŠç¿æè¡ãé©çšã§ããä»ã®å Žæã«ã€ããŠåŠã³ãŸãã