Grundlagen Magazin

istock.com/Thinkhubstudio

Investmentbranche: Wie KI die Vermögensverwaltung revolutioniert  

Die Man Group ist ein globaler Vermögensverwalter, der Hedgefonds für private und institutionelle Anleger anbietet. Um tagtäglich Millionen von Optionen zu bewerten, vertraut die europäische Investmentmanagementfirma mit Hauptsitz in London auf Optionsberechnungsmodelle wie dem Cox-Ross-Rubinstein-Modell. Forschende des Unternehmens arbeiten beständig daran, die Leistung dieser Modelle zu verbessern, um einen Wettbewerbsvorteil zu erreichen. Vor Kurzem wurden dabei IPUs (Intelligence Processing Unit) evaluiert – mit beeindruckenden Ergebnissen.

„Die Optionsbewertung ist ein Prozess, der rechnerisch anspruchsvoll ist. Das Cox-Ross-Rubinstein-Modell ist nach wie vor ein guter Richtwert, um dies auf IPUs zu testen. Eine neue Untersuchung hat den massiv parallelen Ursprung der IPU demonstriert, die Optionen bis zu 21 mal schneller als unsere CPUs berechnen kann“, so Balazs Domonkos, Leitender Ingenieur in Alpha Technology, Man Group.

In vielen Finanzinstituten werden CPUs immer noch oft gegenüber GPUs bevorzugt. Dies ist auf ihre Flexibilität zurückzuführen, ökonometrische Arbeitslasten zu bewältigen, die nicht einfach vektorisiert werden können. IPUs stellen eine gute Alternative zu CPUs dar, da sie Arbeitslasten beschleunigen können, indem sie die gleiche MIMD (Multiple-Instruction Multiple-Data)-Flexibilität wie die CPU bieten, während sie viel höhere Flop-Raten und Verarbeitungsgeschwindigkeiten bieten.

Im Folgenden werden drei Arten von schwer zu vektorisierenden Arbeitslasten aufgeführt, die in diese Kategorie fallen:

  • Arbeitslasten mit bedingtem Ende
    Diese Arbeitslasten enthalten Schleifen, die so lange ausgeführt werden, bis eine Bedingung erfüllt ist oder eine bestimmte Anzahl von Wiederholungen erreicht wurde, die durch die Eingaben bestimmt wurden. Bei der Stapelverarbeitung (auch Batchverarbeitung) müssen alle Stichproben abgeschlossen sein, bevor der Stapel als vollständig betrachtet werden kann. Beispiele umfassen automatisch aufrufbare Optionsberechnungsmodelle, die beendet werden können, wenn das Autocall-Ereignis ausgelöst wird.
     
  • Sequenzielle Arbeitslasten
    Dabei kann es sich um sich wiederholende, schleifenbasierte und rekursive Arbeitslasten handeln. Im Fall einer sequenziellen Arbeitslast, die nicht mehrere Male ausgeführt werden muss, ist eine Vektorisierung nicht möglich, da der Output des aktuellen Vorgangs als Input für den nächsten Vorgang erforderlich ist. Ein Beispiel ist der Hybrid-Monte-Carlo-Algorithmus, bei dem die Dynamik der Hamilton-Funktion wiederholt simuliert wird.
     
  • Arbeitslasten mit eingabeabhängigem Routing
    Dabei handelt es sich um baumbasierte Modelle und solche Modelle, bei denen bedingte Anweisungen (WENN-Anweisungen) verwendet werden. Diese Workloads können schwer zu vektorisieren sein, wenn die an jedem Element des Stapels durchgeführten Operationen divergieren. Entscheidungsbäume mit variabler Tiefe sind ein anschauliches Beispiel dafür.

Optionsbewertung mit dem CRR-Modell
Das Cox-Ross-Rubinstein-Modell (CRR-Modell, oft auch Binomialmodell genannt) ist ein bekannter Algorithmus für die Optionsbewertung, da seine Flexibilität es ermöglicht, eine breite Palette von Bedingungen zu bewältigen. Ein Beispiel dafür ist das Recht eines Inhabers amerikanischer Optionen, die Option jederzeit auszuführen. Im Gegensatz zu einer amerikanischen Option kann eine europäische Option nur am Verfallstag der Option gewandelt werden.

Eine Option wird bewertet, indem betrachtet wird, wie der Kurs des Vermögenswerts über eine unterschiedliche Anzahl simulierter Zeitschritte (n) zwischen dem Bewertungsdatum und dem Ablaufdatum variieren könnte. Je höher die Anzahl der simulierten Zeitschritte, desto genauer die Bewertung.

Das Modell umfasst zwei Phasen: In Phase 1, bekannt als Vorwärtsphase (Englisch: Forward Pass), wird ein Preisbaum generiert, indem angenommen wird, dass der Kurs des zugrundeliegenden Vermögenswerts bei jedem simulierten Zeitschritt um einen bestimmten Faktor steigt oder fällt, ausgehend vom aktuellen Kassakurs S0. Der Faktor, um den der Vermögenswert steigen oder fallen könnte, wird in Abhängigkeit von der Volatilität des Vermögenswerts und der Größe der simulierten Zeitschritte berechnet.

