---
title: "研究の記録を、判断のための1ページにする ― 買うか借りるかの導入ガイド"
slug: from-research-log-to-lp
date: 2026-10-23
day: 368
meta_description: "学習用GPUを買うか借りるかを決めるための1ページを、研究記録の数字から作った。誰に向けたか、なぜ記事でなくLPにしたか、結論を先に置く構成、計算機と判定フロー、ChatGPTによる18件の検証、入口と検索の設定までをまとめた。"
tags: [LP, ランディングページ, コンテンツ設計, マーケティング, 導入比較ガイド, クラウドGPU, Runpod, ChatGPT, 敵対的検証, CTA, SEO, 構造化データ]
series: "ひとり研究所の裏側"
cover: "/media/LOG368_cover_v2.jpg"
---

ロボットを動かすAIを自分たちで学習させようとすると、最初に「GPU（AIの計算をする部品）を積んだPCを買うか、クラウドで1時間単位で借りるか」を決めることになります。このプロジェクトでも7月に約75万円のPCを組む見積もりを作りました。結局は買わずにクラウド（Runpod）で借り、10月までに学習と実機テストを7回回して、GPU代は記録のある分で4,677円でした。

この経緯は、研究の記録（フィジカルAI研究室のシリーズ）に全部書いてあります。ただ、研究の記録は1回ごとの作業ログで、コードと出力を省かずに載せるのが決まりです。あとで本人やAIが同じことをやり直すための記録なので、長く、答えがあちこちに散っています。「うちの会社は買うべきか、借りるべきか」を知りたい人が読むものにはなっていません。

そこで、同じ数字を使って、判断のためだけの1ページを作りました。研究の記録とは別の、商品紹介のページ（ランディングページ、LP）に近い作りです。公開したのは pixelstomotors.com/gpu-buy-or-rent です。

**同じ数字でも、記録として残すページと、判断してもらうページでは、置く順番も字数も変える必要がありました。** 記録は「何をしたか」の順に並べます。判断のページは「読む人が知りたい順」に並べ、結論を一番上に置きます。

| | 研究の記録（LOG） | 導入比較ガイド（LP） |
|---|---|---|
| 読む人 | 同じことをやり直したい人、あとで見返す本人とAI | これから学習環境を用意する企業の担当者・研究者・エンジニア |
| 並べる順 | やった順 | 知りたい順（結論 → 前提 → 実費 → 自分の場合 → 比較 → 判定 → 注意） |
| 字数 | 省かない（コードもログも全量） | 絞る |
| 最後にあるもの | 次にやること | 相談の入口 |
| 置き場所 | 記事一覧（LOG番号つき） | 単独のページ。トップと研究室のページから入口を置く |

このページで読む人がやることは3つです。3つの数字で結論をつかむ。計算機に自分の条件を入れて、自分の場合どちらが安いかを出す。4つの質問に答えて、借りる・買う・併用のどれが合うかを見る。それでも決めきれない人のために、最後に「試算・立ち上げを相談する」の入口を1つだけ置きました。

この記事では、なぜこのページを作ったか、誰に向けてどんな順番で組んだか、中身の正しさをどう確かめたか、どう見つけてもらうかをまとめます。デザインの進め方と細部の詰め方は、次の LOG369 に分けて書いています。

ここから下は作業ログです。


## 作業ログ ― 判断のための1ページを作るまで

### 依頼：研究記録とは違う切り口で、導入を比べるページを作る

最初の依頼は次のとおりでした。

> https://pixelstomotors.com/series6 このフィジカルAI研究所の記事内の情報を活用して、LOGとは違う切り口の記事を作りたいです。同じように学習環境を作りたいと思っている企業や研究者、エンジニア向けの導入比較の記事です。うちでは最初学習のためのパソコンを新規で揃えようとしましたが、Runpodを使って学習環境を構築しました。そのメリット、デメリットを徹底的に掘り下げて詳しくありながらも惹きつけられるような記事を作ってください。デザインは今のデザインを踏襲する必要はないので、良さそうなデザインや構成を調べて提案してください。

続けて、次の条件が足されました。

- いつもの LOG とは違い、文字の量は絞る。CTA（相談などの行き先へ誘うボタン）と図解を入れて、タイトルも含めて伝わりやすさを優先する
- 金額はドルで計算しない。円で書き、ドルは補足にとどめる
- LOG の番号は付けない。扱いは LP に近い
- 住所は /gpu-buy-or-rent。入口はトップページと /series6（フィジカルAI研究室）の紹介文の下

### なぜ記事ではなく、LP にしたか

このプロジェクトの目標は「他人が同じ手順で同じ結果に到達できる環境を増やす」ことです。研究の記録はそのためにあり、コマンドと出力まで全部載せています。一方で、外から相談や共同の研究につながるのは、記録を読み込んだ人よりも、「自分たちも学習環境を用意したいが、何から決めればいいか分からない」段階の人です。その人たちは、記録を7本読んでから判断はしません。

そこで、読む人の段階に合わせて、入口を分けました。

| 読む人の段階 | 欲しいもの | このサイトで渡すもの |
|---|---|---|
| まだ決めていない（買う？借りる？） | 判断の材料と、自分の場合の答え | 導入比較ガイド（このページ） |
| 借りると決めた・同じことをやりたい | 手順・コマンド・出力 | 研究の記録（フィジカルAI研究室） |
| 自社の条件で考えたい | 試算と立ち上げの相談 | メッセージの入口 |

LOG の番号を付けず、記事一覧にも並べないのは、このページが「その日にやったこと」の記録ではないからです。料金や為替が変われば、数字を直して使い続けます。記録は書き換えませんが、このページは書き換える前提です。

### 誰に向けたか：最初の1行で「自分のことだ」と分かるようにした

タイトルは、誰のためのページかが最初に分かる形にしました。

> ロボットAIの学習用GPU、買うか借りるか ― 実費と計算機で決める導入ガイド

見出しの上には「これからロボットAIの学習環境を用意する、企業の担当者・研究者・エンジニア向け」の1行を置いています。最初に公開した版のタイトルは「学習用GPU PCを買う前に、借りて測った」で、こちらの体験の話に寄っていました。読む人が知りたいのは、こちらが何をしたかより、自分がどうすればいいかです。

【画像】LOG368_01_first_version.png 最初に公開した版の最初の画面。タイトルは「学習用GPU PCを買う前に、借りて測った」で、こちらの体験の話に寄っていた

### ページの構成：読む人が知りたい順に9つの区切り

並べる順は、読む人の頭に浮かぶ問いの順にしました。

| 順 | 区切り | 答える問い | 置いたもの |
|---|---|---|---|
| 最初の画面 | 見積書と利用明細 | 結局いくら違ったの？ | 買わなかったPCの見積書 ¥750,000 と、借りたGPUの利用明細 ¥4,677 を並べる。間に「およそ1/160」 |
| 結論 | 3つの数字で、先に結論 | 要点だけ知りたい | 22.5GB超・月180時間・約3割の3つの数字と、ページ内の目次 |
| 01 | GPUのメモリが足りるか | そもそも、どのGPUなら学習できる？ | 用途（推論・LoRA学習・全体の学習）を選ぶと、5つのGPUが足りるか足りないかが変わる図 |
| 02 | 実際の費用 | 本当にその金額で済んだの？ | 7回分の費用を、作業していた時間と置いていた時間に分けたグラフと、実機の動画 |
| 03 | 損益分岐の計算 | 自分の使い方だと、どっちが安い？ | 使う時間・置いておく割合・GPUの速さ・年数・売却・電気代・為替を動かせる計算機 |
| 04 | 9項目の比較 | 料金以外の違いは？ | 買うと借りるを9項目で比べ、強い側を黒で塗った表。借りる側で実際に起きた4つ |
| 引用 | 予想と逆だったこと | 借りると再現できないのでは？ | 借りた環境は他人が再現できないと思っていたが、逆だった話 |
| 05 | 判定フロー | 結局うちはどれ？ | 4つの質問に答えると、借りる・買う・併用などが出る |
| 06 | 借りる前のチェック | 借りるなら何に気をつける？ | このプロジェクトで一度失敗した7つ |
| CTA | 次の一歩 | 相談できる？ | 「自社の条件で／試算・立ち上げを相談する」のボタン1つ |

順番で気をつけたのは2つです。

1つ目は、結論を一番上に置いたこと。最初の画面の見積書と利用明細で「約160分の1」を見せ、その下ですぐ3つの数字を出します。ここで読むのをやめても、要点は持ち帰れます。

2つ目は、メモリの話を費用より先に置いたこと。GPUは、メモリ（AIの重さを載せておく場所）が足りなければ、学習は遅くなるのではなく始まりません。最初に計画していた RTX 5080 は16GBで、このモデルの学習に要る目安（22.5GB超）に届きませんでした。安いかどうかを比べる前に、比べる候補になるかが決まります。

【画像】LOG368_10_fv_final.png 最初の画面。見出しと「自分の条件で計算する」のボタン、見積書と利用明細

【画像】LOG368_11_summary.png 3つの数字で、先に結論。22.5GB超・月180時間・約3割

【画像】LOG368_12_memory.png 01 GPUのメモリが足りるか。5つのGPUのうち、実際に借りた A40 だけに色を付けた

【画像】LOG368_13_cost.png 02 実際の費用。記録のある7回で ¥4,677、うち約3割は置いていただけの時間

### 計算機と判定フロー：読む人が自分の条件で答えを出せるようにした

このページの中心は 03 の計算機です。こちらの数字（月120時間なら借りる方が安い）は、こちらの使い方での答えにすぎません。読む人が自分の使う時間・置いておく割合・PCの値段などを入れて、自分の答えを出せるようにしました。

初期値は、このプロジェクトの実際の使い方です。初期値のままだと、借りると月16,793円、買う（RTX 5090のPC・4年）と月23,540円で、買う方が安くなるのは月約178時間からです。式と検算は、この記事の後ろに載せています。

05 の判定フローは、計算機の結果を受けて、料金以外の条件も含めて答えを出します。最初の質問は「学習に使うデータを、社外のクラウドに送ってよいか」です。安いかどうかより先に、この質問で決まる会社が多いからです。境目の時間は固定せず、計算機の今の条件から出しています。

【画像】LOG368_14_calc.png 03 損益分岐の計算機。条件を動かすと、4年でどちらが安いかと、買う方が安くなる使用時間が変わる

【画像】LOG368_17_flow.png 05 判定フロー。4つの質問に答えると、借りる・買う・併用などが出る

### 中身の正しさ：ChatGPT に粗を探させ、18件を直した

判断に使ってもらうページなので、数字や言い切りに間違いがあると、そのまま誤った判断につながります。最初の版を公開したあと、ChatGPT に「粗を探す読み方（敵対的検証）」で読ませました。同じ書き手（Claude）が書いて確かめると、同じところを見落とすからです。

| 重さ | 件数 | 例 |
|---|---|---|
| 誤り（直さないとまずい） | 2 | 「実績は3割」と「30%上乗せ」の分母が違う／判定フローの「学習しない月がある」 |
| 誤解を招く | 12 | 速さの違うGPUを同じ時間で比べている／16GBでは動かないと言い切っている／企業データを社外に出せるかが判定にない |
| 改善 | 4 | 計算式の説明があいまい／PC価格の根拠が再検証しにくい |

一番大きかったのは、置いていた時間の割合の計算でした。記録では「借りた費用のうち3割が、使っていない時間の分」だったのに、計算機は「作業時間に30%を足す」式になっていました。総費用の30%が置いていた分なら、総時間は作業時間÷(1−0.30)＝作業時間×1.4286 です。30%を足すと1.3倍にしかならず、実績と合いません。直すと、買う方が安くなる使用時間は月約199時間から月約178時間になりました。

ほかの指摘も全部直しました。

- 速さの違い：計算機に「買うGPUの速さ（借りるGPUの何倍か）」のつまみを足し、「速さは測っていない」と書いた
- 16GBの言い切り：「openpi の説明書の、GPU1枚の目安では LoRA 学習に22.5GB超。16GBの RTX 5080 はこの目安に届かない。16GBで動かす別の設定は試していない」に弱めた
- 学習できない構成：目安に届かないPC・GPUを選ぶと、計算機が「比較の対象外」と出すようにした
- 買う側の選択肢：RTX 4090（24GB）を計算機に足した
- 判定フロー：最初に「データを社外のクラウドに送ってよいか」を聞くようにした。「学習しない月がある」をやめて「1年でGPUを何時間使うか」にした
- 比べる範囲：「機材とサービスの料金だけ。人の作業時間は入れていない。借りる側は Runpod の場合で、国内・円建てのクラウドや中古は比べていない」と明記した

比べる範囲を正直に書くのは、売り込みのページとしては弱く見えるかもしれません。ただ、このページの読み手は、自分で判断する人です。範囲を書かずに「借りる方が安い」と言い切ると、条件の違う会社がそのまま信じて損をします。

指摘の全文は、この記事の後ろに載せています。

### 料金以外の比較と、予想と逆だったこと

04 の比較では、料金以外の9項目を並べました。買う側が強いのは、長く回すときの費用・すぐ使えるか・ロボットとの距離・データの扱い・支払いの通貨の5つ。借りる側が強いのは、はじめる費用・使えるメモリ・他人が同じ環境を作れるか・置き場所と故障の4つです。借りる側の弱い項目は、どれも実際に起きたこと（置いていた時間の課金、4時間20分の空き待ち、毎回1時間10分の立ち上げ、0.6〜1.6秒の往復の遅れ）で示しました。

【画像】LOG368_15_compare.png 04 買うと借りるを9項目で比べた表。強い側を黒で塗り、下に借りる側で実際に起きた4つを並べた

その下に、予想と逆だったことを1つだけ大きく置きました。研究室を作り始めたときは、借りた環境は他人が再現できないと考えて、PCを自作するつもりでした。実際には、GPUの型番と手順を書いておけば、読んだ人は空きと地域の条件が合う限り、同じ A40 を1時間約93円で借りられます。逆に自作のPCは、同じ部品を同じ値段でそろえるのが難しくなっています（RTX 5090を積んだPCの最安は、5月に約60万円、10月は約124万円。同じ構成どうしの比較ではない）。

このプロジェクトの目標が「他人が同じ手順で同じ結果に到達できる環境を増やす」ことなので、ここは比較の項目の1つではなく、ページの中で一番伝えたいことの1つとして、帯を変えて置いています。

【画像】LOG368_16_reverse.png 予想と逆だったこと。借りた環境は、他人が再現できないと思っていた

### 06 のチェックと、最後の CTA

06 には、借りると決めた人が最初に決めておく7つを置きました。どれも、このプロジェクトで一度失敗したことです（実機を動かす時間を決めてから借りる、削除の前にモデルとログを手元へ、など）。読む人が同じ失敗をしないためのものですが、同時に「この人たちは実際にやっている」という証拠にもなります。

【画像】LOG368_18_checklist.png 06 借りるなら、最初に決めておく7つ

最後の CTA は、ボタンを1つにしました。最初は「相談する」と「全記録を読む」の2つを並べていましたが、2つあると迷うだけです。最初の画面のボタンも、同じ理由で「自分の条件で計算する」の1つにしています。

コピーは次のとおりです。

> GPU代 ¥4,677 で、ここまで動いた。
> 次は、あなたのロボットで。

上の行は、このページで見せてきた実費をもう一度言うだけの1行です。下の行で、読む人の側に話を渡します。ボタンには「自社の条件で／試算・立ち上げを相談する」と書きました。相談の中身を先に言っておくと、何を書いて送ればいいかが分かります。ボタンを押すと、メッセージのページが、相談の種類に「フィジカルAI・ロボット」を選んだ状態で開きます。

【画像】LOG368_19_cta.png 最後の CTA。左に実機のアームを薄く敷き、白いカードに相談のボタンを1つ

### 読む人にとってノイズになるものを外した

判断のページでは、読む人に関係のない情報は邪魔になります。次のものを外しました。

- 最初の画面の下の「読む時間・公開日・価格を確認した日」。価格を確認した日と為替（1ドル＝158円）は、数字の根拠としてページ下の「出典と記録」の中にだけ残した
- 写真の説明や、図の下の長い注記
- 2つ目のボタン（最初の画面と最後の CTA）

エイイチの言葉では次のとおりです。

> こんな情報ユーザーはノイズにしか感じない

### 入口：トップと研究室のページに置いた

このページは記事一覧に並ばないので、入口を2か所に置きました。トップページの動画の下と、フィジカルAI研究室（/series6）の紹介文の下です。研究室のページから来る人は、研究の記録を読みに来た人です。その中にも「自分たちも学習環境を用意したい」人がいるので、記録の前に判断のページへの入口を置いています。

バナーは黒地にデータセンターの写真を敷き、打ち消し線の ¥750,000 と、橙の ¥4,700、「読む」のボタンを並べました。

【画像】LOG368_21_top_banner.png トップページの入口のバナー

### 検索と共有：短いタイトル、数字の入った説明文、パンくず

検索から来る人に向けて、次を設定しました。

- 検索結果のタイトルを短くした：「ロボットAIの学習用GPU、買うか借りるか｜実費と損益分岐の計算機」。ページの見出しは長く、検索結果では途中で切れていた
- 説明文に、検索されやすい言葉と数字（π0.5・A40・RTX 5090・4,677円）を入れた
- 構造化データ（検索エンジンにページの中身を伝える書き方）に、パンくず（Pixels to Motors › フィジカルAI研究室 › このページ）と、ページの中の無料の計算機を足した
- 共有画像（SNS に貼ったときに出る画像）を、見積書と利用明細の数字が見える形で作り直した

【画像】LOG368_22_og_image.jpg 共有画像。題名と ¥750,000・¥4,677、赤いブロックを持ったアーム

### このあと見ること：どこまで読まれ、何が押されたか

このサイトには、ページごとに「どこまで読んだか・何を押したか」を数える仕組みがあります（入力した内容や IP アドレスは記録しない）。このページでも、次を見ます。

- 最初の画面のボタン（計算する）と、最後の相談のボタンが押された数
- 計算機まで読まれたか、判定フローまで読まれたか
- トップと研究室のページの入口から、どれだけ来たか

数字がたまったら、並べる順やボタンの文言を見直します。

【図解】LOG368_page_flow.html


## 記録 ― 検証の全文・計算式・入口と検索の設定

### ChatGPT の敵対的検証の全文（18件）

