Guide本書はKAMONOHASHIを利用したAI開発をスムーズに行う為に各機能や手順を説明する事を目的としています。読者がLinux、Git、Dockerの基本的な知識を持つことを前提としています。Dockerが初めての方はリンク先を選択してください。以下のリソースは、Dockerについて学ぶのに役立ちます。DockerとはなにかlaunchコンテナとはなにかlaunchDocker公式チュートリアルlaunch概要KAMONOHASHIの利用者は以下の操作を行えます。ログインデータを管理する前処理を行うデータセットを作成・管理する学習を実行・管理する学習の結果を確認する推論を実行・管理するノートブックを実行・管理するKAMONOHASHIの利用者の想定操作は以下です。ログインKAMONOHASHIはブラウザ・SDK・コマンドラインツールから使用できます。ブラウザで開始するには、KAMONOHASHIにログインします。KAMONOHASHIのURLが分からない場合はシステム管理者に問い合わせてください。ログインKAMONOHASHIにログインするにはログイン画面からユーザー名・パスワードを入力します。ユーザー名・パスワードはシステム管理者から提供されます。テナントについてテナントはKAMONOHASHIの最小の利用単位です。テナント毎にリソースの使用量などが決められています。ユーザは複数のテナントに所属することができます。利用するテナントを切り替えるには、右上のユーザ名が表示されているリンクを押し、切り替えたいテナントを選択します。利用者は右上のプルダウンメニューより[ユーザ情報設定]を選択することで、各種ユーザ設定情報の確認・変更が行えます。Gitトークンの設定KAMONOHASHIでは学習に用いる学習スクリプトなどを、システム管理者によって設定されたGitリポジトリサービスから取得します。Token]タブを選択し、認証情報を設定します。レジストリトークンの設定KAMONOHASHIでは、学習環境としてDockerコンテナを使用します。このコンテナはシステム管理者によって設定されたDockerレジストリサービスから取得します。Token]タブを選択し、認証情報を設定します。Learning等に利用するデータを管理することができます。データは画像やzipファイルなど、データ形式を問わず登録できます。データを登録するには、[データ管理]を選択し、新規登録ボタンから行います。画像の説明など補足情報。データの種類や受領日などグルーピングしたい単位に付与し、検索等で利用する。複数のデータを登録できる。既存データを元に、より目的に適した新しいデータを新規生成する処理のことです。画像のトリミング処理などがこれにあたります。KAMONOHASHIでは、データに対する前処理の実行、およびその履歴の管理を行うことができます。ワークフローKAMONOHASHIで前処理を扱う場合、以下の二つのワークフローがあります。トラッキングを完全に行うことができます。ソースコードやコンテナなど、実行するための全情報の登録が必要となります。登録済みのデータに対し、KAMONOHASHIの管理リソース上で前処理を実行します。結果や履歴情報は全て自動で記録されます。前処理の実行自体は、ローカル環境などKAMONOHASHIの外で行い、結果だけをKAMONOHASHIにアップロードします。アップロード時の内容に従い、部分的に履歴管理が可能となります。前処理がKAMONOHASHIの管理リソース上で行えない場合(WindowsやMacOSが必要な場合など)に利用します。よってのみ実行が可能であり、WebUI上では行えません。その他情報は任意で設定する。KAMONOHASHI外での前処理実行ローカル環境などで前処理を行う。前処理結果ファイルと、その履歴情報(対象データや試用した前処理など)を登録する。前処理の管理と作成KAMONOHASHIで前処理を管理するためには、まず前処理の登録を行います。実行前に前処理を登録しておくことで、その前処理を多数のデータに任意のタイミングで適用することができます。任意の文字列を指定可能。前処理として実行するコマンドを指定する。前処理に付与する任意のメモ。利用するDockerレジストリ、コンテナ、タグを指定する。前処理で利用するソースコードを格納しているGitサーバ、リポジトリ、ブランチ、コミットIDを指定する。コミットIDを指定した場合はブランチの入力値は無視される。コミットIDが未指定の場合はブランチのHEADが選択される。ブランチもコミットIDも未指定の場合は、masterブランチのHEADが選択される。前処理が使用するCPUコア数のデフォルト値を指定する。実行時に再設定が可能。学習が使用するメモリ量(GB)のデフォルト値を指定する。実行時に再設定が可能。学習が使用するGPU枚数のデフォルト値を指定する。実行時に再設定が可能。KAMONOHASHI上で前処理を実行したい場合は、メモを除くすべての項目が必須入力となります。前処理実行KAMONOHASHIで前処理を実行するためは、以下3つのフローのいずれかで前処理実行画面を表示します。実行する前処理を選択する。前処理に渡す環境変数を指定する。環境変数はコンテナ内の環境変数へ追加設定される。設定されているパーティションを設定する。GPUの型番などはここから指定する。使用するCPUコア数を指定する。使用するメモリ量(GB)を指定する。使用するGPU枚数を指定する。ONにした場合、[実行]ボタンの押下後に当該前処理の履歴画面へ遷移する。OFFの場合は前の画面に戻る。前処理の実行フローは以下のようになっています。クラスタからリソースを確保するリソースに十分な空きがなかった場合は待機します。リソース上にコンテナがデプロイされるコンテナ内に環境変数が設定されます。以下のファイルは全て新規データに追加される。サブディレクトリ内のファイルも再帰的に新規データに追加されます。直下のファイルは新規データに追加されません。出力ファイルはzip圧縮されません。結果のリアルタイム確認はできません。添付ファイル「stdout_stderr_.log」からダウンロードできます。コマンドの結果で判断されます。そのため、実行コマンド自体は改行して複数記述可能ですが、結果の成否判定が難しくなるため、単一コマンドを推奨します。同じデータに対して1度しか実行できません。スクリプトのエラー等で再度実行したい場合、前処理履歴を削除する必要があります。削除時は生成された前処理結果データも同時に削除されるので注意が必要です。グループに分割し、機械学習などで処理するために利用します。KAMONOHASHIでは後述する学習を実行する際の入力ファイルは、データセット単位となっています。等の分類に応じてデータが異なるディレクトリにダウンロードされます。KAMONOHASHIではトレーサビリティを重視しているため、一度学習と関連付けられたデータセットは変更できません。データセットを作成するには、[データセット管理]を選択し、右上の新規登録ボタンから行います。データセットを説明するメモ。allに表示されるデータ一覧からそれぞれのエリアにドラッグで移動させることでデータを分割していく。1度学習に利用したデータセットは編集できなくなります。このため、過去に利用したデータセットから派生して処理を行いたい場合には、データセットをコピーして利用します。データセットをコピーするには、一覧からコピーしたいデータセットを選択し、右上のコピーボタンから行います。管理するクラスタで計算を実行するための最小単位を表します。クラスタから指定されたCPU、メモリ、GPUリソースを確保し、Dockerコンテナを起動して計算環境を用意します。ユーザはこの環境を利用し、任意の計算を行うことができます。学習を開始するには[学習管理]を選択し、右上の新規登録ボタンから行います。実行コマンドやモデルの仕様については後述。学習の実行は4ステップにて行います。実行した学習との関連付ける場合に指定する。指定時に親学習の設定がコピーされるので、変更したい箇所を指定後に変更する。親に指定した学習の出力結果が、コンテナにマウントされる。学習の入力ファイルとなるデータセットを指定する。利用するDockerレジストリ、コンテナ、タグを指定する。学習で利用するソースコードを格納しているGitサーバ、リポジトリ、ブランチ、コミットIDを指定する。コミットIDを指定した場合はブランチの入力値は無視される。コミットIDが未指定の場合はブランチのHEADが選択される。ブランチもコミットIDも未指定の場合は、masterブランチのHEADが選択される。学習で実行するコマンドを指定する。学習が利用するCPUコア数を指定する。学習が利用するメモリ量(GB)を指定する。学習が利用するGPU枚数を指定する。学習に渡す環境変数を指定する。環境変数はコンテナ内の環境変数へ追加設定される。学習終了後の結果ファイルをzip圧縮するかどうかを指定する。設定されているパーティションを設定する。GPUの型番などはここから指定する。学習に付与する任意のメモ。過去に実行した学習の情報・状態・結果などを確認したい場合、[学習管理]の画面で該当学習を選択し、学習履歴画面を表示します。学習履歴画面では、各種情報が項目毎に一覧化されており、以下のことなどが行えます。表示したい場合、[学習管理]の画面で該当学習を選択します。Tensorbardの項目からTensorboadが起動できます。読み込ませるログデータが、学習の結果ファイルとして出力されている必要があります。学習を停止したい場合、[学習管理]の画面で該当学習を選択します。操作の項目にある学習停止ボタンから学習を停止することができます。※この操作は学習のステータスがRunning時のみ実行可能です。学習を実行しているコンテナに接続したい場合、[学習管理]の画面で該当学習を選択し、[Shell起動]ボタンを押下します。コンテナ内のrootユーザとしてシェルが立ち上がり、コンテナ内で任意のコマンドを実行できます。※この操作は学習のステータスがRunning時のみ実行可能です。類似の学習を投入したい場合は、過去の該当学習を選択し右上のコピー実行ボタンから行えます。過去の学習を投入した情報が初期値として設定され、必要な個所を変更して実行できます。学習の実行フローは以下のようになっています。クラスタからリソースを確保するリソースに十分な空きがなかった場合は待機します。リソース上にコンテナがデプロイされるコンテナ内に環境変数が設定されます。コンテナにインストールされます。コンテナに既にこれらのツールがインストール済みだった場合はスキップされます。カレントディレクトリになります。実行ユーザはコンテナのrootユーザとなります。書き出されるように「実行コマンド」またはモデルの記述が必要です。このファイルは学習履歴画面の添付ファイル「output.zip」からダウンロードできます。コマンドの結果で判断されます。そのため、実行コマンド自体は改行して複数記述可能ですが、結果の成否判定が難しくなるため、単一コマンドを推奨します。modelリポジトリにその処理を行うスクリプトを置きます。ダウンロードされます。いう構造で配備されます。出力ファイル/kqi/outputに結果ファイルを書き出すようにします。/kqi/output/配下のファイル名・ディレクトリ名は次の文字だけ使用可能です。学習履歴画面の「ファイル一覧」ボタンからリアルタイムに閲覧・ダウンロードできます。/kqi/output内のあるディレクトリにおけるファイル数とディレクトリ数の上限は10,000件となっています。この件数を超えて出力されたものは、ファイル一覧での閲覧およびCLIでのダウンロードが出来なくなるため注意してください。出力ファイル数が多い場合はディレクトリを作成して分散させるなどの対応をお願いします。モデルに限らず、コンテナ内で実行したいコマンドがあれば、スクリプトで記述してモデルと共にリポジトリに入れておきます。entrypoint.py」を記述します。添付ファイル学習履歴画面にて、添付ファイルとしてアップロードされたファイルが格納されます。出力されたファイル)が読み取り専用で格納されます。kamonohashiによって設定されます。