In Phase 2, bekannt als Rückwärtsphase (Englisch: Backward Pass), wird der Wert der Option wiederholt berechnet, indem sich durch den Preisbaum zurückbewegt wird. Bei jedem Zeitschritt wird der Wert der Option zum vorherigen Zeitpunkt berechnet, indem die Wahrscheinlichkeit betrachtet wird, dass sich der zugrunde liegende Vermögenswert nach oben oder unten bewegt. Dies wird als Binomialwert bezeichnet.

Der Binomialparameter p stellt die Wahrscheinlichkeit dar, dass der Kurs zu einem bestimmten simulierten Zeitpunkt steigt: p wird so festgelegt, dass die Binomialverteilung, die er darstellt, die Brownsche Bewegung des Vermögenswerts mit der gemessenen Volatilität und dem angenommenen Abzinsungssatz simulieren würde.

Es ist wichtig anzumerken, dass es einen Unterschied in der Rückwärtsphase des Algorithmus‘ gibt, wenn er für europäische bzw. amerikanische Optionen eingesetzt wird. Diesen Unterschied macht der CRR-Algorithmus zunutze, indem eine Bedingung implementiert wird, die die Fähigkeit des Inhabers einer amerikanischen Option widerspiegelt, die Option jederzeit auszuüben.

Nebenwirkungen der Vektorisierung
Die Stärke des CRR-Algorithmus liegt darin, dass der Benutzer bei jedem Zeitschritt Bedingungen hinzufügen kann. Bei der Bewertung amerikanischer Optionen wird eine Bedingung hinzugefügt, die besagt, dass der Wert der Option nicht unter dem Wert liegen darf, der bei sofortiger Ausübung der Option erzielt werden könnte.

Trotz dieser Bedingung kann der CRR-Algorithmus vektorisiert werden – sowohl über die Höhe des Baums als auch über einen Batch von Optionen. Solch eine Anwendung ist beispielsweise in Googles tf-quant-Finanzbibliothek zu finden. Die Autoren vektorisieren den Algorithmus über eine gemischte Reihe amerikanischer und europäischer Optionen. Das bedeutet, dass dieselben Verfahren ausgeführt werden – unabhängig davon, ob die jeweilige Eingabe im Batch eine amerikanische oder eine europäische Option ist.

Für europäische Optionen sollten weniger Berechnungen erforderlich sein als für amerikanische Optionen, da hier nicht berechnet werden muss, ob durch die sofortige Ausübung der Option eine höhere Rendite erzielt werden kann. Da für diese Form der Vektorisierung jedoch die gleichen Operationen für die Bewertung von amerikanischen und europäischen Optionen erforderlich sind, ist der Durchsatz zwischen beiden Optionen ausgeglichen. Dies ist in Abbildung 1 dargestellt.

Abbildung 1: Die Bewertung europäischer Optionen (blau) ist signifikant schneller als die Bewertung amerikanischer Optionen (orange), wenn sie als skalare Arbeitslast implementiert werden. Der Durchsatz ist für jeden Fall auf den der amerikanischen Optionen normiert. (Quelle: Benchmark-Tests, durchgeführt von Graphcore)

Beim Cox-Ross-Rubinstein-Modell wird dieser Faktor ohne große Schwierigkeiten beseitigt, indem zwei Kopien des Codes beibehalten werden – eine für europäische Optionen und eine für amerikanische Optionen, wodurch die WENN-Anweisung entfällt. Für Variationen des Cox-Ross-Rubinstein-Modells und anderen ökonometrischen Modellen ist eine Behebung jedoch nicht so einfach.

Ein weiterer Grund für skalare und nicht vektorisierte Anwendungen ist, dass die Datenlokalität erzwungen wird. Wenn ein Batch mit vektorisierten Operationen verarbeitet wird, ist es wahrscheinlich, dass Daten in Vorbereitung anschließender Operationen zwischen Kernen und Caches von Computern ausgetauscht werden. Dies kann mit skalaren Anwendungen vermieden werden, da es keine Wechselbeziehungen zwischen Kernen (auch Threads) gibt.

Die MIMD-Architektur der IPU bewertet parallel 8.832 Optionen auf einer IPU
MIMD-Prozessoren wie die IPUs eines europäischen KI-Chipherstellers bieten mehr Flexibilität als ihre Single Instruction Multiple Data (SIMD)-Kontrahenten. Entwickelt wurde ein neuer Prozessor speziell für Künstliche Intelligenz (KI) und Maschinelles Lernen (ML), der nicht nur erhebliche Leistungsvorteile bei den derzeit am häufigsten verwendeten KI-Workloads bietet, sondern auch so konzipiert wurde, dass er sich optimal für KI-Anwendungen der nächsten Generation eignet. Durch die IPU kann ein Thread jede Anweisung ausführen, unabhängig davon, was andere Threads machen. Auf einem SIMD-Prozessor muss jedoch jeder Thread die gleiche Anweisung ausführen, weshalb die Vektorisierung notwendig ist.

