最近話題となっているLLM(大規模言語モデル)/生成AIを実際に、ディープラーニング専用PCシリーズ「DEEP∞(ディープ インフィニティ)」のGPU搭載モデルで動作させてみました。本記事ではその結果をご紹介します。

チャレンジ&ナレッジ最終更新日: 20250410

DEEP∞(ディープインフィニティ)LLM/生成AI向けモデル動作テスト

  • このエントリーをはてなブックマークに追加

ここでは、最近話題となっているLLM(大規模言語モデル)/生成AIを実際にGPU搭載のモデルで動作させ、その結果をご紹介します。

テストは著名な下記で実施しました。
・大規模言語モデル
Meta Llama3.1-8B、70B
ELYZA.inc Llama-3-ELYZA-JP-8B
Alibaba Cloud Qwen2.5-7B
・画像生成
Flux.1 AI, Inc. FLUX.1

検証環境の紹介

はじめに
・DEEP∞(ディープインフィニティ)LLM/生成AI向けモデルのサポートはハードウェア部分のみとなります。
・動作テストは特定環境下における参考情報であり、特定バージョンでの動作や性能を保証するものではございません。
・環境構築やコード生成のサポートについては行っておりません。
・各モデル固有の機能については、Ubuntu上での全動作を保証するものではございません。

DEEP∞(ディープインフィニティ)LLM/生成AI向けモデルのテストに当たっては、下記構成を使用しました。

DEEP-TXAB-XW24-NQDX
OS Ubuntu 22.04 LTS
CPU インテル Xeon w3-2423 プロセッサー
メモリ 64GB(16GB×4) DDR5 ECC Registered DIMM
GPU NVIDIA RTX 6000 Ada 48GB GDDR6 ×2
ストレージ 1TB NVMe対応 M.2 SSD

テストに使用したモデルの構成

 


Ubuntu22.04上でnvidia-smiを実行。
※テスト環境ではDEEPモデルとは異なり、NGC環境は含まれておらず、ドライバ及びパッケージは自由に更新可能な状態となっています。

Ubuntu22.04上でnvidia-smiを実行Ubuntu22.04上でnvidia-smiを実行

テスト環境の準備を行う

テスト環境の構築を始める前に基本的なアップデートを行い、一度再起動します。

    $ sudo apt update
    $ sudo apt upgrade
    $ sudo reboot

再起動後、Windowsライクなファイル作成と編集が行えるよう、下記の追加を行っておきます。

$ touch ~/テンプレート/空のドキュメント

※必須の作業ではありませんが、新規ファイルが容易に作成できるので、初めての際には追加をおすすめします。

1.Python3関連のインストール

    $ sudo apt install python3-pip
    $ sudo apt install python3.10-venv

※venvは各モデルごとに環境を分けるために利用します。
一部のモデルは依存関係があり、片方の環境を構築すると別の環境が動作しない場合があるため、ここではモデル毎に環境を分けて実験しています。

2.Hugging Faceへのアカウント作成とモデルのアクセス申請、アクセストークンの保存

Hugging Faceのページを開く

Hugging Faceのページを開き、右上の「Sign UP」からアカウント作成を行います。

ログイン後、ページ右上のアイコンからメニューを開き、「Access Tokens」を選択し、「Create new Access Token」からアクセストークンの作成を行います。
今回はテストが目的のため、”Token type”は”Read”を選択しています。

“Save your Access Token”の画面が表示されたらトークン情報を控えておきます。
※画面を閉じてしまうと再確認の方法がなく、トークンの再発行となりますので注意してください。

3.Hugging Faceのトークンのキャッシュへの保存

    $ pip3 install huggingface-hub
    $ python3
    >>> from huggingface_hub import login
    >>> login()

“Enter your token (input will not be visible): “と表示されたら、2. で取得したトークンを貼り付けます。
※非表示のためコピー&ペーストを推奨します。
“Add token as git credential? (Y/n)”の回答はnとします。
※「n」指定ですので間違えないようにご注意ください。
ここまでを終えたら「Ctrl + Dキー」で一度終了します。

Hugging Faceのトークンのキャッシュへの保存Hugging Faceのトークンのキャッシュへの保存

各モデルのテストを行う

ここからは各モデルのテストを行います。
基本的な流れとして、
①venvで個別の環境を作成
②実行ファイルの作成、内容の修正
③実行し動作の確認
となります。
※一部モデルはHuggingfaceのトークンの登録や、別途申請が必要となります。

Alibaba Cloud Qwen2.5-7Bのテスト

1.個別環境の作成
今回は「test」という環境を作成し、Qwenのテスト環境を構築します。

    $ python3 -m venv test
    $ source test/bin/activate
    ※(test)~の状態になったらPythonの仮想環境内になります。
    $ pip3 install transformers torch bitsandbytes accelerate

個別環境の作成個別環境の作成

Hugging FaceのQwen2.5-7B-Instructのページを開き、”Quickstart”の内容をコピーしたファイルを先程のtestディレクトリの中に作成します。
https://huggingface.co/Qwen/Qwen2.5-7B-Instruct

    【ポイント】
    日ごろWindowsを利用している方は右クリック→ファイルの新規作成となりますが、素の状態でのUbuntuではこの操作ができないため、最初に空のドキュメントが作成できるよう、手順を追加していました。

作成したファイルの名前はわかりやすい名前で.pyファイルに書き換えておきます。
今回は「Qwen25_7B.py」としました。

2.Qwenの実行
promptの内容は以下となりました。
“Please tell us about five World Natural Heritage sites in Japan that are popular among travelers.”

promptの内容promptの内容

英語質問しているため、回答も英語です。
promptだけ変えているので、教科書のような回答ですね。
Qwenは日本語の質問も受け付けてくれますが、他のモデルも試してみたいのでここでは一旦終了します。

