2024-01-15 (月)
* 生成AIとか
ノートPCを新調したので、最近流行りの生成AIを試しに動かしてみる。Core i7-1355U + メモリ32GBでも小さいモデルなら動きそう?グラボは無いのでCore i7内蔵のGPUで頑張る。
とりあえず、手っ取り早く試したかったので llama.cpp を何も考えずmakeしたら動いた。
モデルは Hugging Face に色々あるみたいなのでダウンロードして色々試す。
https://huggingface.co/TheBloke/Llama-2-7B-GGUF を使ってみたけど、4bit量子化だと4GBくらいで動くのか。もう少し大きいモデルでも大丈夫そう。
OepnCL
CPUだとやっぱり遅いのとllama.cppはOpenCLに対応しているので、GPUを使いたい。IntelのGPUでOpenCLを使えるように色々インストールする。
最近のWSL2上ならGPUにアクセスできるのだけど、wsl2上のdockerコンテナ内でOpenCLが動かなくて嵌った。/dev/dri にはアクセスできるのだけど、それだけだと動かない?良くわかってないのでコンテナ内で動かすのはいったん諦めた。
CLBlast経由でGPUを使えるようになったけど、'-ngl 8' 以上にするとメモリ確保に失敗してしまうのと、GPUを20%くらいしか使ってないので何か設定が足りないかも。
OpenVINO
LLM以外も動かしてみようと思ったのだけど、OpenCLあまりサポートされてない感じなので、Intelの OpenVINOを試してみる。
PyTorchに対応してると書いてあった気がするけど、PyTorch等からGPUを使えるようになるわけではなく、読み込んだモデルをOpenVINO用に変換して動かすっぽい。変換のためにPyTorchのモデルにダミーの入力を与える必要があったりして色々面倒。
色々試すなら OpenVINO Notebooks(https://github.com/openvinotoolkit/openvino_notebooks) が手っ取り早そうなので入れてみる。
とりあえず Stable Diffusion とかもサンプルがあるので画像生成してみる。CPUだけだと画像一枚生成するのに4~5数分かかってたのが、オンボードのGPUでも30秒くらいにはなった。Latent Consistency Modelも試してたけど、GPUで処理しようとするとなぜかうまくいかない。。。
Web UI は Jupyter Lab というやつみたいだけど、色々いじりながら動かしてると状態が分かりにくくて、微妙に使いにくい。。。