
次äžä»£AIã¢ãŒããã¯ãã£ãTitansãã®å šè²
åºè«ïŒAIã«ããããèšæ¶ãã®ãã©ãã€ã ã·ãã
çŸä»£AIãçŽé¢ãããèšæ¶åªå€±ããšããå£
2024幎æ«ãGoogle Researchã®ç ç©¶ããŒã ã«ãã£ãŠçºè¡šãããè«æãTitans: Learning to Memorize at Test Timeãã¯ã人工ç¥èœïŒAIïŒã®é²åã«ãããæ±ºå®çãªç¬éãå»ããã®ãšãªããŸãã ããã®ç ç©¶ãåããããã®ã¯ãçŸä»£ã®AIæè¡ãç¹ã«ChatGPTãGeminiãšãã£ãå€§èŠæš¡èšèªã¢ãã«ïŒLLMïŒã®æ ¹å¹¹ãæ¯ããTransformerã¢ãŒããã¯ãã£ãæ±ãããæ§é çãã€æ ¹æ¬çãªéçã«ã€ããŠã§ãããã®éçãšã¯ãäžèšã§èšãã°ãèšæ¶ã®æ¬ èœãã§ãã
ç§ãã¡ãæ¥ã å©çšããŠããAIã¯ãã©ãã»ã©æµæ¢ã«èšèã玡ãåºãããšããŠããæ¬è³ªçã«ã¯ãçæèšæ¶ã®å€©æãã«éããŸããã
Transformerã¢ãã«ã¯ãã³ã³ããã¹ããŠã£ã³ããŠããšåŒã°ããéãããç¯å²å ã®æ å ±ã«ã€ããŠã¯ãç¥ããã£ã粟床ã§é¢é£æ§ãèŠã€ãåºããåŠçããããšãã§ããŸãã
ããã人éã®äœæ¥ã«äŸãããªãã°ãå·šå€§ãªæºã®äžã«æ°åæã®æžé¡ãåºãããã®å šãŠãåæã«èŠæž¡ããªããä»äºãããŠããç¶æ ãšèšããã§ããããæºã®äžã«ããæ å ±ã§ããã°ãã©ã®ããŒãžã®ã©ã®è¡ã«äœãæžãããŠããããç¬æã«ææ¡ããå®ç§ãªåçãçæããŸãã
ãããããã®æ¹åŒã«ã¯èŽåœçãªåŒ±ç¹ããããŸããæºã®åºãã«ã¯ç©ççãªéçãããã®ã§ããæ±ãããæ å ±éãå¢ããã°å¢ããã»ã©ãæºãåºããããã«å¿ èŠãªã³ã¹ãã¯äºæ¬¡é¢æ°çã«å¢å€§ããŠãããŸã ãæžé¡ã1äžæã10äžæã100äžæãšå¢ããŠããã«ã€ããèšç®éã¯ççºçã«èšãäžãããã€ãã«ã¯ã·ã¹ãã å šäœãç Žç¶»ããŠããŸããŸãããã®çµæãå€ãæ å ±ã¯æºã®äžããæŒãåºãããããžã¿ã«ã®åœŒæ¹ãžãšæ¶ãå»ããŸããããã¯ãé·ãå°èª¬ãèªãã§ããæäžã«ãåé ã®ç»å Žäººç©ã®ååãäŒç·ãå®å šã«å¿ããŠããŸããããªãã®ã§ãããããŸã§ã®AIã¯ãæ¬ãèªã¿é²ãããã°ããåã®ããŒãžãç ŽãæšãŠãŠãããããªèªã¿æ¹ããã§ããªãã£ãã®ã§ãã
ãåŠç¿ããšãæšè«ãã®å¢çç·ã溶ãã
ãã®åé¡ã«å¯Ÿããé廿°å幎ã«ãããå€ãã®ç ç©¶è ãæãã§ããŸããããªã«ã¬ã³ããã¥ãŒã©ã«ãããã¯ãŒã¯ïŒRNNïŒãLSTMïŒLong Short-Term MemoryïŒãšãã£ãæè¡ã¯ãæ å ±ãå§çž®ããŠãã±ããªã¬ãŒã®ããã«æ¬¡ãžãšæž¡ããŠããããšã§é·æèšæ¶ãå®çŸããããšããŸãã ãããããäŒèšã²ãŒã ãããã§ããããã«ãæ å ±ã¯å§çž®ãããéçšã§å£åããé·ãæéãçµéãããšåœåã®æå³ã倱ã£ãŠããŸããŸããæè¿ã§ã¯Mambaã®ãããªç·åœ¢RNNã¢ãã«ãç»å ŽããŸãããããããããŸããåºå®ãµã€ãºã®ãé ãç¶æ ããšããç®±ã«æ å ±ãè©°ã蟌ãç¹ã§ã¯åãéçãæ±ããŠããŸããã
ããã§Titansãæç€ºãã解決çã¯ããããŸã§ã®åžžèãæ ¹åºããèŠããã®ã§ãããããã¯ããã¹ãæåŠç¿ïŒTest-Time TrainingïŒããšããæŠå¿µã®å®è£ ã§ã ãåŸæ¥ã®AIéçºã«ãããŠããåŠç¿ïŒTrainingïŒããšãæšè«ïŒInference/TestïŒãã¯å®å šã«åæãããããã»ã¹ã§ãããå·¥å Žã§èšå€§ãªããŒã¿ãåŠç¿ããŠåºè·ãããAIïŒæšè«ã¢ãã«ïŒã¯ããŠãŒã¶ãŒã®æå ã§åããŠããéããã®ç¥èæ§é ïŒéã¿ãã©ã¡ãŒã¿ïŒãå€åããããšã¯ãããŸããã§ãããã€ãŸããåºè·æã®ç¥èãå šãŠã§ããããŠãŒã¶ãŒãšã®å¯Ÿè©±ã®äžã§æ°ããç¥èãç²åŸãããããæ°žç¶çãªèšæ¶ãšããŠä¿æããããšã¯äžå¯èœã ã£ãã®ã§ãã
Titansã¯ããã®å£ãåãæããŸãããTitansã®ã¢ãŒããã¯ãã£ã¯ãæšè«ãè¡ã£ãŠãããã®æäžã«ããªã¢ã«ã¿ã€ã ã§åŠç¿ãè¡ããŸãããŠãŒã¶ãŒãæ°ããæ å ±ãå ¥åãããã³ã«ãã¢ãã«ã¯ãããèªåã«ãšã£ãŠãæªç¥ã®æ å ±ïŒé©ãïŒãã§ãããã倿ããããããã§ããã°ãå³åº§ã«èªåèªèº«ã®è³ã®é ç·ïŒã·ããã¹çµåã®éã¿ïŒãæžãæããŠèšæ¶ããŸããããã¯ã人éãæ°ããçµéšããããã³ã«è³å ã®ç¥çµåè·¯ãå€åãããæšæ¥ã®åºæ¥äºã仿¥ã®èšæ¶ãšããŠå®çãããããã»ã¹ãã®ãã®ã§ãããã®ç»æçãªã¢ãããŒãã«ãããTitansã¯200äžããŒã¯ã³ãè¶ ããè¶ é·æèã«ãããŠããæ å ±ãå¿ããããšãªãããã€èšç®ã³ã¹ããäžå®ã«ä¿ã£ããŸãŸåŠçãç¶ããããšãå¯èœã«ããŸãã ã
第1ç« ïŒèšæ¶ã®ã¡ã«ããºã â é©ããèšæ¶ãäœã
Titansã®æ žãšãªãã®ã¯ãããã¥ãŒã©ã«é·æèšæ¶ã¢ãžã¥ãŒã«ïŒNeural Long-Term Memory ModuleïŒããšåŒã°ããæ°ããèšæ¶è£ 眮ã§ãããã®ç« ã§ã¯ããã®ã¢ãžã¥ãŒã«ãã©ã®ããã«ããŠæ å ±ãèšæ¶ããåãåºããŠããã®ãããã®å éšåäœããé©ãããšããããŒã¯ãŒããäžå¿ã«è§£èª¬ããŸãã
ãã¥ãŒã©ã«ã¡ã¢ãªãšã¯äœãïŒå³æžé€šãšåžæžã®æ¯å©
ãŸããåŸæ¥ã®èšæ¶æ¹åŒãšTitansã®èšæ¶æ¹åŒã®éããæç¢ºã«ããããã«ã峿žé€šã®äŸããçšããŠèããŠã¿ãŸãããã
TransformerãåŸæ¥ã®RNNã«ãããèšæ¶ã¯ããæ¬æ£ïŒãã¯ãã«ãè¡åïŒãã«æ å ±ãä¿åããã¢ãããŒãã§ãããæ°ããæ å ±ãå ¥ã£ãŠãããšããããæ¬ãšãã圢ã«ããŠæ¬æ£ã«äžŠã¹ãŸããæ€çŽ¢ããéïŒæ³šææ©æ§ã䜿ãéïŒã¯ãæ¬æ£ã«ãããã¹ãŠã®æ¬ãã¹ãã£ã³ããŠå¿ èŠãªæ å ±ãæ¢ããŸãããã®æ¹åŒã®æ¬ ç¹ã¯ãæ¬æ£ã®ã¹ããŒã¹ïŒã¡ã¢ãªå®¹éïŒã«éããããããšãšãæ¬ãå¢ããã°å¢ããã»ã©æ¢ãã®ã«æéããããïŒèšç®ã³ã¹ããå¢ããïŒããšã§ããæ¬æ£ããã£ã±ãã«ãªãã°ãå€ãæ¬ããé ã«å»æ£åŠåã«ãããããããŸããã
äžæ¹ãTitansã®ãã¥ãŒã©ã«ã¡ã¢ãªã¯ã峿žé€šã®ãåžæžããã®è³ïŒãã¥ãŒã©ã«ãããã¯ãŒã¯ã®éã¿ãã©ã¡ãŒã¿ïŒãã«æ å ±ãä¿åããã¢ãããŒãã§ã ãæ°ããæ å ±ãå ¥ã£ãŠãããšãåžæžããã¯ãã®å 容ãèªã¿èŸŒã¿ãç¥èãšããŠèªåã®è³å ã«çµ±åããŸããæ¬ãã®ãã®ã¯æ£ããæ¶ããŠããŸã£ãŠãæ§ããŸãããæ å ±ã¯åžæžããã®ãçè§£ãããçµéšããšããŠæœè±¡åãããè³ã®ã·ããã¹çµåã®åŒ·ããšããŠä¿åãããããã§ãã
ãã®ãéã¿ã«èšæ¶ããããšããææ³ã®æå€§ã®å©ç¹ã¯ã容éã®å¶çŽãç©ççãªã¹ããŒã¹ã§ã¯ãªãããããã¯ãŒã¯ã®è¡šçŸåã«äŸåãããããå§åçã«å€ãã®æ å ±ãå¹ççã«ä¿æã§ããç¹ã«ãããŸãããŸããã©ãã ãå€ãã®æ¬ãèªãã§ããåžæžããã®è³ã®å€§ããïŒã¢ãã«ã®ãµã€ãºïŒãå€ããããã§ã¯ãªããããæ å ±ãåŒãåºãéã®æéïŒæšè«ã®èšç®ã³ã¹ãïŒã¯åžžã«äžå®ã§ããããããTitansããç·åœ¢èšç®éïŒO(N)ïŒãã§åäœããã©ãã ãæèãé·ããªã£ãŠãé«éã«åäœãç¶ããããçç±ã§ã ã
é©ãã®æ°åŠïŒåŸé éäžæ³ã«ããèšæ¶ã®æžã蟌ã¿
ã§ã¯ãå ·äœçã«ã©ã®ããã«ããŠåžæžããã¯æ å ±ãè³ã«å»ã¿èŸŒãã®ã§ãããããTitansã®è«æã§ã¯ããã®ããã»ã¹ããé©ãïŒSurpriseïŒãã®æå°åãšããŠæ°åŠçã«å®çŸ©ããŠããŸã ã
AIã¢ãã«ã«ãšã£ãŠã®ãé©ãããšã¯ããäºæž¬ã®å€±æããæå³ããŸããå ¥åãããããŒã¿ïŒäŸãã°ãæç« ã®æ¬¡ã®åèªïŒãã¢ãã«ãæ£ç¢ºã«äºæž¬ã§ããå Žåãããã¯ã¢ãã«ã«ãšã£ãŠãæ¢ç¥ã®æ å ±ãã§ãããé©ãã¯ãããŸãããéã«ãäºæž¬ã倧ããå€ããå Žåãããã¯ã¢ãã«ããŸã ç¥ããªããæ°ããæ å ±ãã§ããã倧ããªé©ããšãªããŸãã
Titansã®ãã¥ãŒã©ã«ã¡ã¢ãªã¯ããã®é©ãã®åºŠåãããæå€±é¢æ°ã®åŸé ïŒGradientïŒããšããŠèšç®ããŸãããããŠããã®åŸé ã䜿ã£ãŠãå³åº§ã«èªåèªèº«ã®ãã©ã¡ãŒã¿ãæŽæ°ããŸãããããæ°åŒã䜿ããã«èª¬æãããšã次ã®ãããªã¹ãããã«ãªããŸãã
äºæž¬: ãã¥ãŒã©ã«ã¡ã¢ãªã¯ãçŸåšã®ç¥èã䜿ã£ãŠå ¥åããŒã¿ãè§£éããããšè©Šã¿ãŸãã
é©ãã®èšæž¬: è§£éçµæãšå®éã®ããŒã¿ãšã®ãºã¬ïŒãšã©ãŒïŒã枬å®ããŸãããã®ãºã¬ã®å€§ããããé©ããã§ãã
峿åŠç¿: ããªãééããã®ãïŒããã©ãããã°æ£ããè§£éã§ããã®ãïŒããéç®ããè³å ã®ã·ããã¹çµåïŒéã¿ïŒã埮調æŽããŸãã
èšæ¶ã®å®ç: ãã®åŸ®èª¿æŽã«ãã£ãŠãä»ã®ããŒã¿ã«å«ãŸããŠããæ å ±ã¯ã¢ãã«ã®äžéšãšãªããæ¬¡ã«åããããªããŒã¿ãæ¥ããšãã«ã¯ãé©ããªãïŒæ£ããäºæž¬ã§ããïŒãããã«ãªããŸãã
éåžžã®AIåŠç¿ã§ã¯ããã®ããã»ã¹ïŒåŸé éäžæ³ã«ããæŽæ°ïŒã¯éçºæ®µéã§æ°ã¶æãããŠè¡ããããã®ã§ãããTitansã¯ããããŠãŒã¶ãŒã䜿ã£ãŠãããã®ç¬éã«ãããªç§åäœã®é«éåŠçãšããŠå®è¡ããŠããŸããŸããããããLearning to Memorize at Test TimeïŒãã¹ãæã«èšæ¶ããããšãåŠã¶ïŒããšããã¿ã€ãã«ã®æå³ãããšããã§ã ã
éå»ã®é©ããåŒãããïŒã¢ãŒã¡ã³ã¿ã ã®åœ¹å²
人éãè¡æçãªåºæ¥äºãçµéšããåŸããã°ãããã®äœé»ãæ®ãããã«ãTitansã®èšæ¶ããã»ã¹ã«ããã¢ãŒã¡ã³ã¿ã ïŒMomentum / æ £æ§ïŒããšããæŠå¿µãå°å ¥ãããŠããŸã ã
ããããã®ç¬éã®é©ãã ãã§èšæ¶ãæŽæ°ããŠããŸããšããã€ãºã®ãããªäºçŽ°ãªæ å ±ã«éå°åå¿ããŠããŸããèšæ¶ãäžå®å®ã«ãªãæãããããŸããããã§Titansã¯ãéå»ã®é©ãã®ãæµãããä¿æããŸããããç¬éã«éåžžã«é©ãã¹ãéèŠãªæ å ±ïŒäŸãã°ãå°èª¬ã®ã¯ã©ã€ããã¯ã¹ã·ãŒã³ïŒããã£ãå Žåãã¢ãŒã¡ã³ã¿ã ã«ãã£ãŠãã®é©ãã®å¹æããã°ããæç¶ããŸããããã«ãããã¯ã©ã€ããã¯ã¹ã·ãŒã³ã®çŽåŸã«ç¶ãæåïŒããèªäœã¯å¹³å¡ãªæç« ãããããªãããæèäžéèŠãªæ å ±ïŒããé«ãåªå 床ã§èšæ¶ã«æžã蟌ãŸããããšã«ãªããŸãã
æè¡çã«ã¯ããã©ã¡ãŒã¿æŽæ°ã®åŒã«ãéå»ã®åŸé ã®ç§»åå¹³åããå ããããšã§å®è£ ãããŠããŸããããã«ãããæèã®æµããæã¡åãããšãªããã¹ããŒãªãŒå šäœãäžè²«ããèšæ¶ãšããŠä¿æããããšãå¯èœã«ãªããŸãã
å¿ããããšã®éèŠæ§ïŒé©å¿çå¿åŽã²ãŒã
ã絶察å¿ããªãèšæ¶ãã¯çæ³çã«èããããããããŸããããéããããªãœãŒã¹ã®äžã§ã¯ãå€ãæ å ±ãå¿ããããšããŸããæ°ããããšãåŠã¶ããã«äžå¯æ¬ ãªæ©èœã§ãã人éã®è³ããäžèŠãªèšæ¶ãæŽçã»æ¶å»ããããšã§å¯å¡æ§ãä¿ã£ãŠããŸãã
Titansã«ã¯ãå¿åŽã¡ã«ããºã ïŒForgetting MechanismïŒããšããŠãé©å¿çãªéã¿æžè¡°ïŒAdaptive Weight DecayïŒãçµã¿èŸŒãŸããŠããŸã ãããã¯ãæ å ±ã®éèŠåºŠãæéã®çµéã«å¿ããŠãèšæ¶ã®åŒ·åºŠãèªåçã«åŒ±ããŠããæ©èœã§ãã
ãã®æ©èœã¯ãã²ãŒãããšããŠåããŸããå ¥åããŒã¿ã«å¿ããŠãããã®æ å ±ã¯é·æä¿åãã¹ãããããã®å€ãæ å ±ã¯ããäžèŠãããåçã«å€æããŸããè«æäžã®ã¢ãã¬ãŒã·ã§ã³ã¹ã¿ãã£ïŒæ©èœé€å»å®éšïŒã«ãããšããã®å¿åŽæ©èœãåãé€ããå Žåãã¢ãã«ã®ããã©ãŒãã³ã¹ã¯èããäœäžããããšã確èªãããŠããŸã ãå¿ããæ©èœããããããããTitansã¯ç¡éã«ç¶ãããŒã¿ã¹ããªãŒã ã®äžã§ããã³ã¯ããããšãªããåžžã«ææ°ã®éèŠãªæ å ±ã«çŠç¹ãåããç¶ããããšãã§ããã®ã§ãã
第2ç« ïŒTitansã®äžã€ã®åœ¢æ â æèãã²ãŒããã¬ã€ã€ãŒ
Googleã®ç ç©¶ããŒã ã¯ããã®åŒ·åãªãã¥ãŒã©ã«ã¡ã¢ãªããæ¢åã®TransformerããŒã¹ã®ã·ã¹ãã ãšã©ã®ããã«çµ±åããã®ãæé©ããæ€èšŒããããã«ãäžã€ã®ç°ãªãã¢ãŒããã¯ãã£å€çš®ãææ¡ããŸããããããããMACããMAGããMALããšåŒã°ããç°ãªãã¢ãããŒãã§èšæ¶ã掻çšããŸãã
1. MAC: Memory as ContextïŒã³ã³ããã¹ããšããŠã®ã¡ã¢ãªïŒ
ã³ã³ã»ãã: èšæ¶ããæ³šéããšããŠæ±ãã¢ãããŒãã
MACã¢ãŒããã¯ãã£ã¯ãæçã«ããããç§äŒã®åºæ±ãã®ãããªåœ¹å²ãæãããŸãããã¥ãŒã©ã«ã¡ã¢ãªïŒLMMïŒã¯ãéå»ã®èšå€§ãªããŒã¿ã¹ããªãŒã ãåŠçããããããæœåºãããšãã»ã³ã¹ããã¡ã¢ãªããŒã¯ã³ããšãã圢ã«å§çž®ããŸãããããŠãçŸåšã®å ¥åããŒã¿ïŒé£æïŒãåŠçããéããã®ã¡ã¢ãªããŒã¯ã³ïŒåºæ±ïŒãå é ã«ä»ãå ããŸã ã
Transformerã®æ³šææ©æ§ã¯ãçŸåšã®å ¥åããŒã¿ã ãã§ãªãããã®ã¡ã¢ãªããŒã¯ã³ã«ã泚æãæããŸããããã«ããããçŸåšã®ããŒã¿ããšãéå»ã®å šããŒã¿ã®èŠçŽããåæã«åç §ããªããæšè«ãè¡ãããšãã§ããŸãã
é·æ: å®è£ ãæ¯èŒçã·ã³ãã«ã§ãæ¢åã®Transformerã¢ãã«ãžã®è¿œå ã容æã§ããé·è·é¢ã®äŸåé¢ä¿ïŒãã³ã°ã³ã³ããã¹ãïŒãæ±ãã¿ã¹ã¯ã«ãããŠãæãé«ãæ§èœã瀺ããŠããŸã ã
çšé: é·ç·šå°èª¬ã®èŠçŽãæ³åŸææžã®åæãéå»ã®äŒè©±å±¥æŽãèžãŸãããã£ããããããªã©ã
2. MAG: Memory as a GateïŒã²ãŒããšããŠã®ã¡ã¢ãªïŒ
ã³ã³ã»ãã: èšæ¶ãšçŸåšãããã¬ã³ããããã¢ãããŒãã
MAGã¢ãŒããã¯ãã£ã¯ãäºäººã®å°éå®¶ã«ããåè°å¶ã®ãããªã·ã¹ãã ã§ããå ¥åããŒã¿ã¯äºã€ã®çµè·¯ã«åå²ããŸããäžæ¹ã¯ãã¥ãŒã©ã«ã¡ã¢ãªãžéãããéå»ã®ç¥èã«åºã¥ããè§£éãè¡ãããŸããããäžæ¹ã¯ãã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠæ³šææ©æ§ïŒçŽè¿ã®çãç¯å²ã ããèŠãæ³šææ©æ§ïŒãžéãããçŸåšã®æèã«åºã¥ããè§£éãè¡ãããŸã ã
æåŸã«ããã²ãŒãããšåŒã°ãã調æŽåœ¹ãããããäºã€ã®åºåãé©åãªå²åã§æ··ãåãããŸãããä»åã¯éå»ã®çµç·¯ãéèŠã ããã¡ã¢ãªã®æèŠã7岿¡çšãããããä»åã¯ç®ã®åã®äºå®ãéèŠã ããçŽè¿ã®æ³šæãåªå ãããããšãã£ã倿ãããã¥ãŒã©ã«ãããã¯ãŒã¯ãèªåçã«è¡ããŸãã
é·æ: éå»ãšçŸåšã®ãã©ã³ã¹ãåçã«èª¿æŽã§ãããããæ§ã ãªã¿ã¹ã¯ã«å¯ŸããŠæè»ã«å¯Ÿå¿ã§ããŸãããŸããéç·åœ¢ãªæ··åãå¯èœã§è¡šçŸåãé«ãã§ãã
çšé: ãªã¢ã«ã¿ã€ã ã®ç¶æ³å€æãå¿ èŠãªã²ãŒã AIã察話ã·ã¹ãã ãåçã«å€åããç°å¢ã§ã®å¶åŸ¡ã·ã¹ãã ã
3. MAL: Memory as a LayerïŒã¬ã€ã€ãŒãšããŠã®ã¡ã¢ãªïŒ
ã³ã³ã»ãã: èšæ¶ãããã£ã«ã¿ããšããŠç©ã¿éããã¢ãããŒãã
MALã¢ãŒããã¯ãã£ã¯ãå·¥å Žã®ãããªçŽåããã»ã¹ãæ¡çšããŸãããŸãããã¥ãŒã©ã«ã¡ã¢ãªã第äžã®å±€ïŒã¬ã€ã€ãŒïŒãšããŠé 眮ãããå ¥åããŒã¿ãåŠçããŠèšæ¶ã«åºã¥ãã倿ãè¡ããŸãããã®åºåããæ¬¡ã®å±€ã§ããæ³šææ©æ§ãžãšæž¡ãããŸã ã
ãã®æ§é ã§ã¯ãã¡ã¢ãªèªäœã深局åŠç¿ãããã¯ãŒã¯ã®äžéšãšããŠçµã¿èŸŒãŸãããããå±€ãéããããšã«æœè±¡åºŠã®é«ãèšæ¶ã圢æããããšãå¯èœã§ããããã°ãå ¥åããŒã¿ãèšæ¶ã®ãã£ã«ã¿ãééããããšã§ãããæŽç·Žãããæ å ±ãžãšçŽåãããŠããã€ã¡ãŒãžã§ãã
é·æ: ã¢ãã«å šäœãæ·±ãããããšã§ãéåžžã«è€éãªãã¿ãŒã³ãèŠåæ§ãåŠç¿ããããšãã§ããŸãã
çæ: ã¡ã¢ãªå±€ãšæ³šæå±€ãçŽåã«ç¹ãã£ãŠããããã䞊ååŠçã«ããé«éåã®æ©æµãåãã«ãããåŠç¿é床ãä»ã®äºã€ã«æ¯ã¹ãŠå£ãå ŽåããããŸã ã
çšé: è€éãªç§åŠçæšè«ãã²ãã è§£æãé«åºŠãªãã¿ãŒã³èªèã
以äžã®è¡šã«ããããäžã€ã®ã¢ãŒããã¯ãã£ã®ç¹åŸŽããŸãšããŸãã

第3ç« ïŒå®èšŒãããå®å â GPT-4ãè¶ ããèšæ¶å
Googleã®ç ç©¶ããŒã ã¯ãTitansã®æ§èœã蚌æããããã«éé ·ãªãã³ãããŒã¯ãã¹ããè¡ããŸããããã®çµæã¯ãTitansãåãªãçè«äžã®ææ¡ã§ã¯ãªããå®çšã¬ãã«ã§æ¢åã®SOTAïŒState-of-the-ArtïŒæå 端ïŒã¢ãã«ãåé§ããããšã瀺ããŠããŸãã
BABILongãã³ãããŒã¯ïŒå¹²ãèã®äžã®éãæ¢ã
æã泚ç®ãã¹ãææã¯ããBABILongããã³ãããŒã¯ã§ã®çµæã§ããããã¯ãNeedle in a HaystackïŒå¹²ãèã®äžã®éïŒããšåŒã°ããã¿ã¹ã¯ãå«ãã§ããŸã ã
ãã®ã¿ã¹ã¯ã§ã¯ãAIã«æ°çŸäžããŒã¯ã³ïŒæåº«æ¬ã§æ°åååïŒã«ãåã¶èšå€§ãªããã¹ããèªãŸããŸãããã®ããã¹ãã®ã©ããäžç®æã ãã«ãããã¹ã¯ãŒãã¯12345ã§ãããšãã£ãéèŠãªäºå®ïŒéïŒãçŽã蟌ãŸããŠãããŸãããããŠãèªã¿çµãã£ãåŸã«ããã¹ã¯ãŒãã¯äœã§ããïŒããšè³ªåããŸãã
åŸæ¥ã®Transformerã¢ãã«ããMambaã®ãããªææ°ã®RNNã¢ãã«ã¯ãããã¹ããé·ããªãã°ãªãã»ã©ããã®ãéããèŠã€ããããšãã§ããªããªããŸãããæ å ±ãå€ãããŠãèšæ¶ãäžæžããããããæ³šæãæ£æŒ«ã«ãªã£ããããããã§ããå ·äœçã«ã¯ãã³ã³ããã¹ãé·ãæ°äžããŒã¯ã³ãè¶ ããããããããæ£ççãæ¥æ¿ã«äœäžããåŸåãèŠãããŸããã
ããããTitansïŒç¹ã«MACã¢ãã«ïŒã¯ã200äžããŒã¯ã³ãè¶ ããã³ã³ããã¹ãã«ãããŠããã»ãŒ100%ã«è¿ã粟床ã§éãèŠã€ãåºãç¶ããŸãã ãããã¯GPT-4ã®ãããªå·šå€§ãªã¢ãã«ãšæ¯èŒããŠãåªããçµæã§ãããTitansãæ å ±ãåã«å³ããå·Šãžæµãã®ã§ã¯ãªããé·æèšæ¶ãšããŠç¢ºå®ã«è³å ã«ä¿æããŠããããšã蚌æããŠããŸãã
æç³»åäºæž¬ãšã²ãã è§£æïŒèšèªãè¶ ããå¿çš
Titansã®èœåã¯èšèªåŠçã«ãšã©ãŸããŸãããæ ªäŸ¡ã®å€åãæ°è±¡ããŒã¿ãšãã£ãæç³»åããŒã¿ã®äºæž¬ã«ãããŠããé«ãæ§èœãçºæ®ããŸãã ãæç³»åããŒã¿ã¯ãçŽè¿ã®åãïŒçæãã¬ã³ãïŒãšæ°ã¶æã»æ°å¹Žã«ãããåšææ§ïŒé·æãã¬ã³ãïŒã®äž¡æ¹ãæããå¿ èŠããããŸããTitansã®ãã¥ãŒã©ã«ã¡ã¢ãªã¯ãéå»ã®é·æçãªãã¿ãŒã³ãåŠç¿ãã€ã€ãçŽè¿ã®æ¥æ¿ãªå€åã«ã¯ãé©ãããšããŠå³åº§ã«é©å¿ããããšã§ãåŸæ¥ã®ã¢ãã«ããã粟床ã®é«ãäºæž¬ãå®çŸããŸããã
ãŸããDNAé åã®è§£æïŒã²ãã ã¢ããªã³ã°ïŒã«ãããŠããTitansã¯åšåãçºæ®ããŸãããDNAã¯æ°åæåã«ãåã¶é·ãé åã®äžã«ãçåœæŽ»åã«é¢ããéèŠãªã·ã°ãã«ãç¹åšããŠããŸããTitansã¯ãã®é·ãé åå šäœãã³ã³ããã¹ããšããŠæããéºäŒåçºçŸã®äºæž¬ã¿ã¹ã¯ã«ãããŠãåŸæ¥ã®ç¹ååã¢ãã«ãäžåã粟床ïŒSOTAïŒãéæããŸãã ã
å¹çæ§ã®é説ïŒè³¢ãã®ã«éã
äžè¬çã«ãAIã¢ãã«ã¯è³¢ããªãã°ãªãã»ã©ïŒãã©ã¡ãŒã¿ãå¢ããã°å¢ããã»ã©ïŒãèšç®ãéããªãé ããªããã®ã§ããããããTitansã¯ãã®åžžèã«ãææŠããŸããã
Titansã®åŠç¿ãšæšè«ã®éåºŠãæ¯èŒããå®éšã§ã¯ãã³ã³ããã¹ãé·ãé·ããªã£ãŠããTitansã®æšè«é床ã¯ã»ãšãã©äœäžããªãããšã確èªãããŸãããããã¯ãåè¿°ã®éããTitansãéå»ã®æ å ±ãåºå®ãµã€ãºã®ãã©ã¡ãŒã¿ã«å§çž®ããŠãããããåç §ãã¹ãããŒã¿éãå¢ããªãããã§ããTransformerãã³ã³ããã¹ãé·ã®äºä¹ã«æ¯äŸããŠé ããªãã®ã«å¯ŸããTitansã¯ç·åœ¢ïŒLinearïŒãªæéã§åŠçãå®äºããŸã ã
ããã«ãåŠç¿æã«ãããŠããTitansã¯çŸä»£ã®GPU/TPUã®ããŒããŠã§ã¢ç¹æ§ãæå€§éã«æŽ»ãããããèšèšãããŠããŸãããã¥ãŒã©ã«ã¡ã¢ãªã®èšç®ã¯ãå°ããªãã£ã³ã¯ïŒå¡ïŒããšã«åå²ããŠäžŠååŠçããããšãå¯èœã§ãããããã«ãããFlash Attentionããªã©ã®é«éåæè¡ãçšããTransformerãšåçãããã以äžã®ãã¬ãŒãã³ã°å¹çãå®çŸããŠããŸã ã
第4ç« ïŒãå®å šå®è£ ã¬ã€ããPythonã§Titansã®è³ãäœã
ããããã¯ãTitansã®æ žå¿ã§ããããã¥ãŒã©ã«ã¡ã¢ãªãã®åäœåçããPythonã³ãŒãã䜿ã£ãŠãŒãããå®è£ ããã·ãã¥ã¬ãŒã·ã§ã³ããŠã¿ãŸããè€éãªæ·±å±€åŠç¿ãã¬ãŒã ã¯ãŒã¯ïŒPyTorchãTensorFlowïŒã®è£åŽã§äœãèµ·ããŠããã®ããçè§£ããããã«ããããŠåºæ¬çãªNumPyã©ã€ãã©ãªã®ã¿ã䜿ã£ãŠããã®ããžãã¯ã裞ã«ããŸãã
ãã®ã»ã¯ã·ã§ã³ã¯ãåãªãã³ãŒãã®çŸ åã§ã¯ãªããã³ãŒãã®äžè¡äžè¡ãã©ã®ãããªãæèããã»ã¹ãã衚ããŠããã®ãã解説ãããã¥ãŒããªã¢ã«ãšããŠæ§æããŸãã
æºåïŒå¿ èŠãªéå ·ãæãã
ãŸãã¯ãæ°å€èšç®ã®åºæ¬ã©ã€ãã©ãªã§ããNumPyãã€ã³ããŒãããŸãããããç§ãã¡ã®ãæ°åŠçãªéå ·ç®±ãã§ãã
Python
import numpy as np
# åçŸæ§ã®ãããä¹±æ°ã®ã·ãŒãïŒçš®ïŒãåºå®ããŸãã
# ããã«ãããäœåºŠå®è¡ããŠãåãçµæãåŸãããããã«ãªããŸãã
np.random.seed(42)ã¹ããã1ïŒãã¥ãŒã©ã«ã¡ã¢ãªã®ã¯ã©ã¹å®çŸ©
Titansã®è³ãšãªãã¯ã©ã¹ SimpleTitansMemory ãå®çŸ©ããŸãããã®ã¯ã©ã¹ã¯ãèªåèªèº«ã®ç¶æ ãšããŠãéã¿ïŒWeightsïŒããæã¡ãå€éšããã®å ¥åã«å¯ŸããŠåŠç¿ãšæšè«ãè¡ããŸãã
ã¹ããã1ïŒãã¥ãŒã©ã«ã¡ã¢ãªã®ã¯ã©ã¹å®çŸ©
Titansã®è³ãšãªãã¯ã©ã¹ SimpleTitansMemory ãå®çŸ©ããŸãããã®ã¯ã©ã¹ã¯ãèªåèªèº«ã®ç¶æ ãšããŠãéã¿ïŒWeightsïŒããæã¡ãå€éšããã®å ¥åã«å¯ŸããŠåŠç¿ãšæšè«ãè¡ããŸãã
Python
class SimpleTitansMemory:
def __init__(self, input_dim, memory_dim, learning_rate=0.01, decay_rate=0.001, momentum_beta=0.9):
"""
Titansã®ãã¥ãŒã©ã«ã¡ã¢ãªïŒLMMïŒã®ç°¡æã·ãã¥ã¬ãŒã¿
ãã©ã¡ãŒã¿:
- input_dim: å
¥åããŒã¿ã®æ¬¡å
æ°ïŒæ
å ±ã®è€éãïŒ
- memory_dim: èšæ¶ã®å®¹éïŒè³ã®å€§ããïŒ
- learning_rate (eta): åŠç¿çãæ°ããæ
å ±ãžã®é£ã³ã€ããããã
- decay_rate (alpha): å¿åŽçãéå»ãå¿ããéãã
- momentum_beta: ã¢ãŒã¡ã³ã¿ã ä¿æ°ãéå»ã®é©ããåŒããã床åãã
"""
# èšæ¶ã®æ¬äœïŒéã¿è¡åïŒãWãšããŸãã
# æåã¯äœãç¥ããªãã®ã§ãéåžžã«å°ããªã©ã³ãã ãªå€ã§åæåããŸãã
self.W = np.random.randn(memory_dim, input_dim) * 0.01
# éå»ã®åŸé
ïŒé©ãïŒãèç©ããããã®å€æ°ãæåã¯ãŒãã§ãã
self.momentum = np.zeros_like(self.W)
# ãã€ããŒãã©ã¡ãŒã¿ã®èšå®
self.eta = learning_rate
self.alpha = decay_rate
self.beta = momentum_beta
def forward(self, x):
"""
æšè«ãã§ãŒãºïŒçŸåšã®èšæ¶ã䜿ã£ãŠãå
¥åxã«å¯Ÿããäœããã®åºåãçæããŸãã
ããã§ã¯åçŽåã®ãããç·åœ¢å€æïŒè¡åãšãã¯ãã«ã®æãç®ïŒãè¡ããŸãã
y = Wx
"""
return np.dot(self.W, x)
def update(self, x, target):
"""
åŠç¿ãã§ãŒãºïŒãã¹ãæåŠç¿ïŒïŒ
å
¥åxãšãæåŸ
ãããæ£è§£targetãšã®èª€å·®ïŒé©ãïŒã«åºã¥ããŠèšæ¶ãæŽæ°ããŸãã
"""
# 1. çŸåšã®èšæ¶ã§äºæž¬ããŠã¿ã
prediction = self.forward(x)
# 2. é©ãïŒèª€å·®ïŒãèšç®ãã
# ããã§ã¯åçŽãªå·®åã誀差ãšããŸãã
error = prediction - target
# 3. åŸé
ïŒGradientïŒãèšç®ãã
# ãéã¿ãã©ãå€ããã°ããã®èª€å·®ãæžããããïŒããèšç®ããŸãã
# ç·åœ¢ã¢ãã«ã®å ŽåãåŸé
㯠誀差 à å
¥å ãšãªããŸãã
gradient = np.outer(error, x)
# 4. ã¢ãŒã¡ã³ã¿ã ã®æŽæ°
# ä»åã®é©ãïŒgradientïŒããéå»ã®æµãïŒmomentumïŒã«æ··ããŸãã
# æ°ããã¢ãŒã¡ã³ã¿ã = β * å€ãã¢ãŒã¡ã³ã¿ã + (1 - β) * ä»åã®åŸé
# â»è«æã®å®è£
ã«ããè¿ã¥ãããããåçŽãªå ç®ã§ã¯ãªãç§»åå¹³åçãªèšç®ãããŸãã
self.momentum = self.beta * self.momentum + gradient
# 5. èšæ¶ïŒéã¿ïŒã®æŽæ°
# ãããTitansã®æ žå¿ã§ãã
# éã¿ = (1 - å¿åŽç) * éã¿ - åŠç¿ç * ã¢ãŒã¡ã³ã¿ã
# ãå°ãå¿ããŠãé©ãã®æ¹åã«ä¿®æ£ããããšããæäœã§ãã
self.W = (1 - self.alpha) * self.W - self.eta * self.momentum
# é©ãã®å€§ããïŒæå€±ïŒãè¿ããŸãïŒãã°èšé²çšïŒ
loss = np.sum(error ** 2)
return lossãã®ã³ãŒãã®äžã§ç¹ã«éèŠãªã®ã¯ update ã¡ãœããã®ã¹ããã5ã§ããããã§ (1 - self.alpha) ãæããããšã§éå»ã®èšæ¶ãæžè¡°ããïŒå¿åŽïŒã- self.eta * self.momentum ã§æ°ããæ å ±ãæžã蟌ãã§ããŸãããããæ¯åã®å ¥åããšã«è¡ãããã®ãTitansã®ç¹åŸŽã§ãã
ã¹ããã2ïŒå¹²ãèã®äžã®éïŒNeedle in a HaystackïŒã·ãã¥ã¬ãŒã·ã§ã³
ã§ã¯ããã®ã¡ã¢ãªãå®éã«æ©èœãããã©ãããç°¡ç¥åãããNeedle in a Haystackãã¿ã¹ã¯ã§ãã¹ãããŠã¿ãŸãããã
èšå®ã¯ä»¥äžã®éãã§ãã
æ¥åžž: ã©ã³ãã ãªãã€ãºã®ãããªããŒã¿ãå»¶ã ãšç¶ãïŒå¹²ãèïŒã
éïŒã€ãã³ãïŒ: ããç¹å®ã®ãã¿ãŒã³ãæã€éèŠãªããŒã¿ãäžç¬ã ãçŸããã
æ¥åžžã®ç¶ç¶: åã³ãã€ãºãç¶ãã
æ³èµ·ãã¹ã: ãã£ãšåŸã«ãªã£ãŠãããåã³ãéããšåããã¿ãŒã³ã®ããŒã¿ãçŸãããšããã¡ã¢ãªã¯ãé©ããªãïŒæ£ããäºæž¬ã§ããïŒããïŒ
ãããã¡ã¢ãªãæ£ããæ©èœããŠããã°ãæåã®éã®åºçŸæã«ã¯å€§ããé©ãïŒæå€±ãé«ãïŒã¯ãã§ããã2åç®ã®åºçŸæã«ã¯èšæ¶ã«æ®ã£ãŠãããããé©ãã¯å°ããïŒæå€±ãäœãïŒã¯ãã§ãã
Python
# ããŒã¿ã®æ¬¡å
DIM = 10
# ã·ãŒã±ã³ã¹ã®é·ã
LENGTH = 200
# ã¢ãã«ã®äœæ
# åŠç¿çãå°ãé«ãã«èšå®ããŠãå€åãèŠãããããŸãã
titans = SimpleTitansMemory(input_dim=DIM, memory_dim=DIM, learning_rate=0.1, decay_rate=0.01)
# 1. ãéããšãªãç¹å®ã®ãã¿ãŒã³ãäœæ
needle_pattern = np.ones(DIM) # å
šãŠã1ã®ãã¯ãã«ïŒç¹åŸŽçãªãã¿ãŒã³ïŒ
# 2. ããŒã¿ã¹ããªãŒã ã®çæ
data_stream =
targets =
for i in range(LENGTH):
if i == 20: # 20çªç®ã®ã¿ã€ãã³ã°ã§ãéããåã蟌ã
data_stream.append(needle_pattern)
targets.append(needle_pattern) # èªå·±ç¬Šå·åã¿ã¹ã¯ïŒå
¥åããã®ãŸãŸåºåããïŒ
elif i == 180: # 180çªç®ã®ã¿ã€ãã³ã°ã§ãèšæ¶ããŠããããã¹ãããããã«åã³ãéããåºã
data_stream.append(needle_pattern)
targets.append(needle_pattern)
else:
# ãã以å€ã¯ã©ã³ãã ãªãã€ãºïŒå¹²ãèïŒ
noise = np.random.randn(DIM) * 0.1 # ãã€ãºã¯å°ããã«ãã
data_stream.append(noise)
targets.append(noise)
print("--- ã·ãã¥ã¬ãŒã·ã§ã³éå§ ---")
losses =
for t in range(LENGTH):
x = data_stream[t]
y = targets[t]
# ã¡ã¢ãªã®æŽæ°ãšæå€±ã®èšç®
loss = titans.update(x, y)
losses.append(loss)
# éèŠãªãã€ã³ãã§ã®ãã°åºå
if t == 20:
print(f"æé {t}: ãéããåºçŸïŒ é©ãã¬ãã«ïŒæå€±ïŒ: {loss:.4f} -> èšæ¶éå§")
elif t == 180:
print(f"æé {t}: ãéããåæ¥ïŒ é©ãã¬ãã«ïŒæå€±ïŒ: {loss:.4f} -> èšæ¶ãããŠãããïŒ")
elif t % 50 == 0:
print(f"æé {t}: å¹²ãèåŠçäž... æå€±: {loss:.4f}")
# çµæã®åæ
initial_surprise = losses
recall_surprise = losses
print("\n--- çµæåæ ---")
print(f"æåã®ééæã®é©ã: {initial_surprise:.4f}")
print(f"2åç®ã®ééæã®é©ã: {recall_surprise:.4f}")
if recall_surprise < initial_surprise * 0.5:
print("å€å®: æåïŒ ã¢ãã«ã¯éã®ããšãèŠããŠããŸãããïŒé©ãã倧å¹
ã«æžã£ãŠããŸãïŒ")
else:
print("å€å®: 倱æãã¢ãã«ã¯å¿ããŠããŸããŸããã")
çµæã®è§£é
ãã®ã³ãŒããå®è¡ãããšãå žåçã«ã¯ä»¥äžã®ãããªçµæãåŸãããŸãã
æé20ïŒæåã®éïŒ: æå€±ã¯éåžžã«å€§ãããªããŸãïŒäŸïŒ10.0ïŒãã¢ãã«ã«ãšã£ãŠæªç¥ã®ãã¿ãŒã³ã ããã§ãã
æé21ã179ïŒå¹²ãèïŒ: ã¢ãã«ã¯ãã€ãºãåŠç¿ããªããé²ã¿ãŸãããå¿åŽä¿æ°ïŒdecay_rateïŒã®èšå®ã«ãããéå»ã®éèŠãªèšæ¶ïŒéïŒã¯å®å šã«ã¯æ¶ããã«ä¿æããç¶ããŸãããŸãããã€ãºèªäœã¯ã©ã³ãã ãªã®ã§äžè²«ããŠåŠç¿ãããããšã¯ãããŸããã
æé180ïŒ2åç®ã®éïŒ: æå€±ã¯æåãããå€§å¹ ã«å°ãããªããŸãïŒäŸïŒ0.5ïŒãããã¯ãéã¿è¡å self.W ã®äžã«ãæé20ã§æžã蟌ãŸãããéã®ãã¿ãŒã³ãã«å¯Ÿå¿ããçè·¡ãæ®ã£ãŠãããããäºæž¬ãåœããããããªã£ãããšãæå³ããŸãã
ããããããTitansãããã¹ãæã«åŠç¿ããèšæ¶ãããããã»ã¹ã®æå°åäœã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã§ããå®éã®Titansã§ã¯ããããè¡åæŒç®ã§ã¯ãªãé«åºŠãªå€å±€ããŒã»ãããã³ãéç·åœ¢å€æã§è¡ãããããã«æ³šææ©æ§ãšçµã¿åããããããšã§ãè€éãªèšèªçè§£ãå®çŸããŠããŸãã
第5ç« ïŒããžãã¹ãšç€ŸäŒãžã®ã€ã³ãã¯ã â èšæ¶ããAIãåµãæªæ¥
Titansã®æè¡çãªãã¬ã€ã¯ã¹ã«ãŒã¯ãç§ãã¡ã®ç€ŸäŒãããžãã¹ã«ã©ã®ãããªå ·äœçå€åãããããã®ã§ãããããåã«ãAIãè³¢ããªãã以äžã®ã質çãªå€åãäºæž¬ãããŸãã
1. ãããªãããç¥ãç¶ããããŒãœãã«AI
çŸåšã®AIã¢ã·ã¹ã¿ã³ãïŒSiriãAlexaãChatGPTãªã©ïŒãšã®é¢ä¿ã¯ãæ¯åãã¯ãããŸããŠãããå§ãŸããããªãã®ã§ããã»ãã·ã§ã³ãåããã°èšæ¶ã¯ãªã»ãããããŸããããããTitansãæèŒããAIã¯ãããªããšã®å¯Ÿè©±ãéããŠãããªãã®å¥œã¿ãå£çãå®¶ææ§æãæ±ããŠãã課é¡ãªã©ããé·æèšæ¶ããšããŠèç©ãç¶ããŸãã äžå¹Žåã«è©±ãããæ¥å¹Žã®å€ã¯åæµ·éã«è¡ãããããšããäºçްãªçºèšãèŠããŠããŠãå€ãè¿ã¥ããšãåæµ·éæ è¡ã®èšç»ãããããç«ãŠãŸããïŒããšææ¡ããŠãããããããªãçã®æå³ã§ã®ãããŒãããŒããšããŠã®AIãå®çŸããŸããããã¯ãã©ã€ãã·ãŒã®èгç¹ãããéèŠã§ãããªããªãããã®èšæ¶ã¯ã¯ã©ãŠãäžã®å·šå€§ãµãŒããŒã§ã¯ãªããããªãã®ããã€ã¹å ã®AIã¢ãã«ïŒããŒã«ã«LLMïŒã®äžã«ãéã¿ãã©ã¡ãŒã¿ãšããŠå®å šã«ä¿åããããšãæè¡çã«å¯èœã«ãªãããã§ãã
2. ãªã¢ã«ã¿ã€ã ã»ããžãã¹ã€ã³ããªãžã§ã³ã¹
éèåžå Žãç©æµã補é ã©ã€ã³ãªã©ãå»äžå»ãšç¶æ³ãå€åããããžãã¹çŸå Žã«ãããŠãTitansã¯åŒ·åãªæŠåšã«ãªããŸãã åŸæ¥ã®AIã¯ãæšæ¥ã®ããŒã¿ã§åŠç¿ããã¢ãã«ã䜿ã£ãŠä»æ¥ã®äºæž¬ãè¡ã£ãŠããŸãããããããåžå ŽãæŽèœããããçœå®³ã§ç©æµãæ¢ãŸã£ãããšãã£ããæ³å®å€ã®äºæ ïŒãµãã©ã€ãºïŒããèµ·ããç¬éãåŸæ¥ã®AIã¯åœ¹ã«ç«ããªããªããŸãã Titansã¯ããã®ãæ³å®å€ããå³åº§ã«åŠç¿ããŸãããä»ã®ãã®ç¬éãåžå Žã®ã«ãŒã«ãå€ãã£ãããšããããšãæ°ç§ã§çè§£ããã¢ãã«ãã¢ããããŒãããŠãæ°ããã«ãŒã«ã«åºã¥ããäºæž¬ãéå§ããŸãããã®å³å¿æ§ã¯ãäŒæ¥ã®æææ±ºå®ã¹ããŒããåçã«åäžãããã§ãããã
3. ããŒããŠã§ã¢ã³ã¹ãã®åæžãšAIã®æ°äž»å
ãã³ã³ããã¹ãé·ã2åã«ãããšèšç®ã³ã¹ãã4åã«ãªãããšããTransformerã®åªçžããè§£æŸãããããšã¯ãçµæžçã«ã倧ããªæå³ãæã¡ãŸããTitansã®ç·åœ¢èšç®éã¯ããããŸã§GoogleãOpenAIã®ãããªå·šå€§äŒæ¥ããæãŠãªãã£ããè¶ é·æèAIãããäžå°äŒæ¥ã倧åŠã®ç 究宀ããããã¯å人ã®PCã¬ãã«ã§ãæ±ããããã«ããå¯èœæ§ãç§ããŠããŸãã å°ãªãGPUãªãœãŒã¹ã§ãé»è©±åž³æ°ååã®ããŒã¿ãèªã¿èŸŒãŸããŠåæãããããšãã§ããããã«ãªãã°ãæ³åŸäºåæã§ã®å€äŸèª¿æ»ããå»çæ©é¢ã§ã®ã«ã«ãåæãªã©ãå°éåéã§ã®AI掻çšãäžæ°ã«å éããã§ãããã
çµè«ïŒåçãªç¥æ§ãžã®é²å
æ¬ã¬ããŒãã§ã¯ãGoogle Researchã®ææ°è«æãTitans: Learning to Memorize at Test Timeãã«ã€ããŠããã®é©æ°çãªã¢ãŒããã¯ãã£ãšå®è£ ã®è©³çްã解説ããŸããã
Titansãæãéããããšã¯ãåãªãæ§èœåäžã§ã¯ãããŸããããåŠç¿ããšãèšæ¶ããšããããããŸã§éçã§ãã£ãAIã®ããã»ã¹ããåçã§çç©çãªãã®ãžãšé²åãããç¹ã«æ¬è³ªçãªäŸ¡å€ããããŸããé©ããæããçµéšããå³åº§ã«åŠã³ãå¿ èŠã«å¿ããŠå¿ããéèŠãªããšã ããé·ãèšæ¶ã«çããããã®æ¯ãèãã¯ãç§ãã¡äººéã®è³ã®åããã®ãã®ã§ãã
ITåå¿è ã®æ¹ã ã«ãšã£ãŠãæ°åŒãã³ãŒãã®çްéšã¯é£ããæãããããããŸããããTitansã®ã¡ãã»ãŒãžã¯ã·ã³ãã«ã§ãããAIã¯ããã ã®ããŒã¿ããŒã¹ã§ã¯ãªããçµéšãéããŠæé·ããããŒãããŒã«ãªããããšããããšã§ãããã®æè¡ãæ®åããæªæ¥ã§ã¯ãç§ãã¡ã¯AIã«å¯ŸããŠãã³ãã³ããå ¥åãããã®ã§ã¯ãªãããå ±ã«çµéšãå ±æãããããã«ãªãã§ãããã
Titansã¯ãéçãªç¥èã®å¡ã ã£ãAIã«ãæéããšãç©èªããäžããŸããããã®æè¡ãæãæªæ¥ã¯ãç§ãã¡ãæ³åãã以äžã«ã人éå³ããµããè±ããªãã®ã«ãªãã¯ãã§ãã
- #AI
- #ChatGPT
- #æªæ¥
- #Gemini
- #èšæ¶
- #ãšã³ãžãã¢
- #ããã°ã©ãã³ã°
- #è³ç§åŠ
- #åŠç¿
- #OpenAI
- #python
- #人工ç¥èœ
- #æè¡
- #éçº
- #峿žé€š
- #解説
- #LLM
- #æææ±ºå®
- #æ©æ¢°åŠç¿
- #è«æ
- #ãã¬ã³ã
- #é²å
- #ã¢ã«ãŽãªãºã
- #Mac
- #ããŒã¿ãµã€ãšã³ã¹
- #ããŒã«ã«LLM
- #ã·ãã¥ã¬ãŒã·ã§ã³
- #ãã©ã€ãã·ãŒ
- #å€§èŠæš¡èšèªã¢ãã«
- #æé©å
- #ãã©ãã€ã ã·ãã
- #gpu
- #深局åŠç¿
- #é©ã
- #å®è£
- #ã¡ã¿ãã¡ãŒ
- #æšè«
- #ãã³ãããŒã¯
- #粟床
- #ã¢ãŒããã¯ãã£
- #å¿åŽ
- #ã·ããã¹
- #æ å ±åŠç
- #deeplearning
- #transformer
- #ãœãŒã¹ã³ãŒã
- #æ°äž»å
- #é·æèšæ¶
- #çæèšæ¶
- #TPU
- #å¹çæ§
- #䞊ååŠç
- #attention
- #ããŒãœãã«AI
- #å¯å¡æ§
- #numpy
- #ã³ã³ããã¹ããŠã£ã³ããŠ
- #æ £æ§
- #ã²ãã è§£æ
- #LSTM
- #ããžãã¹ã€ã³ããªãžã§ã³ã¹
- #RNN
- #Sota
- #æ¡åŒµæ§
- #momentum
- #æç³»åäºæž¬
- #TTT
- #æå€±é¢æ°
- #åŸé éäžæ³
- #mamba
- #surprise
- #GoogleResearch
- #FlashAttention
- #MAG
- #TITANS
- #gradient
- #æ³šææ©æ§
- #æšè«é床
- #èšç®ã³ã¹ã
- #ãã¹ãæåŠç¿
- #mal
- #ã¢ãŒã¡ã³ã¿ã
- #TestTimeTraining
- #ã²ãŒãæ©æ§
- #200äžããŒã¯ã³
- #åçç¥æ§
- #å¹²ãèã®äžã®é
- #WeightDecay
- #é©å¿çå¿åŽ
- #éã¿ãã©ã¡ãŒã¿
- #ãã¥ãŒã©ã«ã¡ã¢ãª
- #NeuralLongTermMemory
- #ç·åœ¢èšç®é
- #ã¡ã¢ãªããŒã¯ã³
- #MemoryAsContext
- #MemoryAsGate
- #MemoryAsLayer
- #BABILong
- #NeedleInAHaystack