見出し画像

「GPT-4」を上回る日本語性能のLLM「Llama-3-ELYZA-JP」をローカルPCで実行してみた

最初に

「GPT-4」を上回る日本語性能を達成した「Llama-3-ELYZA-JP-70B」はメモリが足りなかったため、80億パラメータと軽量ながらも「GPT-3.5 Turbo」に匹敵する日本語性能を達成した「Llama-3-ELYZA-JP-8B」を使って実験しました

目的

LLMを動かすためには、非常に高性能なGPUや大量のメモリが必要とされており、普通のPCでは実行することが難しいと考えられていました。しかし最近では軽量でも精度が良いモデルが出てきているので普通のPCでも動かすことができるかどうかを試してみることにしました。

環境

Python 3.10、Torch 2.2.2、llama_cpp

llama_cppとは

pythonのllamaモデルに向けたライブラリであり、拡張子が.ggufのものであればllama_cppで読み込めるようです。

使用したモデル

GGUFという量子化モデル オプションを利用しました。(Llama-3-ELYZA-JP-8B-q4_k_m.ggufをダウンロードしています)

実行環境

from llama_cpp import Llama

llm = Llama(
      model_path="../Llama-3-ELYZA-JP-8B-q4_k_m.gguf",
      seed=1337,
      n_ctx=2048,
      verbose=False,
)
output = llm.create_chat_completion(
    messages=[
        {
            "role": "system",
            "content": "あなたは、JSONで出力する親切なアシスタントです。",
        },
        {"role": "user", "content":"クマが海辺に行ってアザラシと友達になり、最終的には家に帰るというプロットの短編小説を書いてください。"},
    ],
    response_format={
        "type": "json_object",
    },
    temperature=0.5,
)

最後に

結果から、普通のPCでもLLMを動かすことができることがわかりました。ただし、i7-8700の環境では実行速度は遅く、高性能なGPUや大量のメモリを使用することで、実行速度を向上させることができるかと思います。