Willkommen zur Oktoberausgabe von KI und Forschung! In diesem Monat steht das bahnbrechende Language Modell MT-NLG von Microsoft und NVIDIA im Rampenlicht. Neben diesem technischen Giganten beschäftigen wir uns mit PyTorch 1.10 und werfen einen Blick auf die Zukunft der Suche im Bereich des Natural Language Processing (NLP)
Das Megatron-Turing Language Modell MT-NLG
Die Jagd nach dem größten Sprachmodell geht weiter. Mit 530 Milliarden Parametern setzt das Language Modell MT-NLG neue Maßstäbe. Interessant ist hierbei, dass die Herausforderungen weniger in der Architektur, sondern in der schieren Skalierbarkeit der Hardware lagen. Jetzt haben Microsoft und NVIDIA in Kooperation das Megatron-Turing Natural Language Generation Model (MT-NLG) entwickelt. Allein der Name ist schon eine Erwähnung wert. Aber auch das Modell hat es in sich: Trainiert mit 530 Milliarden Parametern auf dem Datensatz von The Pile, der 825 GB Textdaten umfasst, wird das Modell aktuell nur von Googles Switch Transformer mit 1,6 Billionen Parametern übertroffen. Auffallend bei den aktuellen Entwicklungen ist, dass der Hauptteil der Arbeit technischer Natur ist. Es geht also nicht mehr primär um Fragen, wie die korrekte Architektur des Modells aussieht, sondern wie man die technischen Probleme bei einer solch großen Datenmenge und Parametermenge in den Griff bekommen kann. So beschreibt der Artikel ausführlich die Probleme und Lösungen, die nötig waren, um das Modell zu trainieren. Die Hardware stellte kein Problem dar, letztendlich wurde auf einem NVIDIA DGX SuperPOD-basierten Supercomputer Selene trainiert, der von 560 DGX A100 Servern angetrieben wird, die mit HDR InfiniBand in einer vollständigen Fat-Tree-Konfiguration vernetzt sind. Jeder DGX A100 verfügt über acht NVIDIA A100 80GB Tensor Core GPUs, die vollständig über NVLink und NVSwitch miteinander verbunden sind, also einer Menge Rechenpower.
Zu lösen waren aber vor allem Probleme, wie z.B.
- das der Datenparallelität, die zwar eine gute Recheneffizienz erzielt, den verteilten Speicher nicht richtig nutzen kann.
- das Tensor-Slicing eine erhebliche Kommunikation zwischen den GPUs erfordert, was die Recheneffizienz über einen einzelnen Knoten hinaus einschränkt, wenn kein NVLink mit hoher Bandbreite verfügbar ist.
die Pipeline-Parallelität zwar effizient über Knoten hinweg skaliert werden kann. Um recheneffizient zu sein, sind jedoch große Stapelgrößen, grobkörnige Parallelität und ein perfekter Lastausgleich erforderlich, was im großen Maßstab nicht möglich ist.
Die Ergebnisse zeigen, dass das Model auf dem aktuellen Stand der Technik ist und gerade im Bereich Few-Shot Learning gute Ergebnisse erzielt. Was, und das schreiben die Autoren auch selbst, der Fakt ist, dass das Problem des Bias im Model immer noch vorhanden ist. Da hilft auch die Größe nichts.
PyTorch 1.10
Es gibt ein neues Release der PyTorch Machine Learning Library in Version 1.10 und bringt neben vielen kleinen Neuerungen zwei ‘breaking’ Neuerungen mit. Zum einen die Unterstützung für das ML-Austauschformat ONNX. ONNX ist ein Format, das es erlaubt, das Modelle nicht an ein bestimmtes Framework gebunden sind. Die zweite spannende Neuerung ist die Unterstützung der NVIDIA CUDA Graphs Schnittstelle, die bei richtiger Anwendung Overhead reduzieren, indem sie mehrere GPU-Operationen durch eine einzige CPU-Operation starten.
Future of Search Technology and IR 3.0
Zum Abschluss wollen wir noch einen Hörtipp präsentieren. In der neuesten Folge des Legend of Data & AI teilt einer der Pioniere des modernen Information Retrieval, Dr. Ricardo Baeza-Yates, seine Gedanken gerade zum Thema Responsible AI und Ethik in der AI.
Datum: 31.10.2021
Autor