Llama-3-ELYZA-JP-8Bのテスト

Llama-3-ELYZA-JP-8Bのページを開く

もう少し日本人に分かりやすく答えてほしい、ということで今度は「ELYZA」を利用してみます。

venvでテスト環境を構築したら、Hugging FaceのLlama-3-ELYZA-JP-8Bのページを開き、”Usage”の内容をコピーし、実行ファイルを作成します。

textの内容は以下
“旅行者に人気の日本の世界自然遺産を5箇所教えて下さい。”

Llama-3-ELYZA-JP-8Bのテストを実行Llama-3-ELYZA-JP-8Bのテストを実行

真っ先に富士山を紹介してくれました。人気の場所をどうリスト化して答えるか、の違いなのかもしれません。

Llama-3.1-8B-Instructのテスト

Llama-3.1-8B-Instructのページを開く

ELYZAも試したのであれば、Llama-3.1も、となりますが掲載順序が前後した理由があります。
Hugging Faceにて公開されているモデルのうち、一部のモデルは利用に際して申請が必要となります。モデルの実行に失敗する場合にはHugging Face上から利用申請を行い、承認を得る必要があります。
※事務的な手続きであるため、今回のようなテストケースで却下されることはありませんでした。

流石に標準のままでは回答が難解でしたので、今回は設定も変えています。
設定は以下
“You are a history expert chatbot”

質問内容は以下
“What are three World Heritage Sites in Japan that are popular with tourists?”

Llama-3.1-8B-Instructのテストを実行Llama-3.1-8B-Instructのテストを実行

答えてくれてはいます。回答が読みやすいかどうかは別ですが。
精度が高いことと、読み手に分かりやすく伝える、というのは別の問題のようで、モデルによる差異に感心するばかりです。

Llama-3.1-70B-Instructのテスト

Llama-3.1-70B-Instructのページを開く

合計96GBのVRAMがあるのであれば、高精度なモデルも実行できるのではないか、ということで「Llama-3.1-70B-Instruct」も試してみました。

設定は以下
“You are a history expert chatbot”

質問内容は以下
“What are the top 5 World Heritage Sites in Japan that are popular with tourists?”

ダウンロードが始まったものの、一向に終わる気配がありません。

Llama-3.1-70B-Instructのテストを開始Llama-3.1-70B-Instructのテストを開始

この日は残念ながら時間が足らず、途中で断念しました。
翌日再度挑戦してみましたが、予想の更に倍のデータ量がありました。
回線にもよりますが、ダウンロードに2時間弱を要しました。

ダウンロードの様子ダウンロードの様子

いざ推論が開始されたものの、lama3.1-70Bモデルは推論で約168GBのVRAMが必要なため、2枚のGPUでVRAMを90%以上消費している状態になりました。

VRAMを90%以上消費している状態VRAMを90%以上消費している状態

質問後の出力に15分以上を要しました。70Bモデルの実行はRTX 6000Ada ×4構成を推奨します。

質問の出力質問の出力

FLUX.1のテスト

次にFLUX.1で画像生成のテストを行いました。
環境にはStable Diffusion WebUI Forgeを使用しています。

    GUIでの作業
    UIではFluxを選択
    Checkpointではflux1-dev.safetensorsを選択
    VAE/Textencorderではt5xxl_fp16.safetensors、ae.safetensors、clip_l.safetensorsの3つを選択
    Promptに所望の絵の内容を英語で書く
    Generateボタンを押下
    必要に応じてネガティププロンプト、解像度、step数などを変更

FLUX.1のテストを実行FLUX.1のテストを実行

プロンプト1:Snow-covered mountains, starry skies, lighted towns, lakesプロンプト1:Snow-covered mountains, starry skies, lighted towns, lakes

プロンプト2:Natural, World Heritage, Japan, winterプロンプト2:Natural, World Heritage, Japan, winter

画像生成の際、プロンプトについても調べてみましたが、最近は有料で高精度なプロンプトを出力するサービスもあるようで、環境構築よりもその後のプロンプトの内容の方がより重要であることを確認しました。
上記の画像は約12秒弱で生成されており、GPUパワーを生かすのであれば、より複雑なプロンプトを入力することで、より高精細な画像の出力が可能であるものと考えられます。
今回は動作の確認が目的となりますので、より複雑な画像の生成は行いません。

検証を終えて

今回はDEEPシリーズの中からミドルタワー最高峰のRTX 6000ada 2枚搭載の環境を用いて、LLM/生成AIを実際に動作させてみました。
GPUのメモリ量が重要となっており、小規模の内容であればGeForceなどのコンシューマ製品も動作しますが、GPUのメモリに24GB以上を求める場合にはNVIDIA RTX シリーズのみ構築可能となります。

GPUのメモリ使用率GPUのメモリ使用率

※2枚のGPUのメモリが90%以上消費されており、96GBでも足りないことを実感しました。

NVIDIA RTX シリーズは高額な製品ですが、電力効率と物理サイズに優れており、1台の計算機に2枚以上搭載する場合には唯一の製品となっています。
※GeForce 4090などは3.5スロットサイズ、消費電力も450W以上となることから、一般的な製品では物理的、電力的に2枚の搭載が極めて困難となっております。

合計VRAM 96GBの環境であれば6000 ada 2枚搭載モデルが、合計VRAM192GBの環境であれば6000 ada 4枚搭載モデルが推奨となります。

ライタープロフィール パソコン工房NEXMAG
[ネクスマグ] 編集部

パソコンでできるこんなことやあんなこと、便利な使い方など、様々なパソコン活用方法が「わかる!」「みつかる!」記事を書いています。

記事を
シェア