- 概要
- Document Understanding Process
- クイックスタート チュートリアル
- フレームワーク コンポーネント
- ML パッケージ
- パイプライン
- パイプラインについて
- トレーニング パイプライン
- 評価パイプライン
- フル パイプライン
- 微調整する
- 自動微調整ループ (パブリック プレビュー)
- データ マネージャー (Data Manager)
- OCR サービス
- Automation Suite にデプロイされた Document Understanding
- AI Center スタンドアロンにデプロイされた Document Understanding
- ライセンス
- 参照
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.IntelligentOCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.DocumentProcessing.Contracts
- UiPath.OmniPage.Activities
- UiPath.PDF.Activities
自動微調整ループ (パブリック プレビュー)
ML モデルをトレーニング/再トレーニングするときにまず留意すべきは、最適な結果は、すべてのデータを 1 つの大きな、そして理想的には、慎重にキュレーションされたデータセットに蓄積することによって得られるということです。データセット A でトレーニングしてから、生成されたモデルをデータセット B で再トレーニングした場合の結果は、結合されたデータセット A+B でトレーニングした場合よりもはるかに悪くなります。
2 つ目に留意すべき点は、すべてのデータが同じではないということです。Document Manager などの専用ツールでラベル付けされたデータは、検証ステーションなどの、別の目的で使用されるツールでラベル付けされたデータよりも一般に質が高いため、より優れたパフォーマンスのモデルが生成されます。検証ステーションから得られるデータは、業務プロセスの観点からは高品質かもしれませんが、モデルのトレーニングの観点から見るとそれほど高品質ではありません。ML モデルは独特の形式のデータを必要としており、それはほとんどの場合、業務プロセスで必要な形式とは異なるためです。たとえば、10 ページの請求書では請求書番号が各ページに表示されている可能性がありますが、検証ステーションでは最初のページで指定すれば十分であるのに対して、Document Manager ではすべてのページでラベル付けを行います。この場合、正しいラベルの 90% が検証ステーションのデータに存在しないことになります。以上の理由から、検証ステーションのデータの有用性は前述のとおり限定的といえます。
ML モデルを効果的にトレーニングするには、包括的、高品質、かつ代表的な単一のデータセットが必要です。そのため、累積的アプローチでは、追加のデータを入力データセットに加えて、毎回 ML モデルをより大きなデータセットでトレーニングします。これを行う方法の 1 つに、自動再トレーニング ループの使用が挙げられます。
この機能をよりよく理解するために、自動微調整機能が ML モデルのライフサイクルのどこで適用されるかを見てみましょう。
マシン ラーニング モデルのライフサイクルには、次の 2 つの主要なフェーズがあります。
- 構築フェーズ
- メンテナンス フェーズ
この最初のフェーズでは、可能なかぎり最適なパフォーマンスを得るために、Document Manager を使用してトレーニング データセットと評価データセットを準備します。
同時に、RPA オートメーションおよび ML モデルに関連するビジネス ロジックを構築します。これは、期待する投資利益率を実現する上で、モデルそのものと同じくらい重要なことです。
自動微調整ループの構成要素は次のとおりです。
-
1. ロボット ワークフロー: [マシン ラーニング抽出器トレーナー] アクティビティ
-
2. Document Manager: エクスポートのスケジュール設定機能
-
3. AI Center: スケジュールされた自動再トレーニング パイプライン
-
4. (任意) ML スキルの自動更新
この機能を実装するには、事前に次の 2 つの要件を満たしている必要があります。
-
AI Center で Document Manager セッションを作成して、特定数のフィールドを設定しておく必要があります。正確には、高品質なトレーニング データセットと評価データセットをラベル付けしておく必要があります。フィールドを手動で定義するか、スキーマをインポートできます。フィールドを設定していないと、[スケジュール (プレビュー)] タブは有効化されず、画面に次のメッセージが表示されます。
- ML モデルの複数のバージョンをトレーニングおよびテストし、発生した可能性のある問題を修正して、RPA+AI オートメーションにデプロイしておく必要があります。
[抽出器トレーニング スコープ] でワークフローに [マシン ラーニング抽出器トレーナー] アクティビティを追加し、スコープを適切に設定して、フレームワーク エイリアスに [データ抽出スコープ] の [マシン ラーニング抽出器] エイリアスと同じエイリアスが含まれていることを確認します。
次に、トレーニング データセットと評価データセットを含む Document Manager セッションに関連付けられたプロジェクトとデータセットを選択します。Orchestrator に接続すると、ドロップダウン メニューに自動で入力されます。
データセット名は、AI Center の [データのラベル付け] ビューで、[データのラベル付け] セッションの名前の横に表示されます。
選択されたデータセットに対して、[マシン ラーニング抽出器トレーナー] アクティビティは fine-tune という名前のフォルダーを作成し、エクスポートしたドキュメントをその 3 つのフォルダー [documents]、[metadata]、[predictions] に書き込みます。
このフォルダーのデータが、その後 Document Manager に自動的にインポートされ、既存のデータとマージされて、トレーニング パイプラインまたはフル パイプラインで使用される適切な形式にエクスポートされます。
Document Manager セッションで [エクスポート] ボタン をクリックして、[スケジュール (プレビュー)] タブに移動し、[スケジュール設定] スライダーを有効化します。次に、開始時間と繰り返し間隔を選択します。準備ができたら、[スケジュール] ボタンをクリックします。
[後方互換性のあるエクスポート] チェックボックスをオンにすると、従来のエクスポートの挙動を適用して、各ページを個別のドキュメントとしてエクスポートできます。既定のエクスポートでトレーニングしたモデルの評価結果が期待値より低い場合は、この機能をお試しください。ドキュメントを元の複数ページの形式でエクスポートする場合は、このチェックボックスをオフのままにします。
最小繰り返し間隔は 1 日で、最大 60 日です。
AI Center のトレーニング パイプラインは、たいていは毎週実行するように設定されているため、繰り返し間隔は 7 日が推奨されます。
エクスポートのスケジュールを設定するときに、fine-tune フォルダーからインポートされたデータは、[エクスポート] フォルダーの auto-export タイムスタンプの下にエクスポートされます。
具体的に言うと、スケジュールされたエクスポートでは、手順 1 で作成した fine-tune フォルダーにあるデータをインポートした後、既存のデータと新たにインポートした検証ステーション データを含む完全なデータセットを [エクスポート] フォルダーにエクスポートします。このため、スケジュールされたエクスポートごとに、エクスポートされるデータセットは大きくなっていきます。
latest.txt ファイルが更新または作成 (初めてのスケジュールされたエクスポートの場合) されます。ここで、Document Manager によって実行された最新のエクスポートの名前を確認できます。ただし、スキーマをエクスポートした場合は、latest.txt は更新されません。このファイルは、AI Center の自動再トレーニング パイプラインで最新のエクスポートを特定し、常に最新のデータでトレーニングできるようにするために使用されます。そのため、このファイルは絶対に削除したり変更したりしないでください。削除したり変更したりすると、自動再トレーニング パイプラインは失敗します。
AI Center でトレーニング パイプラインまたはフル パイプラインをスケジュールするときには、いくつかの事項を考慮する必要があります。
まずはじめに、評価データセットを作成し、フル パイプラインのみをスケジュールすることを強くお勧めします。フル パイプラインはトレーニングと評価を一緒に実行し、評価パイプラインは評価データセットを使用してスコアを生成します。このスコアは、新しいバージョンが前のバージョンよりも優れているかどうかを判断するために重要であり、ロボットが使用するためにデプロイできます。
2 つ目として、フル パイプラインの場合は、入力データセットと評価データセットの 2 つのデータセットを指定する必要があります。
自動微調整ループ機能のコンテキストでは評価データセットへの変更はありませんが、通常どおり、2 つのフォルダー (images および latest) と 2 つのファイル (schema.json および split.csv) が含まれているデータセットを選択する必要があります。
ただし、入力データセットはもう「データセット」ではありませんが、データのラベル付けセッションに接続されている AI Center データセット内でエクスポート フォルダーを選択する必要があります。そうすれば、データ ラベル付けセッションからエクスポートされた最新のトレーニングが実行され、指定した評価データセットと同じデータセットで評価が実行されます。
さらに、自動再トレーニング環境変数を True に設定する必要があります。
最後に、[定期的] を選択し、Document Manager からのエクスポートが完了するまでの時間を十分に確保したうえで日時を設定する必要があります。たとえば、Document Manager からのエクスポートが土曜日の午前 1 時に実行される場合、パイプラインは土曜日の午前 2 時または 3 時に実行します。パイプラインの実行時にエクスポートが完了していない場合は、パイプラインは前回のエクスポートを使用し、前週のトレーニング時と同じデータを使用して再トレーニングを実行する可能性があります。
自動的にスケジュールされたトレーニング パイプラインで生成された ML パッケージの最新バージョンを自動的にデプロイする場合は、ML スキルに対して自動更新機能を有効化できます。
精度スコアが前回のトレーニングよりも向上したかどうかに関係なく ML スキルが自動的に更新されるため、この機能は注意して使用してください。
特定のフィールドに多少の回帰が見られても、全体的なスコアは向上していることがあります。しかし、そのフィールドが業務プロセスにとって重要である可能性があるため、一般に、自動更新および自動再トレーニングを成功させるには、慎重な監視が必要になります。
自動微調整ループが完了しました。これ以降は、検証ステーションのデータを使用して ML モデルを自動的に再トレーニングできます。