2024年5月28日火曜日

Microsoftの小規模LLM、Phi-3を動かす。

おじさん、一か月遅れで、話題のMicrosoftの小規模LLMであるPhi-3を試してみました。

モデルデータが2GバイトとかしかないのにChatGPT3.5より性能が良いと一か月くらい前から話題です。


といっても、ここから学習データを取ってきて、


Hugging Face

https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf



ここからソースを取ってくるだけです。


llama.cpp

https://github.com/ggerganov/llama.cpp




前から思っていたんだけど、おじさんのSJISのWindowsのコンソールで動かすにはどうしたらいいんだろうか?

みんなmacで実行していて、Windowsでの動かし方がわからない・・・・


いろいろ実験した結果、どうやら入出力データをUTF-8で渡さないといけないので、質問をprompt.txtのようにUTF-8のファイルに落として実行すればよいみたい。


-------------------------------

MAIN=x64\Release\main.exe

MODEL=Phi-3-mini-4k-instruct-q4.gguf

%MAIN% -ngl 20 -m %MODEL% -f prompt.txt

-------------------------------


おじさんのCPUのみのマシンで動かしてみました。

なんか結果出た。

-------------------------------

CFG -> Penalties -> top_k -> tfs_z -> typical_p -> top_p -> min_p -> temperature

generate: n_ctx = 512, n_batch = 2048, n_predict = -1, n_keep = 1



<|user|> \n自己紹介して <|end|> \n<|assistant|> 

私はAI(人工知能)アシスタント、OpenAIの一部です。私は機械学習と人間のニーズに合わせて定期的に検討されており、さまざまなタスクを支援しています。私の能力には自然言語理解、応答生成、情報の検索などが含まれており、多様な環境で利用できます。私は情報にアクセスし、知識を共有することができますが、あくまで誰もにとって最善のアドバイスを提供するわけではありません。ユーザーの好みや判断に従い、より良い回答を提供できるように努めています。<|end|> [end of text]


llama_print_timings:        load time =    3471.61 ms

llama_print_timings:      sample time =      14.77 ms /   265 runs   (    0.06 ms per token, 17941.77 tokens per second)

llama_print_timings: prompt eval time =   25785.09 ms /    19 tokens ( 1357.11 ms per token,     0.74 tokens per second)

llama_print_timings:        eval time =  392456.34 ms /   264 runs   ( 1486.58 ms per token,     0.67 tokens per second)

llama_print_timings:       total time =  418382.92 ms /   283 tokens

Log end


-------------------------------

すげー、流ちょうな日本語を話すじゃん。




0 件のコメント:

コメントを投稿