ConoHa GPUサーバの申し込みから生成AI(LLM)の動作確認までを紹介します。
ConoHa GPUサーバーについて【公式】
https://www.conoha.jp/vps/gpu/
ConoHa VPSでGPUサーバが提供されたので生成AIのプログラムを実行してみました。
GPUなしのConoHa VPSについては以下の記事群をご覧ください。
ConoHa GPUの申し込み
通常のConoHa VPSの利用に比べると少し面倒です。
何度かやり取りがあるので、最低でも平日2日ぐらい必要と想定しておいたほうがいい。
(1)GPUサーバ申請フォームで申し込み
ConoHaのアカウントを持っていない場合は アカウントの作成が必要ですが
ConoHaのアカウントアカウントを持ってる場合もGPUの利用申請が必要です。
(2)個人情報を送付
申請フォーム入力後に、メールで運転免許証、パスポート、健康保険証、住民票 、マイナンバーカードのどれかの提出が必要なメールが来ます。
すでにConoHa WINGやConoHa VPSを使ってクレジットカード決算できる状態なのに、今更なぜという感じですが、指示通りに運転免許証を画像で送付。
(3)利用可能とメールが来る
メールで提出後に利用可能の連絡が来ます。その際に利用可能な台数の記載があります。
私はL4を1台で申し込みましたが、以下の台数が利用可能だそうです。
■GPUサーバーご利用可能台数
H100・・2台
L4・・・4台
GPUサーバーの作成までの流れ
GPUサーバーの作成までの流れ
1.コントロールパネルにログイン(https://www.conoha.jp/login)
2.画面上部の「VPS」を選択し、左メニューの「サーバー追加」を選択
3.サーバー追加画面のサービスにて「GPUサーバー」を選択
4.スペック・数量等を選択。rootのパスワードなどを入力。
5.画面右のカートの内容を確認し「追加」をクリック
構築には5分ほどかかります。
OSは、Ubuntu 22.04しか選択できません。現時点では、Windowsは存在しません。
構築後の状態は以下。「起動中」になれば利用可能です。
基本的な利用方法は、ConoHa VPS(Linux)と同じなので、以下の記事をご覧ください。
使い方がイメージできない方は、時間課金で1GBメモリ程度の安いVPSを払い出して練習てもいいかもしれません。
・「VPS」-「Ubuntu」-「時間課金」-「1GB」で1時間 1.9円です。
私も以下の問題で、ConoHa GPUサーバにssh接続できなかったので、 「VPS」-「Ubuntu 22.04」-「時間課金」-「1GB」を作成して確認しました。
その時は、Ubuntuの問題も疑っていたので、Ubuntu 22.04 と Rocky Linux 8.9を作成して確認しました。費用は3円と1.5円です。素晴らしい低コストです。
費用
試しで NVIDIA L4 を時間課金で使ってみました。1時間 169.4円です。
以下の画像の利用金額は、NVIDIA L2を2つ作成して1時間前後の利用だったのですが、2回とも280円になっています。
1時間10分などの利用は、2時間扱いですかね。1つは1時間を超えないように使ったつもりだったのですが、費用の時刻の切れ目がよく分かりません。
Ubuntuに接続して利用
SSH接続できずに、いろいろ調べている間に1時間の料金を失う。。。
■CPUはこんな感じ
たぶん、仮想化されているのでCPUの具体的な型番などは不明。(model番号で多少推測できるが)
$ $ cat /proc/cpuinfo vendor_id : GenuineIntel cpu family : 6 model : 134 model name : Intel Xeon Processor (Icelake) stepping : 0 microcode : 0x1 cpu MHz : 2095.044 cache size : 16384 KB physical id : 19 siblings : 1 core id : 0 cpu cores : 1 apicid : 19 initial apicid : 19 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid fsrm md_clear arch_capabilities vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs taa mmio_stale_data bogomips : 4190.08 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 57 bits virtual power management:
■ディスクはこんな感じ
ディスクの追加はしてないので 100GB。
$ $ df Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 13189996 1112 13188884 1% /run /dev/vda2 103017980 6165212 92432688 7% / tmpfs 65949972 0 65949972 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 65949972 0 65949972 0% /run/qemu tmpfs 13189992 4 13189988 1% /run/user/0
■メモリ 128GB
$ $ free -h total used free shared buff/cache available Mem: 125Gi 391Mi 124Gi 1.0Mi 464Mi 124Gi Swap: 2.0Gi 0B 2.0Gi
■GPU NVIDIA L4 24GB
23034MiBとなっていますが。
$ $ nvidia-smi Mon Jul 8 19:08:13 2024 +-------------------------------------------------------------------+ | NVIDIA-SMI 555.42.06 Driver Version: 555.42.06 CUDA Version: 12.5 | |-----------------------------------------+-----------+--------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |====================================+==================+========| | 0 NVIDIA L4 Off | 00000000:00:06.0 Off | 0 | | N/A 37C P0 29W / 72W | 1MiB / 23034MiB | 0% Default | | | | N/A | +-------------------------------+------------------+-----------+
生成AI(ローカルLLM)で性能測定
測定プログラムについては以下の記事を参照ください。
生成AI(LLM)に必要なPythonライブラリをインストールして、Pythonプログラムを実行して他のサーバと比較します。
一番右が今回利用したNVIDIA L4の性能です。
そこそこの測定値ですが、驚くような値ではありません。L4はそんなに高性能ではない。
比較のためにGPUなしのサーバの情報も記載しています。
NVIDIA L4でたまに遅いときがあります。
GPUのリソース使用状況1
9841 MiB=9.8GB GPUメモリを使用しています。
この生成AIのプログラムは、LLMのモデルファイルをGPUのメモリに読み込んで処理するので、メモリサイズもGPUの処理性能も必要になります。
python3 simple-query1-test.py google/gemma-2b-it 128 を実行
(8)2024年07月08日 19:09:49 LLM回答生成 開始
(9)2024年07月08日 19:09:52 完了 ★3秒
# nvidia-smi -l 1 –query-gpu=timestamp,utilization.gpu,utilization.memory,memory.total,memory.free,memory.used –format=csv
timestamp, utilization.gpu [%], utilization.memory [%], memory.free [MiB], memory.used [MiB]
時刻、GPU使用率、GPUメモリ使用率、GPU空きメモリ、GPU使用メモリ
2024/07/08 19:09:43.009, 0 %, 0 %, 22601 MiB, 1 MiB
2024/07/08 19:09:44.009, 0 %, 0 %, 22601 MiB, 1 MiB
2024/07/08 19:09:45.009, 0 %, 0 %, 22601 MiB, 1 MiB
2024/07/08 19:09:46.009, 0 %, 0 %, 22600 MiB, 1 MiB
2024/07/08 19:09:47.010, 18 %, 2 %, 18471 MiB, 4131 MiB
2024/07/08 19:09:48.010, 21 %, 2 %, 13559 MiB, 9043 MiB
2024/07/08 19:09:49.010, 0 %, 0 %, 12847 MiB, 9755 MiB
2024/07/08 19:09:50.010, 0 %, 0 %, 12847 MiB, 9755 MiB
2024/07/08 19:09:51.010, 98 %, 100 %, 12761 MiB, 9841 MiB
2024/07/08 19:09:52.011, 98 %, 100 %, 12759 MiB, 9843 MiB
2024/07/08 19:09:53.011, 87 %, 21 %, 22601 MiB, 1 MiB
GPUのリソース使用状況 2
19439 =19.4GB GPUメモリを使用しています。
GPU使用率(utilization.gpu)が低いのはなぜだろう。
python3 simple-query1-test.py google/gemma-7b-it 128 を実行。
(8)2024年07月08日 19:11:04 LLM回答生成 開始
(9)2024年07月08日 19:12:01 完了 ★57秒 たまに遅い。
# nvidia-smi -l 1 –query-gpu=timestamp,utilization.gpu,utilization.memory,memory.total,memory.free,memory.used –format=csv
timestamp, utilization.gpu [%], utilization.memory [%], memory.free [MiB], memory.used [MiB]
時刻、 GPU使用率,GPUメモリ使用率,GPU空きメモリ,GPU使用メモリ
2024/07/08 19:11:05.732, 32 %, 32 %, 3205 MiB, 19397 MiB
2024/07/08 19:11:06.732, 44 %, 9 %, 3201 MiB, 19401 MiB
2024/07/08 19:11:07.732, 57 %, 29 %, 3435 MiB, 19167 MiB
2024/07/08 19:11:08.733, 48 %, 10 %, 3195 MiB, 19407 MiB
2024/07/08 19:11:09.733, 49 %, 11 %, 3195 MiB, 19407 MiB
2024/07/08 19:11:10.733, 49 %, 10 %, 3195 MiB, 19407 MiB
: 同じようなパターンなので省略
2024/07/08 19:11:53.739, 67 %, 50 %, 3163 MiB, 19439 MiB
2024/07/08 19:11:54.739, 49 %, 11 %, 3403 MiB, 19199 MiB
2024/07/08 19:11:55.740, 32 %, 7 %, 3163 MiB, 19439 MiB
2024/07/08 19:11:56.740, 48 %, 10 %, 3163 MiB, 19439 MiB
2024/07/08 19:11:57.740, 49 %, 10 %, 3401 MiB, 19201 MiB
2024/07/08 19:11:58.740, 68 %, 53 %, 3161 MiB, 19441 MiB
2024/07/08 19:11:59.740, 49 %, 11 %, 3399 MiB, 19203 MiB
2024/07/08 19:12:00.740, 47 %, 10 %, 3163 MiB, 19439 MiB
2024/07/08 19:12:01.740, 49 %, 11 %, 3449 MiB, 19153 MiB
2024/07/08 19:12:02.740, 0 %, 0 %, 3449 MiB, 19153 MiB
最後に
NVIDIA H100 と NVIDIA L4の性能差は、処理内容によると思いますが、2倍以上の性能差があるようです。価格は8倍違いますが、、
https://technical.city/ja/video/H100-PCIe-vs-L4
GeForce RTX 4060 のほうが、L4より高速らしい。
https://technical.city/ja/video/GeForce-RTX-4060-vs-L4
NVIDIA H100 を使ってみたいが、1時間で1,398円は高いな。
しばらく自分のPC(GeForce RTX 4060)とNVIDIA L4で遊んでみようと思います。