Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

Kubeflow 1.0 : コンポーネント : ハイパーパラメータ調整 : Katib へのイントロダクション

Posted on 04/11/2020 by Sales Information

Kubeflow 1.0 : コンポーネント : ハイパーパラメータ調整 : Katib へのイントロダクション (翻訳/解説)

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

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

  • Components of Kubeflow : Hyperparameter Tuning : Introduction to Katib

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

 

コンポーネント : ハイパーパラメータ調整 : Katib へのイントロダクション

貴方の機械学習 (ML) モデルのハイパーパラメータとアーキテクチャの自動調整のために Katib を利用します。

このページはハイパーパラメータ調整、ニューラルアーキテクチャ探索、そして Kubeflow のコンポーネントとしての Katib システムの概念を紹介します。

 

ハイパーパラメータとハイパーパラメータ調整

ハイパーパラメータはモデル訓練プロセスを制御する変数です。例えば :

  • 学習率
  • ニューラルネットワークの層の数。
  • 各層のノードの数。

ハイパーパラメータ値は学習されません。換言すれば、ノード重みと他の訓練パラメータとは対照的に、モデル訓練プロセスはハイパーパラメータ値を調整しません。

ハイパーパラメータ調整はモデルの予測精度を最大化するためにハイパーパラメータ値を最適化するプロセスです。Katib やハイパーパラメータ調整のための類似のシステムを利用しない場合、最適値を見つけるために手動でハイパーパラメータを調整して、多くの訓練ジョブを貴方自身で実行する必要があります。

自動ハイパーパラメータ調整はハイパーパラメータ調整ジョブのための configuration で指定する、目的メトリックとも呼ばれる、ターゲット変数を最適化することにより動作します。一般的なメトリックは訓練ジョブの検証パスにおけるモデルの精度です (検証精度)。ハイパーパラメータ調整ジョブにメトリックを最大化 or 最初化することを望むかを指定することもできます。

例えば、Katib からの次のグラフはハイパーパラメータ値 (学習率、層の数、そして optimizer) の様々な組み合わせのための精度のレベルを表示しています :

(このグラフを生成したサンプルを実行するには、getting-started ガイド に従ってください。)

Katib は各ハイパーパラメータ調整ジョブ (実験) 内で (トライアルとして知られる) 幾つかの訓練ジョブを実行します。各トライアルはハイパーパラメータ configuration の幾つかのセットをテストします。各トライアルはハイパーパラメータの configuration の異なるセットをテストします。実験の最後に、Katib はハイパーパラメータのための最適値を出力します。

 

ニューラル・アーキテクチャ探索

ハイパーパラメータ調整に加えて、Katib はニューラル・アーキテクチャ探索 (NAS) 特徴も提供します。モデルの予測精度とパフォーマンスを最大化する目標とともに、貴方の人工ニューラルネットワークを設計するために NAS を利用することができます。

NAS はハイパーパラメータ調整と密接に関係します。両者は自動機械学習 (AutoML) のサブセットです。ハイパーパラメータ調整がモデルのハイパーパラメータを最適化する一方で、NAS システムはモデルの構造、ノード重み、そしてハイパーパラメータを最適化します。

NAS テクノロジーは一般に最適なニューラルネットワーク・デザインを見つけるために様々なテクニックを使用します。Katib の NAS は強化学習テクニックを使用します。

コマンドラインか UI から Katib ジョブを提出することができます (Katib インターフェイスについてこのページで後で更に読んでください)。次のスクリーンショットは Katib UI から NAS ジョブを提出するためのフォームの一部を表示しています :

 

Katib プロジェクト

Katib はハイパーパラメータ調整とニューラル・アーキテクチャ探索のための Kubernetes ベースのシステムです。Katib は TensorFlow, MXNet, PyTorch, XGBoost その他を含む幾つかの ML フレームワークをサポートします。

Katib プロジェクト はオープンソースです。

 

Katib インターフェイス

Katib と相互作用するために以下のインターフェイスを使用できます :

  • 実験を提出して結果を監視するために web UI を利用できます。UI にどのようにアクセスするかについての情報は getting-started ガイド を見てください。Kubeflow 内の Katib ホームページはこのように見えます :

  • REST API。GitHub 上の API リファレンス を見てください。
  • コマンドライン・インターフェイス (CLI) :
    • Kfctl は Kubeflow をインストールして configure するために利用できる Kubeflow CLI です。kfctl について configuring Kubeflow へのガイドを読んでください。
    • Kubernetes CLI, kubectl, は Kubeflow クラスタに対してコマンドを実行するために有用です。kubectl について Kubernetes ドキュメント を読んでください。

 

Katib コンセプト

このセクションは Katib で使用される用語を説明します。

 

実験

実験は単一の調整実行で、最適化実行とも呼ばれます。

実験を定義するために configuration 設定を指定します。以下は主要な configuration です :

  • Objective (目的 (関数)) : 最適化することを望むもの。これは目的メトリックで、ターゲット変数とも呼ばれます。一般的なメトリックは訓練ジョブの検証パスにおけるモデル精度です (検証精度)。メトリックを最大化 or 最小化するためにハイパーパラメータ調整ジョブを望むかも指定できます。
  • Search space (探索空間) : ハイパーパラメータ調整ジョブが最適化のために考慮すべき総ての可能なハイパーパラメータ値のセットと各ハイパーパラメータのための制約です。探索空間のための他の名前は実行可能なセットと解法空間を含みます。例えば、最適化することを望むハイパーパラメータの名前を提供するかもしれません。各ハイパーパラメータについて、最小と最大値 or 許容される値のリストを提供するかもしれません。
  • Search algorithm (探索アルゴリズム) : 最適なハイパーパラメータ値を探索するときに使用するアルゴリズム。

実験をどのように定義するかの詳細については、running an experiment へのガイドを見てください。

 

提案

提案 (= suggestion) はハイパーパラメータ調整プロセスが提示したハイパーパラメータ値のセットです。Katlib は提案された値のセットを評価するためにトライアルを作成します。

 

トライアル

トライアルはハイパーパラメータ調整プロセスの 1 つの反復です。トライアルはパラメータ割り当てのリストを持つ一つのワーカージョブ・インスタンスに対応します。パラメータ割り当てのリストは提案に相当します。

各実験は幾つかのトライアルを実行します。実験はそれが目標か設定されたトライアルの最大数に達するまでトライアルを実行します。

 

ワーカージョブ

ワーカージョブはトライアルを評価してその目的 (関数) 値を計算するために実行されるプロセスです。

ワーカージョブは以下のタイプの一つであり得ます :

  • Kubernetes Job (分散実行はサポートしません)。
  • Kubeflow TFJob (分散実行をサポートします)。
  • Kubeflow PyTorchJob (分散実行をサポートします)。

上のワーカージョブ・タイプを提供することにより、Katib はマルチ ML フレームワークをサポートします。

 

以上






クラスキャット

最近の投稿

  • LangGraph 0.5 : エージェント開発 : エージェントの実行
  • LangGraph 0.5 : エージェント開発 : prebuilt コンポーネントを使用したエージェント開発
  • LangGraph 0.5 : Get started : ローカルサーバの実行
  • LangGraph 0.5 on Colab : Get started : human-in-the-loop 制御の追加
  • LangGraph 0.5 on Colab : Get started : Tavily Web 検索ツールの追加

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (24) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Graphics (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2020年4月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
27282930  
« 3月   5月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme