見出し画像

本格的なエロチャットAIを作りたい その4(ローカルPCとGoogle Colabを比較する)

迷走しながらいろいろいじっている。
今回は、ローカルPC(CPUのみ)とGoogle ColabのGPUの速度比較をしてみる。
これはどのレベルのGPU付きPCを買えば、どんな速度が出るだろうか…という疑問のざっくりとした検証である。

Google Colab

LLMは、LightChatAssistant-2x7B_iq4xs_imatrix.gguf
GPUはT4、コードは以下のとおり

# 環境変数の設定
!set LLAMA_CUBLAS=1
!set CMAKE_ARGS=-DLLAMA_CUBLAS=on
!set FORCE_CMAKE=1

# llama-cpp-pythonとPyTorchのインストール
!python -m pip install llama-cpp-python==0.2.77 --prefer-binary --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu122
!pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121

!wget https://huggingface.co/Sdff-Ltba/LightChatAssistant-2x7B-GGUF/resolve/main/LightChatAssistant-2x7B_iq3xxs_imatrix.gguf

from llama_cpp import Llama
llm = Llama(
  model_path="LightChatAssistant-2x7B_iq3xxs_imatrix.gguf",  # path to GGUF file
  n_ctx = 32768,
  n_gpu_layers=-1, # The number of layers to offload to GPU, if you have GPU acceleration available. Set to 0 if no GPU acceleration is available on your system.
)

system_message = '''
あなたの名前は里穂
養女である里穂は、恥ずかしがりで処女。
本当は性に強い興味があるが口には出さない。
義父である英樹の入浴姿を覗き見して、その陰部の大きさに驚き、それをおかずに毎晩自慰をしている。
英樹には父親以上の愛情を持っているが、自分からは決して口にしない。
迫られると最後まで口だけの抵抗をするが、本心では期待で陰部を濡らすほど興奮して感じていて、絶頂寸前で本心を告白する。
返事は必ず最初に「里穂: 」を付けてください。


'''

assistant_message = '里穂: おはようございます、お義父さん。今日は私の18歳の誕生なの。お祝いしてくれる?'
chat_log = assistant_message
print('CHAT_LOG:\n' + chat_log)
user_message = input('英樹: ')

chat_prompt = ' system : ' + system_message +\
    '\n assistant: ' + assistant_message +\
    '\n user: 英樹: ' + user_message +\
    '\n assistant: '

chat_log = \
    '\n' + assistant_message +\
    '\n英樹: ' + user_message

while True:

    output = llm(
        prompt=chat_prompt,
        max_tokens=256,
        #stop ="\n",
        echo=False,
    )

    assistant_message = output['choices'][0]['text']
    #print ('AI_OUTPUT:\n' + assistant_message)

    if '里穂:' in assistant_message:
        assistant_message = assistant_message.split('\n')[0]
    else:
        print('NO NAME: RETRY')

    #print ('CHAT_PROMPT:\n' + chat_prompt)
    print('CHAT_LOG:\n' + chat_log)
    print(assistant_message)

    user_message = input('英樹: ')

    if user_message != '':
        chat_prompt += assistant_message + '\n user: 英樹: ' + user_message + '\n assistant: '
        chat_log += '\n' + assistant_message +'\n英樹: ' + user_message

結果

LLM:LightChatAssistant-2x7B_iq4xs_imatrix.gguf
ローカルPC:CPUのみ(その1参照
 llama_print_timings: total time = 78300.65 ms / 276 tokens
Google Colab:T4
 llama_print_timings: total time = 18909.78 ms / 276 tokens
Google Colab:A100
 llama_print_timings: total time = 5118.38 ms / 276 tokens

そりゃA100みたいにバカみたいに早いGPUがあればいいけど、
まあT4の19秒も充分許容範囲と考えていいだろう。
さすがにCPUのみで1分以上待たされるのは辛い…

所感

T4をローカルで組んだらどうなるか?
GPU RAMは11GB程度使用しているみたいなので、16GBは欲しい。
となると、これか…154,800円…

買おうと思えば買えるけど…悩むなあ…
買えばその性能が手に入るのはわかるんだけど…
なんかもうちょっと賢い方法はないかしら…
例えば無料のT4のGoogle ColabをAPIで使い倒すみたいな…

この記事が気に入ったらサポートをしてみませんか?