Die Anpassung von eingabeabhängigem Routing ist mit skalaren Operationen auf einem IPU-Prozessor trivial. Anstatt einen Stapel von Werten zu berechnen, wird jeder Wert an einen einzelnen Thread verteilt, der den geeigneten Berechnungspfad für diesen Wert ausführen kann. Wenn der Wert konvergiert, wird die Verarbeitung gestoppt und der Thread an das Steuerprogramm zurückgegeben. Wenn aufgrund der Eigenschaften des Werts für das Programm die Ausführung eines bestimmten Code-Abschnitts nicht erforderlich ist (WENN-Anweisung), wird er übersprungen. Diese feinkörnige Steuerung ist bei der Batchverarbeitung nicht möglich.

Die Preisbildung für Massenoptionen lässt sich in einem IPU-Programmiermodell leicht lösen, indem die Hardware als Pool von Arbeitern behandelt und die Optionen zur unabhängigen Verarbeitung an jeden Arbeiter verteilt werden. Sobald ein Arbeiter die Verarbeitung abgeschlossen hat, kehrt er zum Steuerprogramm zurück und kann mit einer anderen Option fortfahren. Dieser Prozess funktioniert auf IPUs ähnlich wie auf CPUs.

IPU ist nicht von vektorisierten Programmen abhängig
Im Gegensatz zur CPU ist die IPU ein massiv paralleler MIMD-Chip mit 1.472 Kacheln und 8.832 parallelen Threads, die unabhängig von anderen Threads arbeiten können. Dies bedeutet, dass die IPU (wie die CPU) nicht von vektorisierten Programmen abhängig ist, um eine hohe Leistung zu erzielen. Sie verfügt dennoch über ein bis zwei Größenordnungen mehr Kerne als die heute verfügbaren CPUs der Serverklasse.

Durch die Zuordnung einer einzelnen Option zu einem Prozessorstrang (die IPU hat sechs Threads pro IPU-Kachel) können 8.832 Optionen parallel auf einer IPU berechnet werden. Im Beispiel in Abbildung 2 wird dies mit einer CPU der Standard-Serverklasse mit 24 Kernen verglichen (mit 2x Hyper-Threadings = 48 Threads), bei der 48 Optionen parallel berechnet werden. Ein Vergleich des Durchsatzes zwischen einer einzelnen MK2 IPU und einer einzelnen CPU (eine Intel Xeon Platinum 8.168) ist in Abbildung 2 zu sehen).

Abbildung 2: Die IPU liefert einen bis zu 21-fachen Durchsatz im Vergleich zu einer CPU der Serverklasse, wenn amerikanische Optionen mit dem CRR-Algorithmus berechnet werden (Quelle: Benchmark-Test, durchgeführt von Graphcore).

Der von der IPU gebotene Parallelismus ist nicht der einzige Grund, warum der CRR-Algorithmus auf der IPU gut läuft. Die CPU speichert den Preisbaum auf einem Off-Chip-DRAM, auf den mit einer Lese-/Schreibgeschwindigkeit von circa zehn GB/s zugegriffen werden kann. Dies wird durch den Einsatz der Speicherhierarchie möglicherweise noch etwas verbessert. Die IPU hingegen speichert den gesamten Preisbaum ausdrücklich in ihrem 900 MB großen prozessorinternen Speicher (SRAM), auf den mit einer Lese-/Schreibgeschwindigkeit von 47 TB/s zugegriffen werden kann.

Der CRR-Algorithmus ist ein Beispiel einer Arbeitslast mit eingabeabhängigem Routing. Es wurde demonstriert, dass eine gängige Vektorisierung dieser Arbeitslast mit dem Nachteil verbunden ist, dass sie mit der Geschwindigkeit des längsten möglichen Rechenpfads ausgeführt wird.

Fazit
CPUs werden weiterhin häufig von vielen Finanzinstitutionen als Hardware bevorzugt, da sie aufgrund ihrer Flexibilität Arbeitslasten bewältigen können, die nicht einfach vektorisiert werden können. Jedoch kann die Graphcore IPU diese Art von Arbeitslasten beschleunigen, indem die gleiche MIMD-Flexibilität wie bei CPUs bereitgestellt wird, während sie mit viel höheren Flop-Raten und dadurch einer schnelleren Verarbeitungsgeschwindigkeit punktet.

Autor



Luke Markham, Machine Learning Engineer bei Graphcore.

+++

Was versteht man unter „Data Science“ und wie ist dies in den Themenkomplex KI einzuordnen? Wozu benötigt eine Bank einen Data Scientist und mit welchen Daten und Tools wird hier gearbeitet? Diese und weitere Fragen stellen wir Torsten Nahm, der das Kompetenzzentrum für Data Science bei der DKB leitet. Hören Sie hier weitere Episoden aus der Reihe „durch die bank“.

Melden Sie sich bei Interesse zu unserem Web-Seminar „Robotic Process Automation (RPA) in Kreditinstituten – Technik und Use Cases“ an.

Stichworte

Verwandte Artikel

Anzeige

Lexikoneinträge