ã¢ã€ãã«ç¶æ ã® GPU ã«è²»çšãæãå¿ èŠã¯ãããŸãããã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ããžã£ã¹ãã€ã³ã¿ã€ã ã§ããããžã§ãã³ã°ããã¯ãŒã¯ããŒããåŠçããçµäºãããŸããããã«ãããèšåæè³ã¯ãžã§ãããšã®éçšã³ã¹ãã«å€ãããŸãã

ããªãã®ã¯ãŒã¯ããŒãã¯ããŒã¹ãæ§ããããŸããã³ã³ãã³ããã¢ããããŒãããããšãã«æ¥å¢ããåç»ãšã³ã³ãŒãã£ã³ã°ãžã§ãã4æé8ã€ã® GPU ãå¿ èŠãšããã®åŸäœãå¿ èŠãšããªã MLãã¬ãŒãã³ã°ã®å®è¡ãããžãã¹ã€ãã³ãã«ãã£ãŠããªã¬ãŒããããããæšè«ãžã§ãããŸãã¯äžæ©å®è¡ãããã¬ã³ããªã³ã°ãã€ãã©ã€ã³ãªã©ã§ããããªãã¯éå°ãªããããžã§ãã³ã°ïŒæéã®80%ã¯ã¢ã€ãã«ç¶æ ã®ãªãœãŒã¹ã«æ¯æã£ãŠããïŒããäžè¶³ããããããžã§ãã³ã°ïŒããŒã¯æã«ãžã§ããäœæéããã¥ãŒã«å ¥ã£ãŠããïŒã®ã©ã¡ããã®ç¶æ ã§ããGPUã¯ãŒã¯ããŒãã«ãšã£ãŠãã¹ã±ãŒã«ã»ãã¥ã»ãŒãããéçŸå®çã«ããã³ãŒã«ãã¹ã¿ãŒãããã«ãã£ãªãã«ãå¿ èŠãªãšãã«å¿ èŠãªã³ã³ãã¥ãŒãã£ã³ã°ãæ£ç¢ºã«ããããžã§ãã³ã°ãããžã§ããå®äºããããããè§£æŸããã¢ãŒããã¯ãã£ãå¿ èŠã§ãã
Explore more design patterns and system architectures

ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã®ããã«ããŒãžã§ã³ç®¡çããããã¹ãããããããã€ãããã€ã³ãã©ã¹ãã©ã¯ã㣠â ãªããªãããã©ãããã©ãŒã ã®ä¿¡é Œæ§ã¯ããã®äžã«ãããã®ãšåçšåºŠã ããã§ãã

ãããåŠçãå€ãããŸãã¯å®æçãªã¯ãŒã¯ããŒããæã€MicrocosmWorksã®ã¯ã©ã€ã¢ã³ãã¯ãon-offã¹ã±ãŒãªã³ã°ãå°å ¥åŸãéåžž60ã80%ã®ã¯ã©ãŠãã³ã¹ãåæžãèŠãããŸããããã¯ãã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã24æé365æ¥ã§ã¯ãªããã¢ã¯ãã£ããªåŠçãŠã£ã³ããŠäžã«ã®ã¿å®è¡ãããããã§ããç§ãã¡ã¯å®éã®äœ¿çšç¶æ³ã®ãã¬ã¡ããªã«åºã¥ããŠã¹ã±ãŒãªã³ã°ããªã·ãŒãèšèšããŸããäŸãã°ãæ¯æ¥4æéå®è¡ãããããŒã¿åŠçãã€ãã©ã€ã³ã¯ããã«24æéã§ã¯ãªãããã®4æéåã®ã¿ãæ¯æããŸããåœç€Ÿã®ã¢ãŒããã¯ãããã£ã¹ã«ããªãŒãã§ãŒãºäžã«ã客æ§ã®ã¯ãŒã¯ããŒããã¿ãŒã³ãåæããå®è£ ãéå§ãããåã«æ£ç¢ºãªåæžé¡ãäºæž¬ããŸãã
ããªãŠã©ãŒã ãããããŒãããŒã«äžã®ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã®å Žåãã³ãŒã«ãã¹ã¿ãŒãæéã¯2ã3ç§ã§ãããç¹æ®ãª GPU ã€ã³ã¹ã¿ã³ã¹ãå€§èŠæš¡ãªã¢ãã«ã®èªã¿èŸŒã¿ãå¿ èŠãšããã¯ãŒã¯ããŒãã®å Žåã5ã10åãããããšããããŸããMicrocosmWorks ã¯ããã®é å»¶ãæå°éã«æããããã«ããã€ãã®ææ³ã䜿çšããŸããç§ãã¡ã¯ãéå»ã®ãã©ãã£ãã¯ãã¿ãŒã³ãšã¹ã±ãžã¥ãŒã«ãããã€ãã³ãã䜿çšããŠãäºæãããéèŠã®åã«ãªãœãŒã¹ãèµ·åããäºæž¬ã¹ã±ãŒãªã³ã°ãå®è£ ããŠããŸãããŸããã¬ã€ãã³ã·ãŒã«ææãªã¯ãŒã¯ããŒãã«å¯ŸããŠã¯ãã³ã³ããã€ã¡ãŒãžã®äºåãã«ãšãŠã©ãŒã ããŒã«äºçŽãå©çšããŠããŸãããããªãã³ãŒã«ãã¹ã¿ãŒãã蚱容ã§ããªãã¢ããªã±ãŒã·ã§ã³ã®å ŽåãéèŠãçºçããéã«ç©æ¥µçã«ã¹ã±ãŒã«ã¢ããããæå°éã®ãŠã©ãŒã ããŒã¹ã©ã€ã³ãç¶æããŠããŸãã
MicrocosmWorksã¯ããã¥ãŒã®æ·±ããCPU䜿çšçããŸãã¯ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ã¡ããªã¯ã¹ã«ãã£ãŠããªã¬ãŒãããç©æ¥µçãªã¹ã±ãŒã«ã¢ããããªã·ãŒãšãã¹ã©ãã·ã³ã°ãåé¿ããããã®ã¯ãŒã«ããŠã³æéãå«ãããæ®µéçãªã¹ã±ãŒã«ããŠã³ããªã·ãŒãçµã¿åãããããªã¢ã¯ãã£ããªãªãŒãã¹ã±ãŒãªã³ã°ãå®è£ ããŠããŸããã¹ã±ãŒã«ã¢ããã€ãã³ãäžã«ã¯ãã·ã¹ãã ãéèŠã1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãã€è¿œããããã®ã§ã¯ãªããç¶ç¶çãªæé·ãäºæž¬ã§ããããã«ããªãŒããŒããããžã§ãã³ã°ãããã¡ãèšå®ããŸãããã©ãã·ã¥ã»ãŒã«ããã€ã©ã«ã€ãã³ãã®ãããªçã«äºæž¬äžèœãªã¹ãã€ã¯ã«å¯ŸããŠã¯ãã客æ§ã®ããŒã±ãã£ã³ã°ãŸãã¯éçšã«ã¬ã³ããŒããã®ã€ãã³ãé§ååããªã¬ãŒã䜿çšããŠãäºåã«ãã£ãã·ãã£ãããããžã§ãã³ã°ããŸãã
MicrocosmWorksã¯ãAurora ServerlessãNeonãPlanetScaleã®ãããªserverless databaseãµãŒãã¹ãå©çšããŠãããŒã¿ããŒã¹ã«on-off scalingãé©çšããŸãããããã®ãµãŒãã¹ã¯ãã¢ã€ãã«æã«computeããŒãã«ã¹ã±ãŒã«ããã¹ãã¬ãŒãžã¯æ°žç¶çã§å³åº§ã«å©çšå¯èœãªç¶æ ãä¿ã¡ãŸããserverless databaseãå©çšã§ããªãstatefulãªã¯ãŒã¯ããŒãã®å Žåãã¯ãšãªè² è·ã«åºã¥ããŠã¬ããªã«ã远å ã»åé€ããread-replica scalingãå®è£ ããæå°éã®primary instanceãåžžã«çšŒåãããŸãããã®ãã€ããªããã¢ãããŒãã«ãããã¯ã©ã€ã¢ã³ãã¯ã·ã£ããããŠã³ããã³åèµ·åãµã€ã¯ã«äžã®ããŒã¿ããŒã¹ç¶æ 管çã®è€éããªãã«ãdata tierã®ã¹ã±ãŒãªã³ã°ã«ããã³ã¹ãã¡ãªãããåŸãããŸãã
MicrocosmWorks ã¯ãGrafana ãŸã㯠Datadog ã®ããã·ã¥ããŒãã䜿çšããŠãã€ã³ã¹ã¿ã³ã¹æ°ãã¹ã±ãŒãªã³ã°ã€ãã³ãã®ã¬ã€ãã³ã·ãŒã倱æããã¹ã±ãŒãªã³ã°è©Šè¡ãããã³ãªã¢ã«ã¿ã€ã ã§ã®ç®æšãã£ãã·ãã£ãšå®éã®ãã£ãã·ãã£ã®ã®ã£ããã远跡ããå æ¬çãªã¹ã±ãŒãªã³ã°ã®å¯èŠ³æž¬æ§ãå±éããŠããŸããã¹ã±ãŒãªã³ã°ã®å€±æãã¹ã±ãŒãªã³ã°äžéãäœãããããšã瀺åããæç¶çãªé«äœ¿çšçãããã³æŽèµ°ã¹ã±ãŒãªã³ã°ã瀺ãã³ã¹ãç°åžžã«å¯ŸããŠããã«ããã£ãã«ã¢ã©ãŒããèšå®ããŸããåœç€Ÿã®ã©ã³ããã¯ã«ã¯ãã¯ã©ãŠããããã€ããŒã®ã€ã³ã¹ã¿ã³ã¹å¶éã«éããããŸãã¯ç¹å®ã®å¯çšæ§ãŸãŒã³ã§ãã£ãã·ãã£äžè¶³ãšã©ãŒã«ééãããªã©ã®äžè¬çãªé害ã¢ãŒãã«å¯Ÿããèªå修埩ãå«ãŸããŠããŸãã
ç§ãã¡ã®ã¢ãŒããã¯ãã¯ããã®ãã¿ãŒã³ã䜿çšããŠã·ã¹ãã ãèšèšããã³æ§ç¯ããç¹å®ã®èŠä»¶ã«å¯Ÿå¿ããã®ããæäŒãã§ããŸãã
ãåãåãããªã³ãªãã¹ã±ãŒãªã³ã°ã¢ãŒããã¯ãã£ã¯ããŠã©ãŒã /ã³ãŒã«ãããŒãªã³ã°ããžã§ããã¥ãŒé§ååããããžã§ãã³ã°ãããã³èªåãã£ã¢ããŠã³ãä»ããŠã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã管çããŸãããŠã©ãŒã ããŒã«ã¯ãããã«äœ¿çšã§ããå°æ°ã®äºååæåãããã€ã³ã¹ã¿ã³ã¹ãç¶æããŸããã³ãŒã«ãããŒã«ã¯ãéèŠããŠã©ãŒã ããŒã«ãè¶ ããå Žåã«ãã¹ããã/ããªãšã³ããã£ãã«ã€ã³ã¹ã¿ã³ã¹ãã远å ã®å®¹éãããããžã§ãã³ã°ããŸãããžã§ããªãŒã±ã¹ãã¬ãŒã¿ãŒã¯ãå©çšå¯èœãªã€ã³ã¹ã¿ã³ã¹ã«äœæ¥ãã«ãŒãã£ã³ã°ããé²è¡ç¶æ³ãç£èŠããã¹ãããã€ã³ã¹ã¿ã³ã¹ã®åæ¢æã®å詊è¡ãåŠçãããã¥ãŒã空ã«ãªã£ããšãã«ã¹ã±ãŒã«ããŠã³ãããªã¬ãŒããŸãããã®ãã¿ãŒã³ã¯ãã³ãŒã«ãã¹ã¿ãŒãïŒã³ã³ãããã« + ã¢ãã«ããŒãïŒã«3ã10åããã GPUã¯ãŒã¯ããŒãã«ãšã£ãŠç¹ã«éèŠã§ãã
ãã®ã·ã¹ãã ã¯ãåä¿¡ããäœæ¥ãªã¯ãšã¹ãããããã¡ãªã³ã°ãããžã§ããã¥ãŒïŒSQSãRedisããŸãã¯ã«ã¹ã¿ã ïŒãäžå¿ã«ããŠããŸããã¹ã±ãŒãªã³ã°ã³ã³ãããŒã©ãŒã¯ãã¥ãŒã®æ·±ããç£èŠããæåã«ãŠã©ãŒã ããŒã«ãããæ¬¡ã«ã³ãŒã«ãããŒã«ïŒã¹ãããã€ã³ã¹ã¿ã³ã¹ïŒããã€ã³ã¹ã¿ã³ã¹ãããããžã§ãã³ã°ããŸããåã¯ãŒã«ãŒã€ã³ã¹ã¿ã³ã¹ã¯ãã¥ãŒãããžã§ãããã«ããã¯ãŒã¯ããŒãïŒãšã³ã³ãŒãã£ã³ã°ããã¬ãŒãã³ã°ãæšè«ïŒãå®è¡ããå®äºãå ±åããããŒã«ã«æ»ããçµäºããŸãããã§ãã¯ãã€ã³ããããŒãžã£ãŒã¯ãäžéç¶æ ã S3 ã«ä¿åããããšã§ã¹ãããã€ã³ã¹ã¿ã³ã¹ã®åæ¢ãåŠçããå¥ã®ã€ã³ã¹ã¿ã³ã¹ã§æåããããçŽãããšãªããžã§ããåéã§ããããã«ããŸãã
| ã¬ã€ã€ãŒ | æè¡ |
|---|---|
| ã³ã³ãã¥ãŒãã£ã³ã° | AWS EC2 Spot (G5/P4), GCP Preemptible (A2/L4), RunPod Serverless, Modal |
| ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ | Kubernetes (Karpenter for autoscaling), AWS Batch, custom job orchestrator |
| ãžã§ããã¥ãŒ | AWS SQS, BullMQ (Redis), Temporal, Celery |
| ã¹ãã¬ãŒãž | S3 (ãã§ãã¯ãã€ã³ã, ã¢ãã«ã¢ãŒãã£ãã¡ã¯ã), NVMe (ã¢ãã«ãã£ãã·ã¥), EFS (å ±æã¯ãŒã¯ã¹ããŒã¹) |
| ã¢ãã¿ãªã³ã° | CloudWatch/Prometheus (ãã¥ãŒã®æ·±ã, ã€ã³ã¹ã¿ã³ã¹ã®å©çšç, ãžã§ãã®ã¬ã€ãã³ã·ãŒ), ã«ã¹ã¿ã ã³ã¹ãããã·ã¥ããŒã |
| 䜿çšãã¹ãã±ãŒã¹ | é¿ããã¹ãã±ãŒã¹ |
|---|---|
| ã¯ãŒã¯ããŒããããŒã¹ãæ§ãæã€ â ããŒã¯éèŠãå¹³åéèŠã®5åä»¥äž | ãã©ãã£ãã¯ãå®å®ããŠããäºæž¬å¯èœã§ãã â é©åãªãµã€ãºã®ãªã¶ãŒããã€ã³ã¹ã¿ã³ã¹ã®æ¹ãå®äŸ¡ |
| ã¢ã€ãã«æã«è²»çšãããã GPU/é«èšç®ãžã§ã | ã¯ãŒã¯ããŒãããµãŒããŒã¬ã¹ïŒLambdaïŒã«é©ãã軜é㪠CPUåŠçã§ãã |
| ãžã§ããã³ãŒã«ãããŒã«ããããžã§ãã³ã°ã®ããã®1ã5åã®ã³ãŒã«ãã¹ã¿ãŒãã蚱容ã§ãã | 1ç§æªæºã®ãžã§ãéå§ã¬ã€ãã³ã·ãŒãèŠæ±ããã â åžžæçšŒåã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå¿ èŠ |
| ã³ã¹ãæé©åãäž»èŠãªæžå¿µäºé ã§ãããã¹ãããæéã60ã90%ã®ç¯çŽãæäŸãã | ã¹ãããã€ã³ã¹ã¿ã³ã¹ã®å²ã蟌ã¿ãããã§ãã¯ãã€ã³ãã§è»œæžã§ããªãããŒã¿æå€±ãåŒãèµ·ããå Žå |
MW ã¯ããžã§ãããšã®ã³ã¹ããã®èŠç¹ãããªã³ãªãã¹ã±ãŒãªã³ã°ãèšèšããŠããŸããç°ãªãã¹ã±ãŒãªã³ã°æŠç¥ã«ããã1åäœã®äœæ¥ïŒ1ã€ã®åç»ã1åã®ãã¬ãŒãã³ã°å®è¡ã1åã®ãããæšè«ïŒãåŠçããç·ã³ã¹ããã¢ãã«åããå¿ èŠãªã¬ã€ãã³ã·ãŒ SLA ã§ã³ã¹ããæå°åããæŠç¥ãéžæããŸããç§ãã¡ã®å®è£ ã«ã¯ããžã§ãããšã®ã³ã¹ããã€ã³ãã©ã¹ãã©ã¯ãã£ã®å©çšçãããã³ã¹ãããã€ã³ã¹ã¿ã³ã¹ã«ããç¯çŽã瀺ããªã¢ã«ã¿ã€ã ã³ã¹ãããã·ã¥ããŒããå«ãŸããŠããŸãããªã¶ãŒããã€ã³ã¹ã¿ã³ã¹ãšæ¯èŒããŠåç»åŠçã³ã¹ãã70%åæžãããªã³ãªã GPUã€ã³ãã©ã¹ãã©ã¯ãã£ãã4æéã®ãã¬ãŒãã³ã°å®è¡ã®ããã«64åã® GPU ãããããžã§ãã³ã°ãèªåçã«è§£æŸãã MLãã¬ãŒãã³ã°ã¯ã©ã¹ã¿ãŒãæ§ç¯ããŠããŸããã
ã»ãã¥ãªãã£ã¯ãããŒã³ãåŸã«ä»ãå ããæ©èœã§ã¯ãããŸãããããã¯ã¢ãŒããã¯ãã£ã®ç¹æ§ã§ãããã·ã¹ãã ããã®ããã«èšèšããããããããªãã£ããã®ã©ã¡ããã§ãã