ローカルで生成AIを実行できる環境を「Open WebUI」「Ollama」「Kubernetes」で構築してみようクラウドサービスだけじゃない! ローカルPCやサーバ、Kubernetesで生成AI(2)

気軽に試せるラップトップ環境で、チャットbotを提供するオールインワンの生成AI環境構築から始め、Kubernetesを活用した本格的なGPUクラスタの構築やモデルのファインチューニングまで解説する本連載。今回は、「Open WebUI」「Ollama」「Kubernetes」を活用して生成AIと対話できる環境をローカルで構築する方法を解説します。

» 2025年03月04日 05時00分 公開
[岡本隆史, 正野勇嗣NTTデータグループ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 気軽に試せるラップトップ環境で、チャットbotを提供するオールインワンの生成AI(人工知能)環境構築から始め、Kubernetesを活用した本格的なGPUクラスタの構築やモデルのファインチューニングまで解説する本連載。第1回では、自分で生成AIやLLM(大規模言語モデル)を構築するために押さえておくべきアーキテクチャを概観しました。

 第2回は、「Open WebUI」を活用して、「ChatGPT」のようにブラウザで生成AIと対話できる環境をローカルで構築する方法を解説します。一見すると難しそうに感じるかもしれませんが、本記事を通じて簡単に構築、デプロイできることを実感できるでしょう。

ブラウザ上で生成AIを試せるOpen WebUIとは

 第1回で紹介した「Ollama」は生成AIを試せるオープンソースのAIツールの一つですが、コンソールで生成AIとやりとりするだけでは、生成AIを試せる環境として物足りないと感じることもあるでしょう。ChatGPTのようなWebインタフェースを提供する「Open WebUI」を活用することで、本格的な生成AI環境を手軽に構築できます。

 Open WebUIは、もともとオープンソースの推論フレームワークであるOllamaのWebインタフェースとして開発されましたが、Ollamaから独立し、OpenAI APIをはじめとするさまざまな生成AIサービスやツールと連携できる汎用(はんよう)的な推論フレームワークへと進化しています。

 非常に軽量ながら、RAG(Retrieval-Augmented Generation:検索拡張生成)や、画像/音声を扱うマルチモーダル機能も搭載しており、画像認識や画像生成といった処理にも対応可能です。

 機能以外で注目すべき点は、Open WebUIコミュニティーサイトでたくさんのプラグインやスクリプトが提供されており、「Visual Studio Code」のようにプラグインやスクリプトで簡単に拡張できることです。

Open WebUIコミュニティーサイト Open WebUIコミュニティーサイト

 コミュニティーサイトでは、自由にユーザーがプラグインやスクリプトをアップロードできるようになっており、ユーザーによるエコシステムの構築に力を入れています。そういう意味では、単なるアプリケーションではなく、生成AIフレームワークであるともいえるでしょう。

 その他、下記のような特徴があります。

  1. プライバシーの保護:ローカルの生成AIツールと組み合わせれば、クラウドサービスに情報を送信することなく、生成AI機能を提供可能(※クラウドにデータを送信する設定があるため、変更する必要があります)
  2. RAG機能:Webのサーチエンジンや登録したドキュメントをRAGの入力データとして利用可能。PDFや「Microsoft Office」文書などもRAGで利用可能
  3. 多言語対応:英語以外にも日本語を含む複数な言語をサポート
  4. 簡単なセットアップ:DockerやKubernetesクラスタに簡単にデプロイ可能
  5. RBAC(ロールベースアクセス制御):管理者とユーザーに権限を分けてアクセス制御可能

 執筆時点の最新バージョンは、0.5.4と正式リリースには至っていませんが、コミュニティーにより活発に機能が追加されており、上に述べた通りエコシステムの構築に力を入れているため、今後の発展にも期待できます。

生成AI環境におけるKubernetesの利用

 本連載では、コンテナオーケストレーションの「Kubernetes」を利用して生成AIを構築、デプロイする環境を構築していきます。コンテナやKubernetesを利用することで、下記のようなメリットを享受できます。

  1. 生成AIに必要なコンポーネントを「Helmチャート」やマニフェストなどを利用して一括インストールが可能
  2. OS(Windows/macOS/Linux)やPC/クラウド、アーキテクチャ(Intel/ARM)など環境が変わっても同じ手順で管理可能
  3. Kubernetes、コンテナのエコシステムが利用可能(セキュリティ/ネットワーク機能の利用、他製品のコンテナ、Helmチャートとの連携に対応)

 一方、デメリットとしては、GPUをフル活用するためのノウハウが必要になります。GPUを活用するノウハウは次々回以降、本連載でも解説していきます。

※Open WebUI/Ollamaを構築するコンテナイメージは、ARM(aarch64)、Intel(amd64)用のイメージが提供されています。Intel/AMDのプロセッサのマシンの他、macOSやAWS GravitonなどのARMマシン(ARMアーキテクチャv8以降)の環境でも利用できます。


Kubernetesクラスタの準備

 それでは、Kubernetesクラスタ上にOllamaを利用したOpen WebUI環境をコンテナで構築していきます。本稿で利用するKubernetesはどれでも構いませんが、ここでは、ローカル環境でKubernetesクラスタやコンテナを容易に管理できる「Rancher Desktop」を利用したKubernetesクラスタを用いて解説します。

 既にKubernetesクラスタ環境(パブリッククラウドのマネージドKubernetesサービス、「minikube」「Kind」「K3s」「microk8s」など)がある人は、これらの環境にデプロイしても構いません。ただし、以下の点にご注意ください。

  • LLMを動作させるスペックとして10GB程度のメモリとできるだけ多くのCPUが必要となります。特にメモリが不足すると実行時にエラーが発生します
  • Webインタフェースにアクセスするため、「Ingress」を実行できる環境が必要です。Ingress経由でコンテナ上のWebアプリにつながるようセットアップしてください(Rancher Desktopではデフォルト〈初期値〉でIngressが利用できるようにセットアップされます)

Rancher Desktopのインストール

 Rancher DesktopのWebサイトから、OSを選択してインストールします。WindowsとMacはインストーラ/DMGファイルがダウンロードされるので、通常のアプリケーションをインストールするのと同様にインストールしてください。

 Linuxの場合は、表示される手順に沿ってインストールしてください。

Rancher Desktopのメモリ、CPU使用量の調整

 デフォルトではメモリとCPUの割り当てが少なく、LLMを動作させるのに厳しいため、メモリとCPUの設定を変更します。

  • macOSの場合

 Rancher Desktopのアイコンをクリックし、左下の[Preferences](下図①)から「Virtual Machine」(下図②)を選択してメモリを10GBに変更します。CPUはマシンのコア数-2くらいを設定(8コアの場合6コア程度)します。これによりコンテナが動作するVM(仮想マシン)に十分なメモリとCPUを割り当てることができます。

Rancher Desktopのメモリ/CPUの設定画面 Rancher Desktopのメモリ/CPUの設定画面

 設定を変更したら、Rancher Desktopを再起動してください。再起動すると変更が反映されます。

  • Windowsの場合

 Windowsの場合、Rancher DesktopはWSL(Windows Subsystem for Linux)を利用してLinux OSを起動して、その上でコンテナを実行しています。そのため、WSLの設定に依存することになります。デフォルトではシステムメモリの半分のメモリがコンテナに割り当てられます。ユーザーフォルダ(C:\Users\<ユーザー名>)の「.wslconfig」ファイルで以下のように設定します。

[wsl2]
memory=10GB
swap=0

 メモリのHDDへのスワップが発生すると非常に重くなるので、ここではスワップを無効にしています。

 設定完了後、マシンを再起動してRancher Desktopを起動してください。

  • その他の環境

 その他の環境では、その環境の設定に従ってください。メモリ不足に陥りやすいのでその点は注意してください。

Open WebUIとOllamaのインストール

 Kubernetesの準備が終わったら、Open WebUIとOllamaによる生成AIのチャットbot環境を作っていきましょう。環境は、Kubernetesにチャート(パッケージ)をインストールするためのhelmコマンドを利用します。

 ちなみに今回の構成では、インストールするラップトップやPCにGPUが搭載されている場合でも、GPUは利用しません。GPUの利用については次回解説します。

 まず、Open WebUIのHelmチャートの設定ファイルvalues.yamlを用意します。任意の場所に以下の内容でvalues.yamlを新たに作成します。

ingress:
  enabled: true
  host: null
  # 特定のホスト名でWebページにアクセスするには上記hostの値をopen-webui.localのようにホスト名のFQDNにする。
  # host: "open-webui.local"
extraEnvVars:
# デバッグメッセージの出力設定
- name: GLOBAL_LOG_LEVEL
  value: "DEBUG"
- name: OLLAMA_DEBUG
  value: "1"
# パフォーマンスの向上の設定
- name: ENABLE_AUTOCOMPLETE_GENERATION
  value: "false"
- name: ENABLE_TAGS_GENERATION
  value: "false"
- name: ENABLE_SEARCH_QUERY_GENERATION
  value: "false"
- name: ENABLE_RETRIEVAL_QUERY_GENERATION
  value: "false"
# Arenaモデルの無効化
- name: ENABLE_EVALUATION_ARENA_MODELS
  value: "false"
# pipelineのOpenAPI Key(組み込みpipelineのdefault値)
- name: OPENAI_API_KEY
  value: "0p3n-w3bu!"
# Ollama(推論エンジン)の設定
ollama:
  enabled: true # Ollamaも一緒にインストール
  persistentVolume: # 永続化ストレージを利用
    enabled: true
# Apache Tikaによるファイルのパースを設定
tika:
  image:
    tag: 3.1.0.0-full
  enabled: true
values.yamlの内容

 helmコマンドでOpen WebUIのリポジトリを指定して、先ほど作成したvalues.yamlを指定して実行すればチャットbot環境を構築できます。

% helm repo add open-webui https://helm.openwebui.com/
% helm repo update
% helm upgrade --install --version 5.20.0 --create-namespace  open-webui open-webui/open-webui -nopen-webui -f values.yaml

 本連載では、バージョン5.20.0をインストールしますが、--versionオプションを省略することで、最新版をインストールできます。

 Rancher Desktopを利用していれば、helmコマンドも自動的に導入されますが、Rancher Desktop以外の環境でhelmコマンドがない場合は、下記記事を参考にしてhelmをインストールしてください。

 kubectl get podsコマンドでPodが実行されていることを確認できれば、環境構築に成功しています。

$ kubectl get pods -nopen-webui
NAME                                    READY   STATUS      RESTARTS   AGE
open-webui-0                            1/1     Running     0          14d
open-webui-ollama-68685c946-6lgw6       1/1     Running     0          9h
open-webui-pipelines-764d5c7cb8-gdzsg   1/1     Running     0          14d
open-webui-tika-7b5d7c757c-5f426        1/1     Running     0          14d

 STATUSの部分が「Running」でない場合は、1、2分待ってから再度確認してみてください。また、今回の環境はメモリが16GB程度のマシンで実行することを想定しています。それより低いスペックのマシンやサーバの場合、メモリエラーにより動作しない可能性があるので、注意してください。

 全てRunningになったらブラウザでhttp://localhost/(サーバ上で起動し、PCから接続する場合は、サーバのIPアドレス/ホスト名などを指定)を開いて確認します。

Open WebUI起動画面 Open WebUI起動画面

 なお、設定変更やバージョンアップの際には、helm upgradeコマンドの--versionオプションを変更し、helm repo update/helm upgradeコマンドを実行することで簡単に更新、変更できます。

 上記のOpen WebUIのセットアップにより、下記の図にあるコンポーネントがインストールされます。

Open WebUIのアーキテクチャ Open WebUIのアーキテクチャ
  • Open WebUI:生成AIを利用してユーザーと対話するためのインタフェース
  • Ollama:生成AIの推論エンジン。Open WebUIからテキストを受け取り、指定したモデルを使って応答テキストを生成
  • Hugging Face:モデルを取得するモデルリポジトリとして利用
  • Ollama Hub:Ollama専用のモデルリポジトリ。Hugging Faceに比べモデル数は少ないが、Ollamaで利用できるモデルのみがアップロードされている(Hugging FaceはOllamaが利用できないモデルを含んでいる)
  • Search Engine:RAGで利用するための検索エンジン。Google、Bingなどが利用可能(次回解説)
  • Apache Tika:PDFやMicrosoft Office文書などからテキストを抽出するパーサ(次回解説)
  • Open WebUI Community:さまざまなOpen WebUI拡張コンポーネント、スクリプトが公開されているコミュニティーサイト(次回解説)
  • Open WebUI Pipeline:パイプラインエンジン。高度な処理に利用

Open WebUIを使ってみよう

 さて、インストールができたら早速、Open WebUIを使ってみましょう。

管理者アカウントを作成

 Open WebUIを利用する前に、管理者アカウントを作成する必要があります。Open WebUIのサイトにアクセスし、「Get started」をクリックすると管理者アカウントの作成画面になるので、ここで管理者アカウントを作成します。

管理者アカウントの作成 管理者アカウントの作成

 名前、メールアドレス、パスワードを入力して「Create Admin Account」をクリックしてください。

利用するモデルの選定

 Open WebUIでモデルを利用するには、学習済みのモデルを選んで指定する必要があります。

 有名なモデルとしては「Llama」があり、日本語の扱いを強化したモデルとして「ELYZA」「Swallow」、コーディングに特化した「CodeQwen」、マルチモーダル(テキストと画像や音声など複数のメディアを扱える)モデルとして「LlaVa」などがあります。

 本稿では、16GB程度のメモリを積んだPCで実行可能なモデルとして、質問に対してそれなりの回答が得られるSwallowの量子化モデルバージョンを利用します。Swallowは東京科学大学(旧東京工業大学)と産業技術総合研究所(産総研)が開発しており、Llama3をベースに日本語特化の追加学習をしたモデルです。

 ただし、Swallowの量子化モデルは、Hugging Faceで有志が公開している非公式のモデルとなります。

Open WebUIでのモデルのダウンロード(プル)

 Open WebUIの画面から[モデルを選択]をクリックすると、モデル検索画面が表示されます。モデル検索画面で、「hf.co/okamototk/Llama-3.1-Swallow-8B-Instruct-v0.3-imatrix-gguf:Q4_K_M」と入力します。

 すると、「結果が見つかりません」と表示されますので、その下にある[Ollama.comからモデル名をプル]を選択します。

モデルの検索とプル※上記画面ではモデル名が長すぎて「をプル」が表示されていません モデルの検索とプル ※上記画面ではモデル名が長すぎて「をプル」が表示されていません

 これで、モデルのダウンロードが始まります。「<モデル名>が正常にダウンロードできました」とメッセージが表示されたら、モデルのダウンロードは完了です。

 [モデルを選択]から、ダウンロードしたモデルを選択します。

モデルとチャットしてみよう!

 テキストボックスにメッセージを入れると、ChatGPTのように生成AIと対話できます。「美味しいお茶のブランドを教えてください」と質問すると、詳細な情報を求められるので入力すると、下記のようにお薦めのお茶を教えてくれます。

チャット画面 チャット画面

 なお、同じモデルを利用しても上記とは異なる答えになる場合があります。また、最初のチャットは、メモリにモデルをロードするのに時間がかかるため、テキストを表示しはじめるまでに時間がかかりますので、ご注意ください。

 2回目からはすぐにテキストが表示されるようになりますが、しばらく実行しないとメモリからモデルが解放されるため、初回アクセスでまた時間がかかるようになります。

チャット内でインタラクティブなコード実行をしてみよう

 2025年2月13日にリリースされたOpen WebUI 0.5.11にて、Code Interpreter機能が追加されました。Code Interpreterにより、Pythonコードの作成支援とチャット内でのコード実行ができるようになります。

 Code Interpreterを利用するには、チャットボックスの下にある[Code Interpreter]をクリックします。すると、緑のランプと「Execute code for analysis」が表示されます。

Code Interpreterの利用 Code Interpreterの利用

 その状態で、指示を入力すると、コードを作成してくれます。コードにある[Run]ボタンをクリックすることにより、コードの実行結果をチャット画面内で即座に得ることができます。

Code Interpreterによるコードの実行結果 Code Interpreterによるコードの実行結果

 なお、信頼できないユーザーによるチャット内でのコード実行はセキュリティの脆弱(ぜいじゃく)性にもつながるため、Code Interpreter機能は無効化することもできます。

チャット実行時のトラブルシューティング

 チャットで質問を入力した際にエラーとなり正しい回答が得られないこともあります。その場合は、以下の手順で原因を特定します。

 まず、動作しているPodを確認します。

% kubectl get pods -nopen-webui
NAME                                    READY   STATUS    RESTARTS   AGE
open-webui-0                            1/1     Running   0          8m55s
open-webui-ollama-7b54598f9d-gvdnp      1/1     Running   0          8m55s
open-webui-pipelines-7f6cc498fc-7h8mt   1/1     Running   0          8m55s
open-webui-tika-74c4c4fc6-x4hmz         1/1     Running   0          93s

 open-webui-ollama-xxxxxという名前のPodがLLMを実行しているOllamaのPodです。このPodのログを確認してみます。

% kubectl logs -nopen-webui open-webui-ollama-7b54598f9d-gvdnp
...
time=2024-12-21T09:25:37.914Z level=INFO source=server.go:104 msg="system memory" total="5.8 GiB" free="3.4 GiB" free_swap="0 B"
time=2024-12-21T09:25:37.915Z level=WARN source=server.go:136 msg="model request too large for system" requested="6.2 GiB" available=3668729856 total="5.8 GiB" free="3.4 GiB" swap="0 B"
time=2024-12-21T09:25:37.915Z level=INFO source=sched.go:428 msg="NewLlamaServer failed" model=/root/.ollama/models/blobs/sha256-44aa7f50ddbb6350baabff84a761f3fc27860a017eca703eb7aa08e8311120e9 error="model requires more system memory (6.2 GiB) than is available (3.4 GiB)"
...

 ログメッセージを確認すると、システムメモリが6.2GiB必要(requested="6.2 GiB")だが、利用可能なメモリが3.4GiB(=3.65GB)(free="3.4 GiB")で不足しているというエラーメッセージが出力されていることが分かります。

 Rancher Desktopのコンテナへのメモリ設定はデフォルトで4GB程度となるため、エラーが発生しています。「Kubernetesクラスタ構築」を確認して、クラスタで利用できるメモリを増やすなど対応してみましょう。

他のモデルを試す際に知っておきたいポイント

 ここまでで、ローカルでダウンロードしたモデルを実行してチャットできるようになりました。モデルはさまざまなフォーマットで提供されていますが、本稿で利用するOllamaは「gguf」と呼ばれるファイルフォーマットをサポートしています。

 ggufは元のモデルと比べより少ないビット数表現した量子化されたモデルを扱うためのフォーマットで、CPUや低性能なGPUにおいて効率的な推論ができるように設計されています。

 Swallowの量子化モデル以外をローカルで試したくなったら、以下のポイントを参考に選ぶとよいでしょう。なおHugging Faceでモデルを探す方法については「モデルハブの歩き方」で解説します。

パラメーター数(モデル規模)

 モデルには、パラメーター数と呼ばれるモデルの表現力を決める値があり、一般的にモデル規模などと呼ばれています。パラメーター数だけでモデルの性能が決まるわけではありませんが、通常このパラメーター数が大きいほどモデルが高性能となり、モデル規模が「7B」と記載されていれば、70億のパラメーターを持つという意味になります。

 パラメーター数が大きくなればなるほど、大量の計算リソース(CPU/GPU/RAM)が必要となります。

量子化(Quantize)

 モデルは「量子化」と呼ばれる手法により、モデルサイズを小さくできます。低性能なPC環境で動作させる場合、量子化により推論のメモリ使用量の削減と速度向上が期待できます。今回利用しているOllamaの場合、GitHubリポジトリに記載されている量子化をサポートしています。量子化モデルの「Q4」などの数字は、量子化したビット数を表しており、数字が小さいほど少ないビット数でモデルが量子化されサイズが小さくなることを示していますが、モデルサイズが小さくなると、元のモデルに対する性能劣化も大きくなります。

 また、量子化されたモデルには、L(大)、M(中)、S(小)とサイズがあり、小さいモデルほどサイズは小さくなりますが、性能劣化が大きくなります。

 また「iMatrix」と呼ばれる、重要度が高いパラメーターに多くのビットを割り当て、重要度の小さいパラメーターに少ないビットを割り当てる手法があります。iMatrixを利用することにより、精度を落とさずに効率的に量子化できます。モデル名にiMatrix、iMat、i1の文字が含まれる場合は、iMatrix版であることを示しています。

 執筆時点で主流となっている手法が「K-Quants」です。この手法は、重みの量子化をブロックごとに分けて量子化するもので、ブロック内の性能劣化を抑えることができます。

 コミュニティー内では、「Q4_K_M」「Q5_K_M」が性能劣化させずサイズを小さくできるバランスの取れた量子化だと評価されています(参考:Difference in different quantization methods)。そのため本稿では、できるだけモデル性能を落とさずにサイズが小さくなったSwallowのiMatrix版モデル(Q4_K_M)を利用しています。

蒸留(Distillation)

 本稿では利用しませんでしたが、OpenAIの「GPT-4o-mini」やDeepSeekのモデルで注目されているのが、「蒸留」という概念です。蒸留は、大きな教師モデルの知識を小さな生徒モデルに転移する技術です。教師モデルが生成する出力を生徒モデルの学習に利用し、生徒モデルが教師モデルに近い出力を持つように調整することにより、生徒モデルの性能が向上します。モデル名に「Distill」という文字が含まれる場合は、蒸留モデルであることを示しています。

 例えば、高性能なLLMとして注目されたDeepSeekの蒸留モデルの一つである「DeepSeek-R1-Distill-Llama-8B」は、「Llama-8B」をベースモデルとし、蒸留させていることを示しています。

モデルハブの歩き方

 新しい生成AIモデルが公開されるとニュースなどで話題になりますが、これらのモデルは多くの場合、Hugging Faceで公開されます。Hugging Faceはいわゆるモデルに特化したGitHubのようなもので、オリジナルのモデルの他、ユーザーが量子化したファインチューニングしたモデルや、トレーニングデータなども公開されています。

 本稿では、Swallowの量子化モデルを利用しました。このモデルを探すイメージを例に、Hugging Faceで利用したいモデルを探す方法を紹介します。

 まず、Hugging Faceのモデル検索ページで「Models」の右の検索ボックスに「Swallow」を入れて検索します。

Swallowの検索画面 Swallowの検索画面

 検索結果で幾つかのファイルやREADME.mdが表示されます。項目に表示されているのは「ユーザー名やリポジトリの組織名/モデル名/ファイル名」の順番で、左側を選択するとモデルやファイルを公開しているユーザーや組織のページを確認できます。

 ここでは、「tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.3」のモデルを選択しアクセスします。なお「tokyotech-llm」のページを開いてみると、説明欄に、東京科学大学のリポジトリである旨が記載されています。

 ファイル名に含まれるInstructは、プロンプトによる指示(対話、翻訳、要約など)により、特定のタスクに対して性能が向上するようにチューニングされたモデルであることを指しています。Instructの他にチャット用にチューニングされたChat、コーディング用に最適化されたCoderなどの名前が含まれることもあります。

 モデルサイトにアクセスし、サイトの右側を確認すると「Quantizations」という項目があり、「<数字> models」と、Hugging Faceで公開されている量子化モデルを確認できます。

モデルの画面 モデルの画面

 「<数字> models」の部分をクリックすると、量子化されたモデル一覧が表示されます。

量子化されたモデル一覧 量子化されたモデル一覧

 5つのモデルをそれぞれ確認してみます。ggufフォーマットで提供されているモデルを利用したいので、GGUFの文字が含まれているモデルを選択します。また、量子化にはiMatrixを利用しているモデルは性能が良いため、i1の文字列が入っている「mradermacher/Llama-3.1-Swallow-8B-Instruct-v0.3-i1-GGUF」を選択します。

 選択すると、モデルの詳細が表示され、右側に利用できる量子化モデルが表示されています。

量子化されたモデル一覧 量子化されたモデル一覧

 モデルの劣化が少なくサイズが小さいQ4_K_Mを選択します。モデルの詳細が表示されるので、内容を確認し、[Use this model]を選択すると、サポートしているライブラリやツール一覧が表示されます。ここでは「Ollama」を選択します。

モデルの詳細 モデルの詳細

 すると、ollamaでモデルを利用するためのコマンドが表示されます。

Ollamaでモデルを利用するコマンド Ollamaでモデルを利用するコマンド

 ここで、ollama runコマンドを除いたモデル名をコピーします。

  • hf.co/mradermacher/Llama-3.1-Swallow-8B-Instruct-v0.3-i1-GGUF:Q4_K_M

 これが、Open WebUIでOllamaをバックエンドに利用する際のモデル名として必要になります。なお、上記の量子化モデルは、東京科学大学が公式に配布しているものではなく、「mradermacher」というユーザーが公開したモデルとなるのでご留意ください。ここで見つけたモデルは、ライセンスへの順守が完全ではないため、本稿では著者が量子化したモデルを利用しています。ビジネスで利用する場合は、モデルのライセンスにも注意してください。

 このような流れで、ローカルで動かすモデルを、Hugging FaceやOllama Hubなどのモデルハブで探すことができます。Swallowだけでなく、他のモデルを使いたい人は上記の手順を参考に探して実行してみてください。

おわりに

 生成AIは学習データを基に回答を生成しているため、学習データにないこと、例えば「2025年元日の東京の天気は?」といった最新の質問には答えられないので注意してください。

 次回は、RAGを利用して生成AIが持たない外部データを活用したり、GPUを利用して応答速度を向上させたりする方法を紹介します。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。