ローカルよりもクラウド。クラウドでローカルLLMを動かしてみよう。
元も子もない記事のタイトルですが、ローカルでLLMを動かすのをクラウドで動かしてみようと思います。
前提
- 開発環境
- MacbookAir 2022 M2
- メモリ8GB
- macOS14.4
- 作業
- Google Cloudのアカウント作成済み
- gcloudコマンドが利用可能
クラウドの選定
- Cloud Run + Artifact Registryにしました
→ECS+ECRでもいいんですが、Fargateが高い・・・。
ライブラリの選定
- Ollama
→簡単にLLM(SLM)のインストールができる。Hugging Faceからも持ってこれたりで便利です。 - Open-WebUI
→ChatGPT風の画面をいい感じに作ってくれる。
上記をすべてコンテナに収めます。お好みでdocker-compose.ymlを書いてみても良いかもしれません。今回は、Cloud Runを使うので、docker-compose.ymlは使いません。
GCPの設定
ローカルの設定
以下のリンクを参照してください。
GitHub
一応、簡単に手順を書いておきます。
git clone https://github.com/at-himawari/llm2025_gcp.git
backend
Ollamaのイメージを作成します。
docker build -t phi3:latest .
docker tag phi3 asia-northeast1-docker.pkg.dev/プロジェクトID/phi3/phi3:latest
docker push asia-northeast1-docker.pkg.dev/プロジェクトID/phi3/phi3:latest
frontend
Open-WebUIのDockerイメージを作成します。
docker build -t open-webui:latest .
docker tag open-webui:latest asia-northeast1-docker.pkg.dev/プロジェクトID/open-webui/open-webui:latest
docker push asia-northeast1-docker.pkg.dev/プロジェクトID/open-webui/open-webui:latest
Cloud Runの設定
環境変数を設定します
backend
frontend
Open-WebUIのイメージを使います。
OLLAMA_BASE_URLに、backendのURLを設定します。
無事に作成できましたか?
(結構、端折った)
#接続確認
frontendのエンドポイントURLに接続できたら成功です。(イメージがおもすぎて、未確認)
2025.2.1追記
phi3:miniで試したところすんなりいきました。
コンテナが落ちるとデータが丸ごと吹っ飛ぶのでお気をつけて