フィジカルAI研究室を作る Log#10 | 位置を変えたお手本で、Physical Intelligence の π0.5 を学習し直した
机の上の小さなロボットアームに「赤いブロックを白い箱に入れる」動きを覚えさせている AI が、ブロックを見ていませんでした。お手本の動きを19回分見せて学習させたところ、ブロックをどこに置いても、アームは毎回ほぼ同じ場所へ手を伸ばしていました。原因はお手本のほうで、19回ともブロックをほぼ同じ場所に置いて録っていたからです。AI から見ると「いつもの場所に手を伸ばせば正解」で、カメラに映るブロックの位置を見る必要がありませんでした。
そこで、ブロックの置き場所を5か所に変えて、お手本を19回分録り直しました。ブロックをつかむ瞬間のアームの土台の向きは、前回の19回が −42°〜−28° の範囲に収まっていたのに対し、今回は −62°〜+13° に広がっています。この回は、その新しいお手本で AI を学習し直した記録です。使った AI は、米国の Physical Intelligence 社が公開しているロボット用のモデル π0.5(パイレイテンゴ)です。カメラの画像と指示文を受け取って、関節をどう動かすかを返します。手元のアーム mechArm 270(関節6つの小型アーム)で録ったお手本を使って、追加で学ばせています(ファインチューニング)。
学習は4,000回分の練習(ステップ)を、7時間55分かけて行いました。お手本の動きとの差を表す数字(loss)は 0.0858 から 0.0037 まで下がりました。前回、ほぼ同じ場所のお手本で学習したときと並べると、1,000ステップで 0.0078 と 0.0082、3,000ステップで 0.0047 と 0.0047 で、ほとんど同じ下がり方です。loss はお手本をどれだけまねできたかの数字なので、ブロックの位置に合わせて手を伸ばすようになったかは、この数字からは分かりません。 それは次に、実機のアームで確かめます。
学習そのものより時間がかかったのは、GPU(学習に使う計算用の部品)を借りるところでした。Runpod というサービスで、前回と同じ A40 を時間単位で借りようとしたところ、朝6時半から空きがありませんでした。別の種類の GPU も、一覧に「空いている」と出ているのに、押すと「もうありません」と返ってきます。結局、「空いたら自動で起動する」予約を入れて待ち、起動したのは11時ごろでした。
| やったこと | なぜ | 結果 |
|---|---|---|
学習の設定を、新しいお手本用に別の名前で足した | 前回の学習と、正規化の統計や保存先が混ざらないようにするため | 変えたのは名前・データ名・ステップ数の3か所だけ |
| GPU(A40)を借りた | 学習には GPU が要る | 6:39 から空きがなく、予約で待って11時ごろ起動 |
19本・3,949コマを学習用の形式に変えた | openpi(π0.5 の学習用のコード)が読める形にするため | 変換と統計の計算で数分 |
| 4,000ステップ学習した | 前回と同じ回数でそろえて比べるため | 7時間55分、1ステップ約7.0秒、loss 0.0858 → 0.0037 |
学習したモデルを手元の SSD に持ち帰り、照合した | GPU を返すと中身が消えるため | 29ファイル・6.34GB、名前とサイズがすべて一致 |
GPU は Runpod の Secure Cloud(Runpod 自身のデータセンター)の A40 を、1時間 0.62 ドルで借りました。かかった費用は約 5.45 ドルです。
この回の作業は、Claude(Anthropic の AI)と一緒に進めました。学習の設定を足すスクリプトと手順は Claude が書き、Runpod の画面操作、Mac のターミナルでのコマンドの実行、GPU の空きの確認はこちらで行っています。ここから下は、使ったコマンド・コード・出力を全量で載せた作業ログです。
作業ログ ― 新しいお手本 teach_v1 は、5か所・19本・3,949ステップ
使ったお手本は、手でアームを動かして要所の姿勢を教え、その動きをアームに再生させながら、真上のカメラで画像と関節の角度を録ったものです(集め方は LOG352 に全量で載せています)。データセットの名前は mecharm_redblock_box_teach_v1 です。
前回まで使っていたお手本 mecharm_redblock_box_scripted_v1 との違いは次のとおりです。
| 項目 | scripted_v1(前回まで) | teach_v1(今回) |
|---|---|---|
| 集め方 | ブロックの位置をカメラで見つけて動くスクリプトを回した | 手で教えた動きを再生した |
| ブロックの置き場所 | ほぼ同じ場所 | 5か所 |
| 学習に使った本数 | 19本 | 19本 |
| コマ数(10Hz) | 5,635 | 3,949 |
| 指示文 | put the red block in the white box | 同じ |
| 画像の大きさ | 384×216 | 同じ |
1本あたりのコマ数が少ないのは、手で教えた動きのほうが、スクリプトの動きより短いためです。4,000ステップ × 1回32コマで数えると、今回は全コマを約32周、前回は約23周見たことになります。
データセットの索引(index.json)の全20項目です。1本目は記録のファイルがそろっていなかったので、変換の段階で外れています。
{
"run_0001_20261019_183116": {
"run": "run_0001_20261019_183116",
"used": false,
"reason": "missing:states.csv,top.mp4,top_frame_log.csv"
},
"run_0001_20261019_183454": {
"run": "run_0001_20261019_183454",
"used": true,
"reason": "ok",
"steps": 208,
"idle_trimmed_sec": 15.4
},
"run_0001_20261019_191257": {
"run": "run_0001_20261019_191257",
"used": true,
"reason": "ok",
"steps": 205,
"idle_trimmed_sec": 14.1
},
"run_0001_20261019_191347": {
"run": "run_0001_20261019_191347",
"used": true,
"reason": "ok",
"steps": 208,
"idle_trimmed_sec": 16.6
},
"run_0001_20261019_191441": {
"run": "run_0001_20261019_191441",
"used": true,
"reason": "ok",
"steps": 241,
"idle_trimmed_sec": 20.7
},
"run_0001_20261019_191541": {
"run": "run_0001_20261019_191541",
"used": true,
"reason": "ok",
"steps": 211,
"idle_trimmed_sec": 15.3
},
"run_0001_20261019_191635": {
"run": "run_0001_20261019_191635",
"used": true,
"reason": "ok",
"steps": 214,
"idle_trimmed_sec": 15.3
},
"run_0001_20261019_192343": {
"run": "run_0001_20261019_192343",
"used": true,
"reason": "ok",
"steps": 200,
"idle_trimmed_sec": 14.3
},
"run_0001_20261019_192438": {
"run": "run_0001_20261019_192438",
"used": true,
"reason": "ok",
"steps": 202,
"idle_trimmed_sec": 15.3
},
"run_0001_20261019_192539": {
"run": "run_0001_20261019_192539",
"used": true,
"reason": "ok",
"steps": 203,
"idle_trimmed_sec": 15.2
},
"run_0001_20261019_192633": {
"run": "run_0001_20261019_192633",
"used": true,
"reason": "ok",
"steps": 198,
"idle_trimmed_sec": 15.3
},
"run_0001_20261019_193404": {
"run": "run_0001_20261019_193404",
"used": true,
"reason": "ok",
"steps": 228,
"idle_trimmed_sec": 14.2
},
"run_0001_20261019_193459": {
"run": "run_0001_20261019_193459",
"used": true,
"reason": "ok",
"steps": 234,
"idle_trimmed_sec": 13.4
},
"run_0001_20261019_193617": {
"run": "run_0001_20261019_193617",
"used": true,
"reason": "ok",
"steps": 216,
"idle_trimmed_sec": 15.2
},
"run_0001_20261019_193825": {
"run": "run_0001_20261019_193825",
"used": true,
"reason": "ok",
"steps": 245,
"idle_trimmed_sec": 16.8
},
"run_0001_20261019_193932": {
"run": "run_0001_20261019_193932",
"used": true,
"reason": "ok",
"steps": 212,
"idle_trimmed_sec": 15.2
},
"run_0001_20261019_194818": {
"run": "run_0001_20261019_194818",
"used": true,
"reason": "ok",
"steps": 183,
"idle_trimmed_sec": 15.6
},
"run_0001_20261019_194913": {
"run": "run_0001_20261019_194913",
"used": true,
"reason": "ok",
"steps": 183,
"idle_trimmed_sec": 15.2
},
"run_0001_20261019_195023": {
"run": "run_0001_20261019_195023",
"used": true,
"reason": "ok",
"steps": 180,
"idle_trimmed_sec": 15.3
},
"run_0001_20261019_195120": {
"run": "run_0001_20261019_195120",
"used": true,
"reason": "ok",
"steps": 178,
"idle_trimmed_sec": 15.4
}
}
新しいお手本は、つかむ瞬間の土台の角度が −61.7°〜+13.2° に広がっている
お手本の置き場所が本当に散らばっているかを、角度で確かめました。各お手本で爪を閉じた最初のコマ(グリッパーの記録が 0 から 1 に変わったコマ)の、関節6つの角度を並べています。j0 はアームの土台の回転、j1 は肩です。
cd /Volumes/KIOXIA/r2r2r-data/datasets && python3 -c "
import numpy as np,glob,json
for ds in ['mecharm_redblock_box_teach_v1','mecharm_redblock_box_scripted_v1']:
idx=json.load(open(ds+'/index.json'))
rows=[]
for d in sorted(glob.glob(ds+'/raw_episodes/run_*')):
name=d.split('/')[-1]
if not idx.get(name,{}).get('used'): continue
s=np.load(d+'/episode.npz')['state']
g=np.where(s[:,6]>0.5)[0]
i=int(g[0]) if len(g) else -1
rows.append([name, i, len(s)]+[round(float(v),1) for v in s[i,:6]])
for r in rows: print(ds[22:], r)
a=np.array([r[3:5] for r in rows]); print('j0 range',a[:,0].min(),a[:,0].max(),'j1 range',a[:,1].min(),a[:,1].max())
"
今回のお手本(teach_v1・19本)です。置き場所の番号は LOG352 の記録(runs/experiments/record_teach_demo/20261019_LOG352/README.md)の番号です。
| 置き場所 | 試行 | 爪を閉じたコマ | 全コマ | j0 土台 | j1 肩 | j2 肘 | j3 | j4 手首 | j5 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | run_0001_20261019_183454 | 84 | 208 | -36.4 | 81.6 | 7.9 | 3.5 | -87.7 | -29.4 |
| 2 | run_0001_20261019_191257 | 67 | 205 | -34.8 | 87.9 | -34.0 | 7.1 | -45.9 | -34.3 |
| 2 | run_0001_20261019_191347 | 68 | 208 | -34.7 | 87.9 | -34.0 | 6.5 | -46.3 | -34.5 |
| 2 | run_0001_20261019_191441 | 95 | 241 | -35.7 | 87.5 | -35.5 | 6.8 | -40.5 | -35.8 |
| 2 | run_0001_20261019_191541 | 78 | 211 | -35.7 | 87.9 | -34.0 | 6.4 | -46.1 | -34.5 |
| 2 | run_0001_20261019_191635 | 75 | 214 | -35.5 | 87.9 | -34.0 | 6.4 | -46.1 | -34.5 |
| 3 | run_0001_20261019_192343 | 84 | 200 | -27.7 | 63.7 | 14.1 | -7.6 | -61.2 | -27.9 |
| 3 | run_0001_20261019_192438 | 78 | 202 | -27.8 | 63.7 | 14.1 | -7.7 | -61.4 | -27.3 |
| 3 | run_0001_20261019_192539 | 75 | 203 | -27.2 | 63.7 | 14.1 | -7.7 | -61.4 | -27.3 |
| 3 | run_0001_20261019_192633 | 74 | 198 | -27.4 | 63.7 | 14.1 | -7.6 | -61.4 | -27.2 |
| 4 | run_0001_20261019_193404 | 92 | 228 | -61.6 | 62.5 | 14.8 | 1.5 | -60.7 | -32.4 |
| 4 | run_0001_20261019_193459 | 84 | 234 | -61.6 | 62.4 | 14.8 | 1.1 | -60.8 | -31.7 |
| 4 | run_0001_20261019_193617 | 85 | 216 | -61.7 | 62.4 | 14.8 | 1.1 | -60.8 | -31.7 |
| 4 | run_0001_20261019_193825 | 95 | 245 | -61.5 | 62.3 | 13.9 | 1.3 | -58.0 | -32.4 |
| 4 | run_0001_20261019_193932 | 81 | 212 | -61.6 | 62.5 | 14.8 | 1.2 | -60.7 | -31.6 |
| 5 | run_0001_20261019_194818 | 74 | 183 | 13.2 | 60.0 | 19.5 | -2.5 | -61.5 | -26.7 |
| 5 | run_0001_20261019_194913 | 75 | 183 | 12.8 | 60.0 | 19.4 | -3.6 | -61.6 | -26.7 |
| 5 | run_0001_20261019_195023 | 72 | 180 | 12.8 | 60.0 | 19.4 | -3.4 | -61.5 | -26.7 |
| 5 | run_0001_20261019_195120 | 71 | 178 | 12.9 | 60.0 | 19.4 | -3.1 | -61.5 | -26.7 |
前回までのお手本(scripted_v1)のうち、学習に使った19本です(つかみ直した1本 run_0001_20261015_182552 は前回も学習から外しています)。
| 試行 | 爪を閉じたコマ | 全コマ | j0 土台 | j1 肩 | j2 肘 | j3 | j4 手首 | j5 |
|---|---|---|---|---|---|---|---|---|
run_0001_20261015_173315 | 80 | 307 | -41.7 | 89.0 | -32.9 | -11.7 | -51.6 | -29.1 |
run_0001_20261015_175333 | 80 | 293 | -41.8 | 89.0 | -32.8 | -5.5 | -51.3 | -29.1 |
run_0001_20261015_181752 | 76 | 291 | -40.0 | 87.4 | -30.0 | -8.7 | -52.2 | -34.5 |
run_0001_20261015_182056 | 83 | 279 | -36.5 | 89.0 | -32.7 | -0.8 | -51.3 | -30.2 |
run_0001_20261015_183310 | 89 | 294 | -41.7 | 89.1 | -32.9 | -10.6 | -50.7 | -29.5 |
run_0001_20261015_185536 | 84 | 267 | -42.3 | 89.1 | -33.0 | -10.5 | -49.6 | -29.4 |
run_0001_20261015_193907 | 85 | 282 | -37.6 | 87.8 | -32.1 | -3.7 | -49.1 | -31.5 |
run_0001_20261015_194135 | 329 | 524 | -41.5 | 89.0 | -32.7 | -6.3 | -52.1 | -29.5 |
run_0001_20261015_194420 | 90 | 287 | -31.5 | 88.4 | -33.4 | -10.8 | -47.8 | -29.5 |
run_0001_20261016_175444 | 86 | 328 | -32.3 | 88.2 | -29.2 | 18.0 | -51.5 | -32.3 |
run_0001_20261016_175708 | 80 | 289 | -30.0 | 87.4 | -30.0 | -12.5 | -52.2 | -34.4 |
run_0001_20261016_180013 | 84 | 271 | -28.3 | 88.1 | -32.6 | 5.6 | -48.9 | -32.4 |
run_0001_20261016_184725 | 79 | 274 | -41.5 | 89.1 | -32.8 | -6.3 | -50.1 | -29.7 |
run_0001_20261016_185201 | 80 | 266 | -37.0 | 88.7 | -28.0 | 13.4 | -57.4 | -31.2 |
run_0001_20261016_190925 | 79 | 227 | -31.9 | 88.2 | -29.0 | 12.1 | -52.0 | -31.7 |
run_0001_20261016_191539 | 81 | 290 | -29.5 | 86.0 | -28.9 | -7.7 | -51.7 | -34.6 |
run_0001_20261016_191942 | 81 | 276 | -38.1 | 87.9 | -32.6 | 10.1 | -49.1 | -33.3 |
run_0001_20261016_192229 | 79 | 308 | -31.9 | 88.8 | -28.0 | 8.8 | -57.2 | -31.2 |
run_0001_20261016_194238 | 83 | 282 | -29.6 | 87.5 | -30.0 | 17.2 | -52.4 | -36.2 |
つかむ瞬間の土台の角度は、前回の19本が −42.3°〜−28.3° の幅 14° だったのに対し、今回は −61.7°〜+13.2° の幅 75° です。肩の角度も、前回は 86.0°〜89.1° にほぼ固まっていたのが、今回は 60.0°〜87.9° に広がっています。置き場所1と2は土台の角度が近い(−36° 前後)ものの、肩が 81.6° と 87.9° で、距離が違う場所です。
学習の設定 pi05_mecharm_teach_lora を、前回の設定から3か所だけ変えて足した
openpi は、学習の設定を名前で呼び出します。前回の設定 pi05_mecharm_lora は、データ名が local/mecharm_redblock_box_v1 に固定されていました。このまま新しいお手本を同じ名前で変換すると、正規化の統計(値の大きさをそろえるための平均やばらつき)と、学習したモデルの保存先が、前回の学習と同じ名前になってしまいます。
そこで、前回の設定を丸ごと写して、次の3か所だけを変えた設定を足すスクリプトを作りました。
| 項目 | pi05_mecharm_lora(前回) | pi05_mecharm_teach_lora(今回) |
|---|---|---|
| 設定名 | pi05_mecharm_lora | pi05_mecharm_teach_lora |
| データ名(repo_id) | local/mecharm_redblock_box_v1 | local/mecharm_redblock_box_teach_v1 |
| ステップ数 | 5,000 | 4,000 |
学習率の予定(warmup 300 ステップ・最大 5e-5・cosine で 5,000 ステップかけて 5e-6 まで下げる)は、前回と同じにしました。前回は「5,000 ステップの予定」で始めて、2,000 ステップで一度止め(LOG341)、続きから 4,000 ステップまで回しています(LOG348)。今回も 5,000 の予定のまま 4,000 で終えると、学習率の動き方まで前回と同じになり、違うのはお手本だけになります。
openpi 本体を書き換えるのではなく、前回と同じく、clone した openpi に後から足す形にしています。前回の設定を足す install_addon.py を先に実行してから、このスクリプトを実行します。
#!/usr/bin/env python3
"""openpi config.py に teach_v1 用の学習設定 pi05_mecharm_teach_lora を足す (LOG355 / lab Log10).
install_addon.py を実行した後に 1 回実行:
python3 add_teach_config.py /workspace/openpi
pi05_mecharm_lora (v1) の設定をそのまま写し、次の 3 か所だけ変える:
name pi05_mecharm_lora -> pi05_mecharm_teach_lora
repo_id local/mecharm_redblock_box_v1 -> local/mecharm_redblock_box_teach_v1
num_train_steps 5_000 -> 4_000
学習率の予定 (decay_steps=5_000) は v1 と同じにする。v1 は 5,000 の予定で 4,000 まで回したので、
データ以外の条件が v1 の 4,000 ステップと揃う。
"""
import sys
from pathlib import Path
cfg = Path(sys.argv[1] if len(sys.argv) > 1 else ".").resolve() / "src" / "openpi" / "training" / "config.py"
s = cfg.read_text()
MARK = " # >>> r2r2r mecharm teach_v1 (train config)\n"
if MARK in s:
print("already installed (config.py は変更なし)")
sys.exit(0)
A = " # >>> r2r2r mecharm addon (train config)\n"
B = " # <<< r2r2r mecharm addon (train config)\n"
assert s.count(A) == 1 and s.count(B) == 1, "先に install_addon.py を実行する"
i, j = s.index(A), s.index(B) + len(B)
block = s[i:j]
reps = [
(A, MARK),
(B, " # <<< r2r2r mecharm teach_v1 (train config)\n"),
('name="pi05_mecharm_lora"', 'name="pi05_mecharm_teach_lora"'),
('repo_id="local/mecharm_redblock_box_v1"', 'repo_id="local/mecharm_redblock_box_teach_v1"'),
("num_train_steps=5_000,", "num_train_steps=4_000,"),
]
for a, b in reps:
assert block.count(a) == 1, f"見つからない/重複: {a!r}"
block = block.replace(a, b)
assert "decay_steps=5_000" in block
s = s[:j] + block + s[j:]
cfg.write_text(s)
print("installed: pi05_mecharm_teach_lora (repo_id=local/mecharm_redblock_box_teach_v1, 4,000 steps)")
GPU を借りる前に、Mac の上で、openpi の設定ファイルの形をまねた小さなファイルに当てて試しました。install_addon.py のあとに2回続けて実行し、1回目で足され、2回目では何も変わらないことと、足した設定の中身を確かめています。
installed: policies/mecharm_policy.py + config.py (pi05_mecharm_lora)
installed: pi05_mecharm_teach_lora (repo_id=local/mecharm_redblock_box_teach_v1, 4,000 steps)
already installed (config.py は変更なし)
47: name="pi05_mecharm_lora",
55: repo_id="local/mecharm_redblock_box_v1",
70: decay_steps=5_000,
73: num_train_steps=5_000, # 成功 20 本 (約 6,000 フレーム) で約 27 周
82: name="pi05_mecharm_teach_lora",
90: repo_id="local/mecharm_redblock_box_teach_v1",
105: decay_steps=5_000,
108: num_train_steps=4_000, # 成功 20 本 (約 6,000 フレーム) で約 27 周
108行目のコメント「成功 20 本 (約 6,000 フレーム) で約 27 周」は、前回の設定から写したままです。今回の 3,949 コマでは約32周になります。動きには関係しないので、そのまま残しました。
スクリプトは KIOXIA(Mac につないだ外付け SSD)の lab/Log10/pod/add_teach_config.py に置きました。
お手本を tar にまとめると、2.0G と出ていたものが 102M だった
Pod(Runpod で借りる GPU マシン)へ送るために、お手本のフォルダを1つのファイルにまとめました。
(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % cd /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1 && tar cf ~/mecharm_teach_raw_episodes.tar raw_episodes && ls -lh ~/mecharm_teach_raw_episodes.tar
-rw-r--r-- 1 shimazueiichi staff 102M 10月 20 06:40 /Users/shimazueiichi/mecharm_teach_raw_episodes.tar
(base) shimazueiichi@shimadzueiichinoMacBook-Pro mecharm_redblock_box_teach_v1 % tar tf ~/mecharm_teach_raw_episodes.tar | grep -v '/$' | wc -l
3987
フォルダの大きさを du -sh で見たときは 2.0G でした。KIOXIA は小さいファイル1つにも大きな区画を割り当てる形式なので、du は実際の中身より大きく出ます。実際の大きさで数え直すと、ファイルは 3,987 個(うち画像 3,949 枚)、約 119MB でした。そのうち約 20MB はフォルダ 39 個の分で、ファイルだけなら約 100MB です。tar の中のファイル数も 3,987 で、全部入っていました。
A40 に空きがなく、Pod の作成が「空いたら起動する予約」になった
Pod の設定は前回と同じです。テンプレートは Runpod Pytorch 2.8.0(CUDA 12.8.1・Ubuntu 24.04)、GPU は A40 1台、コンテナディスクは 200GB、Volume(Pod を消しても残るディスク)は付けません。SSH でファイルを送るために、TCP の22番ポートを、Pod を作るときに公開しておきます(後から設定を変えると Pod が再起動して中身が消えることを、DAY337 で経験しています)。

6:39 に Deploy を押すと、Pod は起動せず、「Auto-deploy」という表示の付いた項目ができました。詳しい画面には「Starts at 7:09」「Subscription expires 10月21日 7:09」とあり、A40 に空きが出たら自動で起動する予約になっていました。
検索欄に A40 と打って「All」のタブで見ると、A40 には「Out of capacity」と出ていました。

Community Cloud の A100・A40 も、選ぶと「Instance not available」になった
GPU の一覧には、Filter に条件が1つかかっていました。Cloud type が Secure(Runpod 自身のデータセンター)だけになっています。これを Community(個人や小さな事業者が貸し出している GPU)に変えると、別の GPU が出てきます。Community で SSH の22番ポートを使うには、Public IP をオンにする必要があります。

Community の一覧に出ていた A100 PCIe(80GB・1時間 1.19 ドル)を選ぶと、「Instance not available」と出て、Deploy Pod が押せませんでした。

このとき Claude は、Community の機械は1台ごとに付けられるディスクの量が決まっているので、200GB が大きすぎるのだろうと見て、120GB、100GB に下げてもらいました。表示は変わらず、ディスクは原因ではありませんでした。一覧に出てから選ぶまでの間に、その機械が借りられていたと考えています。
6:52 には、Community で空いているのは 16GB の GPU(RTX 5080 と Tesla V100)だけになりました。π0.5 の学習にはメモリが足りません。6:54 に Community の A40(1時間 0.35 ドル)が出ましたが、これも選ぶと同じ表示でした。
Secure に戻して A40 をもう一度 Deploy すると、また予約になりました(6:56 作成・「Starts at 7:25」)。Pods の一覧に残っていたのは、この予約1つだけです。
「Starts at 7:25」を過ぎても、予約は待ったままだった
7:29 に見ても、Pods の画面は「Waiting for availability」のままでした。

「Starts at」の時刻に起動するわけではありませんでした。何を表す時刻なのかは、画面からは分かっていません。
9:28 に一覧に出た A40 と A100 SXM も、押す間に埋まった
9:28 に Deploy の画面を開くと、Secure の「Available」に A100 SXM(1時間 1.79 ドル)、A40(0.59 ドル)、B300 MIG 34GB、RTX 5090 が並んでいました。A40 を選んで Deploy を押す前に、A40 は一覧から消えていました。
9:31 に A100 SXM を選ぶと、合計 1.82 ドル/時、「Instance not available」の表示もなく、Deploy Pod が押せる状態でした。押すと、上に「There are no longer any instances available with the requested specifications. Please refresh and try again.」と出て、ボタンが「Deploy when available」(空いたら起動する予約)に変わりました。

一覧に Available と出ていても、押すまでの数秒で埋まっていました。 A100 の予約は作っていません。A40 の予約と両方が起動すると、2台分の料金がかかるためです。
11時ごろ A40 の予約が起動し、Pod が動き始めた
11:59 に Pods の画面を見ると、予約が起動して Pod になっていました。

残高は 6:35 に 12.37 ドル、11:59 に 11.71 ドルでした。0.66 ドルは A40 の約1時間分なので、起動したのは11時前後です。起動を知らせるメールには気づいていませんでした。
ここから下のログでは、Pod の IP アドレスとポート番号を <POD_IP> と <SSH_PORT> に置き換えています。
Pod の準備:tmux の中で openpi を取得し、uv sync を通した
Mac から SSH で Pod に入ります。
(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % ssh root@<POD_IP> -p <SSH_PORT> -i ~/.ssh/id_ed25519
The authenticity of host '[<POD_IP>]:<SSH_PORT> ([<POD_IP>]:<SSH_PORT>)' can't be established.
ED25519 key fingerprint is: SHA256:mxMuwTX3InGzlB4e0L6AoWmoe5T7barwda5hlRD9HVE
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[<POD_IP>]:<SSH_PORT>' (ED25519) to the list of known hosts.
Welcome to Ubuntu 24.04.5 LTS (GNU/Linux 6.8.0-138-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
_____ _
| __ \ | |
| |__) | _ _ __ _ __ ___ __| |
| _ / | | | '_ \| '_ \ / _ \ / _` |
| | \ \ |_| | | | | |_) | (_) | (_| |
|_| \_\__,_|_| |_| .__/ \___/ \__,_|
| |
|_|
For detailed documentation and guides, please visit:
https://docs.runpod.io/
and https://blog.runpod.io
root@237d7fe075b2:/# apt-get update && apt-get install -y tmux
mkdir -p /workspace/logs /workspace/r2r2r /workspace/data
tmux new -s lab
Get:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64 InRelease [1578 B]
Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64 Packages [1934 kB]
Get:4 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu noble InRelease [17.8 kB]
Get:5 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu noble/main amd64 Packages [60.1 kB]
Get:6 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [2122 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Get:8 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:9 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:10 http://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [117 kB]
Get:11 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1808 kB]
Get:12 http://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [331 kB]
Get:13 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1549 kB]
Get:14 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [19.3 MB]
Get:15 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [55.6 kB]
Get:16 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [1410 kB]
Get:17 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [2231 kB]
Get:18 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [61.7 kB]
Get:19 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1729 kB]
Get:20 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [2168 kB]
Get:21 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [36.0 kB]
Get:22 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [49.0 kB]
Get:23 http://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [669 B]
Fetched 35.6 MB in 2s (14.5 MB/s)
Reading package lists... Done
W: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
tmux is already the newest version (3.4-1ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 75 not upgraded.
tmux(ターミナルを閉じても中の作業が続く仕組み)は、このテンプレートには最初から入っていました。tmux の中で openpi を取得し、Python のライブラリを入れます。openpi は前回と同じ版(コミット 215abfb)にそろえます。
cd /workspace
git clone --recurse-submodules https://github.com/Physical-Intelligence/openpi.git
cd openpi && git checkout 215abfb
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
GIT_LFS_SKIP_SMUDGE=1 uv sync
uv sync の最後の部分です。
+ urllib3==2.4.0
+ virtualenv==20.31.2
+ wadler-lindig==0.1.6
+ wandb==0.19.11
+ wcwidth==0.2.13
+ websockets==15.0.1
+ werkzeug==3.1.3
+ widgetsnbextension==4.0.14
+ wrapt==1.14.1
+ xxhash==3.5.0
+ yarl==1.20.0
+ zarr==3.0.8
+ zipp==3.22.0
root@237d7fe075b2:/workspace/openpi#
この手順の途中で、Pod の中で打つコマンドを、Mac のターミナルで打ってしまう場面がありました。Pod がまだ起動していない朝の時点で、手順を先に打っていたものです。どれも失敗しただけで、Mac には何も起きていません。
(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % apt-get update && apt-get install -y tmux
mkdir -p /workspace/logs /workspace/r2r2r /workspace/data
tmux new -s lab
zsh: command not found: apt-get
mkdir: /workspace: Read-only file system
mkdir: /workspace: Read-only file system
mkdir: /workspace: Read-only file system
zsh: command not found: tmux
行頭が (base) shimazueiichi@... なら Mac、root@... なら Pod です。
転送が終わる前に展開して、tar が途中で切れていた
uv sync と並行して、Mac の別のターミナルから、お手本・スクリプト・設定を足すスクリプトを送りました。
(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 ~/mecharm_teach_raw_episodes.tar root@<POD_IP>:/workspace/data/
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 -r ~/r2r2r-scripts/pi05 root@<POD_IP>:/workspace/r2r2r/
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 /Volumes/KIOXIA/r2r2r-data/lab/Log10/pod/add_teach_config.py root@<POD_IP>:/workspace/r2r2r/
mecharm_teach_raw_episodes.tar 25% 26MB 1.3MB/s 00:57 ETA
Mac から Pod へは、毎秒約 1.3MB でした。102MB を送り終える前に、Pod 側で展開・設定の登録・変換を続けて打ったため、どれも失敗しました。
root@237d7fe075b2:/workspace/openpi# cd /workspace/data && tar xf mecharm_teach_raw_episodes.tar && ls raw_episodes | wc -l
cd /workspace/openpi
python3 /workspace/r2r2r/pi05/openpi_addon/install_addon.py /workspace/openpi
python3 /workspace/r2r2r/add_teach_config.py /workspace/openpi
uv run python /workspace/r2r2r/pi05/convert_to_lerobot.py --raw-dir /workspace/data/raw_episodes --repo-id local/mecharm_redblock_box_teach_v1
uv run scripts/compute_norm_stats.py --config-name pi05_mecharm_teach_lora
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
python3: can't open file '/workspace/r2r2r/pi05/openpi_addon/install_addon.py': [Errno 2] No such file or directory
python3: can't open file '/workspace/r2r2r/add_teach_config.py': [Errno 2] No such file or directory
/workspace/openpi/.venv/bin/python: can't open file '/workspace/r2r2r/pi05/convert_to_lerobot.py': [Errno 2] No such file or directory
最後の正規化の統計の計算は、設定がまだ足されていないので、設定名が見つからずに止まりました。
File "/workspace/openpi/src/openpi/training/config.py", line 987, in get_config
raise ValueError(f"Config '{config_name}' not found.{closest_str}")
ValueError: Config 'pi05_mecharm_teach_lora' not found. Did you mean 'pi05_aloha'?
転送が終わってから、途中まで展開したフォルダを消し、tar の中身の数と、届いたスクリプトを確かめました。
root@237d7fe075b2:/workspace/openpi# cd /workspace/data && rm -rf raw_episodes && tar tf mecharm_teach_raw_episodes.tar | grep -v '/$' | wc -l
ls /workspace/r2r2r /workspace/r2r2r/pi05
3987
/workspace/r2r2r:
add_teach_config.py pi05
/workspace/r2r2r/pi05:
RUNPOD_TRAIN.md convert_to_lerobot.py
__pycache__ openpi_addon
build_demo_episodes.py policy_ws.py
build_demo_episodes.py.bak_pre_LOG352_202610
3,987 は、Mac で数えた数と同じです。
19本・3,949コマを LeRobot 形式に変換し、正規化の統計を新しい名前で書き出した
同じコマンドを打ち直しました。変換には、前回までと同じ convert_to_lerobot.py を使い、データ名だけを --repo-id で変えています。LeRobot 形式は、Hugging Face が公開しているロボット学習のライブラリ LeRobot のデータの形です。
cd /workspace/data && tar xf mecharm_teach_raw_episodes.tar && ls raw_episodes | wc -l
cd /workspace/openpi
python3 /workspace/r2r2r/pi05/openpi_addon/install_addon.py /workspace/openpi
python3 /workspace/r2r2r/add_teach_config.py /workspace/openpi
uv run python /workspace/r2r2r/pi05/convert_to_lerobot.py --raw-dir /workspace/data/raw_episodes --repo-id local/mecharm_redblock_box_teach_v1
uv run scripts/compute_norm_stats.py --config-name pi05_mecharm_teach_lora
画面の最後の部分です。
run_0001_20261019_193932: 212 steps
Map: 100%|███████████████████████████| 183/183 [00:00<00:00, 1161.90 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 83.49ba/s]
run_0001_20261019_194818: 183 steps
Map: 100%|███████████████████████████| 183/183 [00:00<00:00, 1250.66 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 96.89ba/s]
run_0001_20261019_194913: 183 steps
Map: 100%|███████████████████████████| 180/180 [00:00<00:00, 1258.15 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 70.63ba/s]
run_0001_20261019_195023: 180 steps
Map: 100%|███████████████████████████| 178/178 [00:00<00:00, 1172.30 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 92.63ba/s]
run_0001_20261019_195120: 178 steps
done: 19 episodes / 3949 frames → /workspace/.cache/huggingface/lerobot/local/mecharm_redblock_box_teach_v1
100%|█████████████████████████████████████| 4.07M/4.07M [00:01<00:00, 4.26MiB/s]
Resolving data files: 100%|█████████████████| 19/19 [00:00<00:00, 125696.81it/s]
Downloading data: 100%|███████████████████| 19/19 [00:00<00:00, 31325.38files/s]
Generating train split: 3949 examples [00:01, 3654.04 examples/s]
Computing stats: 100%|████████████████████████| 123/123 [00:31<00:00, 3.89it/s]
Writing stats to: /workspace/openpi/assets/pi05_mecharm_teach_lora/local/mecharm_redblock_box_teach_v1
19本・3,949 コマで、索引の数と一致しています。統計は assets/pi05_mecharm_teach_lora/local/mecharm_redblock_box_teach_v1 に書かれ、前回の assets/pi05_mecharm_lora/local/mecharm_redblock_box_v1 とは別の場所です。
4,000 ステップの学習は7時間55分、loss は 0.0858 から 0.0037 へ下がった
学習は LoRA(モデル全体ではなく、追加した小さな部品だけを学習する方法)で行います。
cd /workspace/openpi
XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_mecharm_teach_lora --exp-name=teach_v1 --overwrite 2>&1 | tee /workspace/logs/train.log
学習のログの最初の41行です。Loaded norm stats from と data_config の行で、新しいお手本から計算した正規化の統計を読み込んでいます。そのあと、π0.5 の元の重み(11.6GiB)のダウンロードが始まります。
03:15:13.139 [I] Running on: 237d7fe075b2 (2455:train.py:196)
INFO:2026-10-20 03:15:13,652:jax._src.xla_bridge:925: Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
03:15:13.652 [I] Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig' (2455:xla_bridge.py:925)
INFO:2026-10-20 03:15:13,653:jax._src.xla_bridge:925: Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory
03:15:13.653 [I] Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory (2455:xla_bridge.py:925)
03:15:14.534 [I] Created BasePyTreeCheckpointHandler: use_ocdbt=True, use_zarr3=False, pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False), array_metadata_store=<orbax.checkpoint._src.metadata.array_metadata_store.Store object at 0x7b4106922450> (2455:base_pytree_checkpoint_handler.py:334)
03:15:14.534 [I] Created BasePyTreeCheckpointHandler: use_ocdbt=True, use_zarr3=False, pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False), array_metadata_store=<orbax.checkpoint._src.metadata.array_metadata_store.Store object at 0x7b4106922450> (2455:base_pytree_checkpoint_handler.py:334)
03:15:14.535 [I] [thread=MainThread] Failed to get flag value for EXPERIMENTAL_ORBAX_USE_DISTRIBUTED_PROCESS_ID. (2455:multihost.py:390)
03:15:14.535 [I] [process=0][thread=MainThread] CheckpointManager init: checkpointers=None, item_names=None, item_handlers={'assets': <openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>, 'train_state': <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>, 'params': <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>}, handler_registry=None (2455:checkpoint_manager.py:620)
03:15:14.535 [I] Deferred registration for item: "assets". Adding handler `<openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>` for item "assets" and save args `<class 'openpi.training.checkpoints.CallbackSave'>` and restore args `<class 'openpi.training.checkpoints.CallbackRestore'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Deferred registration for item: "train_state". Adding handler `<orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>` for item "train_state" and save args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>` and restore args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Deferred registration for item: "params". Adding handler `<orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>` for item "params" and save args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>` and restore args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Deferred registration for item: "metrics". Adding handler `<orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7b3f6b871b50>` for item "metrics" and save args `<class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonSaveArgs'>` and restore args `<class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonRestoreArgs'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Initialized registry DefaultCheckpointHandlerRegistry({('assets', <class 'openpi.training.checkpoints.CallbackSave'>): <openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>, ('assets', <class 'openpi.training.checkpoints.CallbackRestore'>): <openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>, ('train_state', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>, ('train_state', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>, ('params', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>, ('params', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>, ('metrics', <class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonSaveArgs'>): <orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7b3f6b871b50>, ('metrics', <class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonRestoreArgs'>): <orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7b3f6b871b50>}). (2455:composite_checkpoint_handler.py:502)
03:15:14.536 [I] orbax-checkpoint version: 0.11.13 (2455:abstract_checkpointer.py:35)
03:15:14.536 [I] [process=0][thread=MainThread] Using barrier_sync_fn: <function get_barrier_sync_fn.<locals>.<lambda> at 0x7b3f526a3ce0> timeout: 7200 secs and primary_host=0 for async checkpoint writes (2455:async_checkpointer.py:170)
03:15:14.536 [I] Found 0 checkpoint steps in /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1 (2455:checkpoint_manager.py:1701)
03:15:14.536 [I] [process=0][thread=MainThread] CheckpointManager created, primary_host=0, CheckpointManagerOptions=CheckpointManagerOptions(save_interval_steps=1, max_to_keep=1, keep_time_interval=None, keep_period=1000, should_keep_fn=None, best_fn=None, best_mode='max', keep_checkpoints_without_metrics=True, step_prefix=None, step_format_fixed_length=None, step_name_format=None, create=False, cleanup_tmp_directories=False, save_on_steps=frozenset(), single_host_load_and_broadcast=False, todelete_subdir=None, enable_background_delete=False, read_only=False, enable_async_checkpointing=True, async_options=AsyncOptions(timeout_secs=7200, barrier_sync_fn=None, post_finalization_callback=None, create_directories_asynchronously=True), multiprocessing_options=MultiprocessingOptions(primary_host=0, active_processes=None, barrier_sync_key_prefix=None), should_save_fn=None, file_options=FileOptions(path_permission_mode=None), save_root_metadata=True, temporary_path_class=None, save_decision_policy=None, prevent_write_metrics=False), root_directory=/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1: <orbax.checkpoint.checkpoint_manager.CheckpointManager object at 0x7b3f6aa3ee50> (2455:checkpoint_manager.py:801)
03:15:14.622 [I] Loaded norm stats from /workspace/openpi/assets/pi05_mecharm_teach_lora/local/mecharm_redblock_box_teach_v1 (2455:config.py:197)
03:15:14.623 [I] data_config: DataConfig(repo_id='local/mecharm_redblock_box_teach_v1', asset_id='local/mecharm_redblock_box_teach_v1', norm_stats={'state': NormStats(mean=array([ -2.63770103, 50.49562073, 3.79128742, 3.150455 ,
-51.43732071, -32.14047623, 0.42225614]), std=array([35.15082932, 22.15872955, 14.8625946 , 5.15621138, 21.55270386,
3.60685444, 0.49391893]), q01=array([-61.62614893, 1.39657994, -35.5459003 , -7.75465724,
-87.74253352, -40.55251048, 0. ]), q99=array([ 44.61974199, 87.87268339, 31.10180083, 16.4565389 ,
-0.260924 , -26.45196724, 0.9998 ])), 'actions': NormStats(mean=array([ 0.07332829, 0.0279311 , 0.0080337 , 0.02421108, -0.07518888,
-0.03083729, 0.42225602]), std=array([7.71810484, 7.52976751, 3.43936443, 1.33129191, 7.94236755,
0.81411815, 0.4939189 ]), q01=array([-20.55847655, -22.4227709 , -12.12292372, -4.43781593,
-25.49721281, -2.76930663, 0. ]), q99=array([26.71623218, 21.34455652, 10.00451379, 3.76541566, 23.96088104,
2.90332375, 0.9998 ]))}, repack_transforms=Group(inputs=[RepackTransform(structure={'observation/image': 'image', 'observation/state': 'state', 'actions': 'actions', 'prompt': 'prompt'})], outputs=()), data_transforms=Group(inputs=(MecharmInputs(model_type=<ModelType.PI05: 'pi05'>), DeltaActions(mask=(True, True, True, True, True, True, False))), outputs=(AbsoluteActions(mask=(True, True, True, True, True, True, False)), MecharmOutputs())), model_transforms=Group(inputs=[InjectDefaultPrompt(prompt=None), ResizeImages(height=224, width=224), TokenizePrompt(tokenizer=<openpi.models.tokenizer.PaligemmaTokenizer object at 0x7b3f6a7dd0d0>, discrete_state_input=True), PadStatesAndActions(model_action_dim=32)], outputs=()), use_quantile_norm=True, action_sequence_keys=('actions',), prompt_from_task=True, rlds_data_dir=None, action_space=None, datasets=()) (2455:data_loader.py:243)
03:15:15.078 [I] local_batch_size: 32 (2455:data_loader.py:324)
03:15:28.123 [I] Initialized data loader:
[0].images['base_0_rgb']: (32, 224, 224, 3)@float32
[0].images['left_wrist_0_rgb']: (32, 224, 224, 3)@float32
[0].images['right_wrist_0_rgb']: (32, 224, 224, 3)@float32
[0].image_masks['base_0_rgb']: (32,)@bool
[0].image_masks['left_wrist_0_rgb']: (32,)@bool
[0].image_masks['right_wrist_0_rgb']: (32,)@bool
[0].state: (32, 32)@float32
[0].tokenized_prompt: (32, 200)@int32
[0].tokenized_prompt_mask: (32, 200)@bool
[1]: (32, 10, 32)@float32 (2455:train.py:227)
03:15:29.297 [I] Downloading gs://openpi-assets/checkpoints/pi05_base/params to /root/.cache/openpi/openpi-assets/checkpoints/pi05_base/params (2455:download.py:86)
ダウンロードは1分20秒で終わりました。最初の1ステップの前のコンパイル(GPU で動く形に変換する処理)に 4分34秒かかり、そのあと1ステップ約 7.0〜7.1 秒で進みました。時刻は Pod の時計(UTC)で、03:17 は日本時間の 12:17 です。
03:15:29.297 [W] gsutil not found, falling back to gcsfs. This may fail if GCP credentials are not configured correctly. (2455:download.py:111)
03:15:57.583 [I] Progress on: -/12441721931 rate:- remaining:? elapsed:00:00 postfix:- (2455:tqdm_logging.py:145)
03:16:07.613 [I] Progress on: 2.11GiB/11.6GiB rate:236,503,035.9iB/s remaining:00:43 elapsed:00:10 postfix:- (2455:tqdm_logging.py:145)
03:16:17.643 [I] Progress on: 4.38GiB/11.6GiB rate:244,811,631.1iB/s remaining:00:31 elapsed:00:20 postfix:- (2455:tqdm_logging.py:145)
03:16:27.668 [I] Progress on: 6.52GiB/11.6GiB rate:214,107,446.8iB/s remaining:00:25 elapsed:00:30 postfix:- (2455:tqdm_logging.py:145)
03:16:37.696 [I] Progress on: 8.14GiB/11.6GiB rate:166,116,254.5iB/s remaining:00:22 elapsed:00:40 postfix:- (2455:tqdm_logging.py:145)
03:16:47.727 [I] Progress on: 9.64GiB/11.6GiB rate:160,966,208.4iB/s remaining:00:12 elapsed:00:50 postfix:- (2455:tqdm_logging.py:145)
03:16:57.753 [I] Progress on: 10.8GiB/11.6GiB rate:101,413,951.6iB/s remaining:00:08 elapsed:01:00 postfix:- (2455:tqdm_logging.py:145)
03:17:07.779 [I] Progress on: 11.3GiB/11.6GiB rate:42,871,383.5iB/s remaining:00:08 elapsed:01:10 postfix:- (2455:tqdm_logging.py:145)
03:17:17.800 [I] Progress on: 11.6GiB/11.6GiB rate:30,491,831.9iB/s remaining:00:00 elapsed:01:20 postfix:- (2455:tqdm_logging.py:145)
03:17:17.801 [I] Progress on: 11.6GiB/11.6GiB rate:30,491,831.9iB/s remaining:00:00 elapsed:01:20 postfix:- (2455:tqdm_logging.py:145)
03:17:17.807 [I] Created BasePyTreeCheckpointHandler: use_ocdbt=True, use_zarr3=False, pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False), array_metadata_store=<orbax.checkpoint._src.metadata.array_metadata_store.Store object at 0x7b4106922450> (2455:base_pytree_checkpoint_handler.py:334)
03:17:17.847 [I] Restoring checkpoint from /root/.cache/openpi/openpi-assets/checkpoints/pi05_base/params. (2455:checkpointer.py:298)
03:17:25.289 [I] [process=0] /jax/checkpoint/read/bytes_per_sec: 1.7 GiB/s (total bytes: 12.5 GiB) (time elapsed: 7 seconds) (per-host) (2455:base_pytree_checkpoint_handler.py:114)
03:17:25.289 [I] Finished restoring checkpoint in 7.44 seconds from /root/.cache/openpi/openpi-assets/checkpoints/pi05_base/params. (2455:checkpointer.py:309)
03:17:46.031 [I] Initialized train state:
['time_mlp_out']['kernel'].value: (1024, 1024)@float32 (2455:train.py:238)
03:17:46.040 [I] Progress on: -/4000 rate:- remaining:? elapsed:00:00 postfix:- (2455:tqdm_logging.py:145)
Step 0: grad_norm=1.1611, loss=0.0858, param_norm=1803.7705
03:22:20.338 [I] Progress on: -/4000 rate:- remaining:? elapsed:04:34 postfix:- (2455:tqdm_logging.py:145)
03:22:34.649 [I] Progress on: 4.00it/4.00kit rate:41.9s/it remaining:46:29:49 elapsed:04:48 postfix:- (2455:tqdm_logging.py:145)
03:22:48.620 [I] Progress on: 6.00it/4.00kit rate:21.7s/it remaining:24:05:32 elapsed:05:02 postfix:- (2455:tqdm_logging.py:145)
03:23:02.662 [I] Progress on: 8.00it/4.00kit rate:13.8s/it remaining:15:15:45 elapsed:05:16 postfix:- (2455:tqdm_logging.py:145)
03:23:16.696 [I] Progress on: 10.0it/4.00kit rate:10.2s/it remaining:11:19:53 elapsed:05:30 postfix:- (2455:tqdm_logging.py:145)
03:23:30.737 [I] Progress on: 12.0it/4.00kit rate:8.6s/it remaining:9:29:25 elapsed:05:44 postfix:- (2455:tqdm_logging.py:145)
03:23:44.819 [I] Progress on: 14.0it/4.00kit rate:7.8s/it remaining:8:37:04 elapsed:05:58 postfix:- (2455:tqdm_logging.py:145)
03:23:58.903 [I] Progress on: 16.0it/4.00kit rate:7.4s/it remaining:8:11:37 elapsed:06:12 postfix:- (2455:tqdm_logging.py:145)

前回の速さは、LOG341 の A40 で 1ステップ約 7.1 秒、LOG348 の続きの学習で約 6.5 秒でした。学習の途中で、Claude は「前回は 6.5 秒だったので少し遅い」と伝えていましたが、LOG341 と比べるとほぼ同じ速さです。
loss(モデルの予測と、お手本の動きとの差の大きさ)は、50 ステップごとに記録されます。全80行です。
grep -a "loss=" /workspace/logs/train.log
Step 0: grad_norm=1.1611, loss=0.0858, param_norm=1803.7705
Step 50: grad_norm=0.3111, loss=0.0519, param_norm=1803.7704
Step 100: grad_norm=0.1753, loss=0.0360, param_norm=1803.7709
Step 150: grad_norm=0.1437, loss=0.0271, param_norm=1803.7725
Step 200: grad_norm=0.1297, loss=0.0220, param_norm=1803.7769
Step 250: grad_norm=0.1081, loss=0.0171, param_norm=1803.7831
Step 300: grad_norm=0.1000, loss=0.0162, param_norm=1803.7916
Step 350: grad_norm=0.0824, loss=0.0138, param_norm=1803.8026
Step 400: grad_norm=0.0730, loss=0.0125, param_norm=1803.8134
Step 450: grad_norm=0.0711, loss=0.0120, param_norm=1803.8240
Step 500: grad_norm=0.0646, loss=0.0115, param_norm=1803.8344
Step 550: grad_norm=0.0603, loss=0.0101, param_norm=1803.8442
Step 600: grad_norm=0.0580, loss=0.0096, param_norm=1803.8539
Step 650: grad_norm=0.0630, loss=0.0100, param_norm=1803.8640
Step 700: grad_norm=0.0582, loss=0.0085, param_norm=1803.8745
Step 750: grad_norm=0.0566, loss=0.0092, param_norm=1803.8824
Step 800: grad_norm=0.0558, loss=0.0082, param_norm=1803.8914
Step 850: grad_norm=0.0579, loss=0.0084, param_norm=1803.9021
Step 900: grad_norm=0.0546, loss=0.0083, param_norm=1803.9103
Step 950: grad_norm=0.0481, loss=0.0076, param_norm=1803.9187
Step 1000: grad_norm=0.0495, loss=0.0078, param_norm=1803.9263
Step 1050: grad_norm=0.0486, loss=0.0075, param_norm=1803.9343
Step 1100: grad_norm=0.0485, loss=0.0076, param_norm=1803.9421
Step 1150: grad_norm=0.0436, loss=0.0063, param_norm=1803.9493
Step 1200: grad_norm=0.0491, loss=0.0069, param_norm=1803.9565
Step 1250: grad_norm=0.0442, loss=0.0068, param_norm=1803.9635
Step 1300: grad_norm=0.0446, loss=0.0066, param_norm=1803.9707
Step 1350: grad_norm=0.0480, loss=0.0068, param_norm=1803.9780
Step 1400: grad_norm=0.0464, loss=0.0061, param_norm=1803.9849
Step 1450: grad_norm=0.0437, loss=0.0062, param_norm=1803.9919
Step 1500: grad_norm=0.0444, loss=0.0066, param_norm=1803.9978
Step 1550: grad_norm=0.0455, loss=0.0063, param_norm=1804.0040
Step 1600: grad_norm=0.0471, loss=0.0059, param_norm=1804.0103
Step 1650: grad_norm=0.0422, loss=0.0057, param_norm=1804.0156
Step 1700: grad_norm=0.0445, loss=0.0055, param_norm=1804.0206
Step 1750: grad_norm=0.0455, loss=0.0058, param_norm=1804.0265
Step 1800: grad_norm=0.0441, loss=0.0059, param_norm=1804.0320
Step 1850: grad_norm=0.0428, loss=0.0058, param_norm=1804.0369
Step 1900: grad_norm=0.0423, loss=0.0058, param_norm=1804.0419
Step 1950: grad_norm=0.0396, loss=0.0048, param_norm=1804.0471
Step 2000: grad_norm=0.0433, loss=0.0058, param_norm=1804.0519
Step 2050: grad_norm=0.0425, loss=0.0058, param_norm=1804.0565
Step 2100: grad_norm=0.0424, loss=0.0051, param_norm=1804.0605
Step 2150: grad_norm=0.0400, loss=0.0050, param_norm=1804.0649
Step 2200: grad_norm=0.0421, loss=0.0055, param_norm=1804.0693
Step 2250: grad_norm=0.0401, loss=0.0051, param_norm=1804.0734
Step 2300: grad_norm=0.0409, loss=0.0054, param_norm=1804.0768
Step 2350: grad_norm=0.0384, loss=0.0046, param_norm=1804.0803
Step 2400: grad_norm=0.0415, loss=0.0050, param_norm=1804.0840
Step 2450: grad_norm=0.0357, loss=0.0047, param_norm=1804.0881
Step 2500: grad_norm=0.0426, loss=0.0049, param_norm=1804.0912
Step 2550: grad_norm=0.0381, loss=0.0050, param_norm=1804.0938
Step 2600: grad_norm=0.0382, loss=0.0052, param_norm=1804.0966
Step 2650: grad_norm=0.0404, loss=0.0048, param_norm=1804.0994
Step 2700: grad_norm=0.0397, loss=0.0049, param_norm=1804.1018
Step 2750: grad_norm=0.0394, loss=0.0047, param_norm=1804.1044
Step 2800: grad_norm=0.0390, loss=0.0048, param_norm=1804.1069
Step 2850: grad_norm=0.0454, loss=0.0052, param_norm=1804.1090
Step 2900: grad_norm=0.0380, loss=0.0047, param_norm=1804.1116
Step 2950: grad_norm=0.0356, loss=0.0043, param_norm=1804.1139
Step 3000: grad_norm=0.0400, loss=0.0047, param_norm=1804.1156
Step 3050: grad_norm=0.0387, loss=0.0046, param_norm=1804.1172
Step 3100: grad_norm=0.0327, loss=0.0042, param_norm=1804.1184
Step 3150: grad_norm=0.0398, loss=0.0047, param_norm=1804.1198
Step 3200: grad_norm=0.0408, loss=0.0048, param_norm=1804.1213
Step 3250: grad_norm=0.0350, loss=0.0040, param_norm=1804.1234
Step 3300: grad_norm=0.0354, loss=0.0038, param_norm=1804.1250
Step 3350: grad_norm=0.0370, loss=0.0044, param_norm=1804.1259
Step 3400: grad_norm=0.0355, loss=0.0038, param_norm=1804.1272
Step 3450: grad_norm=0.0377, loss=0.0044, param_norm=1804.1279
Step 3500: grad_norm=0.0366, loss=0.0042, param_norm=1804.1292
Step 3550: grad_norm=0.0339, loss=0.0040, param_norm=1804.1302
Step 3600: grad_norm=0.0372, loss=0.0044, param_norm=1804.1312
Step 3650: grad_norm=0.0359, loss=0.0041, param_norm=1804.1318
Step 3700: grad_norm=0.0348, loss=0.0039, param_norm=1804.1324
Step 3750: grad_norm=0.0385, loss=0.0040, param_norm=1804.1331
Step 3800: grad_norm=0.0347, loss=0.0037, param_norm=1804.1340
Step 3850: grad_norm=0.0360, loss=0.0038, param_norm=1804.1346
Step 3900: grad_norm=0.0342, loss=0.0038, param_norm=1804.1353
Step 3950: grad_norm=0.0363, loss=0.0037, param_norm=1804.1359
途中の保存の記録です。1,000 ステップごとに保存し、最後の保存は 3999 という名前になります。
05:20:11.862 [I] Finished asynchronous save (blocking + background) in 8.45 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/1000 (2455:async_checkpointer.py:412)
07:17:53.335 [I] Finished asynchronous save (blocking + background) in 12.95 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/2000 (2455:async_checkpointer.py:412)
09:15:34.329 [I] Finished asynchronous save (blocking + background) in 8.47 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3000 (2455:async_checkpointer.py:412)
11:13:18.278 [I] Finished asynchronous save (blocking + background) in 27.02 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 (2455:async_checkpointer.py:412)
学習のログの最後の25行です。4,000 ステップまでの時間は 7時間55分29秒でした。最後の行の rate:14.2s/it は、保存の時間を含んだ最後の区間の値です。
11:13:15.215 [I] [process=0][thread=MainThread][step=3999] Starting CheckpointManager Save Finalize thread=save_finalize (2455:checkpoint_manager.py:1453)
11:13:15.216 [I] [process=0][thread=save_finalize] Waiting for background save thread=async_save. (2455:async_checkpointer.py:258)
11:13:15.217 [I] {'step': 3999, 'event_type': 'save', 'directory': '/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1', 'reached_preemption': False, 'preemption_received_at': None, 'synchronous': False, 'wait_for_prev_start_time': 1792494771.261079, 'wait_for_prev_duration_secs': 0.0001373291015625, 'checkpointer_blocking_start_time': 1792494771.2616944, 'checkpointer_blocking_duration_secs': 23.953718662261963, 'get_old_steps_start_time': 1792494795.215452, 'get_old_steps_duration_secs': 0.00018930435180664062, 'checkpoint_manager_blocking_start_time': 1792494771.2607076, 'checkpoint_manager_blocking_duration_secs': 23.956639051437378} (2455:standard_logger.py:34)
11:13:15.219 [I] Progress on: 4.00kit/4.00kit rate:14.2s/it remaining:00:00 elapsed:7:55:29 postfix:- (2455:tqdm_logging.py:145)
11:13:15.219 [I] Progress on: 4.00kit/4.00kit rate:14.2s/it remaining:00:00 elapsed:7:55:29 postfix:- (2455:tqdm_logging.py:145)
11:13:15.220 [I] Waiting for checkpoint manager to finish (2455:train.py:275)
11:13:15.220 [I] [process=0][thread=MainThread][step=3999][wait_until_finished] Waiting for Save Finalize thread (save_finalize) to complete. (2455:checkpoint_manager.py:1998)
11:13:15.287 [I] [process=0][thread=array_type_handler] Wrote 105 array_metadata.ArrayMetadata to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/train_state.orbax-checkpoint-tmp-15/array_metadatas/process_0 (2455:array_metadata_store.py:198)
11:13:17.881 [I] [process=0] /jax/checkpoint/write/bytes_per_sec: 277.4 MiB/s (total bytes: 7.2 GiB) (time elapsed: 26 seconds) (per-host) (2455:base_pytree_checkpoint_handler.py:114)
11:13:18.261 [I] [process=0] /jax/checkpoint/write/bytes_per_sec: 132.0 MiB/s (total bytes: 3.5 GiB) (time elapsed: 26 seconds) (per-host) (2455:base_pytree_checkpoint_handler.py:114)
11:13:18.261 [I] [process=0][thread=async_save] 5 Handler Commit operations completed. (2455:async_checkpointer.py:87)
11:13:18.262 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/assets.orbax-checkpoint-tmp-13 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/assets (2455:atomicity.py:289)
11:13:18.265 [I] [process=0][thread=async_save] Skipped cross-host ArrayMetadata validation because only one process is found: process_index=0. (2455:array_metadata_store.py:362)
11:13:18.270 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/train_state.orbax-checkpoint-tmp-15 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/train_state (2455:atomicity.py:289)
11:13:18.272 [I] [process=0][thread=async_save] Skipped cross-host ArrayMetadata validation because only one process is found: process_index=0. (2455:array_metadata_store.py:362)
11:13:18.276 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/params.orbax-checkpoint-tmp-14 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/params (2455:atomicity.py:289)
11:13:18.277 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 (2455:atomicity.py:289)
11:13:18.278 [I] [process=0][thread=async_save] Finished saving checkpoint (finalized tmp dir) to `/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999`. (2455:atomicity.py:573)
11:13:18.278 [I] Finished asynchronous save (blocking + background) in 27.02 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 (2455:async_checkpointer.py:412)
11:13:18.278 [I] [process=0][thread=async_save] Background save thread done. (2455:async_checkpointer.py:143)
11:13:18.278 [I] [process=0][thread=save_finalize] Done with waiting for background save thread=async_save. (2455:async_checkpointer.py:266)
11:13:18.278 [I] [process=0][thread=save_finalize] No errors found in background save thread=async_save. (2455:async_checkpointer.py:276)
11:13:18.278 [I] [process=0][thread=save_finalize][step=3999] CheckpointManager Save Finalize is syncing with other hosts... (2455:checkpoint_manager.py:2095)
11:13:18.279 [I] [process=0][thread=save_finalize][step=3999] CheckpointManager Save Finalize is done on all hosts. (2455:checkpoint_manager.py:2110)
11:13:18.279 [I] [process=0][thread=MainThread][step=3999][wait_until_finished] Done waiting for Save Finalize thread (save_finalize) running at step=3999. (2455:checkpoint_manager.py:2010)
loss を前回の学習と並べると、ほとんど同じ下がり方だった
前回の学習(ほぼ同じ場所のお手本19本・LOG341 の 0〜1,950 ステップと、LOG348 の 2,000〜4,000 ステップ)と、今回の loss を並べました。
| ステップ | 今回(5か所・19本) | 前回(ほぼ同じ場所・19本) |
|---|---|---|
| 0 | 0.0858 | 0.1155 |
| 500 | 0.0115 | 0.0128 |
| 1,000 | 0.0078 | 0.0082 |
| 1,500 | 0.0066 | 0.0057 |
| 2,000 | 0.0058 | 0.0066 |
| 2,500 | 0.0049 | 0.0048 |
| 3,000 | 0.0047 | 0.0047 |
| 3,500 | 0.0042 | 0.0034 |
| 3,950 | 0.0037 | 0.0035 |
| 4,000 | (記録なし) | 0.0030 |
区間ごとの平均でも、差は小さいままでした。上の図解の「LOSS」の切り替えで、2本の線を重ねて見られます。
| 区間(ステップ) | 今回の平均 | 前回の平均 |
|---|---|---|
| 0〜250 | 0.0400 | 0.0474 |
| 300〜950 | 0.0104 | 0.0112 |
| 1,000〜1,950 | 0.0063 | 0.0065 |
| 2,000〜2,950 | 0.0050 | 0.0047 |
| 3,000〜4,000 | 0.0042 | 0.0035 |
前回のモデルは、loss が下がっていても、ブロックを置いた場所に関係なく、つかむときの土台(j0)と肩(j1)の角度がほぼ同じでした(LOG348)。loss は、お手本の各コマで「次の1秒の動き」をどれだけ当てられたかの平均です。π0.5 には、カメラの画像だけでなく、今の関節の角度も渡しています。アームがブロックへ向かって動き出したあとは、今の角度から続きの動きをほぼ当てられるはずで、画像を見ないと当てられないのは、どの置き場所でも同じ姿勢から始まる最初の数秒だと見ています(確かめてはいない見立てです)。1本約200コマのうちのそこだけでは、平均の loss にはほとんど表れません。画像を見て手を伸ばす先を決めているかは、実機で確かめます。
GPU は学習の間ずっと使用率100%、メモリは 41,279 MiB のままだった
学習の間、Mac の別のターミナルから Pod に入り、30 秒ごとに GPU の使用量を記録しました。
nvidia-smi --query-gpu=timestamp,memory.used,utilization.gpu --format=csv -l 30 | tee /workspace/logs/gpu_train.csv
メモリの 41,279 MiB は、XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 で、A40 の 48GB の9割を最初にまとめて確保した量です。実際にどれだけ使っているかは、この数字からは分かりません(Log#3 で測ったときは、先に確保しない設定で 8,486 MiB でした)。使用率は、コンパイルの途中の 03:20 に一度 100% になり、03:22 からは学習が終わる 11:13 までずっと 100% でした。終わったあとは 0 MiB・0% に戻っています。
記録の全958行(見出しを除く)です。
timestamp, memory.used [MiB], utilization.gpu [%]
2026/10/20 03:16:42.320, 41221 MiB, 0 %
2026/10/20 03:17:12.327, 41221 MiB, 0 %
2026/10/20 03:17:42.328, 41221 MiB, 0 %
2026/10/20 03:18:12.423, 41229 MiB, 0 %
2026/10/20 03:18:42.423, 41229 MiB, 0 %
2026/10/20 03:19:12.424, 41229 MiB, 0 %
2026/10/20 03:19:42.425, 41229 MiB, 0 %
2026/10/20 03:20:12.428, 41229 MiB, 0 %
2026/10/20 03:20:42.429, 41255 MiB, 100 %
2026/10/20 03:21:12.429, 41271 MiB, 0 %
2026/10/20 03:21:42.430, 41271 MiB, 0 %
2026/10/20 03:22:12.431, 41271 MiB, 0 %
2026/10/20 03:22:42.432, 41279 MiB, 100 %
2026/10/20 03:23:12.433, 41279 MiB, 100 %
2026/10/20 03:23:42.434, 41279 MiB, 100 %
2026/10/20 03:24:12.435, 41279 MiB, 100 %
2026/10/20 03:24:42.438, 41279 MiB, 100 %
2026/10/20 03:25:12.438, 41279 MiB, 100 %
2026/10/20 03:25:42.438, 41279 MiB, 100 %
2026/10/20 03:26:12.439, 41279 MiB, 100 %
2026/10/20 03:26:42.440, 41279 MiB, 100 %
2026/10/20 03:27:12.440, 41279 MiB, 100 %
2026/10/20 03:27:42.440, 41279 MiB, 100 %
2026/10/20 03:28:12.441, 41279 MiB, 100 %
2026/10/20 03:28:42.441, 41279 MiB, 100 %
2026/10/20 03:29:12.442, 41279 MiB, 100 %
2026/10/20 03:29:42.443, 41279 MiB, 100 %
2026/10/20 03:30:12.444, 41279 MiB, 100 %
2026/10/20 03:30:42.445, 41279 MiB, 100 %
2026/10/20 03:31:12.445, 41279 MiB, 100 %
2026/10/20 03:31:42.446, 41279 MiB, 100 %
2026/10/20 03:32:12.447, 41279 MiB, 100 %
2026/10/20 03:32:42.448, 41279 MiB, 100 %
2026/10/20 03:33:12.449, 41279 MiB, 100 %
2026/10/20 03:33:42.450, 41279 MiB, 100 %
2026/10/20 03:34:12.450, 41279 MiB, 100 %
2026/10/20 03:34:42.451, 41279 MiB, 100 %
2026/10/20 03:35:12.451, 41279 MiB, 100 %
2026/10/20 03:35:42.452, 41279 MiB, 100 %
2026/10/20 03:36:12.453, 41279 MiB, 100 %
2026/10/20 03:36:42.454, 41279 MiB, 100 %
2026/10/20 03:37:12.454, 41279 MiB, 100 %
2026/10/20 03:37:42.455, 41279 MiB, 100 %
2026/10/20 03:38:12.456, 41279 MiB, 100 %
2026/10/20 03:38:42.457, 41279 MiB, 100 %
2026/10/20 03:39:12.458, 41279 MiB, 100 %
2026/10/20 03:39:42.459, 41279 MiB, 100 %
2026/10/20 03:40:12.460, 41279 MiB, 100 %
2026/10/20 03:40:42.461, 41279 MiB, 100 %
2026/10/20 03:41:12.462, 41279 MiB, 100 %
2026/10/20 03:41:42.463, 41279 MiB, 100 %
2026/10/20 03:42:12.463, 41279 MiB, 100 %
2026/10/20 03:42:42.464, 41279 MiB, 100 %
2026/10/20 03:43:12.465, 41279 MiB, 100 %
2026/10/20 03:43:42.466, 41279 MiB, 100 %
2026/10/20 03:44:12.467, 41279 MiB, 100 %
2026/10/20 03:44:42.468, 41279 MiB, 100 %
2026/10/20 03:45:12.469, 41279 MiB, 100 %
2026/10/20 03:45:42.470, 41279 MiB, 100 %
2026/10/20 03:46:12.471, 41279 MiB, 100 %
2026/10/20 03:46:42.472, 41279 MiB, 100 %
2026/10/20 03:47:12.473, 41279 MiB, 100 %
2026/10/20 03:47:42.474, 41279 MiB, 100 %
2026/10/20 03:48:12.475, 41279 MiB, 100 %
2026/10/20 03:48:42.476, 41279 MiB, 100 %
2026/10/20 03:49:12.477, 41279 MiB, 100 %
2026/10/20 03:49:42.480, 41279 MiB, 100 %
2026/10/20 03:50:12.481, 41279 MiB, 100 %
2026/10/20 03:50:42.482, 41279 MiB, 100 %
2026/10/20 03:51:12.483, 41279 MiB, 100 %
2026/10/20 03:51:42.484, 41279 MiB, 100 %
2026/10/20 03:52:12.485, 41279 MiB, 100 %
2026/10/20 03:52:42.485, 41279 MiB, 100 %
2026/10/20 03:53:12.487, 41279 MiB, 100 %
2026/10/20 03:53:42.488, 41279 MiB, 100 %
2026/10/20 03:54:12.489, 41279 MiB, 100 %
2026/10/20 03:54:42.489, 41279 MiB, 100 %
2026/10/20 03:55:12.491, 41279 MiB, 100 %
2026/10/20 03:55:42.491, 41279 MiB, 100 %
2026/10/20 03:56:12.492, 41279 MiB, 100 %
2026/10/20 03:56:42.493, 41279 MiB, 100 %
2026/10/20 03:57:12.494, 41279 MiB, 100 %
2026/10/20 03:57:42.495, 41279 MiB, 100 %
2026/10/20 03:58:12.496, 41279 MiB, 100 %
2026/10/20 03:58:42.496, 41279 MiB, 100 %
2026/10/20 03:59:12.496, 41279 MiB, 100 %
2026/10/20 03:59:42.497, 41279 MiB, 100 %
2026/10/20 04:00:12.498, 41279 MiB, 100 %
2026/10/20 04:00:42.499, 41279 MiB, 100 %
2026/10/20 04:01:12.500, 41279 MiB, 100 %
2026/10/20 04:01:42.501, 41279 MiB, 100 %
2026/10/20 04:02:12.502, 41279 MiB, 100 %
2026/10/20 04:02:42.503, 41279 MiB, 100 %
2026/10/20 04:03:12.504, 41279 MiB, 100 %
2026/10/20 04:03:42.505, 41279 MiB, 100 %
2026/10/20 04:04:12.506, 41279 MiB, 100 %
2026/10/20 04:04:42.507, 41279 MiB, 100 %
2026/10/20 04:05:12.508, 41279 MiB, 100 %
2026/10/20 04:05:42.508, 41279 MiB, 100 %
2026/10/20 04:06:12.509, 41279 MiB, 100 %
2026/10/20 04:06:42.510, 41279 MiB, 100 %
2026/10/20 04:07:12.511, 41279 MiB, 100 %
2026/10/20 04:07:42.511, 41279 MiB, 100 %
2026/10/20 04:08:12.512, 41279 MiB, 100 %
2026/10/20 04:08:42.513, 41279 MiB, 100 %
2026/10/20 04:09:12.514, 41279 MiB, 100 %
2026/10/20 04:09:42.515, 41279 MiB, 100 %
2026/10/20 04:10:12.515, 41279 MiB, 100 %
2026/10/20 04:10:42.516, 41279 MiB, 100 %
2026/10/20 04:11:12.517, 41279 MiB, 100 %
2026/10/20 04:11:42.518, 41279 MiB, 100 %
2026/10/20 04:12:12.519, 41279 MiB, 100 %
2026/10/20 04:12:42.521, 41279 MiB, 100 %
2026/10/20 04:13:12.522, 41279 MiB, 100 %
2026/10/20 04:13:42.523, 41279 MiB, 100 %
2026/10/20 04:14:12.524, 41279 MiB, 100 %
2026/10/20 04:14:42.525, 41279 MiB, 100 %
2026/10/20 04:15:12.526, 41279 MiB, 100 %
2026/10/20 04:15:42.526, 41279 MiB, 100 %
2026/10/20 04:16:12.527, 41279 MiB, 100 %
2026/10/20 04:16:42.528, 41279 MiB, 100 %
2026/10/20 04:17:12.529, 41279 MiB, 100 %
2026/10/20 04:17:42.530, 41279 MiB, 100 %
2026/10/20 04:18:12.530, 41279 MiB, 100 %
2026/10/20 04:18:42.531, 41279 MiB, 100 %
2026/10/20 04:19:12.532, 41279 MiB, 100 %
2026/10/20 04:19:42.532, 41279 MiB, 100 %
2026/10/20 04:20:12.533, 41279 MiB, 100 %
2026/10/20 04:20:42.534, 41279 MiB, 100 %
2026/10/20 04:21:12.535, 41279 MiB, 100 %
2026/10/20 04:21:42.536, 41279 MiB, 100 %
2026/10/20 04:22:12.538, 41279 MiB, 100 %
2026/10/20 04:22:42.538, 41279 MiB, 100 %
2026/10/20 04:23:12.539, 41279 MiB, 100 %
2026/10/20 04:23:42.539, 41279 MiB, 100 %
2026/10/20 04:24:12.540, 41279 MiB, 100 %
2026/10/20 04:24:42.542, 41279 MiB, 100 %
2026/10/20 04:25:12.542, 41279 MiB, 100 %
2026/10/20 04:25:42.543, 41279 MiB, 100 %
2026/10/20 04:26:12.544, 41279 MiB, 100 %
2026/10/20 04:26:42.546, 41279 MiB, 100 %
2026/10/20 04:27:12.547, 41279 MiB, 100 %
2026/10/20 04:27:42.547, 41279 MiB, 100 %
2026/10/20 04:28:12.548, 41279 MiB, 100 %
2026/10/20 04:28:42.549, 41279 MiB, 100 %
2026/10/20 04:29:12.550, 41279 MiB, 100 %
2026/10/20 04:29:42.551, 41279 MiB, 100 %
2026/10/20 04:30:12.552, 41279 MiB, 100 %
2026/10/20 04:30:42.553, 41279 MiB, 100 %
2026/10/20 04:31:12.554, 41279 MiB, 100 %
2026/10/20 04:31:42.555, 41279 MiB, 100 %
2026/10/20 04:32:12.556, 41279 MiB, 100 %
2026/10/20 04:32:42.557, 41279 MiB, 100 %
2026/10/20 04:33:12.558, 41279 MiB, 100 %
2026/10/20 04:33:42.558, 41279 MiB, 100 %
2026/10/20 04:34:12.559, 41279 MiB, 100 %
2026/10/20 04:34:42.560, 41279 MiB, 100 %
2026/10/20 04:35:12.561, 41279 MiB, 100 %
2026/10/20 04:35:42.562, 41279 MiB, 100 %
2026/10/20 04:36:12.562, 41279 MiB, 100 %
2026/10/20 04:36:42.564, 41279 MiB, 100 %
2026/10/20 04:37:12.565, 41279 MiB, 100 %
2026/10/20 04:37:42.565, 41279 MiB, 100 %
2026/10/20 04:38:12.566, 41279 MiB, 100 %
2026/10/20 04:38:42.567, 41279 MiB, 100 %
2026/10/20 04:39:12.568, 41279 MiB, 100 %
2026/10/20 04:39:42.569, 41279 MiB, 100 %
2026/10/20 04:40:12.569, 41279 MiB, 100 %
2026/10/20 04:40:42.570, 41279 MiB, 100 %
2026/10/20 04:41:12.571, 41279 MiB, 100 %
2026/10/20 04:41:42.571, 41279 MiB, 100 %
2026/10/20 04:42:12.572, 41279 MiB, 100 %
2026/10/20 04:42:42.573, 41279 MiB, 100 %
2026/10/20 04:43:12.574, 41279 MiB, 100 %
2026/10/20 04:43:42.575, 41279 MiB, 100 %
2026/10/20 04:44:12.576, 41279 MiB, 100 %
2026/10/20 04:44:42.577, 41279 MiB, 100 %
2026/10/20 04:45:12.577, 41279 MiB, 100 %
2026/10/20 04:45:42.578, 41279 MiB, 100 %
2026/10/20 04:46:12.578, 41279 MiB, 100 %
2026/10/20 04:46:42.579, 41279 MiB, 100 %
2026/10/20 04:47:12.581, 41279 MiB, 100 %
2026/10/20 04:47:42.582, 41279 MiB, 100 %
2026/10/20 04:48:12.582, 41279 MiB, 100 %
2026/10/20 04:48:42.583, 41279 MiB, 100 %
2026/10/20 04:49:12.584, 41279 MiB, 100 %
2026/10/20 04:49:42.585, 41279 MiB, 100 %
2026/10/20 04:50:12.586, 41279 MiB, 100 %
2026/10/20 04:50:42.586, 41279 MiB, 100 %
2026/10/20 04:51:12.587, 41279 MiB, 100 %
2026/10/20 04:51:42.588, 41279 MiB, 100 %
2026/10/20 04:52:12.589, 41279 MiB, 100 %
2026/10/20 04:52:42.589, 41279 MiB, 100 %
2026/10/20 04:53:12.590, 41279 MiB, 100 %
2026/10/20 04:53:42.591, 41279 MiB, 100 %
2026/10/20 04:54:12.591, 41279 MiB, 100 %
2026/10/20 04:54:42.592, 41279 MiB, 100 %
2026/10/20 04:55:12.593, 41279 MiB, 100 %
2026/10/20 04:55:42.594, 41279 MiB, 100 %
2026/10/20 04:56:12.595, 41279 MiB, 100 %
2026/10/20 04:56:42.595, 41279 MiB, 100 %
2026/10/20 04:57:12.597, 41279 MiB, 100 %
2026/10/20 04:57:42.598, 41279 MiB, 100 %
2026/10/20 04:58:12.598, 41279 MiB, 100 %
2026/10/20 04:58:42.599, 41279 MiB, 100 %
2026/10/20 04:59:12.601, 41279 MiB, 100 %
2026/10/20 04:59:42.602, 41279 MiB, 100 %
2026/10/20 05:00:12.602, 41279 MiB, 100 %
2026/10/20 05:00:42.603, 41279 MiB, 100 %
2026/10/20 05:01:12.604, 41279 MiB, 100 %
2026/10/20 05:01:42.604, 41279 MiB, 100 %
2026/10/20 05:02:12.605, 41279 MiB, 100 %
2026/10/20 05:02:42.606, 41279 MiB, 100 %
2026/10/20 05:03:12.606, 41279 MiB, 100 %
2026/10/20 05:03:42.607, 41279 MiB, 100 %
2026/10/20 05:04:12.608, 41279 MiB, 100 %
2026/10/20 05:04:42.609, 41279 MiB, 100 %
2026/10/20 05:05:12.609, 41279 MiB, 100 %
2026/10/20 05:05:42.610, 41279 MiB, 100 %
2026/10/20 05:06:12.611, 41279 MiB, 100 %
2026/10/20 05:06:42.612, 41279 MiB, 100 %
2026/10/20 05:07:12.612, 41279 MiB, 100 %
2026/10/20 05:07:42.614, 41279 MiB, 100 %
2026/10/20 05:08:12.615, 41279 MiB, 100 %
2026/10/20 05:08:42.615, 41279 MiB, 100 %
2026/10/20 05:09:12.616, 41279 MiB, 100 %
2026/10/20 05:09:42.617, 41279 MiB, 100 %
2026/10/20 05:10:12.618, 41279 MiB, 100 %
2026/10/20 05:10:42.618, 41279 MiB, 100 %
2026/10/20 05:11:12.619, 41279 MiB, 100 %
2026/10/20 05:11:42.620, 41279 MiB, 100 %
2026/10/20 05:12:12.621, 41279 MiB, 100 %
2026/10/20 05:12:42.622, 41279 MiB, 100 %
2026/10/20 05:13:12.622, 41279 MiB, 100 %
2026/10/20 05:13:42.624, 41279 MiB, 100 %
2026/10/20 05:14:12.625, 41279 MiB, 100 %
2026/10/20 05:14:42.627, 41279 MiB, 100 %
2026/10/20 05:15:12.627, 41279 MiB, 100 %
2026/10/20 05:15:42.629, 41279 MiB, 99 %
2026/10/20 05:16:12.629, 41279 MiB, 100 %
2026/10/20 05:16:42.630, 41279 MiB, 100 %
2026/10/20 05:17:12.631, 41279 MiB, 100 %
2026/10/20 05:17:42.632, 41279 MiB, 100 %
2026/10/20 05:18:12.633, 41279 MiB, 100 %
2026/10/20 05:18:42.635, 41279 MiB, 100 %
2026/10/20 05:19:12.635, 41279 MiB, 100 %
2026/10/20 05:19:42.636, 41279 MiB, 99 %
2026/10/20 05:20:12.637, 41279 MiB, 100 %
2026/10/20 05:20:42.638, 41279 MiB, 100 %
2026/10/20 05:21:12.638, 41279 MiB, 100 %
2026/10/20 05:21:42.639, 41279 MiB, 100 %
2026/10/20 05:22:12.639, 41279 MiB, 100 %
2026/10/20 05:22:42.640, 41279 MiB, 100 %
2026/10/20 05:23:12.640, 41279 MiB, 100 %
2026/10/20 05:23:42.641, 41279 MiB, 100 %
2026/10/20 05:24:12.641, 41279 MiB, 100 %
2026/10/20 05:24:42.642, 41279 MiB, 100 %
2026/10/20 05:25:12.643, 41279 MiB, 100 %
2026/10/20 05:25:42.644, 41279 MiB, 100 %
2026/10/20 05:26:12.645, 41279 MiB, 100 %
2026/10/20 05:26:42.645, 41279 MiB, 100 %
2026/10/20 05:27:12.646, 41279 MiB, 100 %
2026/10/20 05:27:42.647, 41279 MiB, 100 %
2026/10/20 05:28:12.648, 41279 MiB, 100 %
2026/10/20 05:28:42.648, 41279 MiB, 100 %
2026/10/20 05:29:12.651, 41279 MiB, 100 %
2026/10/20 05:29:42.652, 41279 MiB, 100 %
2026/10/20 05:30:12.653, 41279 MiB, 100 %
2026/10/20 05:30:42.658, 41279 MiB, 100 %
2026/10/20 05:31:12.659, 41279 MiB, 100 %
2026/10/20 05:31:42.660, 41279 MiB, 100 %
2026/10/20 05:32:12.660, 41279 MiB, 100 %
2026/10/20 05:32:42.661, 41279 MiB, 100 %
2026/10/20 05:33:12.662, 41279 MiB, 100 %
2026/10/20 05:33:42.663, 41279 MiB, 100 %
2026/10/20 05:34:12.664, 41279 MiB, 100 %
2026/10/20 05:34:42.664, 41279 MiB, 100 %
2026/10/20 05:35:12.666, 41279 MiB, 100 %
2026/10/20 05:35:42.666, 41279 MiB, 100 %
2026/10/20 05:36:12.668, 41279 MiB, 100 %
2026/10/20 05:36:42.669, 41279 MiB, 100 %
2026/10/20 05:37:12.670, 41279 MiB, 100 %
2026/10/20 05:37:42.670, 41279 MiB, 100 %
2026/10/20 05:38:12.671, 41279 MiB, 100 %
2026/10/20 05:38:42.672, 41279 MiB, 100 %
2026/10/20 05:39:12.673, 41279 MiB, 100 %
2026/10/20 05:39:42.674, 41279 MiB, 100 %
2026/10/20 05:40:12.675, 41279 MiB, 100 %
2026/10/20 05:40:42.676, 41279 MiB, 100 %
2026/10/20 05:41:12.676, 41279 MiB, 100 %
2026/10/20 05:41:42.677, 41279 MiB, 100 %
2026/10/20 05:42:12.677, 41279 MiB, 100 %
2026/10/20 05:42:42.678, 41279 MiB, 100 %
2026/10/20 05:43:12.679, 41279 MiB, 100 %
2026/10/20 05:43:42.680, 41279 MiB, 100 %
2026/10/20 05:44:12.681, 41279 MiB, 100 %
2026/10/20 05:44:42.681, 41279 MiB, 100 %
2026/10/20 05:45:12.682, 41279 MiB, 100 %
2026/10/20 05:45:42.683, 41279 MiB, 100 %
2026/10/20 05:46:12.684, 41279 MiB, 100 %
2026/10/20 05:46:42.685, 41279 MiB, 100 %
2026/10/20 05:47:12.686, 41279 MiB, 100 %
2026/10/20 05:47:42.686, 41279 MiB, 100 %
2026/10/20 05:48:12.687, 41279 MiB, 100 %
2026/10/20 05:48:42.688, 41279 MiB, 100 %
2026/10/20 05:49:12.689, 41279 MiB, 100 %
2026/10/20 05:49:42.690, 41279 MiB, 100 %
2026/10/20 05:50:12.691, 41279 MiB, 100 %
2026/10/20 05:50:42.692, 41279 MiB, 100 %
2026/10/20 05:51:12.693, 41279 MiB, 100 %
2026/10/20 05:51:42.694, 41279 MiB, 100 %
2026/10/20 05:52:12.695, 41279 MiB, 100 %
2026/10/20 05:52:42.696, 41279 MiB, 100 %
2026/10/20 05:53:12.697, 41279 MiB, 100 %
2026/10/20 05:53:42.698, 41279 MiB, 100 %
2026/10/20 05:54:12.698, 41279 MiB, 100 %
2026/10/20 05:54:42.699, 41279 MiB, 100 %
2026/10/20 05:55:12.700, 41279 MiB, 100 %
2026/10/20 05:55:42.701, 41279 MiB, 100 %
2026/10/20 05:56:12.702, 41279 MiB, 100 %
2026/10/20 05:56:42.704, 41279 MiB, 100 %
2026/10/20 05:57:12.705, 41279 MiB, 100 %
2026/10/20 05:57:42.706, 41279 MiB, 100 %
2026/10/20 05:58:12.707, 41279 MiB, 100 %
2026/10/20 05:58:42.708, 41279 MiB, 100 %
2026/10/20 05:59:12.709, 41279 MiB, 100 %
2026/10/20 05:59:42.710, 41279 MiB, 100 %
2026/10/20 06:00:12.710, 41279 MiB, 100 %
2026/10/20 06:00:42.712, 41279 MiB, 100 %
2026/10/20 06:01:12.713, 41279 MiB, 100 %
2026/10/20 06:01:42.714, 41279 MiB, 100 %
2026/10/20 06:02:12.714, 41279 MiB, 100 %
2026/10/20 06:02:42.715, 41279 MiB, 100 %
2026/10/20 06:03:12.716, 41279 MiB, 100 %
2026/10/20 06:03:42.717, 41279 MiB, 100 %
2026/10/20 06:04:12.717, 41279 MiB, 100 %
2026/10/20 06:04:42.718, 41279 MiB, 100 %
2026/10/20 06:05:12.718, 41279 MiB, 100 %
2026/10/20 06:05:42.719, 41279 MiB, 100 %
2026/10/20 06:06:12.720, 41279 MiB, 100 %
2026/10/20 06:06:42.720, 41279 MiB, 100 %
2026/10/20 06:07:12.721, 41279 MiB, 100 %
2026/10/20 06:07:42.722, 41279 MiB, 100 %
2026/10/20 06:08:12.723, 41279 MiB, 100 %
2026/10/20 06:08:42.724, 41279 MiB, 100 %
2026/10/20 06:09:12.724, 41279 MiB, 100 %
2026/10/20 06:09:42.725, 41279 MiB, 100 %
2026/10/20 06:10:12.726, 41279 MiB, 100 %
2026/10/20 06:10:42.727, 41279 MiB, 100 %
2026/10/20 06:11:12.728, 41279 MiB, 100 %
2026/10/20 06:11:42.728, 41279 MiB, 100 %
2026/10/20 06:12:12.729, 41279 MiB, 100 %
2026/10/20 06:12:42.730, 41279 MiB, 100 %
2026/10/20 06:13:12.730, 41279 MiB, 100 %
2026/10/20 06:13:42.731, 41279 MiB, 100 %
2026/10/20 06:14:12.732, 41279 MiB, 100 %
2026/10/20 06:14:42.732, 41279 MiB, 100 %
2026/10/20 06:15:12.733, 41279 MiB, 100 %
2026/10/20 06:15:42.734, 41279 MiB, 100 %
2026/10/20 06:16:12.734, 41279 MiB, 100 %
2026/10/20 06:16:42.735, 41279 MiB, 100 %
2026/10/20 06:17:12.736, 41279 MiB, 100 %
2026/10/20 06:17:42.736, 41279 MiB, 100 %
2026/10/20 06:18:12.737, 41279 MiB, 100 %
2026/10/20 06:18:42.738, 41279 MiB, 100 %
2026/10/20 06:19:12.739, 41279 MiB, 100 %
2026/10/20 06:19:42.741, 41279 MiB, 100 %
2026/10/20 06:20:12.741, 41279 MiB, 100 %
2026/10/20 06:20:42.742, 41279 MiB, 100 %
2026/10/20 06:21:12.743, 41279 MiB, 100 %
2026/10/20 06:21:42.743, 41279 MiB, 100 %
2026/10/20 06:22:12.744, 41279 MiB, 100 %
2026/10/20 06:22:42.745, 41279 MiB, 100 %
2026/10/20 06:23:12.745, 41279 MiB, 100 %
2026/10/20 06:23:42.746, 41279 MiB, 100 %
2026/10/20 06:24:12.746, 41279 MiB, 100 %
2026/10/20 06:24:42.747, 41279 MiB, 100 %
2026/10/20 06:25:12.747, 41279 MiB, 100 %
2026/10/20 06:25:42.748, 41279 MiB, 100 %
2026/10/20 06:26:12.748, 41279 MiB, 100 %
2026/10/20 06:26:42.748, 41279 MiB, 100 %
2026/10/20 06:27:12.749, 41279 MiB, 100 %
2026/10/20 06:27:42.749, 41279 MiB, 100 %
2026/10/20 06:28:12.750, 41279 MiB, 100 %
2026/10/20 06:28:42.750, 41279 MiB, 100 %
2026/10/20 06:29:12.751, 41279 MiB, 100 %
2026/10/20 06:29:42.751, 41279 MiB, 100 %
2026/10/20 06:30:12.752, 41546 MiB, 100 %
2026/10/20 06:30:42.752, 41279 MiB, 100 %
2026/10/20 06:31:12.753, 41279 MiB, 100 %
2026/10/20 06:31:42.753, 41279 MiB, 100 %
2026/10/20 06:32:12.753, 41279 MiB, 100 %
2026/10/20 06:32:42.754, 41279 MiB, 100 %
2026/10/20 06:33:12.754, 41279 MiB, 100 %
2026/10/20 06:33:42.755, 41279 MiB, 100 %
2026/10/20 06:34:12.755, 41279 MiB, 100 %
2026/10/20 06:34:42.756, 41279 MiB, 100 %
2026/10/20 06:35:12.756, 41279 MiB, 100 %
2026/10/20 06:35:42.757, 41279 MiB, 100 %
2026/10/20 06:36:12.757, 41279 MiB, 100 %
2026/10/20 06:36:42.758, 41279 MiB, 100 %
2026/10/20 06:37:12.759, 41279 MiB, 100 %
2026/10/20 06:37:42.760, 41279 MiB, 100 %
2026/10/20 06:38:12.760, 41279 MiB, 100 %
2026/10/20 06:38:42.762, 41279 MiB, 100 %
2026/10/20 06:39:12.762, 41279 MiB, 100 %
2026/10/20 06:39:42.763, 41279 MiB, 100 %
2026/10/20 06:40:12.763, 41279 MiB, 100 %
2026/10/20 06:40:42.764, 41279 MiB, 100 %
2026/10/20 06:41:12.764, 41279 MiB, 100 %
2026/10/20 06:41:42.765, 41279 MiB, 100 %
2026/10/20 06:42:12.765, 41279 MiB, 100 %
2026/10/20 06:42:42.766, 41279 MiB, 100 %
2026/10/20 06:43:12.767, 41279 MiB, 100 %
2026/10/20 06:43:42.768, 41279 MiB, 100 %
2026/10/20 06:44:12.768, 41279 MiB, 100 %
2026/10/20 06:44:42.769, 41279 MiB, 100 %
2026/10/20 06:45:12.769, 41279 MiB, 100 %
2026/10/20 06:45:42.770, 41279 MiB, 100 %
2026/10/20 06:46:12.770, 41279 MiB, 100 %
2026/10/20 06:46:42.771, 41279 MiB, 100 %
2026/10/20 06:47:12.772, 41279 MiB, 100 %
2026/10/20 06:47:42.772, 41279 MiB, 99 %
2026/10/20 06:48:12.773, 41279 MiB, 100 %
2026/10/20 06:48:42.773, 41279 MiB, 100 %
2026/10/20 06:49:12.774, 41279 MiB, 100 %
2026/10/20 06:49:42.774, 41279 MiB, 100 %
2026/10/20 06:50:12.775, 41279 MiB, 100 %
2026/10/20 06:50:42.776, 41279 MiB, 100 %
2026/10/20 06:51:12.777, 41279 MiB, 100 %
2026/10/20 06:51:42.777, 41279 MiB, 100 %
2026/10/20 06:52:12.778, 41279 MiB, 100 %
2026/10/20 06:52:42.778, 41279 MiB, 100 %
2026/10/20 06:53:12.779, 41279 MiB, 100 %
2026/10/20 06:53:42.779, 41279 MiB, 100 %
2026/10/20 06:54:12.780, 41279 MiB, 100 %
2026/10/20 06:54:42.780, 41279 MiB, 100 %
2026/10/20 06:55:12.781, 41279 MiB, 100 %
2026/10/20 06:55:42.782, 41279 MiB, 100 %
2026/10/20 06:56:12.782, 41279 MiB, 100 %
2026/10/20 06:56:42.783, 41279 MiB, 100 %
2026/10/20 06:57:12.784, 41279 MiB, 100 %
2026/10/20 06:57:42.785, 41279 MiB, 100 %
2026/10/20 06:58:12.785, 41279 MiB, 100 %
2026/10/20 06:58:42.786, 41279 MiB, 100 %
2026/10/20 06:59:12.786, 41279 MiB, 100 %
2026/10/20 06:59:42.787, 41279 MiB, 100 %
2026/10/20 07:00:12.788, 41279 MiB, 100 %
2026/10/20 07:00:42.788, 41279 MiB, 100 %
2026/10/20 07:01:12.789, 41279 MiB, 100 %
2026/10/20 07:01:42.789, 41279 MiB, 100 %
2026/10/20 07:02:12.789, 41279 MiB, 100 %
2026/10/20 07:02:42.790, 41279 MiB, 100 %
2026/10/20 07:03:12.791, 41279 MiB, 100 %
2026/10/20 07:03:42.791, 41279 MiB, 100 %
2026/10/20 07:04:12.792, 41279 MiB, 100 %
2026/10/20 07:04:42.793, 41279 MiB, 100 %
2026/10/20 07:05:12.793, 41279 MiB, 100 %
2026/10/20 07:05:42.793, 41279 MiB, 100 %
2026/10/20 07:06:12.794, 41279 MiB, 100 %
2026/10/20 07:06:42.795, 41279 MiB, 100 %
2026/10/20 07:07:12.795, 41279 MiB, 100 %
2026/10/20 07:07:42.796, 41279 MiB, 100 %
2026/10/20 07:08:12.796, 41279 MiB, 100 %
2026/10/20 07:08:42.797, 41279 MiB, 100 %
2026/10/20 07:09:12.798, 41279 MiB, 100 %
2026/10/20 07:09:42.798, 41279 MiB, 100 %
2026/10/20 07:10:12.798, 41279 MiB, 100 %
2026/10/20 07:10:42.799, 41279 MiB, 100 %
2026/10/20 07:11:12.800, 41279 MiB, 100 %
2026/10/20 07:11:42.801, 41279 MiB, 100 %
2026/10/20 07:12:12.801, 41279 MiB, 100 %
2026/10/20 07:12:42.802, 41279 MiB, 100 %
2026/10/20 07:13:12.803, 41279 MiB, 100 %
2026/10/20 07:13:42.803, 41279 MiB, 100 %
2026/10/20 07:14:12.804, 41279 MiB, 100 %
2026/10/20 07:14:42.805, 41279 MiB, 100 %
2026/10/20 07:15:12.805, 41279 MiB, 100 %
2026/10/20 07:15:42.806, 41279 MiB, 100 %
2026/10/20 07:16:12.806, 41279 MiB, 100 %
2026/10/20 07:16:42.807, 41279 MiB, 100 %
2026/10/20 07:17:12.807, 41279 MiB, 100 %
2026/10/20 07:17:42.808, 41279 MiB, 6 %
2026/10/20 07:18:12.809, 41279 MiB, 100 %
2026/10/20 07:18:42.809, 41279 MiB, 100 %
2026/10/20 07:19:12.809, 41279 MiB, 100 %
2026/10/20 07:19:42.810, 41279 MiB, 100 %
2026/10/20 07:20:12.811, 41279 MiB, 100 %
2026/10/20 07:20:42.812, 41279 MiB, 100 %
2026/10/20 07:21:12.812, 41279 MiB, 100 %
2026/10/20 07:21:42.813, 41279 MiB, 100 %
2026/10/20 07:22:12.813, 41279 MiB, 100 %
2026/10/20 07:22:42.814, 41279 MiB, 100 %
2026/10/20 07:23:12.814, 41279 MiB, 100 %
2026/10/20 07:23:42.815, 41279 MiB, 100 %
2026/10/20 07:24:12.816, 41279 MiB, 100 %
2026/10/20 07:24:42.816, 41279 MiB, 100 %
2026/10/20 07:25:12.817, 41279 MiB, 100 %
2026/10/20 07:25:42.817, 41279 MiB, 100 %
2026/10/20 07:26:12.818, 41279 MiB, 100 %
2026/10/20 07:26:42.819, 41279 MiB, 100 %
2026/10/20 07:27:12.819, 41279 MiB, 100 %
2026/10/20 07:27:42.820, 41279 MiB, 100 %
2026/10/20 07:28:12.820, 41279 MiB, 100 %
2026/10/20 07:28:42.821, 41279 MiB, 100 %
2026/10/20 07:29:12.822, 41279 MiB, 100 %
2026/10/20 07:29:42.822, 41279 MiB, 100 %
2026/10/20 07:30:12.823, 41546 MiB, 100 %
2026/10/20 07:30:42.824, 41279 MiB, 100 %
2026/10/20 07:31:12.825, 41279 MiB, 100 %
2026/10/20 07:31:42.826, 41279 MiB, 99 %
2026/10/20 07:32:12.826, 41279 MiB, 100 %
2026/10/20 07:32:42.827, 41279 MiB, 100 %
2026/10/20 07:33:12.827, 41279 MiB, 100 %
2026/10/20 07:33:42.828, 41279 MiB, 100 %
2026/10/20 07:34:12.829, 41279 MiB, 100 %
2026/10/20 07:34:42.829, 41279 MiB, 100 %
2026/10/20 07:35:12.830, 41279 MiB, 100 %
2026/10/20 07:35:42.831, 41279 MiB, 100 %
2026/10/20 07:36:12.831, 41279 MiB, 100 %
2026/10/20 07:36:42.832, 41279 MiB, 100 %
2026/10/20 07:37:12.833, 41279 MiB, 100 %
2026/10/20 07:37:42.834, 41279 MiB, 100 %
2026/10/20 07:38:12.835, 41279 MiB, 100 %
2026/10/20 07:38:42.836, 41279 MiB, 100 %
2026/10/20 07:39:12.836, 41279 MiB, 100 %
2026/10/20 07:39:42.836, 41279 MiB, 100 %
2026/10/20 07:40:12.837, 41279 MiB, 100 %
2026/10/20 07:40:42.838, 41279 MiB, 100 %
2026/10/20 07:41:12.838, 41279 MiB, 100 %
2026/10/20 07:41:42.839, 41279 MiB, 100 %
2026/10/20 07:42:12.839, 41279 MiB, 100 %
2026/10/20 07:42:42.840, 41279 MiB, 100 %
2026/10/20 07:43:12.840, 41279 MiB, 100 %
2026/10/20 07:43:42.841, 41279 MiB, 100 %
2026/10/20 07:44:12.842, 41279 MiB, 100 %
2026/10/20 07:44:42.842, 41279 MiB, 100 %
2026/10/20 07:45:12.843, 41279 MiB, 100 %
2026/10/20 07:45:42.844, 41279 MiB, 100 %
2026/10/20 07:46:12.844, 41279 MiB, 100 %
2026/10/20 07:46:42.845, 41279 MiB, 100 %
2026/10/20 07:47:12.845, 41279 MiB, 100 %
2026/10/20 07:47:42.846, 41279 MiB, 100 %
2026/10/20 07:48:12.847, 41279 MiB, 100 %
2026/10/20 07:48:42.847, 41279 MiB, 100 %
2026/10/20 07:49:12.848, 41279 MiB, 100 %
2026/10/20 07:49:42.848, 41279 MiB, 100 %
2026/10/20 07:50:12.849, 41279 MiB, 100 %
2026/10/20 07:50:42.849, 41279 MiB, 100 %
2026/10/20 07:51:12.850, 41279 MiB, 100 %
2026/10/20 07:51:42.850, 41279 MiB, 100 %
2026/10/20 07:52:12.851, 41279 MiB, 100 %
2026/10/20 07:52:42.851, 41279 MiB, 100 %
2026/10/20 07:53:12.852, 41279 MiB, 100 %
2026/10/20 07:53:42.853, 41279 MiB, 100 %
2026/10/20 07:54:12.853, 41279 MiB, 100 %
2026/10/20 07:54:42.854, 41279 MiB, 100 %
2026/10/20 07:55:12.854, 41279 MiB, 100 %
2026/10/20 07:55:42.855, 41279 MiB, 100 %
2026/10/20 07:56:12.855, 41279 MiB, 100 %
2026/10/20 07:56:42.856, 41279 MiB, 100 %
2026/10/20 07:57:12.856, 41279 MiB, 100 %
2026/10/20 07:57:42.857, 41279 MiB, 100 %
2026/10/20 07:58:12.858, 41279 MiB, 100 %
2026/10/20 07:58:42.859, 41279 MiB, 100 %
2026/10/20 07:59:12.860, 41279 MiB, 100 %
2026/10/20 07:59:42.861, 41279 MiB, 100 %
2026/10/20 08:00:12.862, 41279 MiB, 100 %
2026/10/20 08:00:42.863, 41279 MiB, 100 %
2026/10/20 08:01:12.864, 41279 MiB, 100 %
2026/10/20 08:01:42.865, 41279 MiB, 100 %
2026/10/20 08:02:12.866, 41279 MiB, 100 %
2026/10/20 08:02:42.866, 41279 MiB, 100 %
2026/10/20 08:03:12.867, 41279 MiB, 100 %
2026/10/20 08:03:42.868, 41279 MiB, 100 %
2026/10/20 08:04:12.869, 41279 MiB, 100 %
2026/10/20 08:04:42.870, 41279 MiB, 100 %
2026/10/20 08:05:12.871, 41279 MiB, 100 %
2026/10/20 08:05:42.872, 41279 MiB, 100 %
2026/10/20 08:06:12.873, 41279 MiB, 100 %
2026/10/20 08:06:42.874, 41279 MiB, 100 %
2026/10/20 08:07:12.875, 41279 MiB, 100 %
2026/10/20 08:07:42.876, 41279 MiB, 100 %
2026/10/20 08:08:12.876, 41279 MiB, 100 %
2026/10/20 08:08:42.877, 41279 MiB, 100 %
2026/10/20 08:09:12.878, 41279 MiB, 100 %
2026/10/20 08:09:42.878, 41279 MiB, 100 %
2026/10/20 08:10:12.879, 41279 MiB, 100 %
2026/10/20 08:10:42.881, 41279 MiB, 100 %
2026/10/20 08:11:12.882, 41279 MiB, 100 %
2026/10/20 08:11:42.883, 41279 MiB, 100 %
2026/10/20 08:12:12.884, 41279 MiB, 100 %
2026/10/20 08:12:42.885, 41279 MiB, 100 %
2026/10/20 08:13:12.886, 41279 MiB, 100 %
2026/10/20 08:13:42.886, 41279 MiB, 100 %
2026/10/20 08:14:12.887, 41279 MiB, 100 %
2026/10/20 08:14:42.888, 41279 MiB, 100 %
2026/10/20 08:15:12.889, 41279 MiB, 100 %
2026/10/20 08:15:42.890, 41279 MiB, 100 %
2026/10/20 08:16:12.891, 41279 MiB, 100 %
2026/10/20 08:16:42.892, 41279 MiB, 100 %
2026/10/20 08:17:12.893, 41279 MiB, 100 %
2026/10/20 08:17:42.894, 41279 MiB, 100 %
2026/10/20 08:18:12.895, 41279 MiB, 100 %
2026/10/20 08:18:42.895, 41279 MiB, 100 %
2026/10/20 08:19:12.896, 41279 MiB, 100 %
2026/10/20 08:19:42.897, 41279 MiB, 100 %
2026/10/20 08:20:12.898, 41279 MiB, 100 %
2026/10/20 08:20:42.899, 41279 MiB, 100 %
2026/10/20 08:21:12.900, 41279 MiB, 100 %
2026/10/20 08:21:42.901, 41279 MiB, 100 %
2026/10/20 08:22:12.902, 41279 MiB, 100 %
2026/10/20 08:22:42.903, 41279 MiB, 100 %
2026/10/20 08:23:12.903, 41279 MiB, 100 %
2026/10/20 08:23:42.904, 41279 MiB, 100 %
2026/10/20 08:24:12.905, 41279 MiB, 100 %
2026/10/20 08:24:42.906, 41279 MiB, 100 %
2026/10/20 08:25:12.907, 41279 MiB, 100 %
2026/10/20 08:25:42.908, 41279 MiB, 100 %
2026/10/20 08:26:12.909, 41279 MiB, 100 %
2026/10/20 08:26:42.909, 41279 MiB, 100 %
2026/10/20 08:27:12.910, 41279 MiB, 100 %
2026/10/20 08:27:42.911, 41279 MiB, 100 %
2026/10/20 08:28:12.912, 41279 MiB, 100 %
2026/10/20 08:28:42.912, 41279 MiB, 100 %
2026/10/20 08:29:12.913, 41279 MiB, 99 %
2026/10/20 08:29:42.914, 41279 MiB, 100 %
2026/10/20 08:30:12.915, 41279 MiB, 100 %
2026/10/20 08:30:42.916, 41279 MiB, 100 %
2026/10/20 08:31:12.917, 41279 MiB, 100 %
2026/10/20 08:31:42.918, 41279 MiB, 100 %
2026/10/20 08:32:12.919, 41279 MiB, 100 %
2026/10/20 08:32:42.920, 41279 MiB, 100 %
2026/10/20 08:33:12.921, 41279 MiB, 99 %
2026/10/20 08:33:42.921, 41279 MiB, 100 %
2026/10/20 08:34:12.922, 41279 MiB, 100 %
2026/10/20 08:34:42.923, 41279 MiB, 100 %
2026/10/20 08:35:12.924, 41279 MiB, 100 %
2026/10/20 08:35:42.925, 41279 MiB, 100 %
2026/10/20 08:36:12.925, 41279 MiB, 100 %
2026/10/20 08:36:42.927, 41279 MiB, 100 %
2026/10/20 08:37:12.927, 41279 MiB, 99 %
2026/10/20 08:37:42.928, 41279 MiB, 100 %
2026/10/20 08:38:12.929, 41279 MiB, 100 %
2026/10/20 08:38:42.930, 41279 MiB, 100 %
2026/10/20 08:39:12.931, 41279 MiB, 100 %
2026/10/20 08:39:42.931, 41279 MiB, 100 %
2026/10/20 08:40:12.933, 41279 MiB, 100 %
2026/10/20 08:40:42.934, 41279 MiB, 100 %
2026/10/20 08:41:12.935, 41279 MiB, 100 %
2026/10/20 08:41:42.936, 41279 MiB, 100 %
2026/10/20 08:42:12.937, 41279 MiB, 100 %
2026/10/20 08:42:42.938, 41279 MiB, 100 %
2026/10/20 08:43:12.938, 41279 MiB, 100 %
2026/10/20 08:43:42.939, 41279 MiB, 100 %
2026/10/20 08:44:12.940, 41279 MiB, 100 %
2026/10/20 08:44:42.941, 41279 MiB, 100 %
2026/10/20 08:45:12.942, 41279 MiB, 100 %
2026/10/20 08:45:42.943, 41279 MiB, 100 %
2026/10/20 08:46:12.943, 41279 MiB, 100 %
2026/10/20 08:46:42.944, 41279 MiB, 100 %
2026/10/20 08:47:12.945, 41279 MiB, 100 %
2026/10/20 08:47:42.945, 41279 MiB, 100 %
2026/10/20 08:48:12.946, 41279 MiB, 100 %
2026/10/20 08:48:42.947, 41279 MiB, 100 %
2026/10/20 08:49:12.947, 41279 MiB, 100 %
2026/10/20 08:49:42.948, 41279 MiB, 100 %
2026/10/20 08:50:12.949, 41279 MiB, 100 %
2026/10/20 08:50:42.951, 41279 MiB, 100 %
2026/10/20 08:51:12.952, 41279 MiB, 100 %
2026/10/20 08:51:42.953, 41279 MiB, 100 %
2026/10/20 08:52:12.953, 41279 MiB, 100 %
2026/10/20 08:52:42.955, 41279 MiB, 100 %
2026/10/20 08:53:12.956, 41279 MiB, 100 %
2026/10/20 08:53:42.957, 41279 MiB, 100 %
2026/10/20 08:54:12.958, 41279 MiB, 100 %
2026/10/20 08:54:42.959, 41279 MiB, 100 %
2026/10/20 08:55:12.960, 41279 MiB, 100 %
2026/10/20 08:55:42.961, 41279 MiB, 100 %
2026/10/20 08:56:12.962, 41279 MiB, 100 %
2026/10/20 08:56:42.963, 41279 MiB, 100 %
2026/10/20 08:57:13.014, 41279 MiB, 100 %
2026/10/20 08:57:43.015, 41279 MiB, 100 %
2026/10/20 08:58:13.016, 41279 MiB, 100 %
2026/10/20 08:58:43.019, 41279 MiB, 100 %
2026/10/20 08:59:13.020, 41279 MiB, 100 %
2026/10/20 08:59:43.020, 41279 MiB, 100 %
2026/10/20 09:00:13.021, 41279 MiB, 100 %
2026/10/20 09:00:43.022, 41279 MiB, 100 %
2026/10/20 09:01:13.023, 41279 MiB, 100 %
2026/10/20 09:01:43.024, 41279 MiB, 100 %
2026/10/20 09:02:13.025, 41279 MiB, 100 %
2026/10/20 09:02:43.026, 41279 MiB, 100 %
2026/10/20 09:03:13.026, 41279 MiB, 100 %
2026/10/20 09:03:43.027, 41279 MiB, 100 %
2026/10/20 09:04:13.028, 41279 MiB, 100 %
2026/10/20 09:04:43.029, 41279 MiB, 100 %
2026/10/20 09:05:13.030, 41279 MiB, 100 %
2026/10/20 09:05:43.030, 41279 MiB, 100 %
2026/10/20 09:06:13.031, 41279 MiB, 100 %
2026/10/20 09:06:43.032, 41279 MiB, 100 %
2026/10/20 09:07:13.033, 41279 MiB, 100 %
2026/10/20 09:07:43.034, 41279 MiB, 100 %
2026/10/20 09:08:13.035, 41279 MiB, 100 %
2026/10/20 09:08:43.036, 41279 MiB, 100 %
2026/10/20 09:09:13.037, 41279 MiB, 100 %
2026/10/20 09:09:43.038, 41279 MiB, 100 %
2026/10/20 09:10:13.039, 41279 MiB, 100 %
2026/10/20 09:10:43.040, 41279 MiB, 100 %
2026/10/20 09:11:13.041, 41279 MiB, 100 %
2026/10/20 09:11:43.042, 41279 MiB, 100 %
2026/10/20 09:12:13.042, 41279 MiB, 100 %
2026/10/20 09:12:43.043, 41279 MiB, 100 %
2026/10/20 09:13:13.044, 41279 MiB, 100 %
2026/10/20 09:13:43.044, 41279 MiB, 100 %
2026/10/20 09:14:13.045, 41279 MiB, 100 %
2026/10/20 09:14:43.046, 41279 MiB, 100 %
2026/10/20 09:15:13.047, 41279 MiB, 100 %
2026/10/20 09:15:43.048, 41279 MiB, 100 %
2026/10/20 09:16:13.049, 41279 MiB, 100 %
2026/10/20 09:16:43.050, 41279 MiB, 100 %
2026/10/20 09:17:13.051, 41279 MiB, 100 %
2026/10/20 09:17:43.052, 41279 MiB, 100 %
2026/10/20 09:18:13.053, 41279 MiB, 100 %
2026/10/20 09:18:43.054, 41279 MiB, 100 %
2026/10/20 09:19:13.054, 41279 MiB, 100 %
2026/10/20 09:19:43.055, 41279 MiB, 100 %
2026/10/20 09:20:13.056, 41279 MiB, 100 %
2026/10/20 09:20:43.057, 41279 MiB, 100 %
2026/10/20 09:21:13.058, 41279 MiB, 100 %
2026/10/20 09:21:43.058, 41279 MiB, 100 %
2026/10/20 09:22:13.059, 41279 MiB, 100 %
2026/10/20 09:22:43.060, 41279 MiB, 100 %
2026/10/20 09:23:13.061, 41279 MiB, 100 %
2026/10/20 09:23:43.061, 41279 MiB, 100 %
2026/10/20 09:24:13.062, 41279 MiB, 100 %
2026/10/20 09:24:43.063, 41279 MiB, 100 %
2026/10/20 09:25:13.064, 41279 MiB, 100 %
2026/10/20 09:25:43.065, 41279 MiB, 100 %
2026/10/20 09:26:13.065, 41279 MiB, 100 %
2026/10/20 09:26:43.066, 41279 MiB, 100 %
2026/10/20 09:27:13.068, 41279 MiB, 100 %
2026/10/20 09:27:43.069, 41279 MiB, 100 %
2026/10/20 09:28:13.070, 41279 MiB, 99 %
2026/10/20 09:28:43.071, 41279 MiB, 100 %
2026/10/20 09:29:13.071, 41279 MiB, 100 %
2026/10/20 09:29:43.073, 41279 MiB, 100 %
2026/10/20 09:30:13.074, 41279 MiB, 99 %
2026/10/20 09:30:43.074, 41279 MiB, 100 %
2026/10/20 09:31:13.075, 41279 MiB, 100 %
2026/10/20 09:31:43.076, 41279 MiB, 100 %
2026/10/20 09:32:13.078, 41279 MiB, 100 %
2026/10/20 09:32:43.079, 41279 MiB, 100 %
2026/10/20 09:33:13.080, 41279 MiB, 100 %
2026/10/20 09:33:43.081, 41279 MiB, 100 %
2026/10/20 09:34:13.082, 41279 MiB, 100 %
2026/10/20 09:34:43.084, 41279 MiB, 100 %
2026/10/20 09:35:13.085, 41279 MiB, 100 %
2026/10/20 09:35:43.086, 41279 MiB, 100 %
2026/10/20 09:36:13.087, 41279 MiB, 99 %
2026/10/20 09:36:43.088, 41279 MiB, 100 %
2026/10/20 09:37:13.089, 41279 MiB, 100 %
2026/10/20 09:37:43.090, 41279 MiB, 100 %
2026/10/20 09:38:13.090, 41279 MiB, 100 %
2026/10/20 09:38:43.091, 41279 MiB, 100 %
2026/10/20 09:39:13.092, 41279 MiB, 100 %
2026/10/20 09:39:43.093, 41279 MiB, 100 %
2026/10/20 09:40:13.094, 41279 MiB, 100 %
2026/10/20 09:40:43.095, 41279 MiB, 100 %
2026/10/20 09:41:13.096, 41279 MiB, 100 %
2026/10/20 09:41:43.097, 41279 MiB, 100 %
2026/10/20 09:42:13.098, 41279 MiB, 100 %
2026/10/20 09:42:43.099, 41279 MiB, 100 %
2026/10/20 09:43:13.100, 41279 MiB, 100 %
2026/10/20 09:43:43.101, 41279 MiB, 100 %
2026/10/20 09:44:13.102, 41279 MiB, 100 %
2026/10/20 09:44:43.103, 41279 MiB, 100 %
2026/10/20 09:45:13.103, 41279 MiB, 100 %
2026/10/20 09:45:43.104, 41279 MiB, 100 %
2026/10/20 09:46:13.105, 41279 MiB, 100 %
2026/10/20 09:46:43.106, 41279 MiB, 100 %
2026/10/20 09:47:13.107, 41279 MiB, 100 %
2026/10/20 09:47:43.108, 41279 MiB, 100 %
2026/10/20 09:48:13.109, 41279 MiB, 100 %
2026/10/20 09:48:43.109, 41279 MiB, 100 %
2026/10/20 09:49:13.110, 41279 MiB, 100 %
2026/10/20 09:49:43.111, 41279 MiB, 100 %
2026/10/20 09:50:13.112, 41279 MiB, 100 %
2026/10/20 09:50:43.113, 41279 MiB, 100 %
2026/10/20 09:51:13.114, 41279 MiB, 100 %
2026/10/20 09:51:43.115, 41279 MiB, 100 %
2026/10/20 09:52:13.116, 41279 MiB, 100 %
2026/10/20 09:52:43.117, 41279 MiB, 100 %
2026/10/20 09:53:13.118, 41279 MiB, 100 %
2026/10/20 09:53:43.119, 41279 MiB, 100 %
2026/10/20 09:54:13.120, 41279 MiB, 100 %
2026/10/20 09:54:43.121, 41279 MiB, 100 %
2026/10/20 09:55:13.122, 41279 MiB, 100 %
2026/10/20 09:55:43.123, 41279 MiB, 100 %
2026/10/20 09:56:13.124, 41279 MiB, 100 %
2026/10/20 09:56:43.124, 41279 MiB, 100 %
2026/10/20 09:57:13.125, 41279 MiB, 100 %
2026/10/20 09:57:43.126, 41279 MiB, 100 %
2026/10/20 09:58:13.127, 41279 MiB, 100 %
2026/10/20 09:58:43.127, 41279 MiB, 100 %
2026/10/20 09:59:13.128, 41279 MiB, 100 %
2026/10/20 09:59:43.129, 41279 MiB, 100 %
2026/10/20 10:00:13.130, 41279 MiB, 100 %
2026/10/20 10:00:43.130, 41279 MiB, 100 %
2026/10/20 10:01:13.131, 41279 MiB, 100 %
2026/10/20 10:01:43.132, 41279 MiB, 100 %
2026/10/20 10:02:13.132, 41279 MiB, 100 %
2026/10/20 10:02:43.133, 41279 MiB, 100 %
2026/10/20 10:03:13.134, 41279 MiB, 100 %
2026/10/20 10:03:43.135, 41279 MiB, 100 %
2026/10/20 10:04:13.135, 41279 MiB, 100 %
2026/10/20 10:04:43.138, 41279 MiB, 100 %
2026/10/20 10:05:13.138, 41279 MiB, 100 %
2026/10/20 10:05:43.139, 41279 MiB, 100 %
2026/10/20 10:06:13.140, 41279 MiB, 100 %
2026/10/20 10:06:43.141, 41279 MiB, 100 %
2026/10/20 10:07:13.142, 41279 MiB, 100 %
2026/10/20 10:07:43.143, 41279 MiB, 100 %
2026/10/20 10:08:13.144, 41279 MiB, 100 %
2026/10/20 10:08:43.145, 41279 MiB, 100 %
2026/10/20 10:09:13.146, 41279 MiB, 100 %
2026/10/20 10:09:43.147, 41279 MiB, 100 %
2026/10/20 10:10:13.147, 41279 MiB, 100 %
2026/10/20 10:10:43.148, 41279 MiB, 100 %
2026/10/20 10:11:13.149, 41279 MiB, 100 %
2026/10/20 10:11:43.150, 41279 MiB, 100 %
2026/10/20 10:12:13.151, 41279 MiB, 100 %
2026/10/20 10:12:43.152, 41279 MiB, 100 %
2026/10/20 10:13:13.153, 41279 MiB, 100 %
2026/10/20 10:13:43.154, 41279 MiB, 100 %
2026/10/20 10:14:13.155, 41279 MiB, 100 %
2026/10/20 10:14:43.155, 41279 MiB, 100 %
2026/10/20 10:15:13.157, 41279 MiB, 100 %
2026/10/20 10:15:43.157, 41279 MiB, 100 %
2026/10/20 10:16:13.158, 41279 MiB, 100 %
2026/10/20 10:16:43.158, 41279 MiB, 100 %
2026/10/20 10:17:13.159, 41279 MiB, 100 %
2026/10/20 10:17:43.160, 41279 MiB, 100 %
2026/10/20 10:18:13.161, 41279 MiB, 100 %
2026/10/20 10:18:43.162, 41279 MiB, 100 %
2026/10/20 10:19:13.163, 41279 MiB, 100 %
2026/10/20 10:19:43.164, 41279 MiB, 100 %
2026/10/20 10:20:13.165, 41279 MiB, 100 %
2026/10/20 10:20:43.166, 41279 MiB, 100 %
2026/10/20 10:21:13.167, 41279 MiB, 100 %
2026/10/20 10:21:43.168, 41279 MiB, 100 %
2026/10/20 10:22:13.169, 41279 MiB, 100 %
2026/10/20 10:22:43.170, 41279 MiB, 100 %
2026/10/20 10:23:13.170, 41279 MiB, 100 %
2026/10/20 10:23:43.171, 41279 MiB, 100 %
2026/10/20 10:24:13.172, 41279 MiB, 100 %
2026/10/20 10:24:43.174, 41279 MiB, 100 %
2026/10/20 10:25:13.175, 41279 MiB, 100 %
2026/10/20 10:25:43.176, 41279 MiB, 100 %
2026/10/20 10:26:13.177, 41279 MiB, 100 %
2026/10/20 10:26:43.177, 41279 MiB, 100 %
2026/10/20 10:27:13.178, 41279 MiB, 100 %
2026/10/20 10:27:43.179, 41279 MiB, 100 %
2026/10/20 10:28:13.180, 41279 MiB, 100 %
2026/10/20 10:28:43.181, 41279 MiB, 100 %
2026/10/20 10:29:13.182, 41279 MiB, 100 %
2026/10/20 10:29:43.183, 41279 MiB, 100 %
2026/10/20 10:30:13.183, 41294 MiB, 100 %
2026/10/20 10:30:43.185, 41279 MiB, 100 %
2026/10/20 10:31:13.186, 41279 MiB, 100 %
2026/10/20 10:31:43.187, 41279 MiB, 100 %
2026/10/20 10:32:13.188, 41279 MiB, 100 %
2026/10/20 10:32:43.189, 41279 MiB, 100 %
2026/10/20 10:33:13.189, 41279 MiB, 100 %
2026/10/20 10:33:43.190, 41279 MiB, 100 %
2026/10/20 10:34:13.191, 41279 MiB, 100 %
2026/10/20 10:34:43.191, 41279 MiB, 100 %
2026/10/20 10:35:13.192, 41279 MiB, 100 %
2026/10/20 10:35:43.193, 41279 MiB, 99 %
2026/10/20 10:36:13.194, 41279 MiB, 100 %
2026/10/20 10:36:43.195, 41279 MiB, 100 %
2026/10/20 10:37:13.195, 41279 MiB, 100 %
2026/10/20 10:37:43.196, 41279 MiB, 100 %
2026/10/20 10:38:13.197, 41279 MiB, 100 %
2026/10/20 10:38:43.198, 41279 MiB, 100 %
2026/10/20 10:39:13.199, 41279 MiB, 100 %
2026/10/20 10:39:43.200, 41279 MiB, 100 %
2026/10/20 10:40:13.201, 41279 MiB, 100 %
2026/10/20 10:40:43.202, 41279 MiB, 100 %
2026/10/20 10:41:13.202, 41279 MiB, 100 %
2026/10/20 10:41:43.203, 41279 MiB, 100 %
2026/10/20 10:42:13.204, 41279 MiB, 100 %
2026/10/20 10:42:43.205, 41279 MiB, 100 %
2026/10/20 10:43:13.206, 41279 MiB, 100 %
2026/10/20 10:43:43.207, 41279 MiB, 100 %
2026/10/20 10:44:13.208, 41279 MiB, 100 %
2026/10/20 10:44:43.208, 41279 MiB, 100 %
2026/10/20 10:45:13.209, 41279 MiB, 100 %
2026/10/20 10:45:43.210, 41279 MiB, 100 %
2026/10/20 10:46:13.210, 41279 MiB, 100 %
2026/10/20 10:46:43.211, 41279 MiB, 100 %
2026/10/20 10:47:13.212, 41279 MiB, 100 %
2026/10/20 10:47:43.213, 41279 MiB, 100 %
2026/10/20 10:48:13.214, 41279 MiB, 100 %
2026/10/20 10:48:43.214, 41279 MiB, 100 %
2026/10/20 10:49:13.215, 41279 MiB, 100 %
2026/10/20 10:49:43.216, 41279 MiB, 100 %
2026/10/20 10:50:13.217, 41279 MiB, 100 %
2026/10/20 10:50:43.217, 41279 MiB, 100 %
2026/10/20 10:51:13.218, 41279 MiB, 100 %
2026/10/20 10:51:43.219, 41279 MiB, 100 %
2026/10/20 10:52:13.220, 41279 MiB, 100 %
2026/10/20 10:52:43.220, 41279 MiB, 100 %
2026/10/20 10:53:13.222, 41279 MiB, 100 %
2026/10/20 10:53:43.222, 41279 MiB, 100 %
2026/10/20 10:54:13.223, 41279 MiB, 100 %
2026/10/20 10:54:43.224, 41279 MiB, 100 %
2026/10/20 10:55:13.224, 41279 MiB, 100 %
2026/10/20 10:55:43.225, 41279 MiB, 100 %
2026/10/20 10:56:13.226, 41279 MiB, 100 %
2026/10/20 10:56:43.227, 41279 MiB, 100 %
2026/10/20 10:57:13.228, 41279 MiB, 100 %
2026/10/20 10:57:43.229, 41279 MiB, 100 %
2026/10/20 10:58:13.230, 41279 MiB, 100 %
2026/10/20 10:58:43.231, 41279 MiB, 100 %
2026/10/20 10:59:13.232, 41279 MiB, 100 %
2026/10/20 10:59:43.233, 41279 MiB, 100 %
2026/10/20 11:00:13.234, 41279 MiB, 100 %
2026/10/20 11:00:43.235, 41279 MiB, 100 %
2026/10/20 11:01:13.236, 41279 MiB, 100 %
2026/10/20 11:01:43.237, 41279 MiB, 100 %
2026/10/20 11:02:13.237, 41279 MiB, 100 %
2026/10/20 11:02:43.238, 41279 MiB, 100 %
2026/10/20 11:03:13.239, 41279 MiB, 99 %
2026/10/20 11:03:43.240, 41279 MiB, 100 %
2026/10/20 11:04:13.241, 41279 MiB, 100 %
2026/10/20 11:04:43.242, 41279 MiB, 100 %
2026/10/20 11:05:13.243, 41279 MiB, 99 %
2026/10/20 11:05:43.244, 41279 MiB, 100 %
2026/10/20 11:06:13.245, 41279 MiB, 100 %
2026/10/20 11:06:43.246, 41279 MiB, 100 %
2026/10/20 11:07:13.247, 41279 MiB, 100 %
2026/10/20 11:07:43.248, 41279 MiB, 100 %
2026/10/20 11:08:13.249, 41279 MiB, 100 %
2026/10/20 11:08:43.250, 41279 MiB, 100 %
2026/10/20 11:09:13.251, 41279 MiB, 100 %
2026/10/20 11:09:43.252, 41279 MiB, 100 %
2026/10/20 11:10:13.252, 41279 MiB, 100 %
2026/10/20 11:10:43.253, 41279 MiB, 100 %
2026/10/20 11:11:13.254, 41279 MiB, 100 %
2026/10/20 11:11:43.255, 41279 MiB, 100 %
2026/10/20 11:12:13.256, 41279 MiB, 100 %
2026/10/20 11:12:43.257, 41279 MiB, 100 %
2026/10/20 11:13:13.258, 41279 MiB, 0 %
2026/10/20 11:13:43.259, 0 MiB, 0 %
2026/10/20 11:14:13.259, 0 MiB, 0 %
2026/10/20 11:14:43.260, 0 MiB, 0 %
2026/10/20 11:15:13.261, 0 MiB, 0 %
学習したモデル 6.34GB を KIOXIA に持ち帰り、29ファイルの名前とサイズを照合した
Pod は消すと中身も消えます。次に実機で試すときに学習し直さなくて済むよう、3999 ステップのモデルを KIOXIA へ持ち帰りました。持ち帰ったのは、params(モデルの重み)、assets(正規化の統計)、_CHECKPOINT_METADATA の3つです。train_state(学習を続きから再開するための情報・前回は約3GB)は持ち帰っていません。前回の 4,000 ステップのモデルも、この3つだけで推論サーバーを起動できています。
先に Pod 側で、持ち帰るファイルの名前とサイズの一覧を作りました。
cd /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1 && ls && cd 3999 && find params assets _CHECKPOINT_METADATA -type f -printf '%s %p\n' | sort -k2 > /workspace/logs/ckpt3999_sizes.txt && wc -l /workspace/logs/ckpt3999_sizes.txt
ログと一覧を先に、続けてモデルを Mac へ送りました。
(base) shimazueiichi@shimadzueiichinoMacBook-Pro drag_teaching % mkdir -p /Volumes/KIOXIA/r2r2r-data/checkpoints/pi05_mecharm_teach_lora_v1/3999 /Volumes/KIOXIA/r2r2r-data/lab/Log10
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 -r root@<POD_IP>:/workspace/logs /Volumes/KIOXIA/r2r2r-data/lab/Log10/
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 -r root@<POD_IP>:/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999/{params,assets,_CHECKPOINT_METADATA} /Volumes/KIOXIA/r2r2r-data/checkpoints/pi05_mecharm_teach_lora_v1/3999/
train.log 100% 306KB 161.2KB/s 00:01
gpu_train.csv 100% 39KB 69.7KB/s 00:00
ckpt3999_sizes.txt 100% 1688 2.7KB/s 00:00
6c318f7126d09d406a9551d86f28a5f5 100% 213 0.4KB/s 00:00
31a435c88078d82b55475ce843d3cfee 100% 1258 2.3KB/s 00:00
a64dbbc24e30a10f5ab4b16f7929178d 100% 1376 2.3KB/s 00:00
31c3b2e4659c6c3c8fb81f9bc350fded 100% 5721 10.0KB/s 00:00
e4fcf2f875db56aeb4a951d4bae1aed7 100% 90KB 89.2KB/s 00:01
da48ff2073d011b5a0386d30cba6248e 100% 84MB 6.0MB/s 00:14
58a9507da874fac6f7ae97100c059321 100% 98MB 6.3MB/s 00:15
f8b556a07621d182835d97c565f3373c 100% 17MB 4.9MB/s 00:03
38f151efb41f1f99b5a7f087fd4d0167 100% 84MB 6.3MB/s 00:13
9343859b12325c8d1419dfd7c5a02cf0 100% 102MB 6.2MB/s 00:16
f1473ca949703ad1add1a376e772b7a0 100% 169MB 6.3MB/s 00:27
ac5cd61e2e17c9dd10abc0d672da81dc 100% 86MB 5.7MB/s 00:15
a2c0dc2db45edf9c2cebee6c7086e0bb 100% 239MB 6.1MB/s 00:39
1f6b57aebf2722f6504fef49def32e2c 100% 591MB 6.2MB/s 01:34
a2d25310d68aa4379d6dcb9ceeb51aa2 100% 127MB 6.3MB/s 00:20
31e8af417d4f803f960504053e7136cf 100% 474MB 6.5MB/s 01:13
da305b26370b83c6bdfaaa73517c7188 100% 474MB 5.9MB/s 01:20
a5dc182b10a36a1018ebe20e70b63826 100% 791MB 5.9MB/s 02:15
d44f9b47b8a9f68db31f8855ca912a1e 100% 902MB 5.8MB/s 02:35
fedca1dd55dcc2b3aa5146f771fe3ddf 100% 902MB 5.8MB/s 02:34
459554bce9676f12dbb3d6b1e6b0a8c7 100% 902MB 5.7MB/s 02:39
manifest.ocdbt 100% 377 0.7KB/s 00:00
process_0 100% 13KB 17.6KB/s 00:00
_sharding 100% 17KB 32.4KB/s 00:00
_METADATA 100% 32KB 59.8KB/s 00:00
6a4906a9d11bce23c2e9cbedaa718c54 100% 2833 5.2KB/s 00:00
manifest.ocdbt 100% 118 0.2KB/s 00:00
norm_stats.json 100% 1778 2.7KB/s 00:00
_CHECKPOINT_METADATA 100% 426 0.8KB/s 00:00
Pod から Mac へは毎秒約 6MB で、朝に Mac から Pod へ送ったとき(約 1.3MB)の4倍以上の速さでした。約20分で終わっています。
前回の LOG345 では、送り終わったと思ったファイルが壊れていたことがあります。今回は、Pod 側で作った一覧と、KIOXIA 側で同じ形に作った一覧を、行ごとに比べました。
cd /Volumes/KIOXIA/r2r2r-data/checkpoints/pi05_mecharm_teach_lora_v1/3999 && find params assets _CHECKPOINT_METADATA -type f -printf '%s %p\n' | sort -k2 > /tmp/mac_sizes.txt; wc -l /tmp/mac_sizes.txt; diff /Volumes/KIOXIA/r2r2r-data/lab/Log10/logs/ckpt3999_sizes.txt /tmp/mac_sizes.txt && echo ALL_MATCH; awk '{s+=$1} END {printf "%.2f GB\n", s/1e9}' /tmp/mac_sizes.txt
29 /tmp/mac_sizes.txt
ALL_MATCH
6.34 GB
29 ファイルとも、名前とサイズ(バイト単位)が一致しました。一覧の全29行です。
426 _CHECKPOINT_METADATA
1778 assets/local/mecharm_redblock_box_teach_v1/norm_stats.json
33052 params/_METADATA
17773 params/_sharding
12891 params/array_metadatas/process_0
2833 params/d/6a4906a9d11bce23c2e9cbedaa718c54
118 params/manifest.ocdbt
619891963 params/ocdbt.process_0/d/1f6b57aebf2722f6504fef49def32e2c
1258 params/ocdbt.process_0/d/31a435c88078d82b55475ce843d3cfee
5721 params/ocdbt.process_0/d/31c3b2e4659c6c3c8fb81f9bc350fded
497190175 params/ocdbt.process_0/d/31e8af417d4f803f960504053e7136cf
88576999 params/ocdbt.process_0/d/38f151efb41f1f99b5a7f087fd4d0167
945626257 params/ocdbt.process_0/d/459554bce9676f12dbb3d6b1e6b0a8c7
102645931 params/ocdbt.process_0/d/58a9507da874fac6f7ae97100c059321
213 params/ocdbt.process_0/d/6c318f7126d09d406a9551d86f28a5f5
107151331 params/ocdbt.process_0/d/9343859b12325c8d1419dfd7c5a02cf0
251129798 params/ocdbt.process_0/d/a2c0dc2db45edf9c2cebee6c7086e0bb
133018547 params/ocdbt.process_0/d/a2d25310d68aa4379d6dcb9ceeb51aa2
828933435 params/ocdbt.process_0/d/a5dc182b10a36a1018ebe20e70b63826
1376 params/ocdbt.process_0/d/a64dbbc24e30a10f5ab4b16f7929178d
90308246 params/ocdbt.process_0/d/ac5cd61e2e17c9dd10abc0d672da81dc
945879563 params/ocdbt.process_0/d/d44f9b47b8a9f68db31f8855ca912a1e
497033775 params/ocdbt.process_0/d/da305b26370b83c6bdfaaa73517c7188
87672712 params/ocdbt.process_0/d/da48ff2073d011b5a0386d30cba6248e
91772 params/ocdbt.process_0/d/e4fcf2f875db56aeb4a951d4bae1aed7
177524869 params/ocdbt.process_0/d/f1473ca949703ad1add1a376e772b7a0
17466316 params/ocdbt.process_0/d/f8b556a07621d182835d97c565f3373c
945630470 params/ocdbt.process_0/d/fedca1dd55dcc2b3aa5146f771fe3ddf
377 params/ocdbt.process_0/manifest.ocdbt
Pod の「⋮」には Terminate がなく、Stop してから Terminate した
Pod を消すとき、Pods の画面の「⋮」には、Terminate(削除)が出ていませんでした。出ていたのは Lock Pod・Edit Pod・Save as template・Restart Pod・Reset Pod・Stop Pod です。

Stop Pod を押して止めてから、もう一度「⋮」を開くと Terminate が出たので、それで削除しました(20:44)。Stop だけだと、ディスクの料金がかかり続けます。
A40 を借りた時間と費用
| 項目 | 値 |
|---|---|
| GPU | NVIDIA A40(48GB)× 1、Runpod Secure Cloud、9 vCPU・50GB RAM |
| テンプレート | Runpod Pytorch 2.8.0(CUDA 12.8.1・Ubuntu 24.04) |
| 料金 | 1時間 0.62 ドル(GPU 0.59 ドル+Container disk 200GB 0.028 ドル) |
| 空きを待った時間 | 6:39 に予約を作成、起動は11時前後(約4時間20分) |
| 学習 | 12:17〜20:13(7時間55分29秒)、4,000 ステップ、1ステップ約 7.0〜7.1 秒、バッチ32 |
| 学習の費用(計算) | 約 7.93 時間 × 0.62 ドル ≒ 4.9 ドル |
| 持ち帰り | 20:19〜20:40、6.34GB、毎秒約 6MB |
| 削除 | 20:44(Stop → Terminate) |
| 残高の表示 | 6:35 に 12.37 ドル、11:59 に 11.71 ドル、20:43 に 6.92 ドル |
| かかった費用 | 約 5.45 ドル(12.37 − 6.92) |
起動した時刻から削除した時刻までを 0.62 ドルで計算すると、6 ドル前後になります。残高の差(5.45 ドル)と合わない理由は分かっていません。起動した正確な時刻を記録していなかったためです。
次は、ブロックの置き場所を変えて、手を伸ばす先が変わるかを実機で見る
次に試すことは1つです。ブロックを置く場所を変えて、アームが手を伸ばす先がそれに合わせて変わるかを見ます。前回のモデルでは変わりませんでした。
推論だけなら、GPU のメモリは 9GB ほどで足ります(Log#3 で測った値)。48GB の A40 でなくても、空いている 24GB 以上の GPU で Pod を借りられます。新しい Pod でも、install_addon.py と add_teach_config.py を先に実行しておきます。推論サーバーを起動するときに、設定名 pi05_mecharm_teach_lora が必要なためです。
uv run scripts/serve_policy.py policy:checkpoint --policy.config=pi05_mecharm_teach_lora --policy.dir=checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 2>&1 | tee /workspace/logs/serve.log
Mac 側のクライアントには、--raw-dir で新しいお手本の場所を渡します。クライアントは、アームに送る前に、各関節が動いてよい範囲をお手本から作ります。範囲は、お手本の全コマで実際に使った角度の最小〜最大に ±10° を足したもので、その外へ出る指令は範囲の端に切り詰めます(LOG341)。2つのお手本で、この範囲を同じ計算で出しました。
cd /Volumes/KIOXIA/r2r2r-data/datasets && python3 -c "
import numpy as np,glob
for ds in ['mecharm_redblock_box_scripted_v1','mecharm_redblock_box_teach_v1']:
qs=[np.load(p)['state'][:,:6] for p in glob.glob(ds+'/raw_episodes/*/episode.npz')]
q=np.concatenate(qs); lo=q.min(0)-10; hi=q.max(0)+10
print(ds,len(qs),' '.join(f'j{k}[{lo[k]:+.1f},{hi[k]:+.1f}]' for k in range(6)))
"
mecharm_redblock_box_scripted_v1 20 j0[-52.5,+95.8] j1[-8.7,+99.2] j2[-52.2,+30.4] j3[-23.7,+32.5] j4[-100.9,+67.3] j5[-50.6,-18.9]
mecharm_redblock_box_teach_v1 19 j0[-71.7,+54.7] j1[-8.7,+97.9] j2[-45.7,+41.4] j3[-17.8,+27.0] j4[-98.2,+10.4] j5[-50.6,-13.6]
(クライアントは、このあと物理的な可動域と手首の安全範囲 −90°〜+60° でさらに絞ります。)何も付けないと前回のお手本の範囲になり、土台は −52.5° より先へ回れません。置き場所4(つかむ瞬間の土台 −61.6°)へ手を伸ばす動きが、途中で切り詰められます。
cd ~/r2r2r-scripts && python3 pi05/run_policy_client.py --max-chunks 5 --raw-dir /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1/raw_episodes
保存先は次のとおりです。
| データ | 場所(KIOXIA の r2r2r-data/ 以下) |
|---|---|
| お手本(19本) | datasets/mecharm_redblock_box_teach_v1/raw_episodes/ |
| 学習したモデル | checkpoints/pi05_mecharm_teach_lora_v1/3999/ |
学習ログ・GPU の記録・ファイルの一覧 | lab/Log10/logs/ |
| 設定を足すスクリプト | lab/Log10/pod/add_teach_config.py |
| この回のまとめ | lab/Log10/README.md |