- 概要
- Document Understanding Process
- クイックスタート チュートリアル
- フレームワーク コンポーネント
- ML パッケージ
- パイプライン
- Document 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
トレーニング パイプライン
データセットの最小サイズ
Dataset Creation Failed
(データセットの作成に失敗しました。)」というエラーが発生します。
GPU または CPU でトレーニングする
- データセットが大きい場合は、GPU を使用してトレーニングする必要があります。GPU (AI Robot Pro) を使用すると、CPU (AI Robot) を使用するよりも 10 倍以上高速になります。
- CPU を使用したトレーニングは、ML パッケージ v21.10.x では最大 5000 ページのデータセット、その他のバージョンの ML パッケージでは最大 1000 ページのデータセットでのみサポートされています。
- CPU を使用したトレーニングは v2021.10 より前は 500 ページに制限されていましたが、v2021.10 で 5000 ページに増量されました。なお、v2022.4 では最大 1000 ページになります。
ML モデルをトレーニングする方法は 2 つあります。
- モデルをゼロからトレーニングする
- すぐに使えるモデルを再トレーニングする
モデルをゼロからトレーニングするには DocumentUnderstanding (ドキュメントの理解) ML パッケージを使用します。トレーニングには、入力データとして提供するデータセットを使用します。
モデルを再トレーニングするには、すぐに使える ML パッケージを使用します。たとえば、Invoices (請求書)、Receipts (領収書)、Purchase Orders (発注書)、Utility Bills (公共料金請求書)、Invoices India (請求書 - インド)、Invoices Australia (請求書 - オーストラリア) などがあります。基本的に、DocumentUnderstanding (ドキュメントの理解) を除くすべてのデータ抽出 ML パッケージが利用可能です。これらのパッケージのいずれかを使用したトレーニングでは、入力データの 1 つとしてベース モデルも利用できます。ゼロから開始するのではなくベース モデルを利用するため、このようなトレーニングを再トレーニングと呼びます。このアプローチでは「転移学習」と呼ばれる手法を用いており、モデルが別の既存モデルでエンコードされた情報を活用します。モデルはすぐに使える知識をいくつか保持していますが、新しいデータからも学習します。これは主に小規模から中規模のトレーニング データセット (最大 500 から 800 ページ) に言えることであり、トレーニング データセットのサイズが大きくなればなるほど事前トレーニング済みのベース モデルの活用度は下がります。
トレーニング パイプラインを次のように設定します。
- [パイプラインの種類] フィールドで [トレーニングの実行] を選択します。
- [パッケージを選択] フィールドで、DocumentUnderstanding (ドキュメントの理解) ML パッケージに基づいて作成したパッケージを選択します。
- [パッケージのメジャー バージョンを選択] フィールドで、パッケージのメジャー バージョンを選択します。
- [パッケージのマイナー バージョンを選択] フィールドで、パッケージのマイナー バージョンを選択します。常にマイナー バージョンの 0 (ゼロ) を使用することを強くお勧めします。詳しくは、以下の「マイナー バージョンを選択する」のセクションをご覧ください。
- このページの下のビデオに示すように、[入力データセットを選択] フィールドでデータセットを選択します。高品質のトレーニング データセットを構築するには、こちらのチュートリアルをご覧ください。
- [パラメーターを入力] セクションに、お使いのパイプラインで定義され、使用される環境変数を入力します (存在する場合)。ほとんどのユース ケースではパラメーターを指定する必要がなく、モデルは高度な手法を使用して効率の良い構成を検出します。ただし、次のような環境変数を使用できます。
model.epochs
: トレーニング パイプラインのエポック数をカスタマイズします (既定値は 100)。注: 5,000 ページを超えるサイズの大きいデータセットの場合、最初に既定のエポック数でフル パイプラインを実行できます。こうすることでモデルの精度を評価できます。その後、エポック数を 30〜40 程度まで減らすことができます。この方法により、結果の精度を比較して、エポックを削減しても同等の適合率が得られるかどうかを判断できます。サイズの小さいデータセット、特に 5,000 ページ未満のデータセットを使用する場合は、既定のエポック数を維持できます。
- GPU と CPU のどちらでパイプラインをトレーニングするかを選択します。[GPU を有効化] スライダーは既定で無効化されており、パイプラインは CPU でトレーニングされます。
- パイプラインの実行頻度として、[今すぐ実行]、[時間ベース]、[定期的] のいずれかのオプションを選択します。
auto_retraining
変数を使用している場合は、[定期的] を選択します。
- すべてのフィールドを設定したら、[作成] をクリックします。パイプラインが作成されます。
以下に、以前に AI Center にエクスポートしたデータセットを使用して新しいトレーニング パイプラインを作成する場合の例を示します。
ほとんどの場合、マイナー バージョン 0 を選択する必要があります。これは、トレーニング データセットが大きくて多様であるほど、モデルのパフォーマンスが向上するためです。この原則は、現在の最先端のマシン ラーニング テクノロジの目標と一致します。すなわち、サイズが大きく高品質な、代表性の高いトレーニング セットを使用するという目標です。したがって、モデルのトレーニング データが蓄積されていくのに応じて、同じデータセットにデータを追加し、モデルのパフォーマンスをさらに向上させる必要があります。
ただし、0 以外のマイナー バージョンでトレーニングすることが理にかなっている場合もあります。これは一般的に、パートナーが同じ業界の複数の顧客にサービスを提供する必要があるにもかかわらず、その業界、地域、ドキュメントの種類に最適化された事前トレーニング済みのモデルが UiPath から提供されていない場合にあてはまります。
このような場合、パートナーは、その業界のさまざまなドキュメント サンプルを使用して、事前トレーニング済みのモデルを開発できます (般化能力を向上させるために、1 つのソースではなく多数のソースのドキュメント サンプルを使用します)。このモデルをベース モデルとして使用し、ML パッケージのバージョン 0 でトレーニングされた特定の顧客モデルをトレーニングします。バージョン 1 などの以降のバージョンは、事前トレーニング済みのモデルを改良したり、顧客固有のモデルを作成したりするために使用します。
ただし、良好な結果を得るには、事前トレーニング済みのモデルに偏りがなく、極めて多様性の高いトレーニング セットに基づいている必要があります。ベース モデルが特定の顧客向けに最適化されている場合、他の顧客では良好なパフォーマンスが得られない可能性があります。このような場合は、ゼロのマイナー バージョンをベース モデルとして使用すると、より良好な結果が得られます。