ホーム » Katib » Kubeflow 1.0 : コンポーネント : ハイパーパラメータ調整 : Katib Configuration 概要

Kubeflow 1.0 : コンポーネント : ハイパーパラメータ調整 : Katib Configuration 概要

Kubeflow 1.0 : コンポーネント : ハイパーパラメータ調整 : Katib Configuration 概要 (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 04/12/2020 (1.0)

* 本ページは、Kubeflow の以下のページを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

コンポーネント : ハイパーパラメータ調整 : Katib Configuration 概要

このページは Katib config についての情報を説明します。

Katib config は以下についての情報を含む Kubernetes Config Map です :

  1. 現在の メトリクス・コレクタ (key = metrics-collector-sidecar)
  2. 現在の アルゴリズム (提案) (key = suggestion).

Katib Config Map は katib-config を持つ KATIB_CORE_NAMESPACE 名前空間に配備されなければなりません。Katib コントローラは実験を提出するとき Katib config をパースします。

Katib を配備した後でさえもこの Config Map を編集できます。

Katib を Kubeflow 名前空間で配備する場合、Katib config を編集するためにこれを実行します :

kubectl edit configMap katib-config -n kubeflow

 

メトリクスコレクタ Sidecar 設定

これらの設定は Katib メトリクスコレクタに関係します、そこでは :

  • key = metrics-collector-sidecar
  • value = 各メトリクスコレクタのための JSON を設定することに相当します。

総ての設定を持つファイル・メトリクスコレクタのためのサンプル :

metrics-collector-sidecar: |-
{
  "File": {
    "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector",
    "imagePullPolicy": "Always",
    "resources": {
      "requests": {
        "memory": "200Mi",
        "cpu": "250m",
        "ephemeral-storage": "200Mi"
      },
      "limits": {
        "memory": "1Gi",
        "cpu": "500m",
        "ephemeral-storage": "2Gi"
      }
    }
  },
  ...
}

image を除くこれらの設定の総ては省略できます。任意の他の設定を指定しない場合、デフォルト値が設定されます。

  1. image – ファイル・メトリクスコレクタのための Docker イメージ名。

    指定されなければなりません

  2. imagePullPolicy – ファイル・メトリクスコレクタ・コンテナ イメージ pull ポリシー

    デフォルト値は IfNotPresent.

  3. resources – ファイル・メトリクスコレクタ コンテナリソース。上のサンプルで limits と requests をどのように指定するか見ることができます。現在、memory, cpu と ephemeral-storage リソースだけが指定できます。

    requests のためのデフォルト値は :

    • memory = 10Mi.
    • cpu = 50m.
    • ephemeral-storage = 500Mi.

    limits のためのデフォルト値は :

    • memory = 100Mi.
    • cpu = 500m.
    • ephemeral-storage = 5Gi.

 

提案 (= suggestiojn) 設定

これらの設定は Katib 提案に関係します、そこでは :

  • key = suggestion
  • value = 各アルゴリズムための JSON を設定することに相当します。

新しいアルゴリズムを使用することを望む場合、新しい提案で Katib config を更新しなければなりません。

総ての設定を持つランダム提案のためのサンプル :

suggestion: |-
{
  "random": {
    "image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt",
    "imagePullPolicy": "Always",
    "resources": {
      "requests": {
        "memory": "100Mi",
        "cpu": "100m",
        "ephemeral-storage": "100Mi"
      },
      "limits": {
        "memory": "500Mi",
        "cpu": "500m",
        "ephemeral-storage": "3Gi"
      }
    },
    "serviceAccountName": "suggestion-serviceaccount"
  },
  ...
}

image を除くこれらの設定の総ては省略できます。任意の他の設定を指定しない場合、デフォルト値が設定されます。

  1. image – ランダム提案のための Docker イメージ名。

    指定されなければなりません

  2. imagePullPolicy – ランダム提案・コンテナ イメージ pull ポリシー

    デフォルト値は IfNotPresent.

  3. resources – ランダム提案 コンテナリソース。上のサンプルで limits と requests をどのように指定するか見ることができます。現在、memory, cpu と ephemeral-storage リソースだけが指定できます。

    requests のためのデフォルト値は :

    • memory = 10Mi.
    • cpu = 50m.
    • ephemeral-storage = 500Mi.

    limits のためのデフォルト値は :

    • memory = 100Mi.
    • cpu = 500m.
    • ephemeral-storage = 5Gi.
  4. serviceAccountName – ランダム提案コンテナ サービスアカウント。上のサンプルでは、ランダムアルゴリズムを持つ各実験のために suggestion-serviceaccount サービスアカウントが使用されます、Katib config からこのサービスアカウントが変更または削除されない限りは。

    デフォルトでは提案ポッドは特定のサービスアカウントを持ちません。この場合、提案ポッドは デフォルト サービスアカウントを使用します。

 

以上






AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com