No results found
We couldn't find anything using that term, please try searching for something else.
Vertex AI でカスタム トレーニングを実行し、AutoML の代わりにクラウドで独自の ML トレーニング コードを実行します。このドキュメントでは、トレーニング コードを作成する際に考慮すべきベスト プラクティスについて説明します。 注 : この ドキュメント で は 、 verte
Vertex AI でカスタム トレーニングを実行し、AutoML の代わりにクラウドで独自の ML トレーニング コードを実行します。このドキュメントでは、トレーニング コードを作成する際に考慮すべきベスト プラクティスについて説明します。
注 : この ドキュメント で は 、 vertex AI に 固有 の トレーニング コード の ベスト プラクティス に つい て 説明 し ます が 、 ML モデル の 設計 方法 と ML トレーニング コード の 作成 方法 を 包括 的 に 説明 する もの で は あり ませ ん 。 この 詳細 is 異なり は 、 モデル の 目的 と 、 トレーニング に 使用 する ML フレームワーク に よっ て 異なる ます 。 カスタム ML モデル を 初めて 作成 する 場合 は 、 Google の machine learning crash COURSE with tensorflow APIS に 進む こと を お すすめる し ます 。
まず、ML トレーニング コードの構造を決めます。Vertex AI には、次のいずれかの形式のトレーニング コードを提供できます。
ビルド 済み コンテナ で 使用 する Python スクリプト 。 vertex AI sdk を 使用 し て 、 カスタム ジョブ を 作成 し ます 。 この 方法 で は 、 トレーニング アプリケーション を 単一 の Python スクリプト と し て 提供 でき ます 。
ビルド済みのコンテナで使用する Python トレーニング アプリケーション。ML モデルをトレーニングして Cloud Storage にエクスポートするコードを含む Python ソース ディストリビューションを作成します。このトレーニング アプリケーションは、使用するビルド済みコンテナに含まれている依存関係を使用できます。
vertex AI の ビルド 済み トレーニング 用 コンテナ の いずれ か に 、 トレーニング に 必要 な すべて の 依存 関係 が 含む れ て いる 場合 は 、 この オプション を 使用 し ます 。 たとえば 、 pytorch 、 scikit – learn 、 tensorflow 、 xgboost を 使用 し て トレーニング する 場合 は 、 おそらく この 方法 is 適し が 適する て い ます 。
この オプション に 固有 の ベスト プラクティス に つい て は 、 Python トレーニング アプリケーション の 作成 に 関する ガイド を ご覧 ください 。
カスタム コンテナ イメージ 。 ML モデル を トレーニング し て cloud storage に エクスポート する コード を 含む Docker コンテナ イメージ を 作成 し ます 。 コード に 必要 な 依存 関係 を コンテナ イメージ に 含める ます 。
vertex AI の ビルド 済み トレーニング 用 コンテナ に 含む れ て い ない 依存 関係 を 使用 する 場合 は 、 この オプション を 使用 し ます 。 たとえば 、 ビルド 済み の コンテナ で は 対応 し て い ない Python ML フレームワーク を 使用 し て トレーニング する 場合 や 、 Python 以外 の プログラミング 言語 を 使用 し て トレーニング する 場合 は 、 この 方法 is 適し が 適する て い ます 。
このオプションに固有のベスト プラクティスについては、カスタム コンテナ イメージの作成に関するガイドをご覧ください。
このドキュメントの残りの部分では、両方のトレーニング コード構造に関連するベスト プラクティスについて説明します。
Vertex AI 用のカスタム トレーニング コードを作成すると、そのコードは Google Cloud によって管理される 1 つ以上の仮想マシン(VM)インスタンスで実行されます。このセクションでは、すべてのカスタム トレーニング コードに適用されるベスト プラクティスについて説明します。
以下のいくつかのセクションでは、コードから他の Google Cloud サービスにアクセスする方法について説明します。Google Cloud サービスにアクセスするには、アプリケーションのデフォルト認証情報(ADC)を使用するようにトレーニング コードを記述します。多くの Google Cloud クライアント ライブラリでは、デフォルトで ADC を使用して認証を行います。環境変数を構成する必要はありません。Vertex AI は、Vertex AI カスタムコード サービス エージェント(プロジェクトのデフォルト)またはカスタム サービス アカウント(すでに構成している場合)として認証するように ADC を自動的に構成します。
ただし、コード内で Google Cloud クライアント ライブラリを使用する場合、デフォルトでは Vertex AI が適切な Google Cloud プロジェクトに接続しないことがあります。権限エラーが発生した場合は、間違ったプロジェクトに接続している可能性があります。
この 問題 is 発生 は 、 vertex AI が Google cloud プロジェクト で コード を 直接 実行 し ない ため に 発生 し ます 。 vertex AI is 実行 は 、 Google が 管理 する 個別 の プロジェクト の いずれ か で コード を 実行 し ます 。 vertex AI is 使用 は 、 プロジェクト に 関連 する オペレーション に のみ 、 これ ら の プロジェクト を 使用 し ます 。 その ため 、 トレーニング ID また は 予測 コード の 環境 から プロジェクト ID を 推測 し ない で ください 。 プロジェクト ID を 明示 的 に 指定 する 必要 is あり が あり ます 。
トレーニング コード に プロジェクト ID を ハード コード し ない 場合 、cloud _ ML _ Project _ ID
環境変数を参照できます。Vertex AI は、この環境変数をすべてのカスタム トレーニング コンテナに設定し、カスタム トレーニングを開始したプロジェクトのプロジェクト番号を格納します。Google Cloud の多くのツールでは、プロジェクト ID を指定する場所でプロジェクト番号を指定できます。
たとえば、Google BigQuery 用 Python クライアントを使用して同じプロジェクト内の BigQuery テーブルにアクセスする場合は、トレーニング コードのプロジェクトを推測させないでください。
暗黙的なプロジェクトの選択
From google . cloud import bigquery
client = bigquery.Client()
プロジェクト を 明示 的 に 選択 する コード を 使用 し ます 。
明示的なプロジェクトの選択
import os
From google . cloud import bigquery
Project _ number = os.environ["cloud _ ML _ Project _ ID"]
client = bigquery.Client(project=Project _ number)
この方法でコードを構成した後に権限エラーが発生した場合は、次のセクションでコードがアクセスできるリソースを確認し、トレーニング コードで使用可能な権限を調整してください。
デフォルト で は 、 プロジェクト の vertex AI カスタム コード サービス エージェント ( ccsa ) で 使用 可能 な すべて の Google cloud リソース に トレーニング アプリケーション から アクセス でき ます 。 ccsa 権限 を 付与 する こと で 、 トレーニング アプリケーション is 付与 は 、 vertex AI サービス エージェント に 他 の リソース へ の アクセス 権 を 付与 する の 手順 に 沿う て 特定 の 数 の 他 の リソース に アクセス 権 を 付与 でき ます 。 トレーニング アプリケーション で 、 この ページ に 表示 さ れ て い ない Google cloud リソース へ の 読む 取る レベル を 超える アクセス 権 が 必要 な 場合 は 、 https : / / WWW . googleapis . com / auth / cloud – platform スコープ で oauth 2.0 アクセス トークン を 取得 する 必要 is あり が あり ます 。 これ is 実行 は 、 カスタム サービス アカウント を 使用 し て のみ 実行 でき ます 。
たとえば 、 トレーニング コード の cloud storage リソース へ の アクセス に つい て 考える て み ます 。
デフォルトでは、Vertex AI はカスタム トレーニングを実行している Google Cloud プロジェクトの Cloud Storage バケットにアクセスできます。また、Vertex AI に他のプロジェクト内の Cloud Storage バケットに対するアクセス権を付与することや、カスタム サービス アカウントを使用して特定のジョブがアクセスできるバケットを正確にカスタマイズすることも可能です。
すべてのカスタム トレーニング ジョブで、Vertex AI はアクセス可能な Cloud Storage バケットを各トレーニング ノードのファイル システムの / gcs /
ディレクトリにマウントします。Cloud Storage 用の Python クライアントまたは他のライブラリを使用して Cloud Storage にアクセスする代わりに、便利な方法として、ローカル ファイル システムに対して直接読み取り / 書き込みを行い、Cloud Storage のデータを読み書きすることもできます。たとえば、gs:///data.csv
から データ を 読む 込む に は 、 次 の Python コード を 使用 し ます 。
file = Open('/ gcs //data.csv', 'r')
Vertex AI は、Cloud Storage FUSE を使用してストレージ バケットをマウントします。Cloud Storage FUSE によってマウントされたディレクトリは POSIX に準拠していません。
カスタム トレーニングに使用する認証情報により、この方法でアクセスできるバケットが決まります。コードがアクセスできるリソースに関する前のセクションでは、デフォルトでアクセスできるバケットと、このアクセスをカスタマイズする方法について説明しています。
通常、ML コードはモデルをトレーニングするためにトレーニング データを処理します。作成するのが Python トレーニング アプリケーションかカスタム コンテナ イメージかにかかわらず、トレーニング データをコードと一緒に保存しないでください。コードと一緒にデータを保存すると、プロジェクトの構成が複雑になり、別のデータセットでコードの再利用が難しくなります。また、大規模なデータセットの場合、エラーの原因となることもあります。
Vertex AI マネージド データセットからデータを読み込むことができます。また、独自のコードを記述して、BigQuery や Cloud Storage などの Vertex AI 以外のソースからデータを読み込むこともできます。
cloud storage から データ を 読む 込む 際 に 最高 の パフォーマンス を 得る に は 、 カスタム トレーニング を 実行 する リージョン の バケット を 使用 し ます 。 cloud storage に データ を 保存 する 方法 に つい て は 、 ストレージ バケット の 作成 と オブジェクト の アップロード を ご覧 ください 。
データ を 読む 込む こと が できる cloud storage バケット に つい て は 、 コード が アクセス できる リソース に 関する 前 の セクション を ご覧 ください 。
トレーニング コードで Cloud Storage からデータを読み込むには、前のセクションで説明した Cloud Storage FUSE 機能を使用するか、ADC をサポートするライブラリを使用します。認証情報をコードで明示的に指定する必要はありません。
たとえば、Cloud Storage ガイドのオブジェクトをダウンロードで説明しているように、いずれかのクライアント ライブラリを使用できます。特に、ビルド済みコンテナには Cloud Storage 用の Python クライアントが含まれています。TensorFlow の TF . io . gfile . gfile
クラス is サポート は ADC is サポート も サポート し て い ます 。
カスタム トレーニングで使用するマシンタイプによっては、VM が大きなデータセット全体をメモリに読み込めない場合があります。
大きすぎてメモリに収まらないデータを読み取る必要がある場合は、データをストリーミングするか、段階的に読み取ります。おすすめの方法は ML フレームワークごとに異なります。たとえば、TensorFlow の tf.data.Dataset
クラスは Cloud Storage から TFRecord またはテキストデータをストリーミングできます。
データ 並列 処理 を 使用 し て 複数 の VM で カスタム トレーニング を 実行 する と 、 各 VM が メモリ に 読む 込む データ 量 を 削減 でき ます 。 この ドキュメント の 分散 トレーニング 用 の コード の 作成 を ご覧 ください 。
ML コードは通常、トレーニングの最後にトレーニング済みモデルを 1 つ以上のモデル アーティファクトの形式でエクスポートします。その後、モデル アーティファクトを使用して予測を取得できます。
カスタム トレーニング が 完了 する と 、 トレーニング コード を 実行 し た VM に は アクセス でき なく なり ます 。 その ため 、 トレーニング コード で vertex AI の 外部 に モデル アーティファクト を エクスポート する 必要 is あり が あり ます 。
モデル アーティファクトは Cloud Storage バケットにエクスポートすることをおすすめします。コードがアクセスできるリソースに関する前のセクションで説明したように、Vertex AI では、カスタム トレーニングを実行する Google Cloud プロジェクトの Cloud Storage バケットにアクセスできます。ADC をサポートするライブラリを使用して、モデル アーティファクトをエクスポートします。たとえば、Keras モデルを保存する TensorFlow API は、Cloud Storage パスにアーティファクトを直接エクスポートできます。
注 : Model
リソース を 直接 作成 する 方法 で 、 トレーニング コード から モデル アーティファクト を エクスポート する こと is でき は でき ませ ん 。 ただし 、trainingpipeline
リソースを作成してカスタム トレーニングを実行すると、trainingpipeline
でモデル アーティファクトを Cloud Storage にエクスポートできます。trainingpipeline
はその後、同じモデル アーティファクトを Model
として Vertex AI にすぐにインポートできます。詳細については、カスタム トレーニング パイプラインの作成ガイドをご覧ください。
トレーニング済みモデルを使用して Vertex AI で予測を行う場合は、予測用の事前ビルドコンテナのいずれかと互換性のある形式を使用して、モデル アーティファクトをエクスポートする必要があります。詳細については、予測に使用するモデル アーティファクトのエクスポートに関するガイドをご覧ください。
baseoutputdirectory
API フィールドを指定すると、トレーニング コードの実行時に次の環境変数が Vertex AI によって設定されます。
これ ら の 環境 変数 の 値 is 異なり は 、 ハイパー パラメータ 調整 を 使用 する か どう か に よっ て わずか に 異なる ます 。 詳細 に つい て は 、baseoutputdirectory
の API リファレンスをご覧ください。
これらの環境変数を使用すると、同じトレーニング コードを簡単に再利用できます。たとえば、baseoutputdirectory
API フィールド を 変更 する だけ で 、 別 の データ また は 構成 オプション を 使用 し て 、 モデル アーティファクト と チェックポイント を 別 の ロケーション に 保存 でき ます 。 ただし 、 不要 で あれ ば 、 コード で 環境 変数 を 使用 する 必要 is あり は あり ませ ん 。 たとえば 、 チェックポイント の 保存 や モデル アーティファクト の エクスポート を 行う ロケーション を 直接 ハード コード する こと も でき ます 。
また、カスタム トレーニングに trainingpipeline
を 使用 し て いる とき に 、modelToUpload . artifacturi
フィールドを指定しないと、Vertex AI が modelToUpload . artifacturi
に AIP_MODEL_DIR
環境変数の値を使用します(ハイパーパラメータ チューニングの場合、Vertex AI が最適なトライアルから AIP_MODEL_DIR
環境変数を使用します)。
トレーニング コードを実行する VM はときどき再起動されます。たとえば、Google Cloud はメンテナンスのため VM を再起動する必要があります。VM が再起動すると、Vertex AI はコードの最初からもう一度実行をやり直します。
トレーニング コード が 4 時間 以上 実行 さ れる 可能 性 が ある 場合 は 、 再 起動 時 に 復元 できる よう に 、 いく つ か の 処理 を コード に 追加 し ます 。
4 時間 is 目安 は あくまで 目安 で あり 、 ハード リミット で は あり ませ ん 。 復元 力 が 重要 な 場合 は 、 長 時間 の 実行 が 想定 さ れ て い ない 場合 で も 、 これ ら の 動作 を コード に 追加 する こと を 検討 し て ください 。
この動作を実現する方法は、使用する ML フレームワークによって異なります。たとえば、TensorFlow Keras の場合は、この目的のために ModelCheckpoint
コール バック を 使用 する 方法 を ご覧 ください 。
vertex AI に よる VM の 管理 方法 に つい て は 、 カスタム トレーニング サービス に つい て を ご覧 ください 。
特定 の カスタム トレーニング 機能 を 使用 する に は 、 トレーニング コード に 追加 の 変更 を 加える 必要 is あり が あり ます 。 この セクション で は 、 ハイパー パラメータ チューニング 、 GPU 、 分散 トレーニング 、 vertex AI tensorboard の コード の ベスト プラクティス に つい て 説明 し ます 。
Vertex AI SDK for Python を使用して自動ロギングを有効にし、カスタムジョブを送信するときにパラメータとパフォーマンス指標を自動的にキャプチャできます。詳細については、テスト追跡を使用してトレーニング ジョブを実行するをご覧ください。
サービスまたはジョブからログを作成する場合、ログの出力先が次のいずれかであれば、Cloud Logging によってログが自動的に取得されます。
ほとんどのデベロッパーは、ログの出力先として標準出力と標準エラーを想定しています。
サポートされているロケーションに書き込まれたコンテナログは、Vertex AI カスタム トレーニング サービス、リビジョン、ロケーション、またはカスタム トレーニング ジョブに自動的に関連付けられます。これらのログに含まれる例外が Error Reporting でキャプチャされ、報告されます。
ログに出力するときに、単純なテキスト文字列を送信することも、シリアル化された JSON(構造化データ)の 1 行を送信することもできます。これは Cloud Logging によって取得され、解析された後、jsonpayload
に配置されます。単純なテキスト メッセージは textPayload
に配置されます。
構造 化 JSON ログ is 渡す は 、 さまざま な 方法 で 渡す こと が でき ます 。 最も 一般 的 な 方法 is 使用 は 、 Python ロギング ライブラリ を 使用 する か 、print
を使用して未加工の JSON を渡す方法です。
import json import logging From pythonjsonlogger import jsonlogger class CustomJsonFormatter(jsonlogger.JsonFormatter): """Formats log lines in JSON.""" def process_log _ record(Self, log _ record): """Modifies fields in the log _ record to match Cloud Logging's expectations.""" log _ record[' severity '] = log _ record['levelname'] log _ record[' timestampSeconds '] = int(log _ record['created']) log _ record['timestampNanos'] = int( (log _ record['created'] % 1) * 1000 * 1000 * 1000) return log _ record def configure _ logger(): """Configures python logger to format logs as JSON.""" formatter = CustomJsonFormatter( '%(name)s|%(levelname)s|%(Message)s|%(created)f' '|%(lineno)d|%(pathname)s', ' % y - % m -%dT%H:%M:%S') root_logger = logging.getLogger() handler = logging.StreamHandler() handler.setFormatter(formatter) root_logger.addhandler(handler) root_logger.setLevel(logging.WARNING) logging.warning("This is a warning log")
import json def log(severity, Message): global _ extras = {"debug_key": "debug_value"} structured _ log = {" severity ": severity, " Message ": Message, * *global _ extras} print(json.dumps(structured _ log)) def main(args): log("DEBUG", " debugging THE Application . ") log(" Info ", " Info . ") log("WARNING", "Warning.") log("ERROR", " error . ") log(" Critical ", "Critical.")
特殊フィールドのドキュメントで説明されているように、構造化ログを JSON ディクショナリとして提供すると、いくつかの特殊フィールドが jsonpayload
から削除され、生成された LogEntry の対応フィールドに書き込まれます。
たとえば、JSON に severity
プロパティが含まれている場合、jsonpayload
から 削除 さ れ 、 代わり に ログエントリ のseverity
と し て 表示 さ れ ます 。Message
プロパティが存在する場合は、ログエントリのメイン表示テキストとして使用されます。
ログ エクスプローラでは、同じ trace
で関連付けられたログを「親子」形式で表示できます。リクエスト ログエントリの左側にある三角形のアイコンをクリックすると、該当するリクエストに関連付けられたコンテナログが、リクエストログの下にネストされた状態で表示されます。
Cloud Logging クライアント ライブラリを使用しない限り、コンテナログは自動的にリクエストログに関連付けられません。クライアント ライブラリを使用せずにコンテナログをリクエストログに関連付けるには、X-Cloud-Trace-Context
ヘッダーから抽出されたトレース ID が設定された logging.googleapis.com/trace
フィールドを含む構造化 JSON ログの行を使用します。
Google Cloud コンソールでコンテナログを表示する手順は次のとおりです。
Google Cloud コンソールで、[Vertex AI カスタムジョブ] ページに移動します。
[カスタムジョブ] に移動
ログを表示するカスタムジョブの名前をクリックします。
[ ログ を 表示 ] を クリック し ます 。
vertex AI is 行う は 、 ML トレーニング コード で ハイパー パラメータ 調整 を 行う こと が でき ます 。 詳しい は 、 vertex AI で の ハイパー パラメータ 調整 の 仕組み とHyperparameterTuningJob
リソースの構成方法をご覧ください。
ハイパーパラメータ調整を使用する場合は、トレーニング コードで次の処理を行う必要があります。
ハイパーパラメータ調整の場合、Vertex AI はトレーニングごとに異なる方法でコマンドライン コードを実行します。トレーニング コードは、これらのコマンドライン引数を解析し、トレーニングのハイパーパラメータとして使用する必要があります。たとえば、オプティマイザーの学習率を調整するには、--learning_rate
と いう コマンド ライン 引数 を 解析 し ます 。 詳しい は 、 vertex AI が 提供 する コマンド ライン 引数 を 構成 する 方法 を ご覧 ください 。
コマンド ライン の 引数 is Python は 、 Python のargparse
ライブラリで解析することをおすすめします。
トレーニング コード は 、 最適 化 を 試みる て いる ハイパー パラメータ 指標 を vertex AI に 断続 的 に 報告 する 必要 is あり が あり ます 。 たとえば 、 モデル の 精度 を 最大 化 し たい 場合 は 、 すべて の トレーニング エポック の 最後 に この 指標 を 報告 する こと を お すすめる し ます 。 vertex AI is 決定 は 、 この 情報 を 使用 し て 、 次回 の トレーニング トライアル に 使用 する ハイパー パラメータ を 決定 し ます 。 詳しい は 、 ハイパー パラメータ 調整 指標 の 選択 と 指定 を ご覧 ください 。
cloudml - hypertune
Python ライブラリ を 使用 し て 、 ハイパー パラメータ チューニング 指標 を 報告 し ます 。 この ライブラリ is 含ま は 、 トレーニング 用 に ビルド 済み の すべて の コンテナ に 含む れ て い ます 。 また 、pip
を使用してカスタム コンテナにインストールできます。
このライブラリをインストールして使用する方法については、cloudml - hypertune
GitHub リポジトリまたは Vertex AI: ハイパーパラメータ チューニングの Codelab をご覧ください。
グラフィック プロセッシング ユニット(GPU)を備えた VM を選択して、カスタム トレーニング コードを実行できます。詳しくは、GPU 対応の VM を使用する場合のカスタム トレーニングの構成をご覧ください。
GPU を 使用 し て トレーニング する 場合 は 、 トレーニング コード で GPU を 利用 できる こと を 確認 し て ください 。 使用 する ML フレームワーク に よっ て は 、 コード の 変更 が 必要 に なる 場合 is あり が あり ます 。 たとえば 、 tensorflow keras を 使用 し て いる 場合 は 、 複数 の GPU を 使用 する 場合 のみ コード を 調整 し ます 。 一部 の ML フレームワーク で は GPU を まったく 使用 でき ませ ん 。
また、コンテナで GPU がサポートされていることを確認します。GPU 対応のトレーニング用ビルド済みコンテナを選択するか、カスタム コンテナで NVIDIA CUDA Toolkit と NVIDIA cuDNN を使用します。これを行うには、nvidia/cuda
Docker リポジトリのベースイメージを使用します。また、Deep Learning Containers インスタンスをベースイメージとして使用することもできます。
大 規模 な データ セット で トレーニング を 行う に は 、 vertex AI が 管理 する 分散 クラスタ 内 の 複数 の VM で コード を 実行 し ます 。 詳しい は 、 トレーニング 用 に 複数 の VM を 構成 する を ご覧 ください 。
TensorFlow や PyTorch などの一部の ML フレームワークでは、複数のマシンで同一のトレーニング コードを実行できます。これにより、マシンごとに環境変数に基づいて作業の分割方法が自動的に調整されます。Vertex AI で、ML フレームワークでこの処理が行われるように環境変数が設定されているかどうか確認します。
また、複数のワーカープールごとに別のコンテナを実行することもできます。ワーカープールとは、同じコンピューティング オプションとコンテナを使用するように構成した VM のグループです。この場合、引き続き Vertex AI によって設定される環境変数を利用して、VM 間の通信を調整することも可能です。各ワーカープールのトレーニング コードをカスタマイズして、任意のタスクを実行できます。その方法は、使用する ML フレームワークによって異なります。
Vertex AI TensorBoard は TensorBoard のマネージド バージョンで、機械学習テストを可視化するための Google オープンソース プロジェクトです。Vertex AI TensorBoard を使用すると、ML テストの追跡、可視化、比較を行い、それをチームと共有できます。また、Cloud Profiler でパフォーマンスのボトルネックを特定して修正し、モデルをより迅速かつ低コストでトレーニングすることもできます。
カスタム トレーニングで Vertex AI TensorBoard を使用するには、次の操作を行う必要があります。
プロジェクトにテストを保存する Vertex AI TensorBoard インスタンスを作成します(TensorBoard インスタンスを作成するをご覧ください)。
適切 な 権限 を 持つ カスタム トレーニング ジョブ を 実行 する よう に サービス アカウント を 構成 し ます 。
カスタム トレーニング コードを調整して、TensorBoard 互換ログを Cloud Storage に書き出します(トレーニング スクリプトの変更点をご覧ください)。
手順 ガイド に つい て は 、 カスタム トレーニング で の vertex AI tensorboard の 使用 を ご覧 ください 。