AIããã³ãããªåŠçã¯ãŒã¯ããŒãã®ããã®ãªã³ãªãã¹ã±ãŒãªã³ã°ãã¿ãŒã³
AIãæŽ»çšãããããªåŠçãã©ãããã©ãŒã ã¯ããªãããŒã¯æã®ãžã§ãã¯ãŒããããããŒã¯æã«ã¯æ°çŸã®äžŠè¡ãããªåŠçããã³AIæšè«ã¿ã¹ã¯ãŸã§ãéåžžã«å€åã®å€§ããã¯ãŒã¯ããŒããåŠçããå¿ èŠããããŸããããã¢ã€ãã«ç¶æ ã®GPUããã³ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã«å¯Ÿããè²»çšãæ¯æãããšãªããããå®çŸããŸããã
ãããžã§ã¯ããçžè«ãã
課é¡
AIããã³ãããªåŠçã¯ãŒã¯ããŒãã¯ãæ¬è³ªçã«ããŒã¹ãæ§ããããé«äŸ¡ã§ãã
- GPUã€ã³ã¹ã¿ã³ã¹ã¯ããžã§ããåŠçããŠãããã¢ã€ãã«ç¶æ ã§ãããã«ãããããé«äŸ¡ã§ã
- ãããªãšã³ã³ãŒãã£ã³ã°ãæåèµ·ãããAIæšè«ã¯ããããç°ãªããªãœãŒã¹ãããã¡ã€ã«ãèŠæ±ããŸã
- ããŒã¯ã»ãã¥ã»ãã©ãæ¯çã¯50:1ã§ãã â ããŒã¯æã«ã¯200以äžã®ãžã§ããå€éã¯ã»ãŒãŒã
- æéå¶çŽã®ãããŠãŒã¶ãŒãªã¯ãšã¹ãã«ã¯ãåŸæ¥ã®ãªãŒãã¹ã±ãŒãªã³ã°ã¯é ãããŸããïŒ5ïœ10åã®ã³ãŒã«ãã¹ã¿ãŒãïŒ
- ããŒã¯åãã«ããããžã§ãã³ã°ãããåºå®ã€ã³ãã©ã¯ããªãããŒã¯æã«ã¯80%以äžã®ç¡é§ãæå³ããŸãã
ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³
åœç€Ÿã¯ãªã³ãªãã¹ã±ãŒãªã³ã°ãã¿ãŒã³ãå®è£ ããŸãã â ã¢ã¯ãã£ããªã¯ãŒã¯ããŒãã«å¯ŸããŠãžã£ã¹ãã€ã³ã¿ã€ã ã§ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãããããžã§ãã³ã°ããã¢ã€ãã«æã«ã¯å®å šã«è§£æŸãããã€ããªããã¢ãŒããã¯ãã£ã§ãã¬ã€ãã³ã·ã®åœ±é¿ãåããããã¿ã¹ã¯ã«ã¯ãŠã©ãŒã ããŒã«ããããããžã§ãã«ã¯ã³ãŒã«ãããŒã«ã䜿çšããŸãã
ã¢ãŒããã¯ãã£
- Job Queue: åªå 床å顿©èœãåããããŒã¿ããŒã¹ããã¯ã®Job Queue
- Orchestrator: ãªãœãŒã¹ã®ã©ã€ããµã€ã¯ã«ãšãžã§ãã®ã«ãŒãã£ã³ã°ã管çãããµãŒãã¹
- GPU Workers (AI): æšè«ïŒç©äœæ€åºãæåèµ·ãããè©±è æ€åºïŒçšã®Cloud GPU Pods
- CPU Workers (Video): ãããªãšã³ã³ãŒãã£ã³ã°ããã³ã¬ã³ããªã³ã°çšã®Cloud VM
- Warm Pool: ã¬ã€ãã³ã·ã®åœ±é¿ãåãããããžã§ãïŒèµ·å30ç§æªæºïŒçšã®äºååæåæžã¿ã€ã³ã¹ã¿ã³ã¹
- Cold Pool: ããã/äžæ¬åŠççšã®ãªã³ããã³ãã€ã³ã¹ã¿ã³ã¹ïŒèµ·å2ïœ5å蚱容ïŒ
ãªã³ãªããã¿ãŒã³ã®å®è£
ãªãœãŒã¹ã®ã©ã€ããµã€ã¯ã«ç¶æ
ãªãœãŒã¹ã¯å®çŸ©ãããã©ã€ããµã€ã¯ã«ã蟿ããŸããå®å šã«è§£æŸãããç¶æ ïŒã³ã¹ããŒãïŒãããããããžã§ãã³ã°ãšãŠã©ãŒãã³ã°ïŒã¢ãã«ããŒãããã«ã¹ãã§ãã¯ïŒãçµãŠãæºåå®äºããã³åŠçäžç¶æ ãžç§»è¡ãããã®åŸãã¯ãŒã«ããŠã³æéãçµãŠåã³è§£æŸç¶æ ã«æ»ããŸãã
Warm PoolæŠç¥
ã¬ã€ãã³ã·ã®åœ±é¿ãåããããåŠçïŒãŠãŒã¶ãŒãéå§ããæ°å以å ã«çµæãæåŸ ããïŒïŒ
- å¶æ¥æéäžã«æå°éã®Warm Poolã€ã³ã¹ã¿ã³ã¹ãç¶æãã
- ã³ã³ããèµ·åæã«AIã¢ãã«ãããªããŒããã
- åä¿¡ãžã§ãããŸããŠã©ãŒã ã€ã³ã¹ã¿ã³ã¹ã«ã«ãŒãã£ã³ã°ãã
- Queue深床ããããå€ãè¶ éããå Žåã«ã远å ã®ãŠã©ãŒã ã€ã³ã¹ã¿ã³ã¹ãã¹ã±ãŒã«ã¢ãŠããã
- èšå®å¯èœãªã¯ãŒã«ããŠã³ã¿ã€ããŒã«ãããæ£çºçãªãžã§ãéã§ã€ã³ã¹ã¿ã³ã¹ãã¢ã¯ãã£ãã«ä¿ã€
Cold PoolæŠç¥
ãããåŠçïŒå€éã®äžæ¬ãžã§ããç·æ¥æ§ã®äœãåãšã³ã³ãŒãïŒã®å ŽåïŒ
- ããã©ã«ãã§ã¯ãŒãã€ã³ã¹ã¿ã³ã¹ã§å®è¡
- ããããžã§ããéä¿¡ããããšJob Queueãããããžã§ãã³ã°ãããªã¬ãŒ
- ã¬ã€ãã³ã·ãããã¹ã«ãŒãããã«æé©åãããäžæ¬åŠççšã€ã³ã¹ã¿ã³ã¹
- ãããå®äºåŸããã«çµäº
- å€§å¹ ãªã³ã¹ãåæžã®ããã«spot/preemptibleã€ã³ã¹ã¿ã³ã¹ã䜿çš
ãžã§ãã®åé¡ãšã«ãŒãã£ã³ã°
ãžã§ãã¯åªå 床ãšçš®é¡ã«ãã£ãŠèªåçã«åé¡ãããé©åãªããŒã«ã«ã«ãŒãã£ã³ã°ãããŸãã
- é«åªå 床ã®ãŠãŒã¶ãŒéå§AIã¿ã¹ã¯ã¯Warm GPU Poolã«ã«ãŒãã£ã³ã°ãããŸã
- ã¯ãªãã£ã«ã«ãªãªã¢ã«ã¿ã€ã ã¿ã¹ã¯ã¯åžžæçšŒåã®å°çšã€ã³ã¹ã¿ã³ã¹ã«ã«ãŒãã£ã³ã°ãããŸã
- äžåªå 床ã®ãšã³ã³ãŒãã¿ã¹ã¯ã¯WarmãŸãã¯Cold CPU Poolã«ã«ãŒãã£ã³ã°ãããŸã
- äœåªå 床ã®ãããã¿ã¹ã¯ã¯Cold spot/preemptibleã€ã³ã¹ã¿ã³ã¹ã«ã«ãŒãã£ã³ã°ãããŸã
Orchestratorããžãã¯
ã¹ã±ãŒã«ã¢ããããªã¬ãŒ
- Queue深床ãèšå®å¯èœãªéŸå€ãè¶ é
- å¹³ååŸ æ©æéãåªå 床ã¬ãã«ã®SLAãè¶ é
- æ¢ç¥ã®ããŒã¯æéåã®ã¹ã±ãžã¥ãŒã«ãããã©ã³ãã¢ãã
- äºæ³ããããã©ãã£ãã¯ã¹ãã€ã¯ã«å¯ŸããAdmin APIçµç±ã®æåããªã¬ãŒ
ã¹ã±ãŒã«ããŠã³ããªã¬ãŒ
- ã¯ãŒã«ããŠã³æéäžã«åŠçããããžã§ãããªã
- ããŒã¯æéåŸã®ã¹ã±ãžã¥ãŒã«ãããçž®å°
- ãã¹ãŠã®ãã¥ãŒã€ã³ã°ããããžã§ããå®äºããæ°ããªéä¿¡ããªã
- è«æ±æéã®ã³ã¹ãéŸå€ã«å°é
ãã«ã¹ãšãªã«ããª
- ãã¹ãŠã®ã¢ã¯ãã£ãã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿãã宿çãªãã«ã¹ãããŒã
- ç°åžžãªã€ã³ã¹ã¿ã³ã¹ã¯èªåçã«äº€æ
- 倱æãããžã§ãã¯ãªãã©ã€åæ°ãšãšãã«åãã¥ãŒã€ã³ã°ãããå¥ã®ã€ã³ã¹ã¿ã³ã¹ã«ã«ãŒãã£ã³ã°
- æå€§ãªãã©ã€åæ°ãè¶ éãããžã§ãã®ããã®dead letter queue
ã³ã¹ããžã®åœ±é¿
ãªã³ãªããã¿ãŒã³ã¯ããªãããŒã¯æã®ã¢ã€ãã«ç¶æ ã®ã³ã³ãã¥ãŒãã£ã³ã°ãæé€ãããžã§ãã¿ã€ãããšã«ãªãœãŒã¹ãæé©åãããããã¯ãŒã¯ããŒãã«spotã€ã³ã¹ã¿ã³ã¹ã掻çšããããšã§ãåžžæçšŒåã®åºå®ã€ã³ãã©ãšæ¯èŒããŠçŽ70%ã®ã³ã¹ãåæžãå®çŸããŸããã
äž»ãªæ©èœ
- ã¢ã€ãã«ã³ã¹ããŒã â ãžã§ãåŠçäžã§ãªããšãã¯ãªãœãŒã¹ãå®å šã«è§£æŸ
- Warm Pools â ã¬ã€ãã³ã·ã®åœ±é¿ãåããããã¯ãŒã¯ããŒãçšã®äºååæåæžã¿ã€ã³ã¹ã¿ã³ã¹
- Cold Pools â æäœã³ã¹ãã§ããããžã§ãçšã®ãªã³ããã³ãããããžã§ãã³ã°
- ãžã§ãåé¡ â åªå 床ãã¿ã€ããã¬ã€ãã³ã·èŠä»¶ã«åºã¥ãèªåã«ãŒãã£ã³ã°
- ã¯ãŒã«ããŠã³æé â èšå®å¯èœãªã¢ã€ãã«ã¿ã€ã ã¢ãŠãã«ãããããŒã¹ãéã®æ©ãããã¹ã±ãŒã«ããŠã³ã鲿¢
- Spot/Preemptibleå¯Ÿå¿ â å€§å¹ ãªç¯çŽã®ããã«å²åŒã€ã³ã¹ã¿ã³ã¹ã«ã«ãŒãã£ã³ã°ãããããããžã§ã
- ãã«ã¹ãšãªã«ã㪠â ç°åžžãªã€ã³ã¹ã¿ã³ã¹ã®èªå亀æãšãžã§ãã®åãã¥ãŒã€ã³ã°
- ã¹ã±ãžã¥ãŒã«ãããã¹ã±ãŒãªã³ã° â æéããŒã¹ã®ããããžã§ãã³ã°ã«ãŒã«ã§æ¢ç¥ã®ãã©ãã£ãã¯ãã¿ãŒã³ãäºæž¬
ææ
æè¡ã¹ã¿ãã¯
caseStudyDetail.more ã±ãŒã¹ã¹ã¿ãã£
ãã®ä»ã®æè¡å®è£ äºäŸãã芧ãã ãã
ã¹ã±ãŒã©ãã«ã§è²»çšå¯Ÿå¹æã®é«ãAIæšè«ã®ããã®RunPod掻çš
AIãæŽ»çšãããããªåæãã©ãããã©ãŒã ã¯ãè€æ°ã®åæãããªã¹ããªãŒã ã«ããããªã¢ã«ã¿ã€ã ã®ç©äœæ€åºãšæšè«ã®ããã«ã髿§èœãªGPUã³ã³ãã¥ãŒãã£ã³ã°ãå¿ èŠãšããŠããŸããããããã24æé幎äžç¡äŒã§çšŒåããå°çšGPUãµãŒããŒã®æ³å€ãªã³ã¹ãã¯é¿ããããšèããŠããŸããã
AIãæŽ»çšããOCRã«ããè«æ±æžåŠçãšQuickBooks飿º
æ¯ææ°çŸä»¶ã®ä»å ¥å è«æ±æžãåŠçããäžèŠæš¡äŒæ¥ããAI/OCRã䜿çšããŠè«æ±æžããŒã¿ãèªåæœåºãããããèšåž³ãšæ¯æè¿œè·¡ã®ããã«QuickBooksã«çŽæ¥åæãããããšã§ãæåããŒã¿å ¥åãæé€ããå¿ èŠããããŸããã
ãããã質å
MicrocosmWorks ã¯ãGPUéçŽååŠçã®äºæž¬å¯èœãªããŒã¹ããçºçãããã®åŸã«é·ãã¢ã€ãã«æéãç¶ãã¯ãŒã¯ããŒãåãã«ãon-off ã¹ã±ãŒãªã³ã°ãã¿ãŒã³ãéçºããŸãããåŸæ¥ã®ãªãŒãã¹ã±ãŒãªã³ã°ã§ã¯ãã¢ã€ãã«æéäžã«æå°éã®ãã£ãã·ãã£ãç¶æããããã«ã³ã¹ããç¡é§ã«ãªãããã§ãããŠã©ãŒã ã€ã³ã¹ã¿ã³ã¹ã皌åããç¶ãã代ããã«ããã®ãã¿ãŒã³ã¯ãåŠçãžã§ããå°çããéã«ãªã³ããã³ãã§GPUã€ã³ãã©ã¹ãã©ã¯ãã£ãããããžã§ãã³ã°ããã¯ãŒã¯ããŒããå®è¡ããå®äºãããšã€ã³ãã©ã¹ãã©ã¯ãã£ãå®å šã«çµäºãããã¢ã€ãã«æéäžã®ã³ã¹ããã»ãŒãŒãã«æããŸãã
MicrocosmWorksã¯ããã¹ãŠã®AIã¢ãã«ã®éã¿ãšäŸåé¢ä¿ãçµã¿èŸŒãã æé©åãããã³ã³ããã€ã¡ãŒãžãäºåã«æ§ç¯ããããããã³ã³ãã¥ãŒããªãŒãžã§ã³ã«å°ççã«è¿ãã¬ãžã¹ããªã«ä¿åããããšã§ãã³ãŒã«ãã¹ã¿ãŒãæéã60ç§æªæºã«ççž®ããŸããããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¬ã€ã€ãŒã¯ãã¹ã±ãžã¥ãŒãªã³ã°ãããã¯ãŒã¯ããŒãã«å¯ŸããŠäºæž¬ããããžã§ãã³ã°ã䜿çšããäºæãããéèŠã®2ã3ååã«ã€ã³ãã©ã¹ãã©ã¯ãã£ãèµ·åããŸãããŸããäºæž¬äžå¯èœãªã¯ãŒã¯ããŒãã®å Žåãã·ã¹ãã ã¯ãžã§ãããã¥ãŒã«å ¥ããåŠçéå§éç¥ãéä¿¡ããããããŠãŒã¶ãŒã¯èªåã®ãªã¯ãšã¹ããåŠçãããŠããããšãç¥ãããšãã§ããŸãã
MicrocosmWorksã¯ãAIãããªåŠçã¯ãŒã¯ããŒãã1æ¥ããã2ã6æéå®è¡ãããã¯ã©ã€ã¢ã³ãã«å¯Ÿãã24/7ã§GPUã€ã³ã¹ã¿ã³ã¹ãç¶æããå Žåãšæ¯èŒããŠã70ã90%ã®ã³ã¹ãåæžãææžåããŸããããã®ç¯çŽã¯ãå®éã®åŠçæéãšãèµ·åããã³çµäºã«ãããæ°åéã®ãªãŒããŒãããã®ã¿ãæ¯æãããšã«ãã£ãŠå®çŸãããŸãããã®ãã¿ãŒã³ã¯ãå€éããããããªåŠçããªã³ããã³ããã©ã³ã¹ã³ãŒãã£ã³ã°ããŸãã¯å©çšçãæ¬è³ªçã«æç¶çã§ããã€ãã³ãããªã¬ãŒåAIåæã®ãããªã¯ãŒã¯ãããŒã«ç¹ã«å¹æçã§ãã
ã¯ããMicrocosmWorksã¯ãå€§èŠæš¡ãªbatch jobsãå°çããéã«è€æ°ã®GPU workersã䞊è¡ããŠããããžã§ãã³ã°ããjob queueã䜿çšããŠworkerséã§ãããªãã¡ã€ã«ã忣ãããbatchã®å®äºåŸã«ã¯ãã¹ãŠã®workersã忢ããfan-out architectureãon-off patternå ã«å®è£ ããŸããããã®ã·ã¹ãã ã¯ããããªããšã®é²æã远跡ããbatchã®æ®ãã®åŠçããããã¯ããããšãªããåã ã®ãããªã®å€±æãretry logicã§åŠçããçµæãåäžã®åºåå Žæã«çµ±åããŠããŠã³ã¹ããªãŒã ã§ã®å©çšã«äŸããŸãã
MicrocosmWorksã¯ãéçºã¬ãŒãã1æéããã25ãã«ãã45ãã«ã§ãªã³ãªãã¹ã±ãŒãªã³ã°ã¢ãŒããã¯ãã£ãå®è£ ããŸãããžã§ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã€ã³ãã©ããããžã§ãã³ã°ãç£èŠãé害åŠçãå«ãæ¬çªç°å¢å¯Ÿå¿ã®å®è£ ã¯ãéåžž3ã5é±éã§æäŸãããŸãããã®éçºæè³ã¯ãç¹ã«çŸåš1æ¥ã®50%以äžã¢ã€ãã«ç¶æ ã«ãªã£ãŠããåžžæçšŒåã®GPUã€ã³ã¹ã¿ã³ã¹ãå®è¡ããŠããçµç¹ã«ãšã£ãŠãGPUã³ã¹ãã®åæžã ãã§ãéåžž1ã2ã¶æä»¥å ã«ååã§ããŸãã
ããžãã¹ã®å€é©ã®æºåã¯ã§ããŠããŸããïŒ
ã客æ§ã®èª²é¡ã«é¡äŒŒã®ãœãªã¥ãŒã·ã§ã³ãé©çšããæ¹æ³ã«ã€ããŠè©±ãåããŸãããã