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

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

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

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

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

7/24開催のウェビナーをお知らせ!

目次

Ollamaとは

テキスト生成

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

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

ローカルの実行環境

見出し画像

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, Mistral, Gemma 2, and other large language ... Get up and running with Llama 3, 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を使ってテキスト生成をしてみます。

左上の「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は、生成AI・LLM向けの高速GPUを業界最安級の料金で使用することができます。

インターネット環境さえあれば、クラウド環境のGPUサーバーをすぐに利用可能です。

大規模な設備投資の必要がなく、煩雑なサーバー管理からも解放されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
EdgeHUB編集部からのお知らせ

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

ソフトバンクSarashinaウェビナー

日本語LLM「Sarashina」& OCR機能「Phi-3 Vision」の 無料オンラインウェビナー!

開催日時:
2024年7月24日(水) 14:00~15:00

内容:

  • 「Sarashina」や「Phi-3 Vision」の概要と使い方の紹介
  • 生成AI開発の強い味方「GPUSOROBAN」の活用方法

このウェビナーでは、ソフトバンクの日本語の強いの大規模言語モデル「Sarashina」の使い方や、実際にどのように使えるかを具体的に紹介します。

また、画像からテキストを抽出するOCR機能を簡単に作成できる「Phi-3 Vision」の使い方もデモを交えてお見せします。

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

こんな方におすすめ!

  • 最新のAI技術やトレンドに興味がある方
  • AI開発に携わっている方
  • 生成AIの実用的な活用方法を学びたい方
  • 新しいツールや技術を積極的に取り入れたい方

\参加申し込みはこちら!/

この記事を書いた人

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

目次