Ollamaの使い方!ローカル環境でLLMを動かす

Ollamaの使い方!ローカル環境でLLMを動かす

Ollamaはローカル環境でLLMが使える無料のツールです。

Ollamaを使えば、LlamaやGemmaなどの人気LLMをローカル環境で動かすことができます。

この記事では、Ollamaの環境構築からモデルを使ったテキスト生成の方法まで紹介します。

11/27開催のウェビナーをお知らせ!

目次

Ollamaとは

テキスト生成

Ollamaは、ローカル環境でLLMモデルを動かすことができる無料のツールです。

LlamaやGemmaなどの人気モデルに対応しており、ChatGPTのような分かりやすいインターフェイスで利用できます

OllamaをPythonで使用する方法は、別の記事で解説しています。

ローカルの実行環境

見出し画像

LLMのモデルを使う際に、GPUが必要になります。

この記事では、次のようなGPUを搭載した環境を用意しています。

  • GPU:NVIDIA A100
  • GPUメモリ(VRAM:80GB)
  • OS:Ubuntu 22.04LTS

Windowsをお使いの方は、Ubuntuをインストールする記事をご覧ください。

Ollamaの環境構築

見出し画像

この記事では、OllamaとOpen WebUIの2つのDockerコンテナを使って構築します。

Ollamaはモデルによるテキスト生成を行い、Open WebUIはインターフェースを提供する役割になります。

Dockerのインストール方法は以下の記事をご覧ください。

STEP
docker-compose.ymlファイルの作成

docker-compose.ymlを作成します。

mkdir ollama
cd ollama
nano docker-compose.yml

開いたdocker-compose.ymlファイルに以下の記述をコピーして貼りつけます。

services:
  ollama:
    image: ollama/ollama
    runtime: nvidia
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - .:/app/ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "8080:8080"
    volumes:
      - .:/app/open_webui
    extra_hosts:
      - "host.docker.internal:host-gateway"

volumes:
  ollama:
  open-webui:

[Ctrl + S]キーで変更内容を保存し、[Ctrl + X]キーで編集モードから抜けます。

STEP
Ollamaの起動

docker-compose.ymlの記述をもとに、Dockerコンテナを構築して起動します。    

docker compose up

コンテナが起動したら、ローカルPCの「ブラウザの検索窓」に以下のURLを入力し、Enterを押すとOllamaの画面が表示されます。

http://localhost:8080/

この記事では、ローカルポート8080を使用してOllamaを起動しています。

STEP
Ollamaにログイン

Open WebUIのアカウント未登録の場合は「Sign up」をクリックして、アカウントを作成してください。

既にアカウント登録済みの場合は、メールアドレスとパスワードを入力し、「Sign in」をクリックしてログインします。

サインイン

以下の画面が表示されたらOllamaのログインが成功です。

ログイン後の画面
STEP
モデルの設定

Ollamaにモデルを設定していきます。

右上の[丸い]アイコンをクリックし、「Settings」を開きます。

Settingsを開く

サイドバーから「Admin Settings」を選択します。

モデルの設定

サイドバーから「Models」を選択し、「Pull a model from Ollama.com」にダウンロードするモデル名を入力し、「ダウンロード」アイコンをクリックします。

モデル設定

この記事ではモデル名に”llama3″を入力しています。


Ollamaに対応しているモデルは、Githubから参照できます。

GitHub
GitHub - ollama/ollama: Get up and running with Llama 3.2, Mistral, Gemma 2, and other large languag... Get up and running with Llama 3.2, Mistral, Gemma 2, and other large language models. - ollama/ollama

「Download」列の「ollama run」の右側に表示されている名称が、入力するモデル名になります。

OllamaのGithub
出典:(https://github.com/ollama/ollama)
モデル名の例
  • llama3
  • llama3:70b
  • phi3
  • phi3:medium

Ollamaで用意されていないカスタムモデルを使用する方法は、別記事で解説しています。

Ollamaでテキスト生成

見出し画像

Ollamaを使ってテキスト生成をしてみます。

左上の「New Chat」をクリックし、画面上の「Select a model」から、ダウンロードしたモデルを選択します。

モデルの選択

この記事ではモデルにllama3を使用しています。

画面下の「Send a Message」に”プロンプト”を入力し、[矢印]ボタンを押すと、テキストが生成されます。

プロンプトの実行

次のような出力がされました!

テキスト生成

PyTorchのデータローダーの使い方を日本語で簡単に教えて下さい。

PyTorchのデータローダー(Data Loader)は、機械学習モデルで使用するデータを効率的に読み込み、Batch化して提供します。以下は、日本語での簡単な解説です。


1.インスタンス化

from torch.utils.data import Dataset, DataLoader

# 自分のDatasetクラスを作成
class MyDataset(Dataset):
def __init__(self, data_path):
# データパスからデータを読み込みます
self.data = …

def __len__(self):
return len(self.data)

def __getitem__(self, index):
# index番目のデータを取得して、PyTorchのTensor形式に変換します
data = …
return torch.tensor(data)

2.インスタンス化されたDatasetクラスを使用してDataLoaderを作成

# インスタンス化されたMyDatasetインスタンスを作成
dataset = MyDataset(‘path/to/data’)

# Data Loaderを作成(batch sizeは128)
data_loader = DataLoader(dataset, batch_size=128)

3.データローダーを使用してバッチサイズでデータを読み込み

for i, batch in enumerate(data_loader):
# バッチサイズでデータを取得できます
inputs, labels = batch


以上、PyTorchのデータローダーの基本的な使い方を説明しました。Datasetクラスを作成し、Data Loaderを作成して、バッチサイズでデータを読み込みます。

ChatGPTのような使い方で、テキスト生成ができました!

生成AI・LLMのコストでお困りなら

GPUのスペック不足で生成AIの開発が思うように進まないことはありませんか?

そんなときには、高性能なGPUをリーズナブルな価格で使えるGPUクラウドサービスがおすすめです!

GPUSOROBAN
GPUSOROBAN

GPUSOROBANは、高性能GPU「NVIDIA H200」を業界最安級の料金で使用することができます。

NVIDIA H200は、生成AI・LLMの計算にかかる時間を大幅に短縮することが可能です。

クラウドで使えるため、大規模な設備投資の必要がなく、煩雑なサーバー管理からも解放されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
EdgeHUBロゴ

メールマガジン登録

Stable Diffusion・LLM・RAGに関する最新情報をいち早くお届けします。

無料メルマガの配信をご希望の方は、下記フォームよりご登録ください。

    EdgeHUB編集部からのお知らせ

    無料ウェビナーのお知らせ

    11/27ウェビナー

    RAG×日本語LLMの無料オンラインウェビナー第2弾!

    開催日時:
    2024年11月27日(水) 14:00~15:00

    内容:

    • 「LlamaIndex」と「Llama-3.1-Swallow」でRAG環境を構築
    • 生成AI開発の強い味方「GPUSOROBAN」の活用方法

    このウェビナーでは、オープンソース「LlamaIndex」で構築したRAGの使い方や、デモを紹介します。

    生成AIに関心のある方、AI技術をビジネスに活かしたい方は、ぜひこの貴重な機会にご参加ください!

    こんな方におすすめ!

    • 日本語LLMの利用を検討している方
    • AI開発に携わっている方
    • 最新のAI技術やトレンドに興味がある方
    • GPUスペック不足に悩んでいる方

    \簡単1分で申し込み!/

    この記事を書いた人

    EdgeHUBは、NVIDIAクラウドパートナーである株式会社ハイレゾが運営しています。「AIと共にある未来へ繋ぐ」をテーマに、画像生成AI、文章生成AI、動画生成AI、機械学習・LLM、Stable Diffusionなど、最先端の生成AI技術の使い方をわかりやすく紹介します。

    目次