æ¬èšäºã¯æ¥æ¬ãªã©ã¯ã«ãéå¶ããäžèšMeetupã§çºè¡šäºå®ã®å 容ã«ãªããŸããçºè¡šãŸã§ã«ä»åŸãå 容ã¯äºåãªã倿Žãããå¯èœæ§ãããããšãããããããäºæ¿ãã ããã
â»ããŒãã¢ãã宿œæã®åç»ã¯âãã¡ãã
æ¬èšäºã§ç޹ä»ãããŠãŒã¹ã±ãŒã¹
æ¬èšäºã§ã¯ãç¥ã£ãŠãããšäŸ¿å©ãªLLMé¢é£ã®å®è£ ãµã³ãã«ãtipsããŸãšããŠã玹ä»ããŠãããŸããåæè¡ã®æŠèŠãä»çµã¿ãå®è£ ã³ãŒãã®æŠèª¬ãªã©ã§ããå®è£ ã³ãŒãã®èª¬æã¯é·ããªããŸãã®ã§å¥èšäºãžã®ãªã³ã¯ãã¯ã£ãŠããŸãã詳现ãç¥ãããæ¹ã¯æ¯éãã¡ãã®èšäºããåç §ãã ãããæ¢ã«æåãªãã®ããæ¯èŒçæ°ããæè¡ãŸã§ä»åŸãæŽæ°ããŠãããŸãã®ã§ãããããé¡ãããããŸãã
| ãŠãŒã¹ã±ãŒã¹ | 説æ |
|---|---|
| Function Calling (Tool Calling) | LLMãããŠãŒã¶ãŒå®çŸ©é¢æ°ãCallããOpenAIç€Ÿã®æ©èœãã¢ããªã±ãŒã·ã§ã³ã®åŠçãå€§å¹ ã«æ¡åŒµããä»çµã¿ã§ãã |
| MCP (Model Context Protocol) | Function Callingåæ§ãLLMã¢ããªã±ãŒã·ã§ã³ã®åŠçãå€§å¹ ã«æ¡åŒµããä»çµã¿ã§ããããã¡ãã¯æ¥çæšæºã®ãããã³ã«ãšããŠçå®ãããŠããŸãã |
| SQLããŒã¿ããŒã¹ã®åæ | SQLã§ã¯ãªããèªç¶èšèªã«ããSQLããŒã¿ããŒã¹ãåæããææ³ã§ãã |
| 瀟å ããŒã¿æŽ»çšã®ããã®RAG | ãã¯ãã«ããŒã¿ããŒã¹ãšã®çµã¿åããã«ããLLMã®ç¥èãå€§å¹ ã«æ¡åŒµããææ³ã§ãã |
| ãã«ãã¢ãŒãã«RAG | ããã¹ãããŒã¿ã ãã§ãªãç»åããŒã¿ãæ±ããRAGãæ§ç¯ããææ³ã§ãã |
| GraphRAG | RAGã®ç²ŸåºŠãã°ã©ãããŒã¿ããŒã¹ã®ã°ã©ãæ€çŽ¢ã«ããåäžãããææ³ã§ãã |
| ãã«ããšãŒãžã§ã³ãRAG | è€æ°ã®ãšãŒãžã§ã³ãã«åå¥ã®åœ¹å²ãå²ãåœãŠã忥ãããªããå¿çãçæããææ³ã§ãããã粟床ãé«ããè€éãªRAGãæ§æã§ããŸãã |
| AIãšãŒãžã§ã³ã | è€æ°ã®ãšãŒãžã§ã³ãã«åå¥ã®åœ¹å²ãå²ãåœãŠã忥ãããªããè€éãªã¿ã¹ã¯ãé«ç²ŸåºŠã§å®è¡ã§ããããã«ããŸãã |
| AIãšãŒãžã§ã³ãéçºã®æšæºå(Google Agent2Agent) | ç°ãªãã©ã€ãã©ãªã§éçºããããšãŒãžã§ã³ãå士ã®éä¿¡ãæšæºåãããæ¹æ³ã§å®è£ ããææ³ã§ããããã«ããäžçäžã§ãªãªãŒã¹ããããšãŒãžã§ã³ãåå£«ãæ¥ç¶ããã«ããšãŒãžã§ã³ããæ§æããããšãã§ããããã«ãªããŸãã |
| AIãšãŒãžã§ã³ãéçºã®æšæºå(Oracle Agent Specification) | ãã¬ãŒã ã¯ãŒã¯ã«äŸåããªããšãŒãžã§ã³ãéçºãšéçšãå¯èœã«ããå®è£ ææ³ã§ããAIãšãŒãžã§ã³ãã®éçºã«ãããŠã¯çŸåšå€æ°ã®ãã¬ãŒã ã¯ãŒã¯ãä¹±ç«ããŠããŸããããã®æè¡ã«ããããã¬ãŒã ã¯ãŒã¯éã§ã®AIãšãŒãžã§ã³ãã®ç§»è¡ãç·åéçšãå¯èœãšãªããå°æ¥çã«ã¯ãã¬ãŒã ã¯ãŒã¯ãã¯ã©ãŠããµãŒãã¹ã«äŸåããªãéçšç°å¢ãç®æãããšãå¯èœã«ãªããŸãã |
| AIãšãŒãžã§ã³ãéçºãšéçš(AgentOps) | AIãšãŒãžã§ã³ããéçºåŸããã®AIãšãŒãžã§ã³ããã©ã®ãããªç°å¢ã«ãããã€ãããšæ¥œã«éçšã§ãããããããŠãã®éçšãã©ã®ããã«æšæºåããããšããéçšé¢ãèæ ®ããã¢ãŒããã¯ãã£ãå®è·µããããã®ãã©ã¯ãã£ã¹ãã玹ä»ããŸãã |
| AIã³ãŒãã£ã³ã°(VS Code + Cline) | ãŠãŒã¶ãŒã®æç€ºã«åºã¥ããã³ãŒãã®çæããå®è¡ããšã©ãŒã®ä¿®æ£ãŸã§ãèªåŸçã«è¡ãAIãšãŒãžã§ã³ãã§ããæšä»ã®AIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã¯ãã³ãŒãã£ã³ã°æ¯æŽãã«ãšã©ãŸããããããžã§ã¯ããšããŠã®ã¢ããªã±ãŒã·ã§ã³éçºå šäœãã«ããŒãããã®ããã»ã¹ãå æ¬çã«æ¯æŽããååšãžãšé²åããŠãããAIãšãŒãžã§ã³ãã®äžã§ãæãæåããæè¡åéã§ãã |
| ãã¡ã€ã³ãã¥ãŒãã³ã° | LLMãããã€ããŒãæäŸããåŠç¿æžã¢ãã«ã«å¯ŸããŠããŠãŒã¶ãŒããŒã¿ã䜿ã£ãŠè¿œå ã®åŠç¿ãè¡ãããšã«ããLLMã«æ°ããªç¥èã远å ããåŠçã§ãã |
| ãã©ã€ããŒãLLM(ããŒã«ã«LLM) | ã¯ã©ãŠããµãŒãã¹ã®LLMã§ã¯ãªããããŒã«ã«ã«ã¢ãã«ãããŠããŒãããŠå©çšããææ³ã§ãã |
| LLMã®éåå | LLMãã³ã³ãã¯ãã«å§çž®ããGPUã¡ã¢ãªãªã©ã®ãªãœãŒã¹ãç¯çŽããææ³ã§ãã |
Function Calling (Tool Calling)
質åå 容ããLLMãäºåå®çŸ©æžã¿ã®ã颿°(function(tool)ããåŒã³åºããŠãå¿ èŠãªæ å ±ãååŸãããã®çµæãå¿çããã¹ãã«çã蟌ãããšãã§ããããã«ããæ©èœã§ãã
äŸãã°ãããã³ããã®å 容ããå¿ èŠã«å¿ããŠäžèšã®ãããªåŠçãå®è¡ãããã®çµæãå¿çããã¹ãã«åæ ããããšãå¯èœã«ãªããŸãã
- googlesearchãå®è¡ãå¿çããã¹ãçæã«å¿ èŠãªæ å ±ãæ€çŽ¢
- ãã¥ãŒã¹ãµã€ããµã€ãã®ææ°æ å ±ãæ€çŽ¢
- twitterã§ä»çŸåšè©±é¡ã«ãªã£ãŠããæ å ±ãæ€çŽ¢
- ããŒã¿ããŒã¹ãCRMãªã©æ¥åã·ã¹ãã ããã®æ å ±ååŸ
LLMã䜿ã£ãã¢ããªã±ãŒã·ã§ã³ãå€§å¹ ã«æ¡åŒµã§ããéåžžã«æçšãªæ©èœãªã®ã§ã¢ããããŒããé »ç¹ã«ããçŸåšã¯Tool Calling(Function Callingã®äžäœäºæ)ãšããååã«ãªã£ãŠããŸãããçŸåšã®ãšããåºæ¬çã«ã§ããããšã¯Function Callingãšå€ãããŸããã
Function Callingã䜿ãããšã§ãå¿ èŠã«å¿ããŠäžã®äžã«ããæ§ã ãªãµãŒãã¹ã«ã¢ã¯ã»ã¹ããŠæ å ±ãååŸããããšã«ãããææ°ã§å ·äœçãã€æ£ç¢ºãªå¿çããã¹ããçæã§ããããã«ãªããŸãã
Function Callingã®ä»çµã¿
å€©æ°æ å ±ãæäŸããŠãããµã€ãOpenWeatherã«çŸåšã®å€©æ°æ å ±ã確èªããfunction(tool)ãå®çŸ©ããŠããã°ããŠãŒã¶ãŒããã仿¥ã®æ±äº¬ã¯ïŒããšããããã³ãããå ¥åãããéã«ããã®function(tool)ã§ä»çŸåšã®å€©æ°æ å ±ã確èªãããã®çµæããããã¹ãçæãè¡ãããšãã§ããããã«ãªããŸãã
ãã®éã®Function Callingã®åŠçã·ãŒã±ã³ã¹æŠèŠã¯äžå³ã®ãããªãã®ã«ãªããŸãã
ãŠãŒã¶ãŒã¢ããªåŽã«toolãå®çŸ©ããŸãããããã¯äžã€ã§ãè€æ°ã§ãæ§ããŸãããäžå³ã¯è€æ°ã®tool(get_news_infoãget_weather_infoãªã©è€æ°ã®toolãæ¢ã«å®çŸ©ãããŠããç¶æ ã§ãã(äžå³å·Šäžã®ãFunction(Tool)ã®å®çŸ©ããšãããšããã§ãããã®ç¶æ ããããã³ãããå ¥åããå Žåã®åŠçã·ãŒã±ã³ã¹ã¯äžèšã®ãããªãã®ã«ãªããŸãã
-
ããã³ãããå ¥åãããšãããã³ããã ãã§ãªãå®çŸ©ããŠããtoolã®å 容ãLLMã«æž¡ãããŸãã
-
ããã³ããã®å 容ãããtoolãå¿ èŠãªã®ããäžèŠãªã®ããå¿ èŠãªå Žåã¯ã©ã®toolã䜿ãã®ããè€æ°ã®ããŒã«ã䜿ãå Žåã¯ã©ã®é åºã§äœ¿ãã®ããªã©ã決ããããŸã(æšè«ãããŸã)ã
-
䜿ãtoolãæ±ºãŸã£ãã®ã¡ããã®toolãã€ãŸã颿°ã®åŒæ°ã®å€ã決ããå®è¡ãã颿°ã宿ãããŸãã
-
宿ãã颿°(ããã§ã¯get_weather_info(tokyo))ãå®è¡ããŸããããã¯LLMã®ä»äºã§ã¯ãªããŠãŒã¶ãŒã¢ããªåŽã§å®è¡ãããŸãã
-
ãã®äŸã®æ³å®ã§ã¯get_weather_info(tokyo)ã«ãããå€©æ°æ å ±ãæäŸãããµã€ãOpenWeather.orgãå ¬éããAPIãCallãæ±äº¬ã®å€©æ°æ å ±ãååŸããŸãã
-
ååŸããå€©æ°æ å ±ãšãå ã®ããã³ãããLLMã«å ¥åããŸãã
-
æçµçãªå¿çããã¹ããçæãããŸãã
ç¹ã«ãfunction(tool)ã®åŠçãå®è¡ããŠããã®ã¯ãããŸã§ããŠãŒã¶ãŒã¢ããªåŽã§ããããªãã§ãLLMã§åŠçããŠããã®ã§ã¯ãªããšããç¹ã«æ³šæãããã§ããã
ãããŸã§ãããŠãŒã¶ãŒã¢ããªãšLLMãšã®é£æºã§åŠçãããªããŠãããšããã€ã¡ãŒãžã§ãã
ãŠãŒã¹ã±ãŒã¹
Function Callingã¯å¿çšç¯å²ãåºããããã«ããæ§ã ãªåŠçãå ããæ¥åã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããããã«ãªããŸããäŸç€ºãçµãããšã¯ã§ããŸãããäžäŸãšããŠäžèšã®ãããªãã®ãæããããŸããç¹ã«LLMå€éšã®æ¥åã¢ããªããµãŒãã¹ãšã®é£æºãå¿ èŠã«ãªããŠãŒã¹ã±ãŒã¹ã¯å šãŠãé©çšå¯Ÿè±¡ã ãšèšã£ãŠãããšæããŸãã
| ãŠãŒã¹ã±ãŒã¹ | 説æ |
|---|---|
| ã«ã¹ã¿ããŒãµããŒãã®èªåå | ã«ã¹ã¿ããŒãµããŒããã£ããããããããŠãŒã¶ãŒã®åãåããã«å¿ããŠããŒã¿ããŒã¹ããæ å ±ãååŸã顧客æºè¶³åºŠã®åäžãšè¿ éãªå¯Ÿå¿ãå¯èœã |
| å¶æ¥æ¯æŽããŒã« | å¶æ¥æ åœè ã顧客æ å ±ãå³åº§ã«ååŸããããã«CRMã·ã¹ãã ã«é¢æ°åŒã³åºããè¡ãã广çãªé¡§å®¢å¯Ÿå¿ãšå¶æ¥ããã»ã¹ã®å¹çåãå®çŸã |
| 顧客ãã£ãŒãããã¯ã®åæ | 顧客ããã®ãã£ãŒãããã¯ãèªåçã«åŠçãããã¬ã³ããææ åæã宿œããµãŒãã¹ã補åã®æ¹åç¹ãè¿ éã«ç¹å®ã§ããã |
| åçãªã¬ããŒãçæ | 売äžããŒã¿ãããã©ãŒãã³ã¹ææšããªã¢ã«ã¿ã€ã ã§ååŸããã¬ããŒããçæã峿ã¬ããŒãçæã«ããè¿ éãªæææ±ºå®ããµããŒãã |
| åçãªåšåº«ç®¡ç | åšåº«ç¶æ³ããªã¢ã«ã¿ã€ã ã§ç£èŠããèªåçã«åçºæ³šãè¡ãã åšåº«åãã®é²æ¢ãšåšåº«ç®¡çã®å¹çåã販売æ©äŒã®æå€±ã®æå°åã«è²¢ç®ã |
ãµã³ãã«ã³ãŒãã®æŠèª¬
ãµã³ãã«ã³ãŒãã®æŠèª¬ã¯ãã¡ãã®èšäºããåç §ãã ããã
èªç¶èšèªã«ããSQLããŒã¿ããŒã¹ã®åæ
äžè¬çã«ãããŒã¿ããŒã¹ã®åæã¯SQLã§åæåŠçãå®è¡ããããBIããŒã«ã§ãã®åŠçãè¡ã£ããããŸãããããããã«é¢ããæ·±ãæè¡çç¥èããªããŠããLLMãå©çšããèªç¶èšèªã§è³ªåãå ¥åããã ãã§ããŒã¿åæãå¯èœã«ãªããŠãŒã¹ã±ãŒã¹ã§ãã
ä»çµã¿
åºæ¬çãªä»çµã¿ãšããŠã¯äžèšã®ããã«ãªãããã£ãŠã·ã³ãã«ã§ãã
â ãŠãŒã¶ãŒããã®è³ªåãLLMã«å
¥å
â¡LLMã質åãSQLã«å€æ
â¢å€æãããSQLã§ããŒã¿ããŒã¹ã«ã¯ãšãªãå®è¡
â£ã¯ãšãªçµæãšè³ªåæãLLMã«å
¥åãåçãçæ
ãšããæµãã§åŠçãé²ããããªã³ãŒããå®è£ ããŸããäºæ³éããšããæãã§ã¯ãªãã§ããããããšã¯èšããããã¹ã¯ã©ããã§å®è£ ãããšå®ã¯æå€ãšé¢åãªããšã«ãªããŸããããã§LangChain(ã®SQL Database Agent)ã®ç»å Žã§ããLangChainãããã¯ãšã³ãã§èªåçã«åŠçããŠãããå 容ãå«ããŠãµã³ãã«ã³ãŒããæŠèª¬ããŸãã
ãŠãŒã¹ã±ãŒã¹
DBã®åæã«é¢é£ããã¢ããªã±ãŒã·ã§ã³ã¯å šãŠãŠãŒã¹ã±ãŒã¹ã®å¯Ÿè±¡ãšãªããŸããäŸãã°ä»¥äžã®ãããªã¢ããªã±ãŒã·ã§ã³ã§ãã
| ãŠãŒã¹ã±ãŒã¹ | 説æ |
|---|---|
| å¶æ¥ã¬ããŒãã®èªåçæ | å¶æ¥éšéã®æ¹ã ãèªç¶èšèªã§è³ªåãããªã¢ã«ã¿ã€ã ã§å¶æ¥ã¬ããŒããçæãè¿ éãªæææ±ºå®ãå¯èœã«ã |
| ããŒã±ãã£ã³ã°ãã£ã³ããŒã³ã®å¹ææž¬å® | ãã£ã³ããŒã³ã®å¹æãèªç¶èšèªã§åæããROIè©äŸ¡ãæ¬¡ã®æŠç¥èª¿æŽã«åœ¹ç«ãŠãã |
| 人äºåæ | èªç¶èšèªã§éè·çãªã©ãåæããç€Ÿå¡æºè¶³åºŠããšã³ã²ãŒãžã¡ã³ãåäžã®ã€ã³ãµã€ããåŸãã |
| 財ååæãšäºç®ç®¡ç | èªç¶èšèªã§çµè²»ããŒã¿ãéèšããäºç®ç®¡çãæ¯åºèšç»ã®è¿ éãªææ¡ããµããŒãã |
| åšåº«ç®¡çã®æé©å | èªç¶èšèªã§åšåº«ããŒã¿ãåæãã驿ã®è£å ãåšåº«ç®¡çã®æé©åãå®çŸã |
ãµã³ãã«ã³ãŒãã®æŠèª¬
ãµã³ãã«ã³ãŒãã®æŠèª¬ã¯ãã¡ãã®èšäºããåç §ãã ããã
GraphRAG
以åã®èšäºïŒãChatGPTããšãã¯ãã«ããŒã¿ããŒã¹ã«ããäŒæ¥å ããŒã¿ã®æŽ»çš(ããããRAGæ§æ)ã§ã¯ãã¯ãã«ããŒã¿ããŒã¹ãå©çšããRAGã®å®è£ ãã玹ä»ããŸããããã ããã¯ãã«ããŒã¿ããŒã¹ã®é¡äŒŒæ€çŽ¢ã ãã§ã¯ç®çã®ãã£ã³ã¯ããã¹ããããŸãæœåºããããšãã§ãããçµæãšããŠå¹æçãªå¿çããã¹ããçæã§ããªãããšãå€ã çºçããŸãã
çŸåšãRAGãå®ããŒã¿ã§æ§ç¯ããéã«èª°ãããå¿ ãã¶ã€ãããšèšã£ãŠããã»ã©æãã¡ãžã£ãŒãªå£ã ãšèšããŸããLLMåšèŸºã§ã¯æãç ç©¶ãçããªæè¡åéã§ãããæ¯æã®ããã«æ°ããè«æãæåºãããŠããŸããããã®äžã§ãæ¯èŒçæ°ãããœãªã¥ãŒã·ã§ã³ãGraphRAGã§ãã
RAGã®ç²ŸåºŠãåäžãããã¢ãããŒããšããŠããéæ§é åããŒã¿(ããã¹ãããŒã¿)ã®é¡äŒŒæ€çŽ¢ã ãã§ãªããæ§é åããŒã¿(ããã¹ãããŒã¿å ã®ã¡ã¿ããŒã¿ããã®ä»ã®å€éšããŒã¿ãªã©ã®æ€çŽ¢)ã䜵çšããæ¹æ³ã广çãªã¯ãããšãã仮説ã¯LLMãæµè¡ãã ããåœåããäžè¬ã«èªç¥ãããŠããŸããã
ãã¯ãã«ããŒã¿ããŒã¹ã§ã¯äž»ã«ãã¯ãã«æ€çŽ¢ãšå šææ€çŽ¢ãšããäºçš®é¡ã®æ€çŽ¢ææ³ãã€ãŸãéæ§é åããŒã¿ã®ã¿ã®æ€çŽ¢ãšãªããŸããGraphRAGã§ã¯ããã«ããã«ã°ã©ãæ€çŽ¢(ãããäžè¿°ã®æ§é åããŒã¿ã®æ€çŽ¢ã«çžåœ)ã远å ããããšã«ããããã粟床ã®é«ãã³ã³ããã¹ãããLLMãããã¹ãçæãå®è¡ã§ããããã«ãªããŸãã
èŠã¯ä»çŸåšãRAGãšããã°ããã¯ãã«ããŒã¿ããŒã¹ãäœ¿ãææ³ãäžè¬çã§ããããã®ããŒã¿ããŒã¹ãã°ã©ãããŒã¿ããŒã¹ã«çœ®ãæããRAGãGraphRAGãšããããšã«ãªããŸãã
ã°ã©ããšã¯ïŒ
ã°ã©ããšã¯äž»ã«ããŒããšãšããžããæ§æãããããŒã¿ã¢ãã«ã§ããããŒãã¯å ·äœçãªãã®ïŒäŸãã°ã人ãå Žæã補åãã€ãã³ããªã©ïŒãæœè±¡çãªæŠå¿µïŒäŸãã°ãã¢ã€ãã¢ãã«ããŽãªããããã¯ãªã©ïŒãå®çŸ©ãããšããžã¯ããŒãéã®é¢ä¿æ§ã衚ããŸããäŸãã°ããŒãã«SNSã®ã¢ã«ãŠã³ããŠãŒã¶ãŒãå®çŸ©ããå Žåããšããžã¯äººãšãŠãŒã¶ãŒå士ã®é¢ä¿æ§ããšããããšã§ãã©ããŒããŠããããããŠãããšããæ å ±ãå®çŸ©ããããšã«ãªããŸãã
ãã®ã°ã©ãæè¡ã¯ãRDBã§ã¯è¡šçŸã§ããªãè€éãªããŒã¿ã®ã¹ããŒãæ§é ãå®çŸ©ããªããã°ãããªãæè¡é åã§å€ãããã°ã©ãããŒã¿ããŒã¹ãšããŠå©çšãããŠããŸãããMetaãLinkedInãªã©ã®ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã§ã¯ããŠãŒã¶ãŒéã®å人é¢ä¿ããã©ãã¯ãŒé¢ä¿ã®ã¢ãã«åã«å©çšãããŠããŸãããAmazonãNetflixã®ãããªäŒæ¥ã§ã¯ããŠãŒã¶ãŒã®è³Œå ¥å±¥æŽãèŠèŽå±¥æŽã«åºã¥ããŠãé¢é£ååãã³ã³ãã³ããæšèŠããã·ã¹ãã ã§å©çšãããŠããããã§ãã
ã°ã©ãããŒã¿ããŒã¹ã§ã®æ€çŽ¢ã®äŸãšããŠã¯äžå³ã®ãããªãã®ã§ãã
äžå³å·ŠãSNSãŠãŒã¶ãŒã®ã°ã©ãæ§æã§ããç»é²ãããŠãããŠãŒã¶ãŒãããŒãã§ããŠãŒã¶ãŒéã®é¢ä¿æ§(åéãå®¶æãååãªã©)ããšããž(relationship)ã§ãããã®ã°ã©ãããåéé¢ä¿ã®ãŠãŒã¶ãŒã®ã¿ãæ€çŽ¢ãããããªã¯ãšãªãå®è¡ããå Žåãäžå³å³ã®ããã«åéé¢ä¿ã«ãããŠãŒã¶ãŒã®é¢é£æ§ã®ã¿ãæ€çŽ¢ããããšãã§ããŸãã
GraphRAGã®ä»çµã¿
GraphRAGã¯ãã®åã瀺ãéãããã¯ãã«ããŒã¿ããŒã¹ã®ä»£ããã«ã°ã©ãããŒã¿ããŒã¹ãå©çšããŸãããã¯ãã«ããŒã¿ããŒã¹ã§ã¯ãã¯ãã«æ€çŽ¢(ãããã¯ãã¯ãã«æ€çŽ¢ãšããŒã¯ãŒãæ€çŽ¢ã䜵çšãããã€ããªããæ€çŽ¢)ãå®è¡ãåãåºããã³ã³ããã¹ãã質åæç« ã®ãã³ããšããŠLLMã«å ¥åããŸãããã°ã©ãããŒã¿ããŒã¹ã§ã¯ãããã«ãæŽã«ãã°ã©ãæ€çŽ¢ãã®çµæããã³ããšããŠLLMã«å ¥åãæçµçãªå¿çããã¹ããçæããŸããã€ãŸãããã°ã©ãæ€çŽ¢ãã远å ããããšã«ãããæŽã«ç²ŸåºŠã®é«ãã³ã³ããã¹ããæœåºããããšã§å¿çããã¹ãã®ç²ŸåºŠåäžãçã£ãå®è£ ãšãªããŸãã
ãããŸã§åæ§ãLangChainã䜿ã£ãå Žåãè€éãªåŠçã®æ®ã©ãLangChainã®æçšãªé¢æ°ã«ããããã¯ã°ã©ãŠã³ãã§å®è¡ãããããåŠçãããŒã¯äžèšã®ããã«æ¥µããŠã·ã³ãã«ã«ãªããŸãã
â å
¥åæç« ãããã€ããªããæ€çŽ¢(ãã¯ãã«æ€çŽ¢ãããŒã¯ãŒãæ€çŽ¢ãã°ã©ãæ€çŽ¢ã®3çš®é¡ã®æ€çŽ¢)ãå®è¡
â¡æ€çŽ¢çµæãšè³ªåæç« ãLLMã«å
¥å
â¢å¿çããã¹ããçæ
ãŠãŒã¹ã±ãŒã¹
GraphRAGã¯éåžžã®RAGåæ§ãé©çšç¯å²ã¯æ¥µããŠåºãã§ããã察象ã®ããã¹ãããŒã¿ã®å 容ãã°ã©ãããŒã¿ããŒã¹ãšçžæ§ãããå Žå(ããŒãããšããžãªã©ã®æ§é ã«ããããå 容ã®å Žå)ã¯å¹æãé«ããªããŸããäžèšã®ãŠãŒã¹ã±ãŒã¹ã§æ±ããããããªããŒã¿ã®å 容ã¯äžè¬çã«ã¯éåžžã«è€éã§ãéåžžã®ããŒã¿ããŒã¹ã®ã¹ããŒãã§ã¯è¡šçŸããããªãããŒã¿ã¢ãã«ã«ãªãåŸåããããŸãããã®ãããªè€éãªå 容ã®ããŒã¿ã¢ãã«ãå®çŸ©ããããã«ã°ã©ãããŒã¿ããŒã¹ãååšããŸãã®ã§ããã®ãããªããŒã¿ãæ±ãæ¥åãã¡ã€ã³ã§GraphRAGãå©çšããªãæã¯ãããŸããããŸãåçŽã«ããã¯ãã«ããŒã¿ããŒã¹ã®RAGã§ç²ŸåºŠãã§ãªãå ŽåãGraphRAGã詊ããŠã¿ã䟡å€ã¯å€§ãã«ãããšæããŸãã
| ãŠãŒã¹ã±ãŒã¹ | 説æ |
|---|---|
| ãã«ãœãããŒã¹ã®ã¬ã³ã¡ã³ããŒã·ã§ã³ | ãŠãŒã¶ãŒãããã¡ã€ã«ã詳现ã«ä¿åããç¥èã°ã©ããšçµ±åããããšã§ãGraphRAGã¯åå¥åãããã³ã³ãã³ããååããŸãã¯ãµãŒãã¹ã®æšèŠãçæããããšãã§ããŸãã |
| ãœãŒã·ã£ã«ãããã¯ãŒã¯åæ | 人ç©éã®é¢ä¿ã圱é¿åã®åæãåäººã®æšèŠãã³ãã¥ããã£ã®çºèŠãªã©ã«å©çšãããŸãã |
| å»ç蚺æãšæ²»çææ¡ | ãã«ã¹ã±ã¢åéã§ã¯ãGraphRAGã¯çç¶ãçŸç ãæ²»çæ³ã®é¢ä¿ãå«ãå»çç¥èã°ã©ããçµ±åããããšã§ã蚺æã®ãµããŒããæ²»çææ¡ãæäŸããã®ã«åœ¹ç«ã¡ãŸãã |
| æ³åŸææžã®åæ | æ³åŸå°éå®¶ã«ãšã£ãŠãGraphRAGã¯å€§éã®æ³åŸææžãåæããéã«ãé¢é£ããå€äŸãæ³ä»€ãããã³æ³çå äŸãç¥èã°ã©ããããªããªãŒãïŒæ€çŽ¢ïŒããŠæç€ºããã®ã«åœ¹ç«ã¡ãŸãã |
| ç§åŠç ç©¶åéã®ããŒã¿åæ | æ°è±¡ããŒã¿ã®è§£æãæ°åã¢ãã«ã®ã·ãã¥ã¬ãŒã·ã§ã³ãç°åžžæ°è±¡ã®ãã¿ãŒã³æ€åºãçç©å ã®ä»£è¬ãããã¯ãŒã¯ãã¿ã³ãã¯è³ªçžäºäœçšãããã¯ãŒã¯ãé£ç©é£éã®è§£æãªã©ãçåœäœå å€ã®é¢ä¿ãã¢ãã«åãªã©ãè€éãªé¢ä¿æ§ãæã€ããŒã¿æ±ãç§åŠåéã®ããŒã¿åæãªã©ã |
ãµã³ãã«ã³ãŒãã®æŠèª¬
ãµã³ãã«ã³ãŒãã®æŠèª¬ã¯ãã¡ãã®èšäºããåç §ãã ããã
ãã«ããšãŒãžã§ã³ãRAG
ä»å¹Žã«å ¥ã£ãŠããLLMãå©çšããã¢ããªã«ã°ã©ãæè¡ãå¿çšããè«æã倿°çºè¡šãããŠããŸãããããåããŠãLangChain, Inc.ãããLangGraphãšããåã®ã©ã€ãã©ãªãç»å ŽããŸããããã®ã©ã€ãã©ãªã§ã¯ãããŸã§ã®ããã«äžã€ã§ã¯ãªãè€æ°ã®ãšãŒãžã§ã³ããå®çŸ©ããåãšãŒãžã§ã³ãã«ç°ãªã圹å²ãäžãããããã忥ãããããšã«ãããããã³ããã«å¯Ÿããå¿çããã¹ããçæããŸããããã§éèŠã«ãªãã®ã¯ãè€æ°ã®ãšãŒãžã§ã³ããã©ã®ããã«åæ¥ãããããšããããžãã¯ã®å®è£ ã§ãããã®åæ¥ããžãã¯å®çŸ©ãããã°ãè€æ°ãšãŒãžã§ã³ãã®åæ¥ã¯ãŒã¯ãããŒã®å®çŸ©ã«ã°ã©ãã®æè¡ãå¿çšãããã«ããšãŒãžã§ã³ãã·ã¹ãã ãå®è£ ããããšãã詊ã¿ã§ãããããç°¡åã«å®è£ ã§ããããLangGraphããªãªãŒã¹ãããŸããã
ãã«ããšãŒãžã§ã³ããšã¯ïŒ
ã·ã³ã°ã«ãšãŒãžã§ã³ãã®ã³ãŒããæœè±¡çãªå³ã§è¡šããšäžå³ã®ããã«ãªããŸããLangChain Agentã䜿ãå Žåãããã¹ãçæã«å¿ èŠãªäž»èŠããŒã(ããã§ã¯LLMãããã³ãããTools)ããšãŒãžã§ã³ãã§çºãããã®ãšãŒãžã§ã³ããã©ã®ããŒããã©ã®é åºã§äœ¿ãããšãããã©ã³ãããŠãŠå®è¡ããŠããæ§é ã«ãªããŸãããã®éããã®ãšãŒãžã§ã³ãã«ã¯LLMã«ãã£ãŠæç¢ºãªåœ¹å²ãå²ãåœãŠãããŸããäŸãã°çŸåšã®å€©æ°æ å ±ãæ±ããããå Žåããå€©æ°æ å ±ãæ€çŽ¢ãããŠãŒã¶ãŒã®ããã³ããã«å¿çããããšãã圹å²ã§ãã
ããã«å¯ŸããŠããã«ããšãŒãžã§ã³ãã§ã¯æåéãè€æ°ã®ãšãŒãžã§ã³ããå®çŸ©ããåãšãŒãžã§ã³ãã«ããããç°ãªã圹å²ãäžãã忥ããããšã§æçµçãªå¿çãçæããŸããäŸãã°ããéå»5幎éã®æ¥æ¬ã®GDPããã£ãŒãã«ããŠãã ãããããšããããã³ããã®å ŽåããšãŒãžã§ã³ã1ã«ã¯ããŠã§ãæ€çŽ¢ãããŠéå»5幎éã®æ¥æ¬ã®GDPã®æ å ±ãåéããããšãã圹å²ãäžãããšãŒãžã§ã³ã2ã«ã¯ãåéãããæ å ±ãããã£ãŒããäœæããã³ãŒããçæããããšãã圹å²ãäžããŸãããããã忥ããããšã«ããæçµçãªå¿çãçæãããšããå®è£ ããã«ããšãŒãžã§ã³ãRAGã®å®è£ ã§ãã
ã·ã³ã°ã«ãšãŒãžã§ã³ãã«å¯Ÿãããã«ããšãŒãžã§ã³ãã®ã¡ãªããã«ã¯ä»¥äžã®ãããªãã®ãæããããŸãã
| ç¹æ§ | ã·ã³ã°ã«ãšãŒãžã§ã³ãRAG | ãã«ããšãŒãžã§ã³ãRAG |
|---|---|---|
| å°éæ§ã®åäž | å¹ åºãã¿ã¹ã¯ã«å¯Ÿå¿ãããå°éæ§ãäœãå¯èœæ§ããã | åãšãŒãžã§ã³ããç¹å®ã®ãã¡ã€ã³ã«ç¹åããé«ãå°éæ§ãçºæ® |
| ã¿ã¹ã¯ã®åå²ãšå¹çå | ãã¹ãŠã®ã¿ã¹ã¯ã1ã€ã®ãšãŒãžã§ã³ããåŠçãããããåŠçãé ããªãå¯èœæ§ããã | ã¿ã¹ã¯ãåå²ã䞊è¡åŠçããããšã§ãå šäœã®åŠçé床ãåäž |
| æè»æ§ãšã¹ã±ãŒã©ããªã㣠| 1ã€ã®ãšãŒãžã§ã³ãã«äŸåãããããã¹ã±ãŒã©ããªãã£ã«éçããã | ãšãŒãžã§ã³ãã远å ã»åé€ããããšã§ãã·ã¹ãã ãæè»ã«æ¡åŒµã§ãã |
| ãšã©ãŒèæ§ãšä¿¡é Œæ§ã®åäž | ãšãŒãžã§ã³ãã®å€±æãã·ã¹ãã å šäœã«åœ±é¿ãäžããå¯èœæ§ããã | ç°ãªããšãŒãžã§ã³ããã¿ã¹ã¯ãã«ããŒããããšã§ãä¿¡é Œæ§ãåäž |
| å¿çã®å€æ§æ§ãšå質ã®åäž | å¿çã1ã€ã®ãšãŒãžã§ã³ãã«äŸåããããã倿§æ§ãå¶éãããå¯èœæ§ããã | è€æ°ã®ãšãŒãžã§ã³ããç°ãªãèŠç¹ã§å¿çãçæãã質ãšå€æ§æ§ãåäž |
ã°ã©ããšã¯ïŒ
ã°ã©ããšã¯äž»ã«ããŒããšãšããžããæ§æãããããŒã¿ã¢ãã«ã§ããããŒãã¯å ·äœçãªãã®ïŒäŸãã°ã人ãå Žæã補åãã€ãã³ããªã©ïŒãæœè±¡çãªæŠå¿µïŒäŸãã°ãã¢ã€ãã¢ãã«ããŽãªããããã¯ãªã©ïŒãå®çŸ©ãããšããžã¯ããŒãéã®é¢ä¿æ§ã衚ããŸããäŸãã°ããŒãã«SNSã®ã¢ã«ãŠã³ããŠãŒã¶ãŒãå®çŸ©ããå Žåããšããžã¯äººãšãŠãŒã¶ãŒå士ã®é¢ä¿æ§ããšããããšã§ãã©ããŒããŠããããããŠãããšããæ å ±ãå®çŸ©ããããšã«ãªããŸãã
ãã®ã°ã©ãæè¡ã¯ãRDBã§ã¯è¡šçŸã§ããªãè€éãªããŒã¿ã®ã¹ããŒãæ§é ãå®çŸ©ããªããã°ãããªãæè¡é åã§å€ãããã°ã©ãããŒã¿ããŒã¹ãšããŠå©çšãããŠããŸãããMetaãLinkedInãªã©ã®ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã§ã¯ããŠãŒã¶ãŒéã®å人é¢ä¿ããã©ãã¯ãŒé¢ä¿ã®ã¢ãã«åã«å©çšãããŠããŸãããAmazonãNetflixã®ãããªäŒæ¥ã§ã¯ããŠãŒã¶ãŒã®è³Œå ¥å±¥æŽãèŠèŽå±¥æŽã«åºã¥ããŠãé¢é£ååãã³ã³ãã³ããæšèŠããã·ã¹ãã ã§å©çšãããŠããããã§ãã
ãããŠããã®ã°ã©ãããã«ããšãŒãžã§ã³ãã«é©çšããå Žåã¯ã¡ããã©äžå³ã®ãããªå®è£ ã«ãªããŸãã
ã°ã©ãã®ããŒãã«ã¯ããšãŒãžã§ã³ãããå®çŸ©ããããšããžã«ã¯ããšãŒãžã§ã³ãéã®å®è¡é åºãã®é¢ä¿æ§ãå®çŸ©ãããŸãããã®å®çŸ©ã«ãããè€æ°ã®ãšãŒãžã§ã³ãã®åæ¥ã¢ãã«(ã¯ãŒã¯ãããŒ)ãå®çŸ©ããŠãããšããããšã«ãªããŸããããšãã°ãAgent1ã®åŠçãå®è¡ãããããšã¯ Agent3ã®åŠçãå®è¡ããããšãããããªæãã§ãã
ãã ããLangGraphã®å Žåã¯ãåçŽãªãšããžã§ã¯ãªãããæ¡ä»¶ä»ããšããžããšåŒã°ããã¿ã€ãã«ãªããŸãããã®åã®éããæ¡ä»¶ã«ãã£ãŠãšããžã®åããã€ãŸã次ã«å®è¡ããããšãŒãžã§ã³ããåçã«å€ãããšãããã®ã§ãããã®ãæ¡ä»¶ãã¯ãšãŒãžã§ã³ãã®å®è¡çµæããåãåºããããã¹ãã€ã¿ã¹ãã«ããæ±ºãŸããŸãããã®æ¡ä»¶ä»ããšããžã«ãã£ãŠãšãŒãžã§ã³ãã®å®è¡é åºã®ããžãã¯ãæè»ã«å®çŸ©ããããšãã§ãããšããéåžžã«éèŠãã€ããã«ããšãŒãžã§ã³ãã®äžæ žãšãªãæŠå¿µã§ãã(ãµã³ãã«ã³ãŒãã®ããŒãã§è©³è§£ããŸãã)
ãŠãŒã¹ã±ãŒã¹
LLMãå©çšããå šãŠã®ã¢ããªã±ãŒã·ã§ã³ã§å©çšå¯èœã§ããç¹ã«ã·ã³ã°ã«ãšãŒãžã§ã³ãæ§æã§ã®äžèšã®ãããªãã¡ãªãããçºçããŠããŸãå Žåã«é©çšãæ€èšãããšããããšæããŸãã
- ã·ã³ã°ã«ãšãŒãžã§ã³ãæ§æã§ã¯ããã¹ãçæã®ç²ŸåºŠãäžãããªãå Žå
- ã·ã³ã°ã«ãšãŒãžã§ã³ãæ§æã§å€æ°ã®function(tool)ãå®çŸ©ããŠããããšãçç±ã§ãšãŒãžã§ã³ããçæ³çãªtoolã®äœ¿ãæ¹ããã©ã³ã§ããªãç¶æ³ã«é¥ãå Žå
- ã·ã³ã°ã«ãšãŒãžã§ã³ãæ§æã§ã¯å®è£ ããããªããããªè€éãªã¯ãŒã¯ãããŒãå¿ èŠã«ãªãRAG
ãµã³ãã«ã³ãŒãã®æŠèª¬
ãµã³ãã«ã³ãŒãã®æŠèª¬ã¯ãã¡ãã®èšäºããåç §ãã ããã
ãã©ã€ããŒãLLM(ããŒã«ã«LLM)
ChatGPTã®ãªãªãŒã¹ä»¥éãå€§èŠæš¡èšèªã¢ãã«ã®æçšæ§ã«æ³šç®ããã€ãŸããLLMã®ã¯ã©ãŠããµãŒãã¹ãå©çšããããšãåœããåã«ãªã£ãŠããçŸåšã§ããããããšåæã«ãã¯ã©ãŠããµãŒãã¹ã§ã¯ãªãããŒã«ã«ã§LLMãéçšããã¢ãŒããã¯ãã£ãçŸå®çã«ãªã£ãŠããŠããŸãã(â»åŒç§°ãšããŠã¯ããŒã«ã«LLMããã©ã€ããŒãLLMãšèšã£ããããŸãã)
ãã®èæ¯ã«ã¯ä»¥äžã®ãããªçç±ãæãããããšæããŸãã
- æ§ã ãªå£äœããå®çšã«èãã髿§èœãªOSSã®LLMã倿°ãªãªãŒã¹ãããŠãã
- ãããåäœãããããŒããŠã§ã¢(ç¹ã«GPU)æ§èœã®èããæè¡çºå±
- ã»ãã¥ãªãã£ããã©ã€ãã·ãŒã«é¢ããã·ã¹ãã èŠä»¶ã®ãã©ã€ãªãªãã£ããŸããŸãé«ããªã£ãŠãã
èšèªã¢ãã«ã®ã¯ã©ãŠããµãŒãã¹ãååšããªãã£ãæä»£ã¯ã¿ããªèŠåŽããªããããŒã«ã«ã§ã¢ãã«ãåäœãããŠããŸããã®ã§ç¹æ®µæ°ããèãæ¹ã§ã¯ãããŸããããæšä»ã§ã¯æ§ã ãªããŒã«ããªãªãŒã¹ãããŠãããåäœãããã ãã§ããã°ä»¥åã®ãããªé«åºŠãªç¥èã¯å šãäžèŠã«ãªã£ãŠãããšããã®ã宿 ã§ãã
ããŒã«ã«LLMã®ä»çµã¿ãšPros/Cons
LLMãããŒã«ã«ã§åäœãããã¢ãŒããã¯ãã£ã§ã¯ã»ãšãã©ã®åŠçãOSSã®ããŒã«ã«é Œãããšã«ãªããŸããããã«ã¯æ§ã ãªææ³ããããŸããæ¬èšäºã§ã¯ãã®äžã®ä»£è¡šçãªæ¹æ³ãšããŠOllamaãšåŒãã§ããOSSã䜿ããã¿ãŒã³ãšHugging Faceãå©çšãã2ãã¿ãŒã³ãã玹ä»ããŸãã
äžå³ãOllamaã䜿ã£ãããŒã«ã«LLMã®å®è£ ã§ãã
-
äžè¬çãªLLMã®ã¯ã©ãŠããµãŒãã¹ã®å Žå(äžå³å·Š)
äŸãã°OpenAIã䜿ãå Žåã¯ãã¯ã©ãŠãããããã¯ãªã³ãã¬ãã¹ã«LLMãå©çšããã¢ããªã±ãŒã·ã§ã³ãå®è£ ãããã®ã¢ããªããã€ã³ã¿ãŒããã(ãããã¯å°çšç·ãVPN)çµç±ã§OpenAI瀟ã®ããŒã¿ã»ã³ã¿ãŒã«å®è£ ãããŠããã¢ãã«ãå©çš(APIã§Call)ããŸããOpenAIã®ã¢ãã«ãããŠã³ããŒãããŠããŒã«ã«ã§åäœãããããšã¯åœç¶ã§ããŸããã -
ããŒã«ã«LLMã®å®è£ (äžå³å³ Ollamaã䜿ã£ãå Žå)
ã¢ãã«ãã®ãã®ãããŒã«ã«ç°å¢ã«ããŠã³ããŒãããããŒã«ã«ç°å¢ã«ãããã€ããŸããã¢ããªã±ãŒã·ã§ã³ããã®API CallãããŒã«ã«ç°å¢å ã§å šãŠå®çµãããšããããšã«ãªããŸãã(OllamaããµããŒãããŠããã¢ãã«ã®äžèЧã¯ãã¡ã)
ãããŠäžå³ãHugging Faceãå©çšããããŒã«ã«LLMã®å®è£ ã§ããä»ãAIãã¯ãããžãŒçéã§ã¯èª¬æã®å¿ èŠããªãã»ã©éèŠãªãã©ãããã©ãŒã ã«ãªã£ãHugging Faceãå©çšãããã¿ãŒã³ã§ããçŸåšåžå Žã§ãªãªãŒã¹ãããŠããã»ãŒãã¹ãŠã®OSSã¢ãã«ãç»é²ãããããgithubã®LLMçãšç§°ãããã»ã©ç¥å床ã®é«ããµã€ãã§ãã(Hugginf Faceã§å©çšã§ããã¢ãã«ã®äžèЧã¯ãã¡ãã)
ããŒã«ã«LLMã§ãã®ã§ã¢ãã«ããªããžããªããããŒã«ã«ã«ããŠã³ããŒããããšããèãæ¹ã¯Ollamaãšå€ãããŸãããHuggin Faceã®ã¢ãã«ãå©çšããå Žåããã®ã¢ãã«ãéçºããäŒæ¥ãå£äœãã¢ãã«å©çšã®APIãæäŸããŠããŸãã®ã§ããã䜿ã£ãŠå®è£ ããããšã«ãªããŸããLangChainã§ã¯å瀟ã®APIãã©ããããHuggingFacePipelineãšããã¯ã©ã¹ãããããã®ã¯ã©ã¹ã§ã©ã®ã¢ãã«ãåããããªã³ãŒãã§å®è£ ããããšãã§ããããã«ãªããŸãã
ããŒã«ã«LLMã䜿ãã¢ãŒããã¯ãã£ã®pros/consãšããŠã¯äžèšã®éãã§ãã
| ã¡ãªãã | 説æ |
|---|---|
| ãã©ã€ãã·ãŒãšã»ãã¥ãªã㣠| ããŒã¿ãããŒã«ã«ã«ä¿æããããããæ©å¯æ å ±ãå€éšãµãŒããŒã«éä¿¡ããå¿ èŠããªããªãããã©ã€ãã·ãŒãšã»ãã¥ãªãã£ãåäžããŸãã |
| æ§ã ãªã¢ãã«ãå©çšå¯èœ | æ§ã ãªå£äœã»äŒæ¥ãå ¬éããŠããã¢ãã«ãå©çšå¯èœã§ããç¹å®ã®ã¿ã¹ã¯ã«ç¹åããã¢ãã«ãªã©ãç°¡åã«å©çšããããšãã§ããŸãã |
| ã«ã¹ã¿ãã€ãºã®èªç±åºŠ | ã¢ãã«ã®èª¿æŽã埮調æŽã容æã«è¡ãããããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«æé©åãããã¢ãã«ãäœæã§ããŸãã |
| ã€ã³ã¿ãŒãããæ¥ç¶ãäžèŠ | ãªãã©ã€ã³ç°å¢ã§ãLLMã䜿çšã§ããããããããã¯ãŒã¯ã«äŸåããªãéçšãå¯èœã§ãã |
| ã³ã¹ãåæž | ã¯ã©ãŠãããŒã¹ã®ãµãŒãã¹ãšæ¯ã¹ãé·æçã«èŠãŠã³ã¹ããåæžã§ããå ŽåããããŸãïŒãã ããåææè³ã¯å¿ èŠïŒã |
| ã¬ã€ãã³ã·ã®äœæž | ããŒã«ã«ç°å¢ã§ã®åŠçã«ãããã¯ã©ãŠãçµç±ã®éä¿¡ã«ããé å»¶ããªããªãããªã¢ã«ã¿ã€ã åŠçãåäžããŸãã |
| ãã¡ãªãã | 説æ |
|---|---|
| ããŒããŠã§ã¢èŠä»¶ | LLMãããŒã«ã«ã§åäœãããã«ã¯ãéåžžã«é«æ§èœãªããŒããŠã§ã¢ãå¿ èŠã§ãããç¹ã«GPUã倧éã®ã¡ã¢ãªãå¿ èŠã«ãªããŸãã |
| éçšãšç®¡çã®è² æ | ã¢ãã«ã®ã€ã³ã¹ããŒã«ãæŽæ°ãã¡ã³ããã³ã¹ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãªã©ãèªåã§è¡ãå¿ èŠããããéçšã³ã¹ããæéãããããŸãã |
| æ¡åŒµæ§ã®å¶é | ããŒã«ã«ç°å¢ã§ã¯ãã¹ã±ãŒãªã³ã°ãé£ãããã¯ã©ãŠãã®ããã«ç°¡åã«ãªãœãŒã¹ã远å ã§ããŸããã |
| åæã³ã¹ãã®é«ã | å¿ èŠãªããŒããŠã§ã¢ãè³Œå ¥ããããã®åææè³ã倧ããããããç¹ã«å°èŠæš¡ãªãããžã§ã¯ãã«ãšã£ãŠã¯è² æ ã«ãªãããšããããŸãã |
| æŽæ°ãšãµããŒãã®é å»¶ | ã¯ã©ãŠããµãŒãã¹ã¯ææ°ã®ã¢ãã«ãæ©èœãå³åº§ã«å©çšå¯èœã§ãããããŒã«ã«ç°å¢ã§ã¯ããããæåã§æŽæ°ããå¿ èŠããããŸãã |
æäœã§ããã®çšåºŠã®pros/consã¯å¿µé ã«ã¢ãŒããã¯ãã£ãæ¡çšã決ããæãã§ãã
ãŠãŒã¹ã±ãŒã¹
å šãŠã®LLMã¢ããªã±ãŒã·ã§ã³ã察象ãšãªããŸããç¹ã«äžè¿°ããã¡ãªãããéèŠãªèŠä»¶ã«ãªãã·ã¹ãã ã§æ€èšããã¹ãæ§æãšãªããŸããäžã§ããã¯ãã»ãã¥ãªãã£ã®èгç¹ããããŒã«ã«LLMãæ€èšãããŠãŒã¶ãŒãå€ããšãããŸããç¹ã«å®åºç³»ãéèç³»ã®ã·ã¹ãã ã§ã¯ã»ãã¥ãªãã£èŠä»¶ã®ãã©ã€ãªãªãã£ãæãé«ããªãåŸåã«ãããŸãããããŒã«ã«LLMãæ€èšããããšã¯å¿ ç¶ãšãããã§ãããããŸããããŒã«ã«LLMã ãããšãã£ãŠãå®è£ ãã¿ãŒã³ãéããããšããããšã¯ãããŸãããAPIããããã°ãä»ã®èšäºã§ç޹ä»ããŠããæ§ã ãªå®è£ ãã¿ãŒã³ãå¯èœã§ãã
ãµã³ãã«ã³ãŒãã®æŠèª¬
äžè¿°ããOllamaãšHuggingFacePipelineã®ãµã³ãã«ã³ãŒãæŠèª¬ã¯ãã¡ãã®èšäºããåç §ãã ããã
LLMã®éåå
ãéååããšããæè¡ã¯ã深局åŠç¿ã«äœ¿ããããã¥ãŒã©ã«ãããã¯ãŒã¯ã®èšç®è² è·ãã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã軜æžããç®çã§éçºãããŸãããã§ãã®ã§LLMãæµè¡ãã ã以åãããã£ãæè¡ã«ãªããŸãããLLMã®ããã«ããã®ä»ã®ã¢ãã«ãšæ¯èŒããŠè¶ å€§èŠæš¡ãªãã¥ãŒã©ã«ãããã¯ãŒã¯ãšãªããšéååã®å¹æã¯çµ¶å€§ã§ãã
éååã®ä»çµã¿ãšpros/cons
ããªããã£ãããã説æã«ãªããŸãããéååãšã¯ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®äžã§ç¹°ãè¿ãè¡ãããæµ®åå°æ°ç¹æŒç®ã®å°æ°ç¹ã®æ¡æ°ãäžžããŠå°ãªãããããšã«ããæŒç®è² è·ãäžãããšããåŠçã§ãã
å ·äœçã«ã¯ã32bitã®ã¢ãã«ã§ããã°å°æ°ç¬¬7äœãŸã§èšç®ãããšãããã16bitã«éååããããšã§å°æ°ç¬¬3äœãŸã§ã®èšç®ã§ããŸãããšããã€ã¡ãŒãžã§ãããã®çšåºŠã®ããšã§ãããªã«å€§ããªå¹æãåŸãããã®ããšæããããããããŸããããç»åç³»AIãªã©ã§æ§æãããããªèŠæš¡ã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ãšã¯ç°ãªããLLMãšãªããšãã®å¹æã¯ã±ã¿éãã§ãã
äŸãã°GPT3.5ã¯ãã©ã¡ãŒã¿ã®æ°ã1750åã ãšããããŠããŸãããããèæ ®ãããšãGPT3.5ã§æšè«ãè¡ããšãã¯ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®äžã§ãå°ãªããšãæ°åååã®æµ®åå°æ°ç¹æŒç®ãå®è¡ãããããšã«ãªããŸããGPT4ã¯ãã©ã¡ãŒã¿ã®æ°ã1å ãè¶ ããŠãããšããããŠããã®ã§æ°å åãšããããšã«ãªããŸãã
ãããããã¯ãã£ãäžã€ã®ããŒã¯ã³(âåèª)ãæšè«ããéã«è¡ãããæµ®åå°æ°ç¹æŒç®ã®åæ°ã§ããLLMã®ããã¹ãçæåŠçã§ã¯ãããŠãã®å Žåã倿°ã®ããŒã¯ã³ãç¹°ãè¿ãæšè«ããŠé·æãçæããããšã«ãªããŸããããã®éã®æŒç®åæ°ã¯æŽã«äœåã«ãè·³ãäžãããŸãããã®ãããªå€©æåŠçãªåæ°ã®æµ®åå°æ°ç¹æŒç®ãç¹°ãè¿ãå®è¡ãããããããã®äžã§æ±ãå€ã®æ¡æ°ãå°ãå€ããã ãã§ãéåžžã«å€§ããªåœ±é¿ã«ãªããŸãããã®åœ±é¿ã«ããã¡ãªããã¯äžèšã®ãããªãã®ã§ãã
| ã¡ãªãã | 説æ |
|---|---|
| ã¢ãã«ãµã€ãºã®åæž | éååã«ãããã¢ãã«ã®ãã©ã¡ãŒã¿ãå°ãªããããæ°ã§è¡šçŸãããã¢ãã«ã®ãµã€ãºãå°ãããªãã |
| èšç®é床ã®åäž | äœç²ŸåºŠã®èšç®ã䜿çšãããããæšè«åŠçãé«éåãããªã¢ã«ã¿ã€ã å¿çæ§ãæ¹åãããã |
| çé»å | äœç²ŸåºŠã®æŒç®ã¯ãšãã«ã®ãŒæ¶è²»ãå°ãªãã倧éã®GPUã䜿ã£ãæ§æã«ãããŠãã®é»åéãäžããããšãæåŸ ã§ããŸãã |
| ã³ã¹ãåæž | ã¢ãã«ãµã€ãºã®çž®å°ãšèšç®ã®é«éåã«ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ãåæžãå¯èœã«ãªãã |
| ãšããžããã€ã¹ã§ã®å®è¡ | ãªãœãŒã¹ãéããããšããžããã€ã¹ã§ãã¢ãã«ãå®è¡ã§ããIoTããã€ã¹ãçµã¿èŸŒã¿ã·ã¹ãã ã§ã®å©çšãçŸå®çã«ãªãã |
ãã®äžã§ãç¹ã«ã¢ãã«ãµã€ãºã®åæžã®å¹æã¯å€§ãããããã«ããGPUã¡ã¢ãªäœ¿çšéã®åæžãæåŸ ã§ããŸãã仿¥ãæããã»ãšãã©ã®ãŠãŒã¶ãŒã¯ãããç®çã«éååãè¡ããŸããä»ãGPUã¡ã¢ãªã¯ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®äžã§æã貎éãªãã®ã«ãªããŸããã®ã§ããããç¯çŽããããšããã®ã¯åœç¶ã®æµãã§ããNvidia A100ãH100ã®ãããªéåžžã«é«äŸ¡ãªGPUã«ããã®ããªãã£ãã¢ãã«ãéååããããšã«ãããæ°åºã®A10ã«ã®ããããããã«ãªãããã§ããããã®ã³ã¹ã广ã¯çµ¶å€§ã§ãã
ãããéååã«ã¯åœç¶ãã¡ãªããããããŸãããã¥ãŒã©ã«ãããã¯ãŒã¯ã®æµ®åå°æ°ç¹æŒç®ã®æ¡æ°ãå°ãªããããšããããšã¯æ¬æ¥ã®å€ãšã¯ç°ãªãå€ã䜿ã(åæšäºå ¥ãããããªã€ã¡ãŒãž)ãšããããšã§ããããæçµçãªã¢ãã«ã®ç²ŸåºŠã«å°ãªããã圱é¿ããããŸããLLMã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®äžã§ã¯ãå ¥åãããæç« ã«é¢ä¿æ§ã®é«ãè€æ°ã®ããŒã¯ã³(âåèª)ãéžåºããããããã確çååžãã«å€æããŠãæçµçã«æãå¯èœæ§ã®é«ãäžã€ã®ããŒã¯ã³ãéžåºãããšããåŠçãç¹°ãè¿ããŸããéååã«ããæ°å€ã®æ¡æ°ãäžžããããšã§ããã®ã確çååžããå€ãããããéååããŠããªããã°éžã°ããŠããã§ãããããŒã¯ã³ãéžã°ããªããªããšããããšãçºçãåŸãŸãã
ã€ãŸããéååã«ããã¢ãã«ã®ãµã€ãºãå°ãããããã»ã©(ãããæ°ãå°ããããã»ã©)GPUã¡ã¢ãªã®æ¶è²»éã¯å°ãªããªããŸããããããšåæã«ç²ŸåºŠã¯èœã¡ããšããããšã«ãªããŸãããã®ãããªæè¡çèæ¯ãããã以åã¯LLMã®éååãšããã°ã8bitãŸã§ã粟床劥åã®éçã©ã€ã³ããšããã®ãæé»ã®äºè§£ã ã£ãããã«æããŸãããæè¿ã¯4bitã§ãã¹ããããæ¹ãã¡ãã»ãèŠãããŸãããŸããåã8bitéååã§ãæ¡çšããã¢ãã«ã«ãã£ãŠã粟床ã¯å€ãã£ãŠããŸãã®ã§æ³šæãå¿ èŠã§ãã
éååã®ãããæ°ãšç²ŸåºŠã®åæ¯äŸã«ã€ããŠã¯ãããã«ãã³ãããŒã¯çµæãèšäºã沢山ãããŸãã®ã§ããããåèã«ãã€ã€ãèªèº«ã®ããŒã¿ã§ç²ŸåºŠæ€èšŒã宿œããªããå©çšããããšããã§ããä»åŸãåªç§ãªã¢ãã«ã沢山éçºãããã§ãããããç®ãé¢ããªãéåžžã«éèŠãªæè¡åéã ãšæããŸãã
ãµã³ãã«ã³ãŒãã®æŠèª¬
ãµã³ãã«ã³ãŒãã®æŠèª¬ã¯ãã¡ãã®èšäºããåç §ãã ããã
以äžã7ã€ã®ãŠãŒã¹ã±ãŒã¹ãã玹ä»ããŸããã












