
ãããŒã«ã«LLMãWindows10ã§llama.cppãåãã
ã¯ããã«
仿ŽãªãããããŒã«ã«LLMã詊ããŠã¿ãŸããã®ã§ãæé ãªã©ãæ®ããŠããããšæããŸãã
æ®æ®µã¯ChatGTPã䜿ã£ãŠããã®ã§ãããAIãšãŒãžã§ã³ããããŒã«ã«ã«éããŠåãããŠã¿ãããšæã£ãŠããã®ã§ãllama.cppã䜿ããããã«ããŠãããŸãã
llama.cppã¯æ¬æ¥è«å€§ãªãªãœãŒã¹ãå¿ èŠãªLLMãæ®éã®ããœã³ã³ã§ããªããšãåãããããã«ããŠãããåªããã®ããŒã«ã ãšãããããŒã
ç°å¢
ä»åã¯ãAIã®å匷ã«ã䜿ããïŒãšãã倧矩ååã®ããšè³Œå ¥ããã²ãŒãã³ã°PCãããå æžæŽ»çšããããšããããšã§ãWindowsã§ãã£ãŠã¿ãŸãã
OSïŒWindows10 64bit
CPUïŒAMD Ryzen 5 3600
GPUïŒGeForce RTX 3060
ããããèšäºã¯åããŠæžãã®ã§ãèªåã®ç°å¢ã瀺ãæ
å ±ã¯ããã§ãã£ãŠããã®ãäžå®ã§ããäžå¿ã
ã§ã¯æ©éå§ããŠãããŸãã
w64devkitã®æºå
llama.cppã¯C/C++ã§å®è£
ãããŠãããã³ã³ãã€ã«ããªããã°ãããªãã®ã§ããã®ããã®ç°å¢ãäœããŸãã
ïŒWindowsã§ã¯ããã©ã«ãã§ã¯C/C++ã®ã³ã³ãã€ã«ãã§ããªããšããããšãåããŠç¥ããŸããâŠã€ãã¥ãç¡ç¥ã ïŒ
llama.cppã®usageã«w64devkitã䜿ããšæžããŠããã®ã§ããã«åŸããŸãã

w64devkitã¯Windowsåãã®C/C++ã®éçºãããã§ãã³ã³ãã€ã«ãªã©ãè¡ãããšãã§ããããŒã«ãåçš®ã³ãã³ããå®è¡ã§ããããã«ãªãä»ãLinuxã©ã€ã¯ãªCLIã䜿ãããšãã§ããã¢ããªã±ãŒã·ã§ã³ãå«ãã§ããŸãã
2024/02/29 æç¹ã§ææ°çã®ããŒãžã§ã³1.21.0ã䜿ããŸãã
ãŸãã¯ãw64devkitãããŠã³ããŒãããŸãã
w64devkitã«ã¢ã¯ã»ã¹ããäžéšAssetsãããw64devkit-fortran-1.21.0.zip ãããŠã³ããŒãããè§£åãã
ãã©ã«ãå šäœãC:\Program Filesã«ç§»åïŒä»»æã®å Žæã§OKïŒ
次ã«ãç°å¢å€æ°ã®èšå®ãããŸãã
ç»é¢å·Šäžã®æ€çŽ¢çªããããã·ã¹ãã ç°å¢å€æ°ã®ç·šéããæ€çŽ¢ããå®è¡ã
ãç°å¢å€æ°ããã¯ãªãã¯
ãã·ã¹ãã ç°å¢å€æ°ãå ã®ãPATHãã®é ç®ãéžæããç·šéãã¯ãªãã¯ã
ãæ°èŠããã¯ãªãã¯ããC:Â¥Program FilesÂ¥w64devkitÂ¥binïŒå ã»ã©devkitãé 眮ãããã£ã¬ã¯ããª+binïŒãå ¥åã
ã³ãã³ãããã³ããã§åäœç¢ºèªããŸãã
gitã³ãã³ããªã©ãæã£ãŠã¿ãŠãåäœããã確èªããã
ãããããŸããããªããã°ãç°å¢å€æ°ã®èšå®ãããŸãã§ããŠãããã確èªããã
ããã§ãllama.cppãã³ã³ãã€ã«ããæºåãå®äºã§ãã
llama.cppã®æºå
å ¬åŒGitHubã®æç€ºã«åŸããllama.cppãæºåããŠãããŸãã
ãŸãã¯ãå ã»ã©ã®w64devkitãã£ã¬ã¯ããªå ã«ããw64devkit.exeãå®è¡ããŸãããã®ãããªCLIãèµ·åããŸãã

次ã«ãGitHubããllama.cppã®ãªããžããªãcloneããŠããŸãã
git clone https://github.com/ggerganov/llama.cppw64devkitã®å°å ¥ã«ãããWindowsã®ã³ãã³ãããã³ããããã§ãgitã³ãã³ããå®è¡ã§ããããã«ãªã£ãŠããŸãããç§ã®ç°å¢ã§ã¯ãã®åŸã®ã³ã³ãã€ã«ã§ãšã©ãŒãåºãããäžæããããŸããã§ãããããã®ããã«w64devkit.exeã®CLIäžã§cloneãããšäžæããããŸããã
ã³ãã³ãããã³ããã§ã¯ããŸããããªããã©ãw64devkit.exeã§ã¯æåããããšãçµæ§ãããŸããç§ã®ãããªééã«ã¯ãªãããããããšãèµ·ããã®ãçè§£ã§ããŠããŸãããèŠèª¿æ»ã
次ã«ãã³ã³ãã€ã«ãè¡ããŸããllama.cppãã£ã¬ã¯ããªã«ç§»åããŠ
cd llama.cppmakeãå®è¡ã
makeããã§llam.cppèªäœã®æºåã¯å®äºã§ãã
LLMã¢ãã«ã®æºå
å®éã«åããã¢ãã«(ã®éã¿)ãçšæããŠããå¿ èŠããããŸããä»åã¯ãllama-2-7bã®4bitéååã¢ãã«ã䜿ã£ãŠã¿ãããšæããŸãã
éååãšã¯ãå ã®ã¢ãã«ã®ãã©ã¡ãŒã¿ãããå°ãªããããæ°ã§è¡šçŸããããšã§è»œããéãåãããã«ãããã®âŠãšããçšåºŠã®çè§£ã§ããä»ã¯ãŸã ãã
Hugging Faceããã¢ãã«ãããŠã³ããŒãããŠããŸãã
llama-2-7b.Q4_K_M.gguf

download itãã¯ãªãã¯ããŠãããŠã³ããŒããå®äºããããé©åœãªå ŽæïŒllama.cpp/modelsãšã)ã«é 眮ããŠããã
ããå®è¡
ã¢ãã«ã®é
眮ãã§ããã®ã§ãããããå®è¡ã§ãã
llama.cppãã£ã¬ã¯ããªã«å
¥ã£ãŠãäžèšã³ãã³ããå®è¡ããŸããæ¥æ¬èªã¯èŠæãããã®ã§ããã³ããã¯è±èªã§ãã
main -m models/llama-2-7b.Q4_K_M.gguf --prompt "Q:Tell me about the highest mountain inJapan. A:"å®è¡çµæã¯ãããªæãã§ãã
Log start
main: build = 2216 (5207b3fb)
main: built with cc (GCC) 13.2.0 for x86_64-w64-mingw32
main: seed = 1710063935
llama_model_loader: loaded meta data with 19 key-value pairs and 291 tensors from models/llama-2-7b.Q4_K_M.gguf (version GGUF V2)
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv 0: general.architecture str = llama
:
:
Q:Tell me about the highest mountain inJapan. A:The highest mountain in Japan is Mount Fuji. The mountain has a height of 3,776 meters (12,400 feet) and it is located on the island of Honshu. It can be seen from Tokyo as well as other cities along with the Pacific Ocean. [end of text]åºåãChatGPTã§æ¥æ¬èªçŽãããšãããªæãã§ãã
Q: æ¥æ¬ã§æãé«ãå±±ã«ã€ããŠæããŠãã ããã
A: æ¥æ¬ã§æãé«ãå±±ã¯å¯å£«å±±ã§ãããã®å±±ã¯æšé«3,776ã¡ãŒãã«ïŒ12,400ãã£ãŒãïŒã§ãæ¬å·å³¶ã«äœçœ®ããŠããŸããæ±äº¬ãå€ªå¹³æŽæ²¿å²žã®ä»ã®éœåžãããèŠãããšãã§ããŸãã
å
容çã«ééã£ãããšã¯èšã£ãŠãŸããããããæãïŒ
ã¡ãªã¿ã«ã質åããããããªéã«ã¯ãããã³ããã®äžã§ãQ:XXX A:ããªã©ãšæžããŠããå¿
èŠãããããã§ãã
ããããªãããã³ããã詊ããŠã¿ããšã
Tell me about the highest mountain in Japan.â
Tell me about the highest mountain in Japan. everybody wants to know, but nobody tells you anything about it. Well Iâll tell you everything. Mount Fuji is the tallest mountain in Japan (3776 m). Its base is 800 meters above sea level and its top reaches almost 10,000 feet of altitude. It has a conical shape with a wide summit and steep sides that can be seen from Tokyo. The Japanese call Mount Fuji âFujisanâ or âFuji-sanâ for short. The word fuji in Japan means wisteria flower, which is also called Fuyumi in English, so it was named after this beautiful bloom to honor the gods who live on top of Mount Fuji. The first recorded sighting of Mount Fuji dates back to 660 AD when a monk named SÅka Gakko climbed up its slopes while studying Buddhism under his masterâs guidance at Kofuku Temple near Kyoto City (Japan). He returned home after many years away from Japan and wrote about what he had seen during those travels which included visiting various shrines along with experiencing life in different parts of Asia such as China, Korea, Vietnam etc⊠Most people are familiar with Mount Fuji as an iconic symbol representing Japan. The mountain is also known for its beautiful scenery and unique atmosphere that makes it one of the most popular tourist destinations in Asia. Mount Fuji has been designated a World Heritage Site by UNESCO because of its cultural significance and natural beauty; however there are still many other reasons why you should visit this place if you want to experience something special during your travels around Japan!
èš³ïŒæ¥æ¬ã§æãé«ãå±±ã«ã€ããŠæããŠãã ããã誰ããç¥ãããã£ãŠããŸããã誰ãããã«ã€ããŠäœãæããŠãããŸããããããç§ãå šãŠãæããŸãããã å¯å£«å±±ã¯æ¥æ¬ã§æãé«ãå±±ã§ãïŒ3,776ã¡ãŒãã«ïŒããã®åºéšã¯æµ·æ800ã¡ãŒãã«ã«ãããé äžã¯ã»ãŒ10,000ãã£ãŒãã®é«åºŠã«éããŸããå¯å£«å±±ã¯ãåºãé äžãšæ¥ãªåŽé¢ãæã€åé圢ãããŠãããæ±äº¬ããèŠãããšãã§ããŸãã æ¥æ¬äººã¯å¯å£«å±±ããå¯å£«å±±ããŸãã¯ç¥ããŠããµãããããšåŒã³ãŸããæ¥æ¬ã§ã®ãå¯å£«ãã¯è€ã®è±ãæå³ããè±èªã§ããŠããšãåŒã°ããããããã®çŸããè±ã«ã¡ãªãã§åä»ããããå¯å£«å±±ã®é äžã«äœãç¥ã ãè®ããããã§ãã å¯å£«å±±ã®æåã®èšé²ãããç®æã¯ã660幎ã«ããã®ãŒããŸãããã®æãå§äŸ¶ã®èéŠåŠæ ¡ãã京éœåžïŒæ¥æ¬ïŒè¿ãã®èçŠå¯ºã§åž«ã®æå°ã®ããšä»æãåŠã³ãªããããã®æé¢ãç»ããŸãããåœŒã¯æ¥æ¬ãé¢ããŠå€å¹ŽåŸã«åž°åœãããã®æ è¡äžã«èŠããã®ã«ã€ããŠæžãæ®ããŸããããã®å 容ã«ã¯ãäžåœãéåœããããã ãªã©ã¢ãžã¢ã®ç°ãªãéšåã§ã®ç掻ãçµéšããããŸããŸãªç¥ç€Ÿã蚪ããããšãå«ãŸããŠããŸãã å€ãã®äººã ããå¯å£«å±±ãæ¥æ¬ã代衚ãã象城çãªã·ã³ãã«ãšããŠç¥ã£ãŠããŸãããŸããçŸãã颚æ¯ãšãŠããŒã¯ãªé°å²æ°ã§ç¥ãããŠãããã¢ãžã¢ã§æã人æ°ã®ãã芳å å°ã®äžã€ã§ãã å¯å£«å±±ã¯ããã®æåçãªæçŸ©ãšèªç¶ã®çŸããã®ããã«ããŠãã¹ã³ã«ãã£ãŠäžçéºç£ã«æå®ãããŠããŸããããããæ¥æ¬ãæ è¡äžã«ç¹å¥ãªäœéšããããå Žåã«èšªããã¹ãçç±ã¯ä»ã«ããããããããŸã
ãªãããšãã»ã€ã£ãœããªããŸããããããŠé·ããåã£ãŠãã®ãã©ããããããããªãå 容ã«ãªããŸããã
LLMã¯ããã£ããèšããšãæ¬¡ã«æ¥ãããªæç« ãäºæž¬ãç¶ãããåŠçãè¡ã£ãŠãããããã®ã§ãQ: /A: ãã€ããŠããããšã§ãã質åã«å¯ŸããçããšããŠé©åãªæç« ããçæãããã€ããªããã°ãæç« ã翻蚳ããŠãã ããã圌ãšåããŠäº€ãããã®ã¯ãã®èšèã ã£ãâŠãã®ãããªæç« ã®æžãåºããšããŠèªèãããŠããŸãã®ãããããŸããã
ãã ãäœãã€ããã®ãã¯äœ¿ãã¢ãã«ã«ãã£ãŠæ±ºãŸã£ãŠãããããªã®ã§ãã¢ãã«ããšã«ç¢ºèªããå¿ èŠãããããã§ãã
äœã¯ãšããããllama.cppã䜿ããããã«ãªããŸããïŒ
次ã«ããããããš
llama.cppã§GPUã䜿ã£ãæšè«ããã
llama.cppãpythonã§å®è¡ãã
BabyAGIã詊ãïŒOpenAI API, ããŒã«ã«LLMïŒ