> 最大の問題は、A40とRTX 5090の速度を測らず、「月200時間」を購入判断の基準にしていることです。 計算機の足し算・掛け算は合っていますが、その結果を実際の学習費用の優劣に読み替える根拠が不足しています。
>
> 2026年10月23日時点で、対象ページの本文、計算式、出典欄、判定フローを開いて確認しました。以下で「実績」は筆者の申告を指します。Runpodの請求明細や生の学習ログまでは確認できていません。
>
> ■ 1．速度が違うGPUを、同じ使用時間で比較している
>
> 重さ：誤解を招く
>
> - どこの話か： 第3章、主張4・5、「月120時間なら借りる方が安い」「月およそ200時間から購入が安い」。
> - 何が問題か： 比較すべきなのは同じ時間の費用ではなく、同じ学習を完了する費用です。ページには折りたたみ内に「同じ時間で終わる前提」とありますが、見出しと要約は実用上の損益分岐として断定しています。
> - 根拠： A40で必要な時間を \(H\)、5090の実測速度をA40の \(r\) 倍とすると、購入側の稼働時間は \(H/r\) です。元の前提なら、
>
>   `借りる＝127.348H`  
>   `買う＝20,749.67＋23.25H/r`
>
>   となります。仮に \(r=2\) なら分岐はA40換算で約179時間、5090の稼働時間では約90時間です。これは感度分析であり、実測の速度比ではありません。 当該学習のA40対5090の速度比は確かめられませんでした。
> - どう直すとよいか： 「同一稼働時間での会計上の比較。学習完了費用の比較ではない」と要約にも明記。計算機には、同じモデル・バッチサイズ・データで測った秒/stepを両側に入力させる。
>
> ■ 2．「実績の3割」と「30%上乗せ」は分母が違う
>
> 重さ：誤り（直さないとまずい）
>
> - どこの話か： 第2・3章、主張3・5、計算機の「使わずに置く時間30%／実績は約3割」。
> - 何が問題か： 総費用の30%が放置分なら、放置分は作業分の約42.9%です。作業時間に30%を足す式では、総時間に占める放置時間は23.1%にしかなりません。
> - 根拠： 同じ時間単価と仮定すると、
>
>   `総時間＝作業時間÷(1−0.30)＝作業時間×1.4286`
>
>   です。初期値をこの定義に合わせると、借りる費用は月16,793円、損益分岐は約178時間/月になります。逆に30%上乗せを維持するなら、「実績は約3割」とは別の仮定です。
> - どう直すとよいか： 入力を「総課金時間に占める放置時間の割合」に変更し、式を `単価×作業時間÷(1−割合)` にする。あるいは「作業時間に対する放置時間の割合」と明記して、実績から再計算する。
>
> ■ 3．初期表示の算術は合うが、計算式の説明に曖昧さがある
>
> 重さ：改善
>
> - どこの話か： 第3章、主張5、計算機。
> - 何が問題か： 初期表示そのものを計算ミスとは指摘できません。ただし分岐式の「借りる1時間」が、放置分込みか不明瞭です。
> - 根拠： 再計算は次のとおりです。
>
> | 項目 | 再計算 | ページ表示 |
> |---|---:|---:|
> | クラウド単価 | 0.62×158＝97.96円/時 | 約98円 |
> | 借りる月額 | 97.96×120×1.3＝15,281.76円 | 15,282円 |
> | PC代の月額 | 1,244,980×0.8÷48＝20,749.67円 | — |
> | 電気代 | 0.75×120×31＝2,790円 | — |
> | 買う月額 | 23,539.67円 | 23,540円 |
> | 損益分岐 | 20,749.67÷(127.348−23.25)＝199.33時間 | 199時間 |
>
> - どう直すとよいか： 分岐式を `PC代月額÷［クラウド単価×(1＋放置上乗せ率)−PC電気代単価］` と書く。端数を切り上げて「購入が安くなるのは月200時間以上」とする。
>
> ■ 4．「16GBでは動かない」は適用範囲を広げすぎ
>
> 重さ：誤解を招く
>
> - どこの話か： 要約、第1章、主張1。
> - 何が問題か： READMEの目安を、π0.5のあらゆる実装・設定に通用する絶対的下限として扱っています。また「以上」は原文の記号と一致しません。
> - 根拠： 公式READMEは単一GPUの推定値として、推論 >8GB、LoRA >22.5GB、全量学習 >70GB と記載。さらに `fsdp_devices` による複数GPUへの分割を説明しています。これは「16GBのGPUでは、どんな方法でも学習不能」という証明ではありません。[openpi公式README](https://github.com/Physical-Intelligence/openpi#requirements)
> - どう直すとよいか： 「openpi READMEの単一GPU構成の目安では、LoRAに22.5GB超が必要とされる。今回想定した16GBの5080は、この目安を満たさない」。16GBでの代替設定の成否は未検証とする。
>
> なお、[RTX 5080の16GB](https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5080/)、[RTX 5090の32GB・GPU電力575W](https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5090/)は公式仕様と一致します。
>
> ■ 5．計算機が「目的の学習ができない購入候補」も比較する
>
> 重さ：誤解を招く
>
> - どこの話か： 第3章の購入PC選択、第1章の用途選択。
> - 何が問題か： LoRAには不足すると説明した5080構成が、費用計算の購入候補に入っています。逆に全量学習を選んでも、32GBの5090では単一GPUの70GB超という目安を満たしません。安いという表示と、実行できるという条件が切り離されています。
> - 根拠： 原文の購入選択肢に「RTX 5080 16GB 自作の見積もり」があります。必要メモリは上記READMEのとおり。
> - どう直すとよいか： 用途・実装・必要メモリを計算機にも連動させる。条件を満たさない構成には「比較対象外：この設定では実行可能性を確認できていない」と表示する。
>
> ■ 6．Runpod料金は概ね一致するが、ディスクの説明が足りない
>
> 重さ：誤解を招く
>
> - どこの話か： 主張5、第3・6章。
> - 何が問題か： 「200GBのディスク代」だけでは、種類と保持期間が分かりません。停止中やPodを削除した後の費用を、稼働時間比例の式で表せない場合があります。
> - 根拠： 公式価格でA40は0.59ドル/時。稼働中のローカルディスク200GBを月20ドル、月約730時間で換算すると、合計約0.6174ドル/時で、0.62ドルは妥当な丸めです。一方、停止中のVolume diskは0.20ドル/GB/月。Network volumeは別料金で、Pod削除後も存続します。[GPU公開価格](https://www.runpod.io/pricing)、[料金体系](https://docs.runpod.io/pods/pricing)、[ストレージの種類](https://docs.runpod.io/pods/storage/types)
> - どう直すとよいか： 「Container disk何GB＋Volume disk何GB、停止中何時間、Network volume何GB」を明示し、保存費を独立項にする。
>
> 課金単位の補足： GPU計算資源は秒課金です。「時間借り」は単価の表現として許容できますが、1時間単位への切り上げと誤解させない説明が必要です。公式の詳細欄ではNetwork volumeは時間課金です。
>
> ■ 7．「停止ではなく削除」を一律に勧めると、総費用が増える場合がある
>
> 重さ：誤解を招く
>
> - どこの話か： 第6章03・04、「削除すると消える」。
> - 何が問題か： 削除は保存費を減らしますが、再構築、モデル転送、バックアップ確認に時間と費用がかかります。またNetwork volumeはPodを削除しても消えません。
> - 根拠： ページ自身が立ち上げ約70分、モデル転送約40分を報告しています。保存の存続条件は[公式ストレージ資料](https://docs.runpod.io/pods/storage/types)で種類ごとに異なります。
> - どう直すとよいか： 「次回までの保存費と再構築費を比較し、停止・削除・外部保存を選ぶ」。転送確認もファイルサイズだけでなく、チェックサムや実際の読み込み確認を含める。
>
> ■ 8．企業向けなのに、データ持ち出しの条件が判定に入っていない
>
> 重さ：誤解を招く
>
> - どこの話か： 第4章「データの扱い」、第5章判定フロー、第6章。
> - 何が問題か： データの扱いを「削除すると消える・転送に時間」に縮めています。工場映像、顧客の設備情報、未公開製品、認証情報などを送ってよいかという、購入判断より先の条件が抜けています。
> - 根拠： Runpod自身もコンテナによる分離、ホストのアクセス方針、Secure Cloudの位置付けを別途説明しています。安い構成と企業が利用承認できる構成は同義ではありません。[公式セキュリティ説明](https://docs.runpod.io/references/security-and-compliance)
> - どう直すとよいか： 最初に「このデータを、この事業者・地域・契約条件で処理できるか」を質問する。未確認なら「承認を確認する／非機密データで測定する」と判定。保存先、アクセス制御、秘密情報の管理、削除・バックアップ条件を追加する。個別企業で利用可能かは本調査では確かめられません。
>
> ■ 9．価格選択が狭く、「買うなら5090」に誘導している
>
> 重さ：誤解を招く
>
> - どこの話か： 第1・3章、「24GB以上を新品で買うなら…RTX 5090」。
> - 何が問題か： 新品GeForce、業務用GPU、中古、既存PCへの増設を混ぜずに比較すべきです。特にページ内に24GBの4090を載せながら、購入計算機には入れていません。
> - 根拠： ページ内で4090を24GB・998,800円と表示しており、「新品で24GB以上なら5090」という説明と整合しません。openpiも4090をLoRAの例示GPUにしています。中古4090・3090の2026年10月23日の実売価格と状態は、今回確かめられていません。
> - どう直すとよいか： 「今回は新品5090搭載BTOを購入代表に選んだ。購入市場全体の最安ではない」と限定する。中古24GB機、既存機の増設、業務用GPUを別案として載せる。
>
> 複数枚の小容量GPUも選択肢ですが、単純なVRAM容量の足し算では判断できません。分割設定、接続、対応実装、速度を検証する必要があります。
>
> ■ 10．PC価格の根拠が、再検証しにくい
>
> 重さ：改善
>
> - どこの話か： 主張4、出典欄、約60万円から約124万円への値上がりの記述。
> - 何が問題か： 検索一覧のURLだけでは、型番、構成、送料、保証、在庫、価格の取得時刻を固定できません。5月と10月も同じ構成か不明です。
> - 根拠： [ドスパラ公式一覧](https://www.dospara.co.jp/gamepc?prefn1=txGraphicFilter&prefv1=GeForce%20RTX%205090)にはアクセスできましたが、取得内容から1,244,980円の対象商品を直接確認できませんでした。したがって、その価格を誤りとは断定できません。価格.comの単体価格も今回独立確認できていません。
> - どう直すとよいか： 商品詳細URL、型番、RAM・SSD・OS、送料込み価格、在庫、取得日時を残す。値上がり比較は同一構成にそろえる。
>
> ■ 11．750W・31円・売却20%を固定すると分岐が大きく動く
>
> 重さ：誤解を招く
>
> - どこの話か： 主張4・5、第3章。
> - 何が問題か： 750Wは実測ではなく、20%の売却額も将来予測です。31円は家庭向けの目安で、企業の契約単価を保証しません。
> - 根拠： [家電公取協](https://eftc.or.jp/qa/)の31円/kWhという目安は確認できます。5090の575WはGPUの仕様で、PC全体の壁コンセント電力750Wを裏付けません。元の計算で売却率を0%にすると、分岐は約249時間/月。20%なら約199時間です。
> - どう直すとよいか： 売却率0・10・20%、実測電力、実契約の電気単価で感度分析する。売却手数料・送料・データ消去費用も扱う。
>
> ■ 12．費用の抜けは両側にあり、方向も一定ではない
>
> 重さ：改善
>
> - どこの話か： 第3・4章、主張5・6。
> - 何が問題か： 購入側の保守、故障、冷房、設置、資金拘束と、クラウド側の準備作業、保存、再転送、停止・空き待ちによる納期影響を金額化していません。購入側を追加すると借用有利、クラウド側を追加すると購入有利になります。
> - 根拠： ページ自身に約70分の準備と約4時間20分の空き待ちがあります。Runpodのデータ入出力には公式には転送料がありません。ただし、転送中のPod稼働料、外部保存先や回線側の費用は別です。[Runpod料金資料](https://docs.runpod.io/pods/pricing)
> - どう直すとよいか： 「機材・サービス料金のみ」と「人件費込み」の2種類を表示する。OSはBTO価格に含まれる場合があるので、機械的に二重加算しない。
>
> なお、クラウドだけに放置時のGPU課金を加えること自体は不公平ではありません。 購入側にも対応する待機電力・冷房・作業時間を入れ、同じ作業を完了する条件にそろえる必要があります。
>
> ■ 13．4,700円は足し算できるが、学習成果の単価としては使えない
>
> 重さ：誤解を招く
>
> - どこの話か： 冒頭、第2章、主張2・3。
> - 何が問題か： 推論、設定、計測、やり直し、放置を含む支出と、12,250ステップという学習量を並べています。「この成果を再現する総費用」や「学習だけの費用」に読み替えられます。
> - 根拠： 7行の円額は合計4,677円。29.6ドル×158円＝4,676.8円で一致します。ステップも200＋2,000＋2,050＋4,000＋4,000＝12,250。ただし請求明細、各回の課金区間、約1,400円の放置分の算定は独立検証できません。「未記録分は少し多い」の「少し」も確認できません。
> - どう直すとよいか： 「記録のある7件のGPU関連支出は4,677円。未記録分と人件費等を含まない」とする。各回のGPU、単価、開始・終了、学習・推論・準備・放置時間を表にする。
>
> また、12,250ステップ×7秒は約23.82時間で、本文の約23.6時間とは約13分差です。概数として説明できますが、実測合計なのか丸めた速度による推定なのか区別すべきです。
>
> ■ 14．「借りる方が他人に再現できる」は比較軸がずれている
>
> 重さ：誤解を招く
>
> - どこの話か： 第4章、主張6、「型番と手順を書けば誰でも借りられる」。
> - 何が問題か： 購入側には同じ部品・同じ価格を要求し、クラウド側にはGPU型番と手順だけを要求しています。同じ価格で買えることと、実験を再現できることは別です。
> - 根拠： ページ自身がA40の空き待ちを記載しています。同じGPUでもCPU、RAM、ストレージ性能、ドライバー、コンテナ、依存関係が違えば挙動は変わります。openpiも[Docker導入手順](https://github.com/Physical-Intelligence/openpi#installation)を案内しています。
> - どう直すとよいか： 両側とも「再現にはコードのコミット、コンテナのダイジェスト、依存関係、学習設定、データと重みの識別情報が必要」とする。「誰でも」を「在庫・地域・アカウント条件が合えば」に弱める。
>
> ■ 15．他クラウドを除外したまま、クラウド一般の特徴にしている
>
> 重さ：改善
>
> - どこの話か： 第4章、ドル建て、遠隔地、料金比較。
> - 何が問題か： 米国Runpodの一例を、借用一般の通貨・遅延・価格の特徴として読ませています。
> - 根拠： [さくらの高火力](https://ai.sakura.ad.jp/gpu/)は国内データセンターで提供し、円建ての公開料金があります。[Lambda](https://lambda.ai/pricing)、[Vast.ai](https://cloud.vast.ai/)も比較候補です。ただし、今回の学習に適した構成・在庫・総費用までそろえた比較は確かめられていません。
> - どう直すとよいか： 表題を「今回の自宅PC案とRunpod利用の比較」に限定する。サービス比較をするなら、必要VRAM、実測速度、保存、地域、契約条件をそろえる。各社の最安表示だけを並べない。
>
> ■ 16．判定フローの「学習しない月がある」は費用判定として誤っている
>
> 重さ：誤り（直さないとまずい）
>
> - どこの話か： 第5章、主張7。
> - 何が問題か： 「200時間以上、それが何年も続く」→「学習しない月がある」と答えると、購入判定から外れます。重要なのは休む月の有無ではなく、保有期間全体の作業量です。
> - 根拠： 月600時間を年11か月なら年平均550時間です。1か月休むだけで借用側へ進めるのは、ページ自身の約199時間という式と矛盾します。逆に「毎月200時間」を毎日回すことと同一視するのも不正確です。
> - どう直すとよいか： 休止月を含む年間時間を入力し、年平均と繁忙期の同時実行数から計算する。「月がある／ない」という二択は削除する。
>
> ■ 17．判定フローが計算機の条件変更に追随していない
>
> 重さ：誤解を招く
>
> - どこの話か： 第3・5章。
> - 何が問題か： 計算機ではGPU単価、PC、年数、為替を変えられるのに、フローは200時間を固定境界にしています。
> - 根拠： ページのCommunity A40の0.38ドル/時を元の式に入れると、分岐は約378時間/月です。月250時間なら、フローの購入判定と計算結果が食い違います。
> - どう直すとよいか： 計算機とフローの入力を共有し、「現在の条件での分岐」を使う。速度差を未測定なら確定判定を出さない。
>
> ■ 18．実機制御の「1秒」を普遍的な境界にしている
>
> 重さ：誤解を招く
>
> - どこの話か： 第4・5章、併用判定。
> - 何が問題か： 米国との往復0.6〜1.6秒は筆者の条件です。それだけで「1秒未満なら手元、そうでなければクラウド」と分けられません。必要なのは制御周期、遅延のばらつき、通信断時の動作です。併用する手元GPUの費用も計算にありません。
> - 根拠： フローは「1秒より短い間隔」を質問し、併用結果では「小さなGPU・推論8GB以上」と案内します。しかしREADMEの目安は8GB超で、8GB機の動作保証ではありません。
> - どう直すとよいか： 「対象モデルの推論性能、必要な応答時間、通信断対策を実測して決める」。併用案にはローカル推論機、保守、電力、モデル配布の費用も加算する。
>
> ■ 重い順の上位5件
>
> 1. 速度未測定で月200時間を購入判断に使う：同じ学習量の費用比較になっていない。
> 2. 企業データの持ち出し可否が判定にない：安いという結果から、利用できない環境へ進むおそれがある。
> 3. 判定フローの固定200時間・休止月分岐：計算機や年間利用量と矛盾する結論が出る。
> 4. 総費用の30%と時間への30%上乗せの混同：実績を反映したとする初期値が数学的に一致しない。
> 5. 「16GBでは動かない」の断定：特定実装の単一GPU目安を、実装一般の不可能性へ広げている。


### 計算機の式と初期値の検算

```text
借りる1時間 = 単価（ドル/時）× 為替（円/ドル）÷（1 − 置いておく時間の割合）
借りる1か月 = 借りる1時間 × 使う時間（借りるGPUで換算・時間/月）
買う1か月   = PC価格 ×（1 − 売って戻る割合）÷（使う年数 × 12）
            + PCの消費電力（kW）×（使う時間 ÷ 買うGPUの速さ）× 電気代（円/kWh）
買う方が安くなる使用時間（月）= PC代の月額 ÷（借りる1時間 − 買うGPUの1時間あたりの電気代）

初期値（RTX 5090 32GB 搭載BTO 1,244,980円・A40 48GB Secure 0.62ドル/時・月120時間・置いておく30%・速さ1倍・4年・売って戻る20%・31円/kWh・1ドル158円）
  借りる1時間 = 0.62 × 158 ÷ 0.7 = 139.94円
  借りる1か月 = 139.94 × 120 = 16,793円
  PC代の月額  = 1,244,980 × 0.8 ÷ 48 = 20,749.67円
  電気代      = 0.75 × 120 × 31 = 2,790円
  買う1か月   = 23,540円
  分岐        = 20,749.67 ÷ (139.94 − 23.25) = 177.8時間/月
```


### 入口のバナー：src/components/GuideBanner.astro

```astro
---
// 導入比較ガイド（/gpu-buy-or-rent）への入口。トップと /series6 に置く
---
<a class="guide-bn" href="/gpu-buy-or-rent">
  <span class="gb-figs" aria-hidden="true">
    <span class="gb-buy">¥750,000</span>
    <span class="gb-rent">¥4,700</span>
  </span>
  <span class="gb-text">
    <span class="gb-label">導入比較ガイド</span>
    <span class="gb-title">ロボットAIの学習用GPU、買うか借りるか</span>
    <span class="gb-sub">これから学習環境を用意する企業・研究者・エンジニア向け。実際に借りて学習させた費用、損益分岐の計算機、判定フローで決められます</span>
  </span>
  <span class="gb-go">読む<i class="ms">arrow_forward</i></span>
</a>
<style>
  .guide-bn { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px;
    padding: 36px 36px; border: 0; border-radius: 0; background: #0b0c0e; color: #fff; text-decoration: none; }
  .guide-bn::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url(/site/gbr/reverse.webp) right center / cover no-repeat; transition: transform .6s ease; }
  .guide-bn::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11,12,14,.94) 0%, rgba(11,12,14,.78) 50%, rgba(11,12,14,.3) 100%); }
  .guide-bn:hover::before { transform: scale(1.03); }
  .guide-bn:focus-visible { outline: 2px solid #121418; outline-offset: 3px; }
  .gb-figs { display: grid; gap: 4px; font-family: 'Manrope', 'Noto Sans JP', sans-serif; font-variant-numeric: tabular-nums; line-height: 1.1; }
  .gb-buy { font-size: 20px; font-weight: 800; color: #8d939d; text-decoration: line-through; text-decoration-thickness: 2px; }
  .gb-rent { font-size: 34px; font-weight: 800; color: #f2600c; letter-spacing: -.01em; }
  .gb-text { display: grid; gap: 4px; min-width: 0; word-break: auto-phrase; text-wrap: pretty; }
  .gb-label { font: 700 12px/18px var(--sans); color: #b9bec7; letter-spacing: .08em; }
  .gb-title { font: 900 22px/1.45 var(--sans); color: #fff; }
  .gb-sub { font: 400 14px/1.7 var(--sans); color: #c8ccd4; max-width: 46em; }
  .gb-go { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 20px; border-radius: 4px;
    background: #f2600c; color: #fff; font: 700 14px/1 var(--sans); white-space: nowrap; transition: background .15s, color .15s; }
  .guide-bn:hover .gb-go { background: #fff; color: #121418; }
  .gb-go .ms { font-size: 18px; transition: transform .2s; }
  .guide-bn:hover .gb-go .ms { transform: translateX(3px); }
  @media (max-width: 699px) {
    .guide-bn { grid-template-columns: 1fr; gap: 14px; padding: 24px 20px; }
    .guide-bn::after { background: rgba(11,12,14,.82); }
    .gb-figs { grid-auto-flow: column; justify-content: start; align-items: baseline; gap: 14px; }
    .gb-rent { font-size: 28px; }
    .gb-title { font-size: 19px; }
    .gb-go { justify-self: start; }
  }
</style>

```


### 入口を置いた変更：トップ・/series6・シリーズの設定（commit fde7f80）

```diff
diff --git a/src/lib/records.ts b/src/lib/records.ts
index d77fbbb..4233065 100644
--- a/src/lib/records.ts
+++ b/src/lib/records.ts
@@ -34,7 +34,7 @@ export type SimTab = { id: string; task: string; place: string; src: string; tit
 
 // シリーズのページ（URL → 記事のシリーズ名）。Studio の一覧の絞り込み条件と同じ
 // intro はシリーズのページの見出しの下に出す説明（ないシリーズは出さない）
-export const SERIES_PAGES: Record<string, { series: string; title: string; pageTitle: string; limit: number; intro?: string; sim?: { src: string; title: string; note: string; obs?: { src: string; title: string; label: string; note: string; points: string[] }; tabs?: SimTab[] } }> = {
+export const SERIES_PAGES: Record<string, { series: string; title: string; pageTitle: string; limit: number; intro?: string; guide?: boolean; sim?: { src: string; title: string; note: string; obs?: { src: string; title: string; label: string; note: string; points: string[] }; tabs?: SimTab[] } }> = {
   series1: { series: 'HRI', title: 'Drug Delivery Robot | 薬剤搬送ロボットハコブくん', pageTitle: 'Series1 | 薬剤搬送ロボット', limit: 12,
     intro: '病院で薬を運ぶロボット「ハコブくん」を題材に、人とロボットの関わり（HRI）を設計している記録です。病院で使う画面（UI）の設計、Unity での自律移動、Fusion での形づくり、分身ロボット（アバター）の考察までを、4コママンガと一緒に残しています。' },
   series2: { series: 'R2R2R', title: 'R2R2R | デジタルツイン学習-R2R2R（Real to Render to Real）', pageTitle: 'Series2 | R2R2R', limit: 12,
@@ -45,7 +45,7 @@ export const SERIES_PAGES: Record<string, { series: string; title: string; pageT
     intro: 'フィジカルAIの研究をひとりで続けるために、AIと一緒に作ってきた仕組みの記録です。サイトの移行、動画の制作、記録の整理など、研究の外側の作業をどう回しているかを残しています。' },
   series5: { series: '考察記事', title: 'Deep Dive | 考察記事', pageTitle: 'Series5 | 考察記事', limit: 12,
     intro: '実装の記録とは別に、フィジカルAIやロボットについて、なぜそうなるのか、何を意味するのかを考えた記事です。論文や企業の発表、市場の動きを読み、対話の形で考えたことを、外れた議論も含めてそのまま残しています。' },
-  series6: { series: 'フィジカルAI研究室', title: 'Physical AI Lab | フィジカルAI研究室', pageTitle: 'Series6 | フィジカルAI研究室', limit: 12,
+  series6: { series: 'フィジカルAI研究室', title: 'Physical AI Lab | フィジカルAI研究室', pageTitle: 'Series6 | フィジカルAI研究室', limit: 12, guide: true,
     intro: 'ロボットアームが動きを覚える環境を、自宅にひとりで作っている記録です。机の上のアームでお手本の動きを集め、ロボット用のAI（Physical Intelligence の π0.5 など）に学習させ、実機で動かして確かめます。借りたGPUの種類・時間・費用も含めて、誰でも同じ手順で始められる形で残しています。' },
   series7: { series: '画像認識・物体検出', title: 'Image recognition and Object detection | 画像認識と物体検出', pageTitle: 'Series7 | 画像認識と物体検出', limit: 12,
     intro: 'ロボットのカメラが物を見つける仕組みを、下の層から学び直している記録です。画素の数字、色の見分け方、しきい値、輪郭、特徴点といった昔からの手法を、机の上のアームを撮った写真で1つずつ測って確かめ、その上で SAM 3 のような新しいモデルも試します。評価の物差し（IoU・適合率・再現率など）を先に決め、結果は数字で残しています。' },
diff --git a/src/pages/[series].astro b/src/pages/[series].astro
index 67cebb1..b98275e 100644
--- a/src/pages/[series].astro
+++ b/src/pages/[series].astro
@@ -3,6 +3,7 @@
 import Base from '../layouts/Base.astro';
 import RecordCard from '../components/RecordCard.astro';
 import LoadMore from '../components/LoadMore.astro';
+import GuideBanner from '../components/GuideBanner.astro';
 import { seriesCards, SERIES_PAGES } from '../lib/records';
 import { media } from '../lib/media';
 import staticPages from '../data/static.json';
@@ -27,6 +28,7 @@ const jsonLd = {
   <section class="s-hero"><div class="panel">
     <h1 class="sec-h s-title">{conf.title}</h1>
     {conf.intro && <p class="s-intro">{conf.intro}</p>}
+    {conf.guide && <div class="s-guide"><GuideBanner /></div>}
     {blocks.map((b) => (
       b.type === 'text' ? (b.link ? <a class="s-label" href={b.link} target={b.link.startsWith('/') ? undefined : '_blank'} rel={b.link.startsWith('/') ? undefined : 'noopener'} set:html={b.html} /> : <p class="s-label" set:html={b.html} />)
       : b.type === 'iframe' ? <div class="s-frame" style={`height:${b.height}px`} set:html={b.html} />
@@ -135,6 +137,7 @@ const jsonLd = {
 <style>
   .s-hero { padding: 88px 80px 0; }
   .s-title { margin: 0; }
+  .s-guide { margin: 24px 0 0; }
   .s-intro { margin: 16px 0 0; font: 400 16px/28px var(--sans); color: var(--ink-2); }
   .s-label { display: block; margin: 40px 0 16px; font: 500 16px/24px var(--sans); color: var(--ink); }
   .s-title + .s-label { margin-top: 8px; }
diff --git a/src/pages/index.astro b/src/pages/index.astro
index c4cad74..0054cb4 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -11,6 +11,7 @@ import icYoutube from '../icons/youtube.svg?raw';
 import { allCards } from '../lib/records';
 import MangaCard from '../components/MangaCard.astro';
 import LoadMore from '../components/LoadMore.astro';
+import GuideBanner from '../components/GuideBanner.astro';
 import { allManga } from '../lib/records';
 // Studio のトップと同じく、4コマは新しい4話
 const mangaCards = allManga.slice(0, 4);
@@ -56,6 +57,11 @@ const jsonLd = [
     <div class="embed-wide"><iframe src="/embeds/top-video.html" sandbox="allow-scripts allow-popups allow-popups-to-escape-sandbox" title="解説動画" data-embed style="height:450px"></iframe></div>
   </div></section>
 
+  <!-- 導入比較ガイド（LP）への入口 -->
+  <section class="sec"><div class="panel">
+    <GuideBanner />
+  </div></section>
+
   <section class="sec"><div class="panel">
     <h2 class="sec-h">Archive | 4コママンガ</h2>
     <div class="grid4">{mangaCards.map((m) => <MangaCard item={m} />)}</div>
```


### トップの白い枠を外した変更（commit 1374a75）

```diff
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 0054cb4..b4a01fa 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -58,7 +58,7 @@ const jsonLd = [
   </div></section>
 
   <!-- 導入比較ガイド（LP）への入口 -->
-  <section class="sec"><div class="panel">
+  <section class="sec"><div class="guide-wrap">
     <GuideBanner />
   </div></section>
 
@@ -171,4 +171,5 @@ const jsonLd = [
     .grid4 { gap: 16px; }
     .prop { flex-direction: column; align-items: center; gap: 24px; }
   }
+  .guide-wrap { max-width: 1280px; margin: 0 auto; }
 </style>
```


### 検索向けの設定の変更（commit 64ced32）

```diff
diff --git a/src/pages/gpu-buy-or-rent.astro b/src/pages/gpu-buy-or-rent.astro
index e44e88f..f0df0f5 100644
--- a/src/pages/gpu-buy-or-rent.astro
+++ b/src/pages/gpu-buy-or-rent.astro
@@ -4,15 +4,37 @@
 import Base from '../layouts/Base.astro';
 import { SITE, AUTHOR, PUBLISHER } from '../lib/seo';
 const title = 'ロボットAIの学習用GPU、買うか借りるか ― 実費と計算機で決める導入ガイド';
-const description = 'ロボットAIの学習環境を用意する企業・研究者・エンジニア向け。GPUを買うか、クラウド（Runpod）で借りるかを、実際に借りて学習させた記録・損益分岐の計算機・判定フローで決められる導入ガイド。';
+// 検索結果に出すタイトルは短くする（全角32字前後で切れるため）。ページの見出し（h1）は上の title のまま
+const seoTitle = 'ロボットAIの学習用GPU、買うか借りるか｜実費と損益分岐の計算機';
+const description = 'ロボットAI（π0.5）の学習用GPUを、PCで買うかクラウド（Runpod）で借りるか。実際にA40を借りて学習させた費用（記録のある7回で4,677円）、RTX 5090 PCとの損益分岐を出す計算機、4つの質問の判定フローで決められる導入ガイド。';
 const path = '/gpu-buy-or-rent';
-const jsonLd = {
-  '@context': 'https://schema.org', '@type': 'Article', headline: title, description,
-  url: SITE + path, image: SITE + '/og/gpu-buy-or-rent.jpg', inLanguage: 'ja',
-  datePublished: '2026-10-23', dateModified: '2026-10-23', author: AUTHOR, publisher: PUBLISHER,
-};
+const url = SITE + path;
+const jsonLd = [
+  {
+    '@context': 'https://schema.org', '@type': 'Article', headline: title, description,
+    url, mainEntityOfPage: url, image: [SITE + '/og/gpu-buy-or-rent.jpg'], inLanguage: 'ja',
+    datePublished: '2026-10-23', dateModified: '2026-10-23', author: AUTHOR, publisher: PUBLISHER,
+    articleSection: '導入比較ガイド',
+    keywords: 'GPU 買うか借りるか, 学習用GPU, クラウドGPU, Runpod, A40, RTX 5090, RTX 5080, π0.5, openpi, LoRA, GPUメモリ, 損益分岐, フィジカルAI, ロボットAI',
+    about: [
+      { '@type': 'Thing', name: 'クラウドGPU' },
+      { '@type': 'Thing', name: 'ロボット学習' },
+      { '@type': 'SoftwareApplication', name: 'π0.5（openpi）', applicationCategory: 'Robot foundation model' },
+    ],
+    isPartOf: { '@type': 'CollectionPage', name: 'フィジカルAI研究室', url: SITE + '/series6' },
+    hasPart: { '@type': 'WebApplication', name: '買う方が安くなる使用時間の計算機', url: url + '#calc', applicationCategory: 'BusinessApplication', operatingSystem: 'Web', offers: { '@type': 'Offer', price: 0, priceCurrency: 'JPY' } },
+  },
+  {
+    '@context': 'https://schema.org', '@type': 'BreadcrumbList',
+    itemListElement: [
+      { '@type': 'ListItem', position: 1, name: 'Pixels to Motors', item: SITE + '/' },
+      { '@type': 'ListItem', position: 2, name: 'フィジカルAI研究室', item: SITE + '/series6' },
+      { '@type': 'ListItem', position: 3, name: 'ロボットAIの学習用GPU、買うか借りるか', item: url },
+    ],
+  },
+];
 ---
-<Base title={`${title} | Pixels to Motors`} description={description} path={path} ogImage="/og/gpu-buy-or-rent.jpg" ogType="article" published="2026-10-23" modified="2026-10-23" jsonLd={jsonLd}>
+<Base title={`${seoTitle} | Pixels to Motors`} description={description} path={path} ogImage="/og/gpu-buy-or-rent.jpg" ogType="article" published="2026-10-23" modified="2026-10-23" jsonLd={jsonLd}>
   <link slot="head" rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap" />
   <div class="gbr">
 <section class="fv" aria-labelledby="fv-h">
```


### 共有画像（1200×630）の HTML

Playwright（ブラウザを自動で動かす道具）でこの HTML を開き、そのまま画像に書き出した。

```html
<!doctype html><meta charset=utf-8><link href="https://fonts.googleapis.com/css2?family=Manrope:wght@800&family=Noto+Sans+JP:wght@700;900&display=swap" rel=stylesheet>
<style>*{margin:0;box-sizing:border-box}body{width:1200px;height:630px;overflow:hidden;background:#f4f5f7;font-family:Manrope,"Noto Sans JP";color:#121418;position:relative}
.art{position:absolute;right:-30px;top:-10px;width:680px;height:690px}.art::before{content:"";position:absolute;inset:0;background:url(http://localhost:4321/site/gbr/halftone-red.png) 0 0/100% 100% no-repeat;opacity:.5}
.arm{position:absolute;left:9.05%;top:0;width:98.33%;max-width:none;mix-blend-mode:multiply;opacity:.82}
.fade{position:absolute;left:0;top:0;bottom:0;width:640px;background:linear-gradient(90deg,#f4f5f7 70%,rgba(244,245,247,0))}
.in{position:absolute;left:64px;top:56px;width:640px}
.who{font:700 20px "Noto Sans JP";color:#3c414b;margin-bottom:22px}
h1{font:900 66px/1.18 "Noto Sans JP";letter-spacing:-.01em}
.p{display:flex;align-items:baseline;gap:22px;margin-top:40px}
.b{font:800 40px Manrope;color:#8d939d;text-decoration:line-through;text-decoration-thickness:4px}
.r{font:800 76px Manrope;color:#f2600c;letter-spacing:-.02em}
.l{font:700 18px "Noto Sans JP";color:#5c616b;margin-top:4px}
.brand{position:absolute;left:64px;bottom:34px;font:800 22px Manrope}
</style>
<div class=art><img class=arm src="http://localhost:4321/site/gbr/arm-red.webp"></div><div class=fade></div>
<div class=in><div class=who>ロボットAIの学習環境を用意する人へ</div><h1>ロボットAIの<br>学習用GPU、<br>買うか借りるか</h1>
<div class=p><span class=b>¥750,000</span><span class=r>¥4,677</span></div><div class=l>買う予定だったPC ／ 借りて学習させたGPU代（記録のある7回）</div></div>
<div class=brand>Pixels to Motors</div>

```


このページのデザインの進め方と、ページ全体のソースコードは LOG369 に載せています。
