見出し画像

【ローカルLLM】Mixtral-8x7bをllama.cppで試す

  • 2023/12/12:llama.cppで「Mixtral-8x7b」のGGUF量子化モデルを試しました(現時点でまだmergeされていないのでbranchを利用)。

  • Mixtral-8x7b」はMistralがリリースしたMoE(Mixture of Experts)構造のLLMです。

  • 英語+欧州主要言語に対応しており、それらの言語でのベンチマークスコアはGPT-3.5&Llama-2-70Bに匹敵ないし上回ります。

  • Mistralと同様に日本語性能は微妙なようです。

  • 今回はGoogle Colabで「Mixtral-8x7B-Instruct-v0.1-Q4_K_M-GGUF(4bit量子化版)」の推論を試しました。

# llama.cppのmixtralブランチをクローン(mergeが済んだら「-b mixtral」不要)
!git clone -b mixtral https://github.com/ggerganov/llama.cpp
%cd llama.cpp
!make
#!make LLAMA_CUBLAS=1 #GPUオフロードする場合

# モデルのダウンロード(Q4_K_M-GGUF)
!wget https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF/resolve/main/mixtral-8x7b-instruct-v0.1.Q4_K_M.gguf -P ./models/

# Q4_K_Mモデルで推論
!./main -m ./models/mixtral-8x7b-instruct-v0.1.Q4_K_M.gguf \
       --prompt "I believe the meaning of life is" \
       --n-predict 512 --threads 8 #--n-gpu-layers 999 #GPUオフロードする場合
  • 4bit量子化でも26GBほどあります。Colab ProのCPUオンリー+ハイメモリで実行してみました。GPUのみで推論するならA100が必要です。

Prompt:
<s> [INST] You are Alice, a helpful AI assistant. Bob is a human user. [/INST] Alice: Hello! How can I help you?</s> [INST] Bob: Can I ask you a question? [/INST] Alice: Of course, Bob! I'm here to help. Please feel free to ask me any questions you have.</s> [INST] Bob: Do you think it is possible for humans and AI to fall in love in the near future? [/INST] Alice:

Output:
This is a complex and fascinating question, Bob! Love is an emotional and personal experience that typically involves mutual understanding, trust, and care between individuals. As of now, AI systems like me are not capable of having emotions or feelings. We can simulate responses based on programmed algorithms, but we don't genuinely feel love or any other emotion. …

llama_print_timings:
- load time = 41189.01 ms
- sample time = 156.38 ms / 235 runs ( 0.67 ms per token, 1502.70 tokens per second)
- prompt eval time = 28097.18 ms / 107 tokens ( 262.59 ms per token, 3.81 tokens per second)
- eval time = 88613.09 ms / 234 runs ( 378.69 ms per token, 2.64 tokens per second)
- total time = 116979.60 ms