document-understanding
2024.10
true
UiPath logo, featuring letters U and I in white
Document Understanding-Benutzerhandbuch.
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 15. Nov. 2024

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.

Einführung in die Leistung von ML-Modellen

Um Infrastruktur über das AI Center bereitzustellen, müssen einige wichtige Aspekte für eine optimale Leistung berücksichtigt werden.

GPU

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

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.

Anzahl der Replikate

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.

Hinweis: Mehrere Replikate vervielfachen den Durchsatz.

Anzahl an Robotern

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).

Potenzielle Probleme im Zusammenhang mit der Dimensionierung der Infrastruktur

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

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.

Unzureichende Rechenleistung

Unzureichende Rechenleistung bezieht sich sowohl auf die CPU als auch auf die GPU, obwohl sie häufiger bei CPUs auftritt. Wenn die ML-Fähigkeit zu viele Seiten für ihre verfügbare Kapazität erhält, kann es bei Anforderungen zu Timeouts (Statuscodes 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.

Die Infrastruktur richtig dimensionieren

Allgemeine Richtlinien

Dieser Abschnitt enthält allgemeine Richtlinien für die Leistung der Modelle bei jeder unterschiedlichen Fähigkeitsgröße.

Wichtig: Die in diesem Abschnitt angegebenen Berechnungen sollen nur als allgemeine Richtlinie verwendet werden und sollten nicht als exakte Spezifikationen interpretiert werden. Die Leistungsergebnisse können variieren und werden von verschiedenen Faktoren wie der Größe des Dokuments, der Anzahl der Seiten und dem verwendeten Modell beeinflusst.
Hinweis: Jede Modellgeneration (2022.10, 2023.4 oder 2023.10) verhält sich unterschiedlich in Bezug auf benötigte Ressourcen und Durchsatz. Wenn die Genauigkeit der Modelle verbessert wird, kann sich dies auch auf die Leistung auswirken und mehr Ressourcen erfordern.
Tabelle 1. Extraktor 2022.10
EbeneMaximale Seiten/DokumentErwarteter Durchsatz (Seiten/Stunde)AI Units/Stunde
0,5 CPU/2 GB Speicher25300-6001
1 CPU/4 GB Speicher50400-8002
2 CPU/8 GB Speicher100600-10004
4 CPU/16 GB Speicher100800-12008
6 CPU/24 GB Speicher100900-130012
GPU200-2501350-160020
Tabelle 2. 2023.4 Extraktor
EbeneMaximale Seiten/DokumentErwarteter Durchsatz (Seiten/Stunde)AI Units/Stunde
0,5 CPU/2 GB Speicher2540-1001
1 CPU/4 GB Speicher5070-1402
2 CPU/8 GB Speicher75120-2204
4 CPU/16 GB Speicher100200-3008
6 CPU/24 GB Speicher100250-40012
GPU200-2501400-220020
Tabelle 3. Extraktoren 2023.7 und 2023.10
EbeneMaximale Seiten/DokumentErwarteter Durchsatz (Seiten/Stunde)AI Units/Stunde
0,5 CPU/2 GB Speicher2560-2001
1 CPU/4 GB Speicher50120-2402
2 CPU/8 GB Speicher75200-2804
4 CPU/16 GB Speicher100250-4008
6 CPU/24 GB Speicher100350-50012
GPU200-2501000-200020

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.

Hinweis: Stellen Sie bei der Dimensionierung der Infrastruktur sicher, dass Sie mit dem umfangreichsten Dokument beginnen, das die Fähigkeit verarbeiten muss, sowie mit dem erwarteten Durchsatz.

Beispiele

Beispiel 1

Der ML-Skill muss Folgendes mit einem Extraktor der Version 2023.10 verarbeiten:
  • 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

Der ML-Skill muss Folgendes mit einem Extraktor der Version 2023.4 verarbeiten:  
  • 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.

Hinweis: Ein einzelnes Replikat hat keine hohe Verfügbarkeit, daher wird immer empfohlen, mindestens zwei Replikate für kritische Produktions-Workflows zu verwenden.

Beispiel 3

Der ML-Skill muss Folgendes mit einem Extraktor der Version 2023.10 verarbeiten:
  • Dokumente mit maximal 50 Seiten.
  • Eine maximale Spitze von 3.000 Seiten pro Stunde.
Es gibt zwei Möglichkeiten, diese Anforderungen zu erfüllen:
  • 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.

Die Infrastruktur für ein Replikat formatieren

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.

Hinweis: Um das maximale Durchsatzpotenzial zu erreichen, müssen Sie das Extraktionsreplikat unter konstanter Auslastung halten.
Um sicherzustellen, dass das Replikat ständig ausgelastet ist, sollten die folgenden Kriterien erfüllt sein:
  • 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.

Die erforderliche Anzahl von Replikaten ermitteln

Um die Anzahl der erforderlichen Replikate zu bestimmen, gehen Sie wie folgt vor:
  • 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.

Messen Sie Bedarf und Angebot: Seiten oder Anforderungen

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.

Tipp: Sie können historische Daten verwenden, um diese Konvertierung zu erleichtern. Für eine bestimmte Fähigkeit mit einer aufgezeichneten Historie können Sie die Telemetrie überprüfen, um die Verteilung der Seitenzahlen für Anforderungen an diese Fähigkeit zu ermitteln. Wenn beispielsweise eine Fähigkeit im letzten Monat hauptsächlich Dokumente mit zwei oder drei Seiten erhalten hat, können Sie davon ausgehen, dass sich der zukünftige Trend mit einem Durchschnitt von 2,5 Seiten pro Dokument fortsetzen wird.

Feststellen, ob ein Einsatz unterdimensioniert ist

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, ob eine Bereitstellung überdimensioniert ist

Die vorangegangenen Abschnitte können Ihnen dabei helfen, zu ermitteln, ob die Bereitstellung effektiv ist. Wir empfehlen Ihnen jedoch, diese Schritte für eine genaue Analyse Ihrer Bereitstellung zu befolgen:
  • 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.
Da in diesem Beispiel 10.000 niedriger ist als 36.000, bedeutet dies, dass Ihre derzeitige Infrastruktur mehr als nötig ist. Sie können versuchen, die Bereitstellung auf acht Replikate zu reduzieren, die Leistung zu überwachen und, wenn sie reibungslos funktioniert, auf sechs Replikate zu reduzieren. Die Leistung wird mit jeder Anpassung neu bewertet.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten