- Überblick
- Document Understanding-Prozess
- Schnellstart-Tutorials
- Framework-Komponenten
- Überblick
- Document Understanding-Aktivitäten
- Übersicht zur Dokumentklassifizierung
- „Klassifizierer konfigurieren“-Assistent von Classify Document Scope
- Intelligenter Schlüsselwortklassifizierer
- Schlüsselwortbasierte Classifier (Keyword Based Classifier)
- Machine Learning Classifier
- Generativer Klassifizierer
- Dokumentklassifizierung – verwandte Aktivitäten
- Datenverbrauch
- API-Aufrufe
- ML-Pakete
- Überblick
- Document Understanding – ML-Paket
- DocumentClassifier – ML-Paket
- ML-Pakete mit OCR-Funktionen
- 1040 – ML-Paket
- 1040 Anlage C – ML-Paket
- 1040 Anlage D – ML-Paket
- 1040 Anlage E – ML-Paket
- 1040x – ML-Paket
- 3949a – ML-Paket
- 4506T – ML-Paket
- 709 – ML-Paket
- 941x – ML-Paket
- 9465 – ML-Paket
- 990 – ML-Paket – Vorschau
- ACORD125 – ML-Paket
- ACORD126 – ML-Paket
- ACORD131 – ML-Paket
- ACORD140 – ML-Paket
- ACORD25 – ML-Paket
- Bank Statements – ML-Paket
- BillsOfLading – ML-Paket
- Certificate of Incorporation – ML-Paket
- Certificates of Origin – ML-Paket
- Checks – ML-Paket
- Children Product Certificate – ML-Paket
- CMS1500 – ML-Paket
- EU Declaration of Conformity – ML-Paket
- Financial Statements – ML-Paket
- FM1003 – ML-Paket
- I9 – ML-Paket
- ID Cards – ML-Paket
- Invoices – ML-Paket
- InvoicesChina – ML-Paket
- Rechnungen Hebräisch – ML-Paket
- InvoicesIndia – ML-Paket
- InvoicesJapan – ML-Paket
- Invoices Shipping – ML-Paket
- Packing Lists – ML-Paket
- Passports – ML-Paket
- Gehaltsabrechnungen (Pay slips) – ML-Paket
- Purchase Orders – ML-Paket
- Receipts – ML-Paket
- RemittanceAdvices – ML-Paket
- UB04 – ML-Paket
- Utility Bills – ML-Paket
- Vehicle Titles – ML-Paket
- W2 – ML-Paket
- W9 – ML-Paket
- Andere out-of-the-box ML-Pakete
- Öffentliche Endpunkte
- Hardwareanforderungen
- Pipelines
- Dokumentmanager
- OCR-Dienste
- Deep Learning
- Training von leistungsstarken Modellen
- Bereitstellen von leistungsstarken Modellen
- Insights-Dashboards
- Document Understanding – in der Automation Suite bereitgestellt
- Document Understanding – im eigenständigen AI Center bereitgestellt
- Aktivitäten
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentProcessing.Contracts
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.IntelligentOCR.Aktivitäten (UiPath.IntelligentOCR.Activities)
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.Omnipage.Activities
- UiPath.PDF.Aktivitäten (UiPath.PDF.Activities)
Bereitstellen von leistungsstarken Modellen
Da die Genauigkeit von Machine-Learning-Modellen (ML) im Laufe der Zeit steigt, ändern sich auch ihre Ressourcenanforderungen. Für die beste Leistung ist es wichtig, dass bei der Bereitstellung von ML-Modellen über AI Center ausreichend Durchsatz für den Datenverkehr vorhanden ist. Die Infrastruktur wird Großteils in Bezug auf die Anzahl der Seiten pro Zeiteinheit (Minute oder Stunde) dimensioniert. Ein Dokument kann eine einzelne Seite oder mehrere Seiten haben.
Um Infrastruktur über das AI Center bereitzustellen, müssen einige wichtige Aspekte für eine optimale Leistung berücksichtigt werden.
Es ist nur eine Art von GPU-Infrastruktur verfügbar. Dies wird durch das Kontrollkästchen zum Aktivieren der GPU hervorgehoben. Jede Fähigkeit wird auf einer einzelnen virtuellen Maschine (VM) oder einem Knoten ausgeführt, der über eine GPU verfügt. In diesem Fall sind CPU und Arbeitsspeicher nicht relevant, da die Fähigkeit alle verfügbaren CPU- und Arbeitsspeicherressourcen auf diesen Knoten verwenden kann. Neben dem höheren Durchsatz ist eine GPU viel schneller. Aus diesem Grund wird empfohlen, eine GPU zu verwenden, wenn die Latenz kritisch ist.
CPU und Arbeitsspeicher können aufgeteilt werden, was bedeutet, dass mehrere ML-Fähigkeiten auf demselben Knoten ausgeführt werden können. Um Unterbrechungen durch benachbarte Fähigkeiten zu vermeiden, ist jede ML-Fähigkeit auf die Menge an Speicher und CPU begrenzt, die sie verbrauchen kann, abhängig von der ausgewählten Stufe. Eine höhere CPU-Auslastung führt zu einer schnelleren Verarbeitung (für eine Seite), während eine höhere Speicherauslastung zu einer größeren Anzahl von Dokumenten führt, die verarbeitet werden können.
Die Anzahl der Replikate bestimmt die Anzahl der Container, die verwendet werden, um Anforderungen aus dem ML-Modell zu verarbeiten. Eine höhere Anzahl führt zu einer größeren Anzahl von Dokumenten, die parallel verarbeitet werden können, vorbehaltlich der Einschränkungen dieser bestimmten Ebene. Die Anzahl der Replikate ist direkt mit dem Infrastrukturtyp verbunden (Anzahl der CPUs pro Replikat oder Verwendung einer GPU), da sowohl Replikate als auch die Infrastrukturgröße sich direkt auf den Durchsatz (Seiten/Minute) auswirken können.
Die Anzahl der Roboter wirkt sich auf den Durchsatz aus. Für einen effizienten Durchsatz muss die Anzahl der Roboter so bemessen werden, dass sie die ML-Fähigkeiten nicht überlasten. Dies hängt von der Automatisierung selbst ab und sollte getestet werden. Als allgemeine Richtlinie können Sie ein bis drei Roboter als Ausgangspunkt für jedes Replikat der ML-Fähigkeit verwenden. Abhängig von der Gesamtprozesszeit (ohne ML-Extraktor) kann die Anzahl der Roboter höher oder niedriger sein (oder die Anzahl der Replikate).
Wenn die Infrastruktur nicht richtig dimensioniert ist, können die Modelle einer sehr hohen Belastung ausgesetzt werden. In einigen Fällen kann dies zu einem Rückstand an Anforderungen, langer Bearbeitungszeit oder sogar Fehlern bei der Verarbeitung von Dokumenten führen.
Unzureichender Speicher, der am häufigsten auf den unteren CPU-Ebenen auftritt (0,5 CPU oder 1 CPU). Wenn Sie sehr große Nutzlasten (ein oder mehrere große Dokumente) verarbeiten müssen, kann dies zu einer Ausnahme wegen unzureichendem Speicher führen. Dies hängt mit der Dokumentgröße in Bezug auf die Seiten und die Textdichte (Menge an Text pro Seite) zusammen. Da die Anforderungen für jeden Anwendungsfall sehr spezifisch sind, ist es nicht möglich, genaue Zahlen anzugeben. Ausführliche Informationen finden Sie in den Richtlinien im Abschnitt Richtige Dimensionierung der Infrastruktur . Wenn der Speicher unzureichend ist, empfiehlt es sich, zur nächstliegenden Ebene zu wechseln.
520
und 499
), Rückständen oder sogar zum Abstürzen des Modells kommen (Statuscodes 503
und 500
). Bei unzureichender Rechenleistung empfehlen wir, zur nächsten Ebene oder sogar zur GPU-Ebene zu wechseln.
Dieser Abschnitt enthält allgemeine Richtlinien für die Leistung der Modelle bei jeder unterschiedlichen Fähigkeitsgröße.
Ebene | Maximale Seiten/Dokument | Erwarteter Durchsatz (Seiten/Stunde) | AI Units/Stunde |
---|---|---|---|
0,5 CPU/2 GB Speicher | 25 | 300-600 | 1 |
1 CPU/4 GB Speicher | 50 | 400-800 | 2 |
2 CPU/8 GB Speicher | 100 | 600-1000 | 4 |
4 CPU/16 GB Speicher | 100 | 800-1200 | 8 |
6 CPU/24 GB Speicher | 100 | 900-1300 | 12 |
GPU | 200-250 | 1350-1600 | 20 |
Ebene | Maximale Seiten/Dokument | Erwarteter Durchsatz (Seiten/Stunde) | AI Units/Stunde |
---|---|---|---|
0,5 CPU/2 GB Speicher | 25 | 40-100 | 1 |
1 CPU/4 GB Speicher | 50 | 70-140 | 2 |
2 CPU/8 GB Speicher | 75 | 120-220 | 4 |
4 CPU/16 GB Speicher | 100 | 200-300 | 8 |
6 CPU/24 GB Speicher | 100 | 250-400 | 12 |
GPU | 200-250 | 1400-2200 | 20 |
Ebene | Maximale Seiten/Dokument | Erwarteter Durchsatz (Seiten/Stunde) | AI Units/Stunde |
---|---|---|---|
0,5 CPU/2 GB Speicher | 25 | 60-200 | 1 |
1 CPU/4 GB Speicher | 50 | 120-240 | 2 |
2 CPU/8 GB Speicher | 75 | 200-280 | 4 |
4 CPU/16 GB Speicher | 100 | 250-400 | 8 |
6 CPU/24 GB Speicher | 100 | 350-500 | 12 |
GPU | 200-250 | 1000-2000 | 20 |
Der erwartete Durchsatz wird für jedes Replikat in Seiten/Stunde ausgedrückt, sowie als minimaler und maximaler erwarteter Durchsatz, abhängig vom Dokument selbst. Die ML-Fähigkeit sollte für den höchsten erwarteten Durchsatz (Spitze) dimensioniert werden und nicht für den durchschnittlichen Durchsatz pro Tag, in einer Woche oder in einem Monat.
Beispiel 1
- Dokumente mit maximal fünf Seiten.
- Eine maximale Spitze von 300 Seiten pro Stunde.
Da der Durchsatz niedriger und die Dokumentgröße klein ist, wird in diesem Beispiel keine GPU benötigt. Zwei bis vier Replikate der Ebene mit 0,5 CPU oder 1 CPU sind ausreichend.
Beispiel 2
- Dokumente mit maximal 80 Seiten.
- Eine maximale Spitze von 900 Seiten pro Stunde.
Für dieses Beispiel sind entweder drei Replikate der Ebene mit 4 CPUs oder eine einzelne GPU-Ebene ausreichend.
Beispiel 3
- Dokumente mit maximal 50 Seiten.
- Eine maximale Spitze von 3.000 Seiten pro Stunde.
- Verwenden Sie drei GPU-Replikate.
- Verwenden Sie 12–15 Replikate der Ebene mit 4 oder 6 CPUs.
Beide Optionen haben eine hohe Verfügbarkeit, da es mehr als zwei Replikate für die ML-Fähigkeit gibt.
In den Tabellen aus dem Abschnitt Allgemeine Richtlinien können Sie den erwarteten Durchsatz eines einzelnen Extraktionsreplikats in Abhängigkeit der Modellversion und der Stufe überprüfen.
- Idealerweise sollte zwischen dem Moment, in dem das Replikat die Antwort auf eine Anforderung sendet, und dem Moment, in dem das Replikat die Daten für die nächste Anforderung erhält, eine minimale Leerlaufzeit liegen.
- Das Replikat darf nicht überlastet werden. Anforderungen werden nacheinander (serienmäßig) bearbeitet. Das bedeutet, dass es immer eine aktive Anforderung gibt, die verarbeitet wird, und eine Warteschlange ausstehender Anforderungen. Wenn diese Warteschlange zu lang wird, weist das Replikat neue eingehende Anforderungen zurück und zeigt den Statuscode
429 (too many requests) HTTP
an.
Bei der Dimensionierung der Infrastruktur für ein einzelnes Replikat müssen Sie vor allem darauf achten, dass die Workload ausgewogen ist. Die Workload darf weder so gering sein, dass das Replikat inaktiv bleibt, noch so hoch, dass es anfängt, Aufgaben abzulehnen.
- Ermitteln Sie den Zeitraum mit der höchsten Aktivität für die Replikate. Sie müssen beispielsweise die Stunde mit der höchsten Aktivität ermitteln, nicht die Spitzenzeit innerhalb einer Minute oder eines 12-Stunden-Zeitraums. Nachdem Sie diesen Zeitraum festgelegt haben, schätzen Sie die Nachfrage (Anzahl der Seiten oder Anforderungen) während dieses Zeitraums.
- Teilen Sie die Schätzung durch den Durchsatz pro Replikat, wie im Abschnitt Größe der Infrastruktur für ein Replikat beschrieben.
- Fügen Sie aus Sicherheitsgründen etwas zusätzliche Kapazität hinzu.
Beachten Sie, dass die Nutzung des Zeitraums mit der höchsten Auslastung zu einer Überprovisionierung führen kann, wenn die Nachfrage deutlich geringer ist. Um dies zu vermeiden, können Sie die Größe einer Bereitstellung je nach Bedarf manuell erhöhen oder verringern. Dies kann beispielsweise hilfreich sein, wenn in einem einstündigen Intervall viel los ist und 10 Replikate benötigt werden, gefolgt von 23 Stunden mit geringer Aktivität, in denen nur 2 Replikate benötigt werden. Dies kann dazu führen, dass das System für eine beträchtliche Zeitspanne überdimensioniert ist.
Die Anzahl der Seiten und die Dichte dieser Seiten sind wichtige Faktoren. Die Seitenanzahl ist relevanter als die Anzahl der Anforderungen. In der Praxis sind die Anforderungen jedoch einfacher zu zählen.
Wenn Sie ermitteln, ob eine Bereitstellung unterdimensioniert ist, spielt die CPU-Auslastung keine Rolle, da jedes Replikat die CPU-/GPU-Auslastung während der Verarbeitung einer Anforderung maximieren wird, unabhängig von der Warteschlange der anstehenden Anforderungen.
Der wichtige Faktor ist die End-to-End-Zeit, die sich aus Wartezeit und tatsächlicher Verarbeitungszeit zusammensetzt.
Wenn Sie z. B. eine Stufe mit einem Durchsatz von etwa 900 Seiten/Stunde oder etwa 4 Sekunden/Seite ausgewählt haben und 5-seitige Dokumente senden, dauert es in der Regel etwa 30 Sekunden pro Dokument.
Dann können Sie eine Wartezeit von etwa 10 Sekunden einschätzen. Das bedeutet, dass es eine Wartezeit gibt (d. h. die Anforderung wurde nicht sofort vom Replikat angenommen, da es mit der Verarbeitung bereits vorhandener Anforderungen beschäftigt war). Dies zeigte auch an, dass diese Wartezeit etwa 10 Sekunden betrug.
Wenn der Unterschied zwischen der tatsächlichen End-to-End-Zeit (gemessene Zeit) und der erwarteten End-to-End-Zeit (geschätzt als Funktion der Stufe) mehr als null beträgt, bedeutet dies, dass das Replikat ohne Unterbrechung arbeitet. Wenn die Wartezeit mit steigender Anforderung zunimmt, ist die Bereitstellung eindeutig unter Dauerbelastung. Außerdem sind alle 429-Statuscodes (zu viele Anforderungen) ein Zeichen für eine zu geringe Bereitstellung.
- Ermitteln Sie den Zeitraum mit der höchsten Aktivität. Nehmen wir an, dass es sich bei diesem Beispiel um eine Stunde oder 3.600 Sekunden handelt.
- Nehmen wir die aktuelle Anzahl der Replikate. Nehmen wir an, es sind 10. Dies ergibt 36.000 „Replikat-Sekunden“ (ähnliches Konzept wie „Person-Stunde“).
- Addieren Sie die Gesamtdauer der Anforderungen (Summe der End-to-End-Zeiten). Nehmen wir an, es sind 10.000 Sekunden.
- Einführung in die Leistung von ML-Modellen
- GPU
- CPU
- Anzahl der Replikate
- Anzahl an Robotern
- Potenzielle Probleme im Zusammenhang mit der Dimensionierung der Infrastruktur
- Unzureichender Speicher
- Unzureichende Rechenleistung
- Die Infrastruktur richtig dimensionieren
- Allgemeine Richtlinien
- Beispiele
- Formatieren Sie die Infrastruktur für ein Replikat
- Die erforderliche Anzahl von Replikaten ermitteln
- Messen Sie Bedarf und Angebot: Seiten oder Anforderungen
- Feststellen, ob ein Einsatz unterdimensioniert ist
- Ermitteln, ob eine Bereitstellung überdimensioniert ist