Lese-Ansicht

Podcastepisode: Einführung in die Sicherheit des Mobilfunks

Mobilfunk ist eine unverzichtbare Technologie unseres Alltags – und gleichzeitig ein faszinierendes Beispiel für moderne Funksysteme. Während wir bei WLAN als Endnutzer oft sowohl das Endgerät als auch die Basisstation, den sogenannten Access Point, betreiben, ist der Mobilfunk weitaus komplexer und auch fachlich schwieriger zugänglich. Die Mobilfunknetze werden von großen Telekommunikationsunternehmen im lizenzierten Spektrum betrieben, und selbst auf unseren Telefonen bleibt die Interaktion mit dem Mobilfunknetz minimal. Meist reicht es, die SIM-Karte einzulegen, und schon funktioniert alles. Was viele nicht wissen: Auch Betriebssysteme wie Android oder iOS kommunizieren nicht direkt mit dem Mobilfunknetz. Diese Aufgabe übernimmt ein spezieller Chip, der sogenannte Baseband-Prozessor.

Open Source und Mobilfunk: Das Osmocom-Projekt

In der Open-Source-Welt gibt es nur wenige Projekte, die diese Funktechnologie zugänglich machen. Eines herausragendes Beispiel ist das Osmocom-Projekt. Schon ein erster Blick auf die Übersicht zeigt, dass es nicht "die eine" Mobilfunksoftware gibt. Vielmehr müssen viele verschiedene Komponenten ineinandergreifen und wie in einem Orchester zusammenspielen, um ein funktionierendes Netz bereitzustellen.

Sicherheitsforschung im Mobilfunk

Der Blick auf die Sicherheit sollte im Mobilfunk nicht vernachlässigt werden. So mag es überraschen, dass ältere GSM-Mobiltelefone deutlich unsicherer sind, als moderne Geräte, die auf LTE und 5G basieren. Hintergrund sind die verbesserten kryptographischen Verfahren.

Im Risikozone-Podcast haben wir uns in der Episode 65 mit der Mobilfunksicherheit genauer beschäftigt. Wir sprechen mit Adrian Dabrowski und Gabriel Gegenhuber über ihre Forschungsarbeiten und geben gemeinsam Einblick in eine Technologie, die als selbstverständlich wahrgenommen wird, aber in der Arbeitsweise völlig anders herangeht, als wir es aus der IETF-Welt mit TCP/IP & Co. gewöhnt sind.

Zusätzlich stellen Gabriel und Adrian das Open-Source-Projekt MobileAtlas vor. Dieses Projekt, inspiriert vom RIPE Atlas, widmet sich der Vermessung der Mobilfunkqualität und schafft eine interessante Plattform für weitere Analysen und Forschungsarbeiten.

Die 90-minütige Episode ist auf der Podcastseite oder direkt unter diesem Artikel abrufbar.

Jahresrückblick 2024 und Ausblick

Das Jahr 2024 geht zu Ende und ich möchte die Gelegenheit nutzen, mich herzlich bei allen Lesern zu bedanken, die in diesem Jahr meinen Blog verfolgt, meine Artikel gelesen oder ihn durch Kommentare und Zuschriften bereichert haben.

Zu Beginn des Jahres bin ich zum Institut für sichere mobile Kommunikation (ISMK) gewechselt und habe den Podcast Risikozone mitgenommen, sodass ich die Episoden nun im Rahmen meiner Tätigkeit dort produziere. Viele IT-Sicherheitsthemen, die ich im Blog veröffentlicht hätte, fließen nun zwei Mal im Monat in die Episoden dort ein. Über das vergangene Jahr des Podcasts haben wir in Episode 63 gesprochen.

Mein Blog begleitet mich nun schon seit 2016. Im neunten Jahr seines Bestehens habe ich mit 14 Artikeln den Schnitt der vergangenen Jahre gehalten. Wie gewohnt möchte ich zum Jahresende auf einige Highlights und bedeutende Themen des vergangenen Jahres im Blog zurückblicken.

Rückblick auf 2024

Eines der herausragendsten Ereignisse in der IT-Sicherheits- und Open-Source-Welt war zweifellos die xz-Lücke. Über diese Backdoor habe ich sowohl hier im Blog als auch in den Risikozone-Episoden 45 und 46 berichtet.

Ein weiteres bemerkenswertes Sicherheitsproblem war die OpenSSH-Sicherheitslücke RegreSSHion. Zudem wurden in der glibc zwei Lücken entdeckt, deren besondere Bedeutung in ihrem Alter lag: Die verwundbaren Versionen wurden seit 1992 ausgeliefert.

Beim Durchsehen des Blogarchivs fiel mir zudem auf, dass die Veröffentlichung von KDE Plasma 6 ebenfalls in dieses Jahr fiel. Die neue Version der Desktopumgebung, die erstmals nun auf Qt 6 aufbaut, fühlt sich schon so vertraut an, dass es schwer zu glauben ist, dass sie erst 2024 erschienen ist.

Pläne für 2025

Das Thema Künstliche Intelligenz, insbesondere im Bereich der Large Language Models (LLMs), hat sich 2024 stabilisiert. Nach dem anfänglichen Hype zeichnet sich nun eine Phase der Konsolidierung ab. Für das kommende Jahr plane ich, die LLM Timeline wieder zu aktualisieren, um die Entwicklungen der letzten Monate zu dokumentieren.

Auch technisch wird sich auf dem Blog einiges tun. Ich arbeite an einer Erweiterung der Blogsoftware, um die Unterstützung für mehrere Sprachen zu verbessern und das Design speziell für Infografiken zu optimieren.

Guten Rutsch

Ich wünsche euch allen einen guten Rutsch in das Jahr 2025 und freue mich darauf, euch auch im neuen Jahr mit spannenden Artikeln, Podcast-Episoden und technischen Updates begleiten zu dürfen! Danke für eure Unterstützung und euer Interesse!

Verkürzte Git-Commit-Hashes und das Linux-Repository

In der letzten Episode des Risikozone-Podcasts habe ich ganz kurz das Thema der verkürzten Hashwerte und auftretenden Kollisionen angesprochen. Jetzt gibt es ein Proof of Concept zu der Thematik.

Worum es geht

Ein kurzer Refresher, worum es in der Thematik überhaupt geht: Als Git entwickelt wurde, musste ein Weg gefunden werden, wie man die Referenzen auf Commits, die Dateien und die Dateibäume realisiert. In vielen Systemen wie z. B. Issue-Trackern werden aufsteigende Indizes verwendet. In einem verteilten System wie Git ist das aus verschiedenen Gründen der Synchronisation nicht so einfach möglich, da sonst Kollisionen, also gleiche IDs für unterschiedliche Objekte entstehen könnten. Eine Alternative wäre UUIDs, da die IDs einen randomisierten Anteil haben und die Wahrscheinlichkeit für Kollisionen gesenkt wird.

Noch besser als UUIDs ist allerdings Content-adressable Storage, bei dem Inhalte einzig durch ihren Inhalt adressiert werden. Das ist so, als würde man den gesamten Inhalt der Datei nochmal in den Dateinamen schreiben. Der Clou dabei ist jedoch, dass der gesamten Dateiinhalt gar nicht in den Dateinamen geschrieben werden muss, um die Datei durch ihren Inhalt identifizierbar zu machen.

Mit kryptographischen Hashfunktionen wie SHA-1 oder SHA-256 existiert ein Mittel, um einen beliebig langen Dateiinhalt zu einem immer gleich langen Wert, dem Hash, umzuwandeln. Dabei sind kryptographische Hashfunktionen so konstruiert, dass die Wahrscheinlichkeit für Kollisionen durch verschiedene Mechanismen stark minimiert wird. Ein SHA-1-Hash für den Dateiinhalt "Hallo Welt" wäre z. B. 28cbbc72d6a52617a7abbfff6756d04bbad0106a. Ein netter Nebeneffekt ist, dass Dateien mit gleichem Inhalt im Content-adressable Storage auch nur einmal abgespeichert werden, wodurch sogar Deduplikation ermöglicht wird.

Git nutzt dieses Verfahren, um die eingechekten Dateien abzuspeichern. Diese Dateien werden dann in Trees zusammengebunden und in Commits mit den jeweiligen Vorgänger-Commits (parents) in einem sog. Merkle-Tree verheiratet.

Commits werden somit auch durch einen SHA-1-Hash identifiziert, der im hexadezimalen Format 40 Zeichen lang ist.

Das Problem

Das Problem bei dem Verfahren liegt jetzt darin, dass dieser Hash üblicherweise noch weiter abgekürzt wird, um ihn benutzerfreundlicher in Oberflächen oder E-Mails darzustellen. Damit wird natürlich die Wahrscheinlichkeit für Kollisionen erhöht.

Habe ich einen Hash 28cbbc72d6a52617a7abbfff6756d04bbad0106a und nutze nur 28cbbc zur Referenz, reicht das in den meisten kleinen Repositories aus, um einen Commit eindeutig zu referenzieren. In großen Repositories mit vielen Dateien und Commits kann es auf einmal passieren, dass ein weiterer Commit 28cbbcc00aa8ef4e80596c16ecfdb4bc92656cd3 auftaucht, sodass 28cbbc nicht mehr eindeutig einen Commit beschreibt.

Um das Risiko zu verringern, sollte die Mindestanzahl der Zeichen für einen abgekürzten Commit erhöht werden.

Das Kernel-Repository

Genau darum geht es in der aktuellen Diskussion. Aktuell nutzen die Linux-Entwickler zur Referenz von Commits in ihren E-Mails 12 Zeichen lange Hashes. Die Diskussion dreht sich um die Frage, ob die Zahl weiter erhöht werden sollte. Linus Torvalds ist bisher dagegen, weil er das Risiko für Kollisionen gering sieht und er die Position vertritt, dass ein Commit immer mit dem Commit Message Title angegeben werden sollte, was ungewollte Kollisionen ausreichend verhindere.

Gestern veröffentlichte Kees Cook einen Blogpost, indem er eine Commit-Kollision mit dem Werkzeug lucky-commit bewusst herbeiführte, um darauf aufmerksam zu machen, dass die Git- und Kernel-Entwicklungstools mit solchen Situationen klarkommen sollten. Es ist unwahrscheinlich, dass solche Kollisionen bei 12 Zeichen versehentlich entstehen, aber ein Angreifer könnte dies ausnutzen.

Dies sollte ein Apell an alle Entwickler sein, deren Tooling auf abgekürzte Commit-Hashes setzt. Schauen wir mal, wie sich das weiterentwickelt.

Ein Kommentar zu SHA-1

Abschließend ein Kommentar noch zu SHA-1. Wie viele von euch wissen, ist SHA-1 selbst nicht mehr vertretbar kollisionssicher. Das bedeutet, es kann passieren, dass auf einmal zwei Dateiinhalte sich doch den gleichen Hash teilen könnten, wenn ein Angreifer es drauf anlegt.

Da dies natürlich Git massiv stören könnte, gibt es schon Bestrebungen, das Verfahren auf SHA-2 zu aktualisieren, wodurch sich die Hashlänge auch vergrößert. Das ist aber gar nicht so einfach, da SHA-1 an vielen Stellen in die Struktur eines Git-Repos hartkodiert wurde.

Hier geht es aber nicht um das unsichere SHA-1. Durch die Abkürzung des Hashes von 40 auf 12 Zeichen wird die Kollisionssicherheit bewusst und massiv zugunsten der Benutzerfreundlichkeit geschwächt. Und das erfordert immer eine regelmäßige Evaluation, welches Niveau noch vertretbar ist.

ChatGPT wird zwei Jahre alt

Am heutigen 30. November jährt sich die Veröffentlichung von ChatGPT zum zweiten Mal. Die zwei Jahre fühlen sich wie vier an, wenn man bedenkt, was alles passiert ist. Blicken wir auf einige Entwicklungen zurück.

ChatGPT hat die Forschung im Bereich der künstlichen Intelligenz (KI) auf den Kopf gestellt. KI wurde in der Öffentlichkeit bis 2022 mit verschiedenen Teilbereichen wahrgenommen, z. B. Spamfilterung, Bilderkennung, Texterkennung, Klassifikation von Bildern und Texten oder Vorhersagen. Generative Modelle waren eine Nische und vielen eher durch Anwendung des Deepfakes bekannt, bei denen es darum geht, (bewegte) Bilder so gut wie möglich hochrealistisich zu approximieren und nach Belieben anzupassen.

Veränderte Forschungslandschaft

Mittlerweile könnte man annehmen, dass in der Öffentlichkeit KI, ML und LLM synonym betrachtet werden (was zum Glück nicht so gilt). Über diese Vereinfachung könnte man sich jetzt aufregen, sollte es aber differenziert betrachten. Einerseits lernen viel mehr Menschen KI kennen als vorher. Wenn diese Anwender auch nur eine der Technologien, sei es LLM, einsetzen, ist es gewissermaßen eine Bereicherung. Andererseits versuchen viele, bestehende Verfahren und Technologien auf LLMs anzuwenden. Zum Beispiel kann eine Klassifikation (z. B. Spam oder nicht Spam?) entweder mit einem spezialisierten Modell (z. B. Bayes) durchgeführt werden – oder ChatGPT kann einfach nach der Einordnung gefragt werden. Dieser Einsatz ist kritischer zu hinterfragen, weil Nebeneffekte wie Halluzinationen bisher zuverlässige Aufgaben verwässern: wenn ein Klassifikator mit der Softmax-Funktion zwischen 4 Kategorien entscheiden soll, kann er sich nur für eine Kategorie entscheiden. LLMs hingegeben können mit einer neuen Kategorie antworten.

An dieser Stelle sollte erwähnt werden, was ChatGPT eigentlich ist: Es war, ist und bleibt wohl vorerst eine aufgepumpte Textvervollständigungsmaschine. Dabei können die Modelle zum jetzigen Forschungsstand weder das Gesagte konzeptionalisieren, noch einen inneren Sinn anwenden. Die Modelle wurden darauf trainiert, kohärente Texte für Eingaben auszugeben. So kann eine Anfrage wie "Was ist 2+2?" sicherlich durch Training mit 4 beantwortet werden. Das Modell ist jedoch an sich nicht in der Lage, beliebige Rechenaufgaben mit der Präzision eines Taschenrechners zu beantworten.

Das Spannende ist aber der Zusatz "an sich", den ich der Vollständigkeit halber erwähnen muss. Denn die Forscher und Entwickler haben begonnen, diese Schwäche mit Tricks zu kompensieren. Beim Toolformer-Ansatz wird das LLM darauf optimiert, anstatt einer direkten Antwort einen Funktionsaufruf an der passenden Stelle möglichst syntaktisch korrekt auszugeben, z. B. Das Ergebnis von 2+2 ist [Calculator(2+2)]. Die LLM-Ausgabe kann dann anschließend einem Interpreter übergeben werden, der für vorgegebene Funktionen deterministisch korrekt die Berechnung durchführt und das Ergebnis an der Stelle einfügt.

Es lässt sich erahnen, dass LLMs mittlerweile mehr als das reine Modell sind. Die Ausgaben werden technisch durch gezielte Fragestellung, das Prompt Engineering, in eine bestimmte Richtung gelenkt und anschließend angereichert. Diese Schritte können beliebig oft wiederholt werden. Baut man dieses Verfahren so aus, dass in der Antwort bestimmte Aktionen benannt werden, auf die dann wieder Eingaben folgen, kann man Agenten bauen. Das ist ein jahrzenhntealter Ansatz, der jetzt wieder in Mode kommt.

Dieses Ökosystem ist umfangreich und wächst immer weiter. Nur, weil ich ein Large Language Model habe, habe ich noch kein funktionierenden ChatGPT-Klon. Vielmehr gilt es, operative und technische Herausforderungen im Backend zu lösen (Stichwort GPUs und Clustering) und das Modell in eine Pipeline einzubetten. Das Training allein reicht somit nicht mehr aus – bildet aber auch keine Voraussetzung mehr, wie wir später sehen.

Grundsätzlich ist es gut, wenn mehr Aufmerksamkeit der Erforschung künstlicher Intelligenz und maschinellem Lernen gewidmet wird. Die durch die hohen Trainingskosten notwendig gewordene Kommerzialisierung zur Finanzierung hat allerdings auch umfangreiche Auswirkungen gehabt. Die Start-up-Welt verschob sich nicht nur von Blockchain, Metaversum und Fintech hin zu AI, sondern wurde getrieben vom Ziel, das beste Modell zu trainieren. Rückblickend ein Himmelfahrtskommando, wenn man sieht, wie schnell neue Modelle veröffentlicht wurden und wie gering der Return-on-Invest ausfallen kann.

Das Jahr 2023 fühlte sich an, als würde jedes KI-Labor eines jeden größeren Konzerns die Zwischenergebnisse seiner LLM-Leute veröffentlichen. Jede Woche gab es neue Papers, die nicht mehr in jährlichen begutachteten Konferenzen, sondern als Preprint auf arXiv veröffentlicht wurden. LLMs gibt es schon seit über 5 Jahren, aber die Zuverlässigkeit und verbundene Aufmerksamkeit wurde erst mit dem Durchbruch von InstructGPT ermöglicht, was die Basis von ChatGPT in der ersten Version bildete. In 2023 habe ich aktiv eine LLM-Timeline gepflegt und es wurde deutlich, dass "jeder" es einmal versuchen wollte, Beispiel BloombergGPT. Jeder einzelne Beitrag war dabei wertvoll, es war jedoch schwer, den Überblick zu behalten.

Der Gewinner: Open Source

Der Gewinner der letzten zwei Jahre war jedoch nicht nur OpenAI, das letztes Jahr um diese Zeit mit Machtkämpfen (wired.com) beschäftigt war. Vielmehr hat mit Meta (Facebook) ein Unternehmen das Ruder an sich gerissen, von dem man es am wenigsten erwartet hätte, und einen Beitrag geleistet, den man sich noch weniger hätte vorstellen können. Der zeitlich passende Shift von Metaverse zu AI war die Überraschung der letzten Jahre, wie man auch im Aktienkurs sehen konnte.

Die Problematik war, dass die bereits erwähnte Kommerzialisierung zu proprietären Modellen geführt hat, bei denen weder die Gewichte als Basisdaten veröffentlicht noch die Mitbenutzung erlaubt wurde. Durch das aufwändige Training und die hohe Anpassungsfähigkeit an neue Aufgaben hatte auf einmal das Modell an sich einen Wert. Davor war es entweder die Methodik, wie man ein solches Modell trainiert und einsetzt (das - und nur das - ist im Übrigen in der Regel auch nur wissenschaftlich publikationfähig) oder der Datensatz selber, auf dem trainiert wurde. Das Modell konnte man sich früher einfach selber erzeugen und so die Experimente reproduzieren.

Meta AI war nun einer der ersten großen Anbieter, die mit LLaMA im Februar 2023 ein Modell aufwändig trainiert und dann zum Download freigegeben haben. Das geschah allerdings noch unter einer recht restriktiven Lizenz und mit persönlicher Voranmeldung, war aber eines der ersten Modelle, das an die Leistung von OpenAI im entferntesten herankam. Interessanterweise war es auch die ausbleibende Klagewelle, die zur Verbreitung und Weiterentwicklung der Modelle führte, die rechtlich mindestens in einem Graubereich geschah und fast schon an die Einführung der Kartoffel in Deutschland erinnerte.

Spätere Versionen wie Llama 3 wurden unter freizuzügigeren Lizenzen veröffentlicht. Bei diesen lässt sich streiten, ob man sie als Open Source bezeichnen kann. Fest steht, dass für den Einsatz somit Modelle bereitstehen, an denen man lokal testen und sie ggfs. auf eigene Trainingsdaten anpassen kann. Bei der Bilderkennung wurde hierbei üblicherweise der Begriff Transfer Learning verwendet, bei LLMs wurde das Verfahren als Finetuning bekannt. Somit war auch die Bezeichnung von Foundation Models geboren, die die Basis für Finetuning bilden.

Aus Europa stammt ein zwischenzeitlich ähnlich leistungsstarkes Modell mit dem Namen Mistral, das mit der Apache-2.0-Lizenz auch eine echte, anerkannte Open-Source-Lizenz trägt. Der Trend geht somit Richtung Open Source. Zieht man die Parallele zu den Betriebssystemen mit Windows und Linux, ist es schon sehr überraschend, dass in einer solchen Massentechnologie mit technsichen und finanziellen Hürden tatsächlich so schnell der Gedanke der Open-Source-Kultur keimt.

Gesellschaft und Regulierung

Eine weitere Parallele ist die gesellschaftliche Akzeptanz. Diese ist verglichen mit dem Jahr 2000 überraschend hoch. Während Wikipedia als Konkurrenz zur gedruckten Enzyklopädie zu meiner Schulzeit mindestens verachtet wurde, ist ChatGPT als Alternative zur eigenen Arbeitsleistung überraschend salonfähig. Es gilt vielmehr ein "Es geht nicht weg, wir müssen damit klarkommen!" als ein "Wir müssen es unbedingt bekämpfen!".

Bleibt zum Schluss noch der Blick auf die Regulierung. Die Veröffentlichung von ChatGPT kam in dieser Hinsicht zu einem ungünstigen Zeitpunkt. Die Europäische Kommission hat sich in den vergangenen Jahren vorgenommen, den Einsatz in bestimmten Bereichen der künstlichen Intelligenz im Hinblick auf z. B. Scoring-Systemen für Kredite oder Gesichtserkennung zu regulieren. Also typische Einsatzbereiche, die man sich zu der Zeit vorstellte. Ein erster Gesetzesentwurf wurde Anfang 2021, also ein halbes Jahr vor ChatGPT, vorgelegt. Mit ChatGPT kam dann in dem Gesetzgebungsverfahren so richtig Fahrt auf, sodass einerseits die Gegner von KI-Systemen mit einem großen Verbotshebel in der Verhandlung antraten, die Befürworter die Verordnung nicht aus den Augen verloren und die Investitionsträger von KI-Start-ups ihre wirtschaftliche Position bewahren wollten. Das Ergebnis war, dass Foundation Modelle in die Verordnung aufgenommen wurden, aber ab einer Grenze, die scheinbar ihren geistigen Ursprung interessanterweise in der einer zeitgleich entwickelten Executive Order 14110 des US-Präsidenten Joe Biden hat. Zwischenzeitlich ging es darüber hinaus um die strikte Regulierung jeglicher statistischer Methoden. Dies wurde glücklicherweise aber noch abgeschwächt.

Mittlerweile ist der AI Act von der EU in Kraft. So unnötig ich die Regulierung zu einem solch frühen Zeitpunkt halte, so halte ich die Ausnahme großer Teile der Forschung von der Regulierung als wichtige Errungenschaft. Dass man heute aber für Dinge kämpfen muss, die gestern noch selbstverständlich wären (Forschungsfreiheit), ist auch ein Zeichen gesellschaftlicher Umwälzungen.

Interessanterweise gibt es aber mit der TDM-Schranke auch EU-Voragben, die im in dieser Thematik nicht zu unterschätzenden Urheberrecht dem Training von LLMs zuträglich sein können. Ob und inwiefern diese Schranke für Wissenschaft und Wirtschaft anwendbar ist, wird aktuell durch Gerichtsverfahren und Gutachten geklärt.

Fazit

Ich nutze ChatGPT regelmäßig und sehr gerne und finde daher die Veröffentlichung vor zwei Jahren einen wichtigen Meilenstein, zumal es sehr gut bei Übersetzung oder Grammatikoptimierung hilft (dieser Text ist aber menschengeschrieben). Tatsächlich habe ich knapp ein Jahr vorher schon begonnen, mit GPT-3 zu arbeiten, weil es zu der Zeit schon recht populär war, aber noch viel manuelle Arbeit für gute Ergebnisse erforderte. Mit ChatGPT hat sich die Zugänglichkeit und Qualität von LLMs deutlich vereinfacht, weswegen ich den kometenhaften Aufstieg des Produktes gerechtfertigt sehe.

2023 befand sich allerdings die gesamte Techindustrie regelrecht in einem Wahnzustand. Die anfangs hohen Erwartungen, die in die Werkzeuge gesteckt wurden, konnten teilweise erfüllt werden. Wie hoch die Erwartungen allerdings tatsächlich waren, zeigt sich erst, wenn die Investments realisiert werden.

LLMs sind der Hammer, mit dem jedes Problem wie ein Nagel aussieht. Für die Zukunft wünsche ich mir mehr Differenzierung, da es mehr als LLMs in der KI-Welt gibt. Dabei blicke ich gespannt auf die Robotik, weil sich hier ein weiterer großer Anwendungszweck der KI befindet, der auf seinen Durchbruch wartet. Schauen wir, was uns die nächsten Jahre bringen.

IPv6 obsolet?

Kurz notiert: In den letzten Tagen kursierte ein Artikel von Geoff Huston von der APNIC durchs Netz, in dem er das Ziel in Frage stellt, IPv4 langfristig durch IPv6 zu ersetzen. Warum es obsolet ist? Weil es DNS, NAT und SNI gäbe. Heißes Thema, ich weiß.

Drei Gedanken hierzu:

(1) Transition. Ja, hier hat IPv6 ziemlich versagt und das war schon ziemlich früh absehbar, siehe The IPv6 mess von djb. Ich muss eine Station komplett für IPv6 und IPv4 konfigurieren, damit in der Übergangsphase die Erreichbarkeit sichergestellt ist. Das ist das Gegenteil, wie viele Protokolle agiert haben, die sich gut migrieren lassen. Bei abwärtskompatiblen Protokollen sieht das Protokoll für nicht migrierte Teilnehmer wie das alte Protokoll aus und neue Teilnehmer können anderweitig die neue Version erkennen und besondere Features nutzen. Hätte man besser machen können, aber ich vermute, dass die IPv6-Autoren auch mit einer unkomplizierten Migration gerechnet haben. Und eines ist auch klar: Wenn man ein Protokoll neu und ordentlich entwirft, kann man auch endlich alte Zöpfe abschneiden.

(2) Internet gleichberechtiger Teilnehmer. Einer der großen Durchbrüche beim TCP/ICP-basierten Internet, so wie wir es heute kennen, ist, dass technologisch nicht zwischen Konsument und Produzent unterschieden wird. Jeder Teilnehmer kann einen eigenen Server aufspannen und möglichst weltweit seine Dienste anbieten. NAT (vor allem, wenn man es selber nicht verwalten kann) verhindert das Prinzip und schafft ein klares Gefälle, weil hinter dem NAT liegende Stationen nicht mehr frei agieren können.

(3) IPv4-Adresshandel. Die Knappheit der IPv4-Adressen hat einen Markt geschaffen, wo /24er-Blöcke für zehntausende an Euros gehandelt werden. Wir reden hier – um bei einer Analogie zu bleiben – von reinen Nummerschildern. Diese künstliche Verknappung schafft eine weitere Einstiegshürde für neue, ggfs. Teilnehmer und friert in Folge nur den heutigen Status Quo ein.

Fazit: Eigentlich ist die IPv6-Migration auf einem guten Weg. IPv6-only sollte auch das Ziel in meinen Augen sein. Jetzt auf dem (vermutlich erst halben) Weg abzubrechen, würde ich aber sehr kritisch sehen, weil es nur denen in die Hände spielen würde, die sowieso nach alter TK-Manier eine Unterteilung in Konsumenten und Produzenten sehen wollen. Aber jeder der großen Big-Tech-Konzerne auch mal als kleiner Teilnehmer an den Start gegangen. Die Schaffung höherer Einstiegshürden ist zwar in so einem Markt natürlich, aber nichts, was man gutheißen sollte. Freier Zugang für das Internet ist für die Innovationsfähigkeit umso wichtiger, weil aufstrebende Nutzer im Netz der KI-generierten Inhalte noch einen Unterschied machen können – außerhalb der moderierten Plattformen. Und für einen freien Zugang braucht man auch eine freie Adressvergabe und das geht nur, wenn – wie bei IPv6 – viele Adressen noch günstig verfügbar sind, ohne, dass man erst "digitales Land" für substanzielle Beträge abkaufen muss.

Linux-Mainline erhält Realtime-Support

Die letzten wichtigen verbleibenden Bausteine für den Realtime-Support für Linux wurden in den Mainline-Zweig aufgenommen. Das bedeutet, dass Linux 6.12 voraussichtlich in einem echtzeitfähigen Modus betrieben werden kann, wenn der Kernel entsprechend kompiliert wird.

Echtzeitfähigkeit wird insbesondere in Embedded-Szenarien benötigt, wenn auf eine Eingabe innerhalb einer vorhersagbaren Zeit eine Antwort erwartet wird. Speziell in der Robotik, aber auch in der Multimediaproduktion gibt es solche Anforderungen. Dabei kommt es nicht darauf an, dass eine Aufgabe schnell abgearbeitet wird, sondern, dass sie in einer deterministischen Zeit begonnen wird.

Ein Beispiel für Echtzeit

An dieser Stelle mag sich die Frage stellen, was diese Echtzeitfähigkeit, von der hier geredet wird, überhaupt ist. Das lässt sich gut am Beispiel eines Line-following Robot klären. Was ein solcher Roboter tut, kann man sich z. B. in diesem YouTube-Video ansehen. Technisch besteht so ein Roboter aus zwei (oder mehr) Kameras als Sensoren, zwei Motoren für jeweils ein Rad als Aktoren und einem Controller zur Steuerung. Die Kameras sollen den Kontrast ermitteln, damit festgestellt werden kann, ob sie noch auf die schwarze Linie zeigen. Bemerkt eine der Kameras beim Fahren, dass sie den Sichtkontakt zur Linie aufgrund z. B. einer Kurve verliert, müssen die Motoren durch eine leichte Drehung nachsteuern, um auf der Linie zu bleiben.

Diese Kameras lösen üblicherweise entsprechend ihrer Abtastfrequenz auf dem Controller für die Steuerung einen Interrupt aus. Das führt zur Abarbeitung der Steuerungsroutine, die für beide Motoren die Geschwindigkeit berechnet, mit der sie sich drehen sollen.

Entscheidend ist, dass nicht beide Kameras den Sichtkontakt verlieren, damit der Roboter weiterhin weiß, in welche Richtung er nachsteuern muss. Üblicherweise wird das beim Testen funktionieren, aber es kann in bestimmten Randbedingungen bei normalen Betriebssystemen, wenn der Controller z. B. mit vielen anderen Aufgaben zufälligerweise beschäftigt ist, passieren, dass auf einmal nicht schnell genug die Routine aufgerufen wird. Der Roboter verliert dann den Sichtkontakt.

Der Entwickler eines solchen Roboters kann nun eine Echtzeitanforderung formulieren, dass z. B. auf ein Interrupt von den Kameras innerhalb von 1 Millisekunde reagiert werden muss. Er kann mit dieser Anforderung jetzt die maximale Geschwindigkeit des Roboters so wählen, dass der Roboter langsam genug fährt, um nicht die Linie – trotz der Latenz von im worst-case 1 Millisekunde – nicht zu verlieren.

Diese 1 Millisekunde muss aber auch vom Controller, seinem Betriebssystem und schließlich seinem Kernel garantiert werden. Der Kernel muss also in jeder Situation in der Lage sein, auf eine Anforderung innerhalb einer vorbestimmten Zeit zu reagieren. Unabhängig von der zwingenden Fähigkeit, präemptiv zu arbeiten, also jederzeit anderer Prozesse unterbrechen zu können, darf der Kernel auch nicht mit sich selber unvorhersehbar lange beschäftigt sein, wenn z. B. eine Synchronisation hängt.

20 Jahre Arbeit

Und genau hierum geht es beim grob gesagt beim PREEMPT_RT-Patch. Der Kernel muss so nachgebessert werden, dass keine Komponente sich unnötig lange aufhängt und somit die Abarbeitung von Aufgaben behindert, für die eine garantierte Ausführungszeit festgelegt wurde.

Die ursprüngliche Arbeit begann bereits im Jahr 2004 auf einem getrennten Zweig und hatte viele Verbesserungen in den Kernel gebracht, zuletzt an der printk()-Infrastruktur. Jetzt sollten die Arbeiten so weit sein, dass Realtime nicht mehr auf einem getrennten Zweig, sondern im Hauptzweig entwickelt werden kann.

Die Echtzeitfähigkeit gab es somit in speziell präparierten Kernels schon lange. Neu ist, dass der Code im Hauptzweig gepflegt wird und somit besser mit Änderungen anderer Maintainer abgestimmt werden kann. Denn eine Änderung an einer anderen Komponente reicht schon aus, um die Echtzeitfähigkeit zu unterminieren.

Linux echtzeitfähig zu machen, ist somit ein großer Aufwand gewesen, weil man solche Fähigkeiten oft nur in spezialisierten Betriebssystemen (sogenannten Real-time operating systems, RTOS) vorfindet. Insbesondere Thomas Gleixner und John Ogness haben hier große Anstrengungen unternommen. Jetzt, nach knapp 20 Jahren Arbeit, dürfte das Vorhaben einen wichtigen Meilenstein erreichen.

Wer sich für einen tieferen Einblick in die Linux-RT-Welt interessiert, kann einerseits den Artikel von Thomas Leemhuis auf Heise Online von letzter Woche lesen oder sich auf LWN durch das Artikelarchiv zu der Thematik arbeiten.

Elasticsearch nimmt AGPL als Lizenz auf

Interessanter Gegentrend: Während ich vor ziemlich genau einem Jahr über das zu der Zeit aktuellste Beispiel HashiCorp schrieb, wo eine Umstellung auf BSL-artige Lizenzen erfolgte, scheint es wohl auch einige Kandidaten zu geben, die wieder auf OSI-genehmigte Lizenzen umstellen. So verkündete Elastic am vergangenen Donnerstag, das sie wieder mit ihrer Suchmaschinensoftware Elasticsearch "Open Source" werden möchten, indem sie die AGPL als Lizenzoption aufnehmen.

Hintergrund

Hier einmal der Hintergrund bis jetzt, so wie es auf mich als externen Beobachter wirkte: Open Source hat es im Zeitalter der Cloud recht schwer, wenn man damit Geld verdienen möchte (um z. B. die Entwicklung zu finanzieren!). Das verbreitete Standardmodell zur Monetarisierung war bisher, eine Software Open Source anzubieten und den Support oder das Hosting kostenpflichtig anzubieten. Aus Kundensicht bestellt man dann direkt bei dem Hersteller, der seine Software auch am besten verstehen sollte.

Cloud Provider haben dem Modell das Wasser abgegraben, da sie einfach die Open Source Software nehmen und auf ihrer Plattform deployen konnten – ohne einen Cent dem Projekt zahlen zu müssen. Teilweise wurde die Software erweitert, ohne, die Änderungen wieder veröffentlichen zu müssen (deswegen sind auch die MIT- und BSD-Lizenzen so beliebt). Aus Kundensicht kauft man zwar nicht mehr bei dem Hersteller ein, hat aber

  • einerseits alles zentralisiert auf einer Cloudplattform und
  • andererseits gar keinen Bedarf für Herstellersupport, weil die Software sowieso über das SaaS-Modell supported wird und nicht mehr on-premise läuft.

Die Antwort vieler Projekte war es nun, die Lizenz so zu ändern, dass dieses Verhalten nicht mehr möglich ist, z. B. durch die Beschränkung von Konkurrenz-Hostingprodukten. Das verstößt allerdings gegen das Diskriminierungsverbot der OSI, nach dem die Verwendung von Produkten nicht durch die Lizenz beschränkt werden sollte (siehe auch das Good-Evil-Thema bei der JSON-Lizenz).

In der Konsequenz spalteten sich wie mit Open Search Elasticsearch-Forks ab, die weiterhin die offenen Lizenzen nutzen und durch Cloud Provider wie AWS direkt gepflegt wurden und werden. Wie Elasticsearch betont, sollen diese Projekte aber gleichzeitig auch einen eigenen Weg mit eigener Spezialisierung entwickelt haben. Die Community war natürlich aber auch verärgert, da die Software Elasticsearch nun nicht mehr als Free Open Source Software (FOSS) galt.

Wieder Open Source

Elasticsearch plant nun die Wogen zu glätten, indem die AGPL als weitere Lizenz zur ELv2 und SSPL zusätzlich aufgenommen wird. Die Nutzer können also frei entscheiden, welche Lizenz sie nutzen wollen, da insbesondere im Geschäftskontext die AGPL juristisch gesehen als heikel eingeschätzt wird, wenn man das Produkt aus verschiedenen Komponenten zusammengebaut und nicht den gesamten Quelltext veröffentlichen möchte. FOSS-Nutzer und Distributionen haben allerdings wieder die Möglichkeit, die Software wiederaufzunehmen. So entspricht z. B. die AGPL den Debian Free Software Guidelines.

Ende gut, alles gut? Wenn es nach der Ankündigung von Elastic geht, ist das Team zufrieden mit der Entscheidung, wieder Open Source zu sein. Ob der Fork OpenSearch aufrecht erhalten wird oder schlussendlich in das Urprodukt einfließt, ist allerdings noch nicht gewiss und muss sich in der Zukunft zeigen. Vielleicht sind die Communities auch schon zu sehr divergiert, sodass es nun unterschiedliche Lösungen für unterschiedliche Anwendungsfälle gibt.

Probleme mit VirtualBox 6.1 unter Ubuntu 22.04

Wer sagte noch gleich, dass klassische Release-Distributionen den Rolling Releases überlegen sind, weil sie so stabil seien? Dass es Ausnahmen von der Regel gibt, durfte ich heute erleben. Ich liebe diese Tage, wo auf einmal die normalsten Dinge nicht mehr gehen...

Es galt etwas in einem Softwareprojekt zu testen, das ich hierfür erstmal wieder in Gang bringen musste. Dabei setzt das Projekt auf Vagrant in Kombination mit VirtualBox. Ich habe dazu erstmal das Hostsystem aktualisiert und versucht, mit Vagrant die Maschine aufzusetzen – um dann feststellen zu dürfen, dass Vagrant einen Fehler wirft.

Was ging schief?

Konkret war VirtualBox in die Guru Meditation gefallen. Das tritt dann auf, wenn ein besonders schwerer Fehler auftritt, sodass das Programm nicht ordentlich weiterlaufen kann. Dabei war doch gar nicht viel am Entwicklungssystem verändert worden? Ich halte für solche Entwicklungsprojekte dedizierte Entwicklungsmaschinen vor, auf denen sich das Betriebssystem über die Jahre nicht verändert und die für die tägliche Arbeit auch entsprechend nicht eingesetzt werden. Was ich aber tue: die Zwischenupdates einspielen.

Stellt sich heraus, dass unter Ubuntu 22.04 LTS die Kernelversionen ab 5.15.0-112 den Fehler VERR_VMM_SET_JMP_ABORTED_RESUME wohl verursachen. Der Bug wird schon auf Launchpad, bei ubuntuusers.de und auch im VirtualBox-Forum diskutiert.

Wie kann man das fixen?

Man könnte einereits den Kernel downgraden bzw. einen alten Kernel nutzen, was aber nur kurzfristig Abhilfe schafft. Alternativ gibt es die Flucht nach vorne: entweder Ubuntu auf 24.04 LTS upgraden (habe ich nicht probiert, scheinbar ist der automatische Update-Pfad auch noch gar nicht freigeschaltet) oder VirtualBox auf Version 7.0 updaten. Ich habe mich für letzteren Schritt entschieden und dabei auf die offiziellen VirtualBox-Pakete von Oracle zurückgegriffen, da in den offiziellen Ubuntu-Repos für die Version nur Version 6.1 enthalten ist (was ja bei LTS-Versionen eigentlich auch sinnvoll ist). Das ist natürlich keine schöne Lösung, da man sich fremde Pakete in das System holt – aber sie funktioniert. Man muss allerdings auch bedenken, dass die aktuelle Vagrant-Version, die in den Ubuntu-Repos für 22.04 (jammy) enthalten ist, VirtualBox 7.0 noch gar nicht unterstützt. Folglich muss man dann auch auf die offiziellen Repositories von Hashicorp zurückgreifen – was allerdings angesichts der lizenzrechtlichen Änderungen sowieso bald nötig wird.

Was lernen wir daraus?

Software muss laufend auf Regressionsfehler getestet werden, die durch Updates an anderen Stellen passieren können. Ja, diese Fehler können immer passieren und sind teilweise schwer zu verhindern. Gleichzeitig muss man aber selber auch seine Setups regelmäßig testen, um schnell zu erkennen, dass ggfs. das Kernelupdate schuld war. Mittlerweile vermutet man das aufgrund der Stabilität der Systeme schon fast gar nicht mehr. Ansonsten geht viel Zeit aufgrund der Fehlersuche ins Land. Da ist es auch wenig zuträglich, dass die VirtualBox-Logs scheinbar keine Log Level beinhalten...

Ein Fix seitens Ubuntu steht für diesen Bug im Übrigen noch aus. Theoretisch sollte sich dann das Thema von selbst erledigen, weil die betreffende Änderung im Kernel einfach reverted wird. Ich wollte zwischenzeitlich aber die Workarounds einmal auflisten, sollte jemand ähnliche Probleme haben.

OpenSSH-Sicherheitslücke RegreSSHion

Dem Forscherteam von Qualys ist es gelungen, eine ältere Sicherheitslücke in OpenSSH, die schon eigentlich längst geschlossen war, erneut auszunutzen. Die neue Lücke wird als CVE-2024-6387 geführt und ist deswegen brisant, weil Sie bei Erfolg dem Angreifer Root-Rechte ohne vorherige Authentifizierung ermöglicht. Die nötigen Bedingungen für ein Ausnutzen der Lücke sind allerdings nicht ganz trivial.

Die gesamte Erläuterung der Sicherheitslücke ist im Bericht von Qualys umfangreich erläutert wollen. Wenn wir es schaffen, werden wir diesen schon Mittwoch im Risikozone-Podcast detaillierter erläutern.

So viel sei gesagt: die Lücke existierte schon mal als CVE-2006-5051, wurde dann gefixt und konnte jetzt (erstmals) ausgenutzt werden, da der eigentlich kritische Teil 2020 wieder versehentlich eingebaut wurde. Der Fehler selber baut darauf, dass syslog() zur Protokollierung asynchron aufgerufen wird, obwohl die Funktion nicht "async-signal-safe" ist. Kann ein Angreifer Timingeigenschaften ausnutzen, wird er in die Lage versetzt, Code einzuschleusen, der in einem privilegierten Teil von OpenSSH ausgeführt wird. Der Zeitaufwand ist allerdings hierfür nicht zu unterschätzen, da das Codefragment nur bei einem Verbindungstimeout aufgerufen wird.

Es ist gemäß des Qualys-Berichtes hervorzuheben:

  • Die OpenSSH-Versionen vor 4.4p1 (2006) sind angreifbar, sofern sie nicht explizit gepatcht wurden.
  • Die OpenSSH-Versionen zwischen 4.4p1 und 8.5p1 (2021) hatten nicht den besagten Code drin.
  • Die OpenSSH-Versionen ab 8.5p1 hatten den Code wieder drin.
  • Mit OpenSSH 9.8p1 wurde die Lücke gepatcht.

Mit anderen Worten: abhängig von eurem System ist die Schwachstelle vorhanden, weswegen ihr in eure Distribution schauen solltet, ob es Updates gibt.

OpenSSH ist nichtsdestotrotz im Hinblick auf seine Rolle und Exposition eines der sichersten Programme der Welt. Die Software ist ein sehr stringent abgesicherter Dienst, der u. a. auf Sandboxing-Mechansimen setzt, um den Umfang der Codesegmente, die als root ausgeführt werden, gering zu halten. Diese Lücke ist eine der seltenen Situationen, in der trotzdem ein Security-Bug vorhanden ist. Dabei ist eine Ausnutzung vergleichsweise aufwändig.

Debian 10 "buster" LTS erreicht End of Life (EoL)

Kurz notiert: Debian 10 mit dem Codenamen "buster" erreicht heute das End of Life. Die Unterstützung wurde bis 2022 vom Debian-Team bereitgestellt und dann bis zum heutigen Tage durch das LTS-Team sichergestellt. Damit wurde Debian 10 knapp fünf Jahre durchgängig unterstützt.

Debian 10 wurde am 6. Juli 2019 und somit vor knapp fünf Jahren veröffentlicht. Ausgeliefert wurde das Betriebssystem mit dem Linux-Kernel 4.19. Der letzte Point-Release erfolgte am 10. September 2022, damit endete auch der klassische Security-Support.

Anschließend hat das LTS-Team die Unterstützung am 1. August 2022 mit einer Teilmenge von Architekturen (amd64, i386, amd64, armhf) übernommen, damit Nutzer wichtige Sicherheitsupdates noch erhalten und die Gelegenheit haben, auf den Folge-Release umzustellen. Diese Unterstützung läuft am heutigen Tage aus.

Es ist somit an der Zeit, auf Debian 11 mit dem Codenamen "bullseye" umzustellen. Die Migrationsanleitung ist in den Release Notes für Debian 11 zu finden. Hier wird auch erläutert, mit welchen Breaking Changes zu rechnen ist. Wie üblich, lässt sich der Release über die APT-Konfiguration anheben, gefolgt von einem Upgrade über APT. Die wichtigste Änderung dabei ist, dass das Security-Archiv ein neues Layout hat. Ich habe einige Systeme schon aktualisiert, dabei gab es bei mir keine Probleme. Das sollte auch bei anderen Systemen keine Schwierigkeiten bereiten, wenn sich an den offiziellen Debian-Paketquellen orientiert wird. Die Backports sollte man aber kontrollieren, wenn z. B. ein Backports-Kernel genutzt wurde, um WireGuard schon mit Debian 10 nutzen zu können (erst Debian 11 hat eine Kernelversion, in der WireGuard integriert ist).

Aktuell werden vom Debian-Team die Versionen 11 (bullseye) und 12 (bookworm) als Hauptversionen gepflegt. Das LTS-Team ist eine Gruppe von Freiwilligen, die sich zum Ziel gesetzt hat, eine fünfjährige Unterstützung für Debian-Versionen sicherzustellen. Wer eine zehnjährige Unterstützung benötigt, kann auf entgeltliche ELTS-Angebote wie z. B. von Freexian zurückgreifen.

Das Gespenst der Vorratsdatenspeicherung ist zurück

Ich hatte es geahnt, aber dann ging es doch schneller als gedacht. Mit der Entscheidung des Europäischen Gerichtshofes Ende April wurde in einem Fall in Frankreich die Speicherung von IP-Adressen seitens des ISPs auf Vorrat nicht nur für den Bereich schwerer Straftaten, sondern auch für Urheberrechtsverstöße für zulässig erachtet. Damit ist eine Diskussion wieder auf dem Tisch, die seit 20 Jahren regelmäßig aufflammt, aber bisher durch Urteile gegen die erlassenen Gesetze eingefangen wurde.

Mit diesem Thema haben wir uns vergangene Woche mit Professor Dr. Stephan G. Humer in der 48. Episode des Risikozone-Podcasts beschäftigt, den ich euch wärmstens empfehlen kann.

Die klassische VDS in Deutschland wird momentan nicht praktiziert, da sie nach einem älteren Urteil des EuGH, das konkret das deutsche Gesetz betraf, als rechtswidrig eingestuft wurde. Nichtsdestotrotz ist die Diskussion wieder eröffnet und alle Möglichkeiten für Vorhaben zur Wiedereinführung werden wieder eingebracht. Das Thema wird uns also weiterhin noch eine ganze Weile verfolgen.

Klar, im Urteil des EuGH wird als Bedingung gestellt, dass Maßnahmen getroffen werden müssen, damit die Privatsphäre der einzelnen Nutzer gewahrt bleibt, aber das ändert nichts daran, dass die Daten grundsätzlich erstmal erhoben werden. Die "Neuerung" in diesem Urteil zu der Thematik ist, dass IP-Adressen und Identitäten getrennt gespeichert werden müssen. Mir ist allerdings noch nicht einleuchtend, was im Urteil mit der "Verknüpfung nur unter Verwendung eines leistungsfähigen technischen Verfahrens [...], das die Wirksamkeit der strikten Trennung dieser Datenkategorien nicht in Frage stellt" gemeint ist. Sollen die Datenbanken mit einem anschließend zu verwerfenden Schlüssel verschlüsselt werden, der bei der Verknüpfung erst geknackt werden muss? Am Ende kann ein technisches Verfahren doch gar nicht feststellen, ob ein Gesuch den formellen juristischen Anforderungen genügt oder nicht.

Technisch reden wir hier im Übrigen von zwei Teilaspekten: einerseits die Speicherung, welche Stationen (mit welchen IP-Adressen) miteinander kommunizieren und andererseits, wer hinter welcher IP-Adresse steckt. Diese ganze letzte Thematik haben wir allerdings nur, weil die ISPs einerseits ungern Privatkunden feste IP-Adressen vergeben und andererseits mitunter gar nicht so viele IP(v4)-Adressen wie Kunden haben und dann zu Tricks wie CG-NAT greifen müssen. Hämisch könnte man jetzt fragen, warum in dem Zusammenhang die Politik noch nicht alle zu IPv6 verpflichtet hat. Auf der anderen Seite wird deutlich, wie sehr sich das Internet verändert hat, nachdem es ein Massenmedium wurde.

Früher wurden feste IP-Adressen genutzt und die Zuordnung größtenteils öffentlich hinterlegt. Die Teilnehmer des Internets kannten sich mehr oder weniger sowieso alle untereinander. Als das Internet mehr und mehr ein Massenmedium wurde, ging es allerdings nicht mehr um den wissenschaftlichen oder beruflichen Austausch, sondern auch vorrangiger um das private Leben, wodurch auf einmal Grundrechte tangiert wurden und das Thema der Anonymität im Netz aufkam.

Gespeichert werden die Zuordnungen wohl auch weiterhin noch, aber sichtbar sind sie nur noch für Behörden und ähnliche Organisationen. Spätestens mit dem breiten Ausrollen der DSGVO wurde z. B. der whois-Dienst der DENIC für die Öffentlichkeit geschlossen. Wer einen Webseitenbetreiber ermitteln möchte, der kein Impressum auf der Seite stehen hat, schaut seitdem in die Röhre.

Vorratsdatenspeicherung ist und bleibt somit ein netzpolitisches Thema und lässt sich somit nicht auf der rein technischen Ebene erklären. Von da aus kann man sich oft an den Kopf fassen, was da alles von der Technik erwartet wird. Solche Themen sind auch ein Abbild der Gesellschaftspolitik, was daran deutlich wird, dass im Wesentlichen Deutschland eines der wenigen kritischen Länder diesbezüglich ist.

Die Never-ending-Story geht jetzt also in die nächste Runde. Weitere Probleme, Risiken und Lösungsansätze könnt ihr gerne euch in unserem Podcast anhören und in den Kommentaren mitdiskutieren.

Podcast über Social Engineering und der Einfluss auf Open-Source-Projekte

Heute erscheint die 46. Episode des Risikozone-Podcasts und die zweite Episode, in der es um die xz-Lücke geht. Während es in der vorangegangenen Folge um die technischen Details ging, haben wir uns diesmal der Frage gewidmet, wie so ein Eingriff gegen ein Open-Source-Projekt überhaupt möglich werden konnte. Antwort: Es war umfangreiche psychische Manipulation im Spiel.

Deswegen haben wir den Social-Engineering-Experten Stephan G. Humer eingeladen. Er hat eines der ersten regelmäßigen Social-Engineering-Seminare in Deutschland etabliert und erläutert, was Social Engineering eigentlich ist, welche Methoden angewendet werden und wie man sich davor schützen kann.

Mit der heutigen Episode versuchen wir unserem ganzheitlichen Slogan "Der Podcast über Sicherheit und Zuverlässigkeit moderner Technologien" gerecht(er) zu werden und reden nicht nur über technische Details, sondern auch über sozialwissenschaftliche Aspekte und Kultur. Open-Source-Projekte bestehen nämlich nicht nur aus Code, sondern auch aus vielen zwischenmenschlichen Interaktionen, die eine - wie wir mit der Lücke sehen - auch im Bezug auf Sicherheit nicht zu vernachlässigende Rolle einnehmen.

Um dem knapp zweistündigen Interview in einem Punkt vorwegzugreifen: es gibt keine Patentlösung. Social Engineering ist unvermeidbar und wer glaubt, er wäre dem gefeit, ist umso verwundbarer gegenüber Angriffen. Ein entscheidender Punkt ist aber Gelassenheit und damit verbunden Verantwortungsbewusstsein. Wer ein Projekt beginnt und damit wächst, sollte sich als Maintainer in der heutigen Welt umso mehr Gedanken machen, wie man die Last verteilt, wieder aussteigt und Entscheidungen nicht auf eine Person konzentriert. Die Situation, als Maintainer wenig Zeit für ein Projekt zu haben, ist zwar im Einzelfall natürlich menschlich verständlich, aber ein Warnsignal.

Wir werden auf Zeiten keine zufriedenstellende Lösung finden und mit vereinfachten Lösungsansätzen arbeiten. Trotzdem ist es wichtig, ob solcher Angriffe zu wissen und wenigstens eine gesunde Skepsis an den Tag zu legen.

Wie seht ihr das? Wir freuen uns auf euer Feedback!

Podcast über xz-Backdoor und worüber wir reden müssen

Seit 1,5 Jahren produziere ich den Podcast Risikozone, in dem es um Themen der IT-Sicherheit und Open-Source-Software geht. Die xz-Backdoor ist natürlich ein heißes Thema, weswegen es in der heute veröffentlichten Episode 45 genau darum geht.

Die knapp einstündige Podcastepisode ist für alle interessant, die nochmals einen technisch orientierten Überblick über die Geschehnisse suchen. Da die Thematik recht komplex ist und aus verschiedenen Blickwinkeln beobachtet werden kann, können weitere Podcastepisoden hierüber noch folgen. Ich möchte aber darauf eingehen, dass man diese Backdoor nicht nur auf den Code beschränken sollte. Es gibt es viele verschiedene Ebenen, die allesamt jeweils Beachtung finden sollten:

  • die technische "Exploit"-Ebene
  • die zwischenmenschliche Ebene
  • die Ökosystem-Ebene

Technisch ist der Exploit ausgeklügelt: Die Backdoor beschränkt sich nicht nur auf die bloße Möglichkeit einer Remote-Code-Execution, sondern verwendet darüber hinaus noch ein eigenes Protokoll, mit dem die Befehle signiert und verschlüsselt innerhalb des unscheinbaren N-Wertes im Zertifikat eines SSH-Handshakes übermittelt werden. Durch die Signatur können nur Befehle ausgeführt werden, die mit einem (wahrscheinlich nur dem Angreifer bekannten) ED448-Schlüssel signiert wurden. Die Verschlüsselung erfolgt zwar mit einem statischen Schlüssel, der aus dem ED448-PubKey abgeleitet wird, erfüllt jedoch trotzdem seinen Zweck: Obfuskierung. Mit anderen Worten: wäre die Lücke nie aufgefallen, hätte man sie in der freien Wildbahn nahezu unmöglich durch Traffic-Analysen finden können.

Das ist allerdings nur die erste von drei Ebenen: die Art und Weise, wie die Lücke hereingeschummelt wurde, weist Komponenten des Social Engineering auf. Die Mühe, über mehrere Jahre eine Identität in verschiedenen Projekten mit teils anfangs legitimen Beiträgen aufzubauen, zeugt auch von einem Plan und Ausdauer.

Schlussendlich sollte man auch nicht vergessen, dass hier eine besondere Konstellation im Ökosystem ausgenutzt wurde. Am einfachsten (und auffälligsten) wäre es, eine solche Lücke in OpenSSH unterzubringen. Es wurde aber auf eine deutlich unbeachtetere und einfacher zu infiltrierende Variante ausgewichen. Die xz-Bibliothek wurde zudem nicht zum Einfallstor, weil OpenSSH darauf zurückgreift (das tut es nämlich nicht), sondern weil einige Distros systemd-notify reinpatchen, was wiederum auf die xz-Lib zurückgreift. Außerdem rüttelt dieser Fall an einem Grundpfeiler der IT-Sicherheits-Praktiken: Updates. Diese Hintertür fand geradezu durch die (häufigen) Updates der Rolling-Release-Distros Einzug - die stabilen Versionen waren noch verschont geblieben. Ist also (zu) häufiges Updaten nun auch nicht mehr richtig? Bringen bald Updates mehr Lücken als sie schließen?

Das alles macht es vor allem noch schwieriger, solche Angriffe zuverlässig zu erkennen. Zudem ist davon auszugehen, dass die Angreifer sich die Verteidigungsstrategie jetzt ganz genau anschauen. Die zukünftige Diskussion sollte sich also darauf konzentrieren, wie man diese Art von Angriffen detektiert und frühzeitig eindämmt.

Backdoor in xz gefunden

Die weitverbreiteten Datenkompressionswerkzeuge XZ Utils (früher LZMA Utils) enthalten in Version 5.6 eine Backdoor. Ziel der Backdoor ist nach aktuellem Kenntnisstand eine Kompromittierung von SSH-Servern. Dies wurde gestern auf der oss-security-Mailingliste von Andres Freund nebst einer umfangreichen Analyse des Sachverhalts bekannt gegeben. Durch den Einsatz der Werkzeuge in Linux-Distributionen haben wir hier einen Fall einer Supply-Chain-Attacke. Red Hat hat dem Vorfall die CVE-Nummer CVE-2024-3094 vergeben.

Vorab eine Liste mit weiteren Links:

Wirkungsweise

Dabei wird die Backdoor nur unter bestimmten Bedingungen ausgeführt, wie das FAQ beschreibt. Im Wesentlichen muss argv[0] auf /usr/sbin/sshd gesetzt sein und eine Reihe an Umgebungsvariablen entweder gesetzt oder nicht gesetzt sein. Normalerweise hängt OpenSSH nicht von liblzma ab. Einige Distributoren patchen OpenSSH allerdings so, dass systemd-Notifcations funktioniert, welches wiederum auf liblzma setzt und die Backdoor möglich macht. Technisch werden einige Checks durchgeführt und anschließend mittels IFUNC Bibliotheksaufrufe umgeleitet. Dies betrifft nach aktuellem Stand auch Aufrufe während der Kryptoroutinen bei der SSH-Authentifizierung.

Betroffenheit

Der Wirkungsweise der Payload ist noch nicht abschließend geklärt. Besonders auch aus diesem Grund wird ein unverzügliches Update angeraten. Im Folgenden einige unverbindliche Faktoren, die eine Verwundbarkeit wahrscheinlich machen. Auf diese Weise kann man priorisieren, welche Systeme zuerst aktualisiert werden sollten.

Versionierte Distros wie z. B. Debian oder RHEL sind nach aktuellem Kenntnisstand mit ihren stabilen Versionen nicht direkt betroffen, da die Versionen 5.6 noch keinen Einzug in das System gefunden haben. Die Testing-Versionen dieser Distros wie z. B. Debian Sid wurden allerdings aktualisiert und sind betroffen.

Rolling-Release-Distros sind naturgemäß auch betroffen, wenn sie schon Version 5.6 in ihre Pakete aufgenommen haben. Dies betrifft zum Beispiel Arch Linux oder Gentoo. Da allerdings einige Distributionen wie Arch Linux OpenSSH nicht gegen liblzma linken, wird die Bibliothek nicht direkt in die Ausführung der Komponenten eingebunden.

Nach aktuellem Stand wird eine Verwundbarkeit besonders kritisch, wenn auf dem betroffenen Host ein öffentlich erreichbarer SSH-Server läuft, da die oben beschriebenen Faktoren ein Laden der Payload auslösen können.

Wie kam es?

Aufgefallen ist die Backdoor nur durch Zufall durch das Debugging von Performanceproblemen, die durch die Backdoor verursacht wurden. Die Backdoor wurde obfuskiert im Rahmen von Buildskripten untergebracht, sodass aufgrund der Komplexität die Lücken noch nicht direkt aufgefallen sind.

Das Repository hinter xz kann als kompromittiert gesehen werden und ist auch auf GitHub schon gesperrt worden. Auffällig ist, dass die Backdoor in den Tarballs der Releases enthalten war, nicht jedoch im Repository-Dump selber. Auch personell gab es einige Auffälligkeiten, da es vor kurzem einen Maintainerwechsel beim Projekt gab und die Lücken vom neuen Maintainer, der seit 2 Jahren am Projekt mitarbeitet, zumindest begünstigt wurden. Die Art und Weise lässt auch auf ein koordiniertes, von langer Hand geplantes Vorgehen schließen.

Einfluss und Folgen

Das große Ganze ist ein Paradebeispiel von xkcd 2347 "Dependency". Wir sehen hier Live ein Beispiel einer Supply-Chain-Attacke. Ein kleines, scheinbar unbedeutendendes Projekt wird übernommen, nur um strategisch Commits zu platzieren, die automatisch "flussabwärts" ihren Weg in größere Distributionen finden, die allesamt auf das Projekt setzen. Alles passiert trotz Open Source. Besonders pikant: der Maintainer hat aktiv versucht, die Backdoor-begünstigenden Umgebungsfaktoren, konkret das Umbiegen von Bibliotheksaufrufen mittels ifunc, in Fuzzing-Projekten wie oss-fuzz, die aktiv nach sowas suchen, zu deaktivieren.

Software wird immer bedeutender und benötigt Vertrauen. Dabei ist jetzt schon klar, dass niemand selber solch komplexe Systeme von alleine bauen kann. Aber auch die Kontrolle der Quellen ist eine große Herausforderung. Neue Gesetzgebung wie der geplante Cyber Resilience Act in der EU versuchen in der Industrie Anreize zu schaffen, die Softwarequalität zu erhöhen.

Diese Attacke konnte einigermaßen abgewendet werden, sollte die umfassende Analyse der Payload keine belastenden Neuigkeiten hervorbringen. Eines ist aber auch klar: Die Angreifer studieren das Verhalten der Verteidiger und werden in Zukunft ihre Vorgehensweise dahingehend optimieren, nicht so einfach mehr gefunden zu werden. Es ist also möglich, Backdoors in so ein Ökosystem hineinzuschummeln. Umso besser müssen aber die Identifikations- und Abwehrmöglichkeiten werden, damit solche Angriffe wirksam verhindert werden können.

KDE Plasma 6 veröffentlicht

Kurz notiert: heute wurde die Desktopumgebung Plasma 6 aus dem KDE-Projekt freigegeben. Mit dem Umstieg auf Qt 6 und den einhergehenden Arbeiten ist es nach knapp 10 Jahren der erste große Major-Release (KDE Plasma 5 wurde 2014 veröffentlicht). Eine weitere wegweisende Änderung ist, dass der Fokus nun klar auf dem Display-Server Wayland liegt, der auch nun zur Standardeinstellung wurde. X11 wird jedoch weiterhin unterstützt.

Eine Auswahl der weiteren Änderungen:

  • Es gibt einen neuen Overview-Effekt.
  • Durch Wayland wird nun auch HDR unterstützt.
  • Es gibt neue Filter zur Unterstützung bei Farbenblindheit.
  • Das Einstellungsprogramm wurde überarbeitet.
  • Der bekannte KDE Cube ist zurück.
  • Neue Standardeinstellungen:
    • Dateien/Verzeichnisse werden nun mit einem Klick ausgewählt und mit einem Doppelklick geöffnet.
    • Das Panel ist nun standardmäßig schwebend.
    • Thumbnail-Grid ist nun der Standard-Task-Switcher.
    • Scrollen auf dem Desktop führt nun nicht mehr zum Wechsel der virtuellen Desktops.

Auch die KDE-Anwendungen erfahren umfangreiche Updates. All diese Informationen können im Release Announcement nachvollzogen werden.

KDE Plasma 6 sollte nun sukzessive auch in die Distributionen Einzug halten. Arch Linux ist als Beispiel für einen Rolling Release da schon schnell dabei. Ob und inwiefern komplexe Setups des traditionell sehr einstellbaren Desktop-Systems umgezogen werden können, wird sich dann zeigen. Ein großer Vorteil des KDE-Ansatzes zeigt sich allerdings schon im Release-Announcement: viele der Funktionen können genutzt werden, müssen es aber nicht. Dem Endanwender wird die Wahl überlassen, welche Optionen er nutzen möchte.

Neue Sicherheitslücken bei glibc: syslog und qsort

Es gibt wieder neue Sicherheitslücken in glibc. Dabei betrifft eine die syslog()-Funktion, die andere qsort(). Letztere Lücke existiert dabei seit glibc 1.04 und somit seit 1992. Entdeckt und beschrieben wurden die Lücken von der Threat Research Unit bei Qualys.

Die syslog-Lücke ist ab Version 2.37 seit 2022 enthalten und betrifft somit die eher die neuen Versionen von Linux-Distributionen wie Debian ab Version 12 oder Fedora ab Version 37. Hierbei handelt es sich um einen "heap-based buffer overflow" in Verbindung mit argv[0]. Somit ist zwar der Anwendungsvektor schwieriger auszunutzen, weil in wenigen Szenarien dieses Argument (der Programmname) dem Nutzer direkt überlassen wird, die Auswirkungen sind jedoch umso schwerwiegender. Mit der Lücke wird eine lokale Privilegienausweitung möglich. Die Lücke wird unter den CVE-Nummern 2023-6246, 2023-6779 und 2023-6780 geführt.

Bei der qsort-Lücke ist eine Memory Corruption möglich, da Speichergrenzen an einer Stelle nicht überprüft werden. Hierfür sind allerdings bestimmte Voraussetzungen nötig: die Anwendung muss qsort() mit einer nicht-transitiven Vergleichsfunktion nutzen (die allerdings auch nicht POSIX- und ISO-C-konform wären) und über eine große Menge an zu sortierenden Elementen verfügen, die vom Angreifer bestimmt werden. Dabei kann ein malloc-Aufruf gestört werden, der dann zu weiteren Angriffen führen kann. Das Besondere an dieser Lücke ist ihr Alter, da sie bereits im September 1992 ihren Weg in eine der ersten glibc-Versionen fand.

Bei der GNU C-Bibliothek (glibc) handelt es sich um eine freie Implementierung der C-Standard-Bibliothek. Sie wird seit 1987 entwickelt und ist aktuell in Version 2.38 verfügbar. Morgen, am 1. Februar, erscheint Version 2.39.

Jahresrückblick 2023: Open Source in einer neuen Dimension

Es ist der 31.12.2023 und somit wird es wieder Zeit für den traditionellen Jahresrückblick. Dieses Jahr dominierten zwei Buchstaben: KI. Die Veröffentlichung von ChatGPT erfolgte zwar kurz vor 2023, in diesem Jahr wurden allerdings die Auswirkungen sichtbar. Ich muss sagen, dass es lange kein Werkzeug gab, an dem ich so viel Experimentierfreude erleben konnte.

Dabei ist die Mensch-Maschine-Schnittstelle besonders spannend. Die natürlichsprachliche Interaktion verbessert nicht nur die Zugänglichkeit, sondern erhöht auch die Interoperabilität: Das Werkzeug kann nicht nur die Aufgabe verstehen, sondern die Ergebnisse in der gewünschten Form darstellen. Schreibe ich eine Software, erfüllt sie nur einen Zweck. ChatGPT kann besonders einfach an neue Aufgabenbereiche angepasst werden. Man muss nicht einmal im klassischen Sinne "programmieren". Somit wird die Arbeit mit dem Computer auf eine ganz neue Stufe gehoben.

Auf die technische Ebene möchte ich heute gar nicht direkt eingehen, das haben wir das Jahr schon im Detail in diesem Blog ergründet. Diskussionen über Technik und Innovationen stellen nur eine Augenblickaufnahme dar. Im Rückblick auf eine größere Zeitepisode wie ein mindestens Jahr werden allerdings gesellschaftliche Entwicklungen deutlich. Und hier gab es einiges zu beobachten.

KI für die Massen

ChatGPT hat eine große Nutzerbasis erreicht, die zumindest ein Mal das Werkzeug ausprobiert hat. Im deutschsprachigen Raum, der sonst sich so "datenschutzorientiert" und innovationskritisch gibt, ist das schon bemerkenswert. Diskussionen über Datenschutz waren zweitrangig, die Menschen waren von der Innovation durch das Werkzeug fasziniert. Natürlich kam über das Jahr die Erkenntnis, dass in der aktuellen Form die Technologie je nach Branche noch nicht weit genug ausgereift ist, trotzdem wollte jeder einmal schauen, was es damit auf sich hat und ob es den Alltag erleichtern kann.

Und doch hat OpenAIs Werkzeug in meinen Augen ein wenig den Blick verengt: Durch das schnelle Wachstum wurde ChatGPT zum Sinnbild von "KI" und hat Ängste geschürt. Denn einerseits will jeder, dass KI ihm das Leben einfacher macht, jedoch nicht, dass andere mit KI ihm seine Lebenssituation verschlechtern bzw. ihn zu einem Umdenken zwingen. Ein Zeitungsredakteur möchte gerne KI für die Verbesserung seiner Texte einsetzen, fürchtet jedoch um seine Jobzukunft, wenn andere ihn durch automatische Generierung ganzer Zeitungsbeiträge drohen, überflüssig zu machen.

Dieser Umstand hat die Diskussion rund um den europäischen AI Act noch einmal deutlich angeheizt. An Large Language Models wurden auf einmal hohe Anforderungen gestellt, um subjektiven Ängsten entgegenzutreten. Dann war man sich aufgrund der Innovationsgeschwindigkeit auf einmal nicht sicher, ob es jetzt schon Zeit für eine starre Regulierung ist. Und schlussendlich zeichnet sich eine politische Entwicklung ab, jetzt lieber irgendeinen Kompromiss als später eine gut ausgearbeitete Fassung präsentieren zu können. Wie der AI Act kommt, werden wir dann im nächsten Jahr sehen.

Das alles war aber nicht das, was dieses Jahr in meinen Augen besonders gemacht hat. Es ist etwas anderes: die neue Rolle von Open Source.

Neue Hürden für Technologie?

Anfang des Jahres sah es so aus, als setzt eine besondere Kommerzialisierung in der Technikwelt ein: die Kommerzialisierung von Basistechnologie. Über die verschiedenen Jahre haben wir gesehen, dass es für verschiedene Produkte in der IT proprietäre und freie Lösungen gibt. Zwar sind erstere gerne technologisch mitunter überlegen, da die Profitorientierung Anreize setzt, für bestimmte Anwendungszwecke besonders passende Lösungen zu entwickeln. Kostet eine Software Geld, kann der Hersteller Programmierer anstellen, die auch die Features entwickeln, die man ungern freiwillig programmiert. Auf diese Weise entstehen runde Produkte für einen Anwendungszweck.

Freie bzw. zumindest quelloffene Software ermöglicht zumindest aber der Öffentlichkeit, einen Blick in die Funktionsweise zu werfen, um zu sehen, wie etwas funktioniert. Das ist die Grundlage, um Technologie zu verbessern.

In der Welt des maschinellen Lernens entstand allerdings durch die benötigte Compute Power eine hohe Eintrittshürde. Es sah so aus, als wären die Large Language Models nur noch großen Konzernen bzw. gut finanzierten Start-ups vorbehalten, die sich die Trainingspower leisten können. Während die Vorgängersysteme wie GPT-2 noch öffentlich zugänglich waren, wurden gerade Systeme wie GPT-3 und GPT-4, bei denen das Produkt endlich richtig nutzbar wurde, zurückgehalten.

Im Laufe des Frühlings habe ich allerdings vermutet, dass freie Modelle die proprietären outperformen können, weil die öffentliche Zugänglichkeit die Chance eröffnet, dass Experten weltweit mit ihren eigenen Erfahrungen, Eindrücken und ihrem Domänenwissen eine Technologie entwickeln können, die verschlossenen Produkten überlegen ist.

Überraschend war, dass es gerade das AI-Team von Facebook war, das den Stein mit LLaMA ins Rollen gebracht hat. Es folgten zahlreiche weitere Abkömmlinge, Weiterentwicklungen oder gänzliche Alternativansätze, die eines gemein hatten: ihr Kern mit den Gewichten war zugänglich.

Wie es aussieht, könnte die Dominanz proprietärer Systeme gebrochen werden, sodass auch die Möglichkeit gewahrt bleibt, einen wissenschaftlichen Diskurs zu führen. Technische Berichte proprietärer Modelle sind zwar nett, aber die Forschungsarbeiten, in denen reproduzierbare Fortschritte aufgezeigt werden, bringen uns tatsächlich eher voran.

Um die rasante Entwicklung im Frühling, als scheinbar jedes KI-Team großer Konzerne und Forschungseinrichtungen alle in der Schublade angesammelten LLM-Projekte zu veröffentlichen versuchte, im Auge zu behalten, habe ich die LLM-Timeline entwickelt. Sie wurde vor einigen Tagen wieder aktualisiert und zeigt besonders, wie sehr LLaMA als eines der ersten praktisch verwertbaren Modelle mit offenen Gewichten die Entwicklung beeinflusst hat.

Ein weiteres Projekt, das ich in der Zusammenarbeit mit der Fachhochschule Kiel realisiert habe, war der Podcast KI & Kultur, der generative Modelle aus der Perspektive Kulturschaffender beleuchtet hat.

Was bleibt

Das Jahr hat den 70 Jahre alten Begriff der KI wieder mal in die Massen gebracht. Dabei wird ChatGPT dem Begriff eigentlich gar nicht gerecht, weil es streng genommen relativ dumm ist. Insbesondere beschränkt es die Zustandsfähigkeit nur auf eine Prompt und lernt nicht, während es denkt. Training und Inferenz sind entkoppelt.

Und trotzdem ist es diese natürlichsprachliche Schnittstelle, die es so faszinierend macht. Allerdings ist auch diese Erkenntnis nicht neu und wurde schon vor 55 Jahren mit ELIZA diskutiert.

Erfreulich ist es, dass "Open Source" nicht mehr nur bei Software, sondern in neuen Technologien Anwendung findet. Der Gedanke, dass Technologie zugänglich sein muss, kann so erhalten werden. Und dass es hilft, wenn Wissenschaftler auf der ganzen Welt mit ihrem Wissen beitragen können, sehen wir weiterhin auch in dieser Thematik.

LLMs ermöglichen es, dass wir uns endlich wieder der Mensch-Maschine-Schnittstelle widmen können, die Technologie nutzbar macht. Menschen wollen, dass Technik das Leben einfacher macht. Die bisher begrenzte Rechenleistung hat uns zu Hilfsmitteln wie Displays, Touchscreens oder Tastaturen gezwungen. In den nächsten Jahren können wir schauen, wie wir das überwinden können, um endlich nutzbare Computer zu erhalten, die wirklich was bringen.

Und so ist es schon fast ironisch, dass die naheliegendste Technologie, die in den 2010er-Jahre euphorisch gefeiert wurde, von den LLMs noch wenig profitiert hat: Sprachassistenten. Sie sind überwiegend noch genau so begrenzt und unflexibel wie früher. Hier gibt es einiges zu tun.

Frohes Neues

Abschließend möchte ich meinen Lesern des Blogs und Zuhörern des Podcasts Risikozone sowie KI & Kultur danken, dass ihr den Blog lest, den Podcast hört und regelmäßig Feedback gebt. Ich wünsche euch einen guten Rutsch in das neue Jahr 2024.

Im nächsten Jahr werden wir wieder gemeinsam neue Technologien ergründen und die aktuellen Nachrichten diskutieren. Es wird auch mehr um Grundlagen und Visualisierungen gehen, hierauf freue ich mich schon besonders!

Viel Glück, Gesundheit und Erfolg!

Mistral veröffentlicht freies Sparse-Mixture-of-Experts-LLM

Das Interessante an den Open-Source-Modellen ist ja, dass sie das umsetzen, was bei den proprietären Modellen gemunkelt wird, aber nicht nachgewiesen werden kann. Mein aktuelles Highlight: Mixture of Experts (MoE).

Im Sommer kamen Behauptungen auf, dass OpenAIs GPT-4 eigentlich aus acht kleineren Modellen besteht, die zusammengeschaltet werden. Dieses Verfahren nennt man auch Ensemble Learning.

Das klassische Beispiel dafür ist Random Forest, wo mehrere Decision Trees parallel zu so einem Ensemble zusammengeschaltet werden. Soll das Ensemble dann eine Klassifikation vornehmen, nimmt jeder Decision Tree mit seinen eigenen Gewichten die Klassifikation vor. Anschließend entscheidet die Mehrheit der Decision Trees im Ensemble, wie das Gesamtmodell nun klassifizieren soll. Analog würde auch eine Regression umgesetzt werden können, als Aggregierungsfunktion kommt dann statt Mehrheitswahl eben sowas wie Mittelwert o. ä. zum Einsatz. Das besondere ist, dass mit Random Forest üblicherweise bessere Vorhersagen erzielt werden können, als mit einem einfachen Decision Tree.

MoE funktioniert in den groben Zügen ähnlich. Es gibt "Experten" (ähnlich wie die Decision Trees bei Random Forest), die dann gewichtet aggregiert werden (Gating). Die Technik ist eigentlich recht alt und viele waren überrascht, dass OpenAI genau so etwas einsetzen soll.

Umso besser, dass Mistral als das europäische LLM-Startup sich der Sache angenommen hat. Anfang des Wochenendes schwirrte schon ein Torrent durchs Netz, heute gibt es dann auch eine offizielle Pressemitteilung zu Mixtral 8x7B. Hierbei handelt es sich um ein "Sparse Mixture of Experts"-Modell (SMoE). Die Gewichte sind wieder offen und unter der Apache 2.0 lizenziert.

Kurz zu den Eckdaten: 32k Token Kontextlänge können verarbeitet werden. Dabei spricht das Modell Englisch, Französisch, Italienisch, Deutsch und Spanisch und wurde auch auf Codegenerierung optimiert. Fine-tuning ist ebenfalls möglich - so wurde bereits eine instruction-following-Variante trainiert.

Im Vergleich zu Llama 2 70B soll es in einer Vielzahl von Benchmarks bessere Ergebnisse abliefern und dabei schneller arbeiten. Die einzelnen Ergebnisse können der Pressemitteilung entnommen werden.

Einen klassischen Downloadlink konnte ich auf die schnelle nicht finden, das Twitter-Profil verweist nur auf die Torrents. Parallel kündigt das Start-up an, einen eigenen Dienst für API-Endpoints anzubieten, sodass ein Deployment auf eigener Infrastruktur nicht mehr zwangsläufig notwendig ist.

Kritischer ext4-Bug (besonders betroffen: Linux 6.1.64)

Aktuell sollte beim Updaten des Linux-Kernels Vorsicht walten gelassen werden. Bestimmte Kernel-Releases weisen ein Problem mit ext4 auf, das theoretisch im schlimmsten Fall zu einer Datenbeschädigung führen kann.

Es gibt eine Konstellation, in der in einem Release nur der erste ohne den zweiten Commit enthalten ist und somit der Code nicht wie gewünscht arbeitet. Konkret geht es um

  • 91562895f803: "ext4: properly sync file size update after O_SYNC direct IO" (ab v6.7-rc1)
  • 936e114a245b6: "iomap: update ki_pos a little later in iomap_dio_complete" (ab v6.5-rc1)

Jan Karas E-Mail auf der LKML zufolge geht es darum, dass der erste Commit nur dann im Code vorhanden sein darf, wenn der zweite Commit bereits enthalten ist. Eigentlich ist das logisch, weil das ja mit der Reihenfolge dann auch so passt.

Jetzt kommen allerdings noch die Backports und Distributionen ins Spiel. Für den Kontext: da nicht jeder immer auf die neuste Linux-Version aktualisieren kann, gibt es ein Team, was alte Versionen nachpflegt und kleine, unkritische Fixes neuerer Versionen auf die älteren Versionen "rückportiert", also backported. Allerdings kann es nun passieren, dass etwas ganz neues rückportiert wird, ohne, dass eine ältere Voraussetzung rückportiert wurde. Die Fehler, die dann auftreten, nennt man klassicherweise eine Regression. Die einzelnen Codeänderungen sind da nicht an sich das Problem, sondern eher die Konstellation, in der sie zusammengesetzt wurden.

Linux 6.1.64 und 6.1.65 sind betroffen, 6.1.66 enthält den Fix. Debian 12, das auf die Kernels setzt, ist dabei besonders in Aufruhe, da eine problematische Kernel-Version verteilt wird. Aus diesem Grund wurde auch die Veröffentlichung von Debian 12.3 verzögert.

Weitere Informationen

Nextcloud und Roundcube gehen Partnerschaft ein

Kurz notiert: Nextcloud (Dateispeicher) und Roundcube (Webmail) gehen eine Partnerschaft ein. Wie heute das Nextcloud-Team in einer Blogmitteilung bekannt gab, wird Roundcube in die "Nextcloud family" aufgenommen. Dabei lässt sich die Kooperation in erster Linie strategisch verstehen, wird aber bereits kurzfristige Auswirkungen haben, da das Entwicklerteam des bekannten Webmail-Clients vergrößert werden kann.

Die wichtigste Information bei der Nachricht ist, dass Roundcube nach aktuellem Stand weiterhin als eigenes Produkt erhalten bleibt. Es handelt sich somit nicht um eine "Verschmelzung" bzw. "Übernahme" des Produkts.

Die Nachricht sendet allerdings ein positives Signal für produktiv eingesetzte Open-Source-Systeme aus: Nextcloud als ein in Unternehmensumgebungen weit verbreiter Cloud-Dienst (Dateispeicher, Kalender, etc.) ermöglicht anderen Büroprogrammen, sich weiterzuentwickeln und auf dem technisch aktuellen Stand zu bleiben. Dies meine ich dabei besonders im Sicherheitskontext. Zero-Days können immer auftreten, aber mit viel Entwicklungsressourcen kann die Wahrscheinlichkeit proaktiv gesenkt werden.

Nextcloud möchte somit auch einen attraktiven Gegenpol für klassische proprietäre Anwendungen aufbauen. Wir können also gespannt sein, was sich aus der Partnerschaft entwickelt.

bcachefs in Linux gemerged

Die gestrige Veröffentlichung von Linux 6.6 bedeutet, dass das Merge-Window wieder geöffnet ist. Ein erster Kandidat wurde bereits gemerged mit einem Vorhaben, das in den vergangenen Wochen zu vielen Diskussionen geführt hat: bcachefs.

Um bcachefs zu erklären, muss ich kurz ein wenig weiter ausholen. bcachefs geht - wie der Name schon vermuten lässt - auf bcache zurück. Hierbei handelt es sich um ein Kernelmodul, das Einzug in Linux 3.10 in 2013 fand und einen Caching-Layer für Block-Devices einführte.

Daten können somit hybrid zwischen ganz schnellem Speicher (RAM), schnellem Speicher (SSDs) und langsamem Speicher (HDD) aufgeteilt werden. Werden bestimmte Blöcke häufiger abgerufen, werden sie in den schnelleren Speicher verschoben und anders herum ebenso. Dabei handelte es sich aber immer um eine Zwischenschicht, auf der ein echtes Dateisystem aufbauen musste. Während der Entwicklung fiel dem Hauptentwickler Kent Overstreet jedoch schnell auf, dass zu einem "full-fledged" Filesystem nicht mehr viel fehlte.

Ein erster Prototyp entstand bereits im Jahre 2015 und hat somit die Ära der Dateisysteme der neusten Generation eingeläutet. Auch btrfs gehört zu diesen moderneren Dateisystemen und setzt auch auf das Copy-on-Write-Prinzip. Da die Blöcke einer Datei nicht bei einer Kopie dupliziert werden, spart dies Speicherplatz und ermöglicht verzögerungsfreie Snapshots.

bcachefs mit seinen über 90.000 Zeilen Code konnte zwar - wie für ein neues Dateisystem üblich und nötig - ausgiebig getestet werden, war allerdings bisher nicht im Mainline Linux vorhanden. Mitte des Jahres ging es dann an die Einarbeitung des Codes.

Eigentlich sollte bcachefs schon in Linux 6.5 Einzug halten. Aber aufgrund andauernder Spannungen wurde auch bei Linux 6.6 aus dem Vorhaben nichts. Eines der Probleme sind die teils umfangreichen Änderungen in fremden Modulen, die den Unmut der Maintainer auf sich gezogen haben. Wer sich dafür interessiert, kann sich den großen E-Mail-Thread ansehen. Linus Torvalds stand grundsätzlich einer Übernahme positiv gegenüber, wollte aber noch einen Test in linux-next abwarten. Dies ist zwischenzeitlich geschehen.

Nun also der Merge in den Kernel. Sollten sich die Änderungen bis zum Release halten, steht somit dem Einsatz des neuen Dateisystems ab der Veröffentlichung von Linux 6.7 nicht mehr viel im Wege. Die Aufnahme in Mainline vereinfacht aber auch die Entwicklung, da diese nun nicht mehr Out-of-Tree stattfindet, was aufgrund der hohen Änderungsgeschwindigkeit im Linux-Source-Tree schnell zu aufwändigen Anpassungsarbeiten führen kann.

Weitere Informationen zu bcachefs sind auf der eigenen Homepage abrufbar. Hier ist auch eine Schnellstartanleitung für den eigenen Einsatz zu finden.

Weitere Quellen

Schwere Sicherheitslücken in Exim4

Wer Exim4 als Mailserver einsetzt, wie es zum Beispiel in Debian-basierten Linux-Distributionen der Standard ist, sollte sich zeitnah um Updates bemühen oder - wenn der Dienst nicht zwangsläufig benötigt ist (bei manchen läuft Exim unbewusst) - spätestens jetzt gänzlich abschalten. Es gibt zumindest eine schwere Remote-Code-Execution-Sicherheitslücke.

Bleeping Computer berichtete über die Lücke(n), denn es geht um bis zu 6 Schwachstellen unterschiedlicher Stärke. Die genauen Details sind zum aktuellen Zeitpunkt noch nicht verfügbar, um Exploits nicht zu befördern. Es reicht allerdings unauthentifizierter Zugriff auf Port 25.

Der Fund geht auf die Zero Day Initiative von Trend Micro zurück. Sie hatte bereits im Juni letzten Jahres, also 2022, auf die Lücken aufmerksam gemacht. Besonders pikant: bis vor kurzem waren noch keine Patches verfügbar, zumal die schwerwiegende Lücke ZDI-23-1469 bereits Mitte der Woche veröffentlicht wurde.

Laut einer E-Mail der Entwickler ist ein bedeutenden Teil der Lücken bereits geschlossen und die Updates an die Distributoren verteilt. Dass die Lücke nicht schneller gefixt wurde, lag an Schwierigkeiten bei der Kommunikation. Bei Ubuntu wird die Lücke als CVE-2023-42115 geführt, hier sind noch keine Updates verfügbar.

Exim4-Admins sollten dies im Auge behalten und sofort reagieren. Mit ersten Exploits ist demnächst zu rechnen, wenn mehr über die Lücke bekannt wird. Der Mailserver ist weit verbreitet, es gibt laut Bleeping Computer mehrere Millionen Instanzen im Internet.

Mistral 7B: Fortschrittliches Open-Source-LLM aus Europa

Das Wettrennen um die Technologieführerschaft der Large Language Models lief größtenteils bisher auf dem amerikanischen Kontinent ab. OpenAI hat das Produkt populär gemacht und Meta AI veröffentlicht den Konkurrenten mit den freien Gewichten. Mit Falcon 40B und 180B gab es allerdings schon Konkurrenz aus Abu Dhabi, zumal mit der gewählten Apache-2.0-Lizenz ein deutlich offenerer Ansatz gewählt wurde.

Als kurz vor dem Sommer das Start-up Mistral aus Paris 105 Millionen Euro eingesammelt hat, waren die Medienberichte zumindest leicht kritisch, da nicht nur das Start-up mit einer gigantischen Finanzierungssumme aus der Taufe gehoben wurde, sondern das Produkt auch noch gar nicht fertig war. Aus der LLM-Sicht ist dies allerdings verständlich, da solche großen Summen schlicht die Voraussetzung sind, um an den Start zu gehen. Schließlich benötigt Training leistungsfähige GPUs und die sind teuer.

Mit dem veröffentlichten Modell Mistral 7B zeigt das Start-up, was es kann. Dabei handelt es sich um ein LLM, das über 7 Mrd. Parameter verfügt und Llama 2 13B in allen und LLaMa 34B in vielen üblichen Benchmarks überbietet: Commonsense Reasoning, World Knowledge, Reading Comprehension, Math, Code, Popular aggregated results. In Codingaufgaben kann die Leistung von CodeLlama 7B erreicht werden.

Das Beste am LLM ist, dass es unter der Apache-2.0-Lizenz steht. Als klassische Open-Source-Lizenz gibt es nicht nur den Forschern und Entwicklern viele Freiheiten, sondern auch eine gewisse Lizenzsicherheit, dass das Modell in freier Software verwendet werden kann.

Ich hatte bereits vor Wochen geschrieben, dass freie Modelle eine gute Möglichkeit sind, um sich als neuer Player auf dem Markt zu profilieren. Diesen Plan verfolgt nicht nur Falcon, sondern nun auch offenbar Mistral. Es ist trotzdem davon auszugehen, dass die 105 Millionen Euro keine "Forschungsspende" waren und kommerzielle Produkte zeitnah folgen werden.

Für die Forscher und Entwickler von LLMs hat die aktuelle Veröffentlichung nichtsdestotrotz Vorteile. Meta AI hat mit der Lizenzgebung von Llama 2 auf die Open-Source-Bewegung in der LLM-Welt reagiert und sein aktuelles Modell unter eine permissive, aber trotzdem proprietäre Lizenz gestellt. Mistral geht allerdings noch einen Schritt weiter und setzt eine "klassische" Open-Source-Lizenz ein. Das hat nicht nur Signalwirkung, sondern ermöglicht, dass Unternehmen ihre LLM-Lösungen zunehmend privat hosten können, da die Parameteranzahl mit 7 Mrd. so dimensioniert ist, dass auch kleinere Datacenter-GPUs für die Ausführung bzw. Inferenz ausreichen. Es bleibt also weiterhin spannend im Umfeld der LLMs.

Die Mistral-7B-Modelle sind in Version 0.1 auf HuggingFace als normales Modell und als auf Chats spezialisiertes Modell (Instruct) verfügbar.

Debian feiert den 30. Geburtstag: Von einem schlanken Newcomer zu einem Open-Source-Schwergewicht

30 Jahre Debian - 30 Jahre felsenfeste Entwicklung und noch kein Ende in Sicht.

An diesem Tag vor 30 Jahren, am 16.08.1993, erschien in der Newsgroup comp.os.linux.development eine Ankündigung, die den Anfang eines der größten und langlebigsten Projekte im Linux-Ökosystem markieren sollte. Lasst uns für einen kurzen Moment zurückblicken.

Es ist nicht nur ein gepimptes SLS, es ist das "Debian Linux Release". Ian Murdock, der selbst mit der vermutlich ersten Linux-Distribution unzufrieden war und beschlossen hat, die Sache selbst in die Hand zu nehmen, hätte sich womöglich nie erträumen können, dass sein "brand-new Linux release", wie er es damals nannte, irgendwann seinen 30. Geburtstag feiern würde.

Begründer eines Distributionszweiges

Im Laufe der Jahre hat Debian bewiesen, dass es mehr als nur ein übereifriger Rebell unter den Betriebssystemen ist. Es hat die Grundlage für viele andere Distributionen wie z. B. Ubuntu gelegt. Es hat die Freiheit und Offenheit verkörpert, die das Herzstück der Open-Source-Bewegung bilden. Es hat glaubhafte Alternativen zu proprietären Betriebssystemen aufgezeigt und Zweifler zum Schweigen gebracht. Auch, wenn der letzte Punkt in der öffentlichen Diskussion nicht ganz offensichtlich ist, sprechen die Zahlen für sich: Debian ist ein fester Bestandteil vieler produktiver Serversetups.

Mit der tief verwurzelten Philosophie, die sich im Debian-Gesellschaftsvertrag widerspiegelt, unterstreicht das Projekt seine kompromisslose Haltung zugunsten freier Software, auch wenn über die Jahre insgesamt eine gewisse Toleranz gegenüber nachinstallierbarer unfreier Software Einzug gehalten hat.

Debian ist heute wichtiger denn je, da die Distribution den Test of Time bestand und sich zu einer Alternative zu Enterprise-Distributionen gemausert hat. Stabilität und Kontinuität sind entscheidende Faktoren, denn Debian baut auf klassischen Releases auf, von denen - je nach Zählweise - bereits 20 erschienen sind. Die Release werden seit Version 1.1 nach Toy-Story-Charakteren bezeichnet. Debian ist ein Leuchtturm, ein einsamer Fels in der Brandung einer Welt, die zunehmend von Anbietern dominiert wird, welche Daten und Freiheiten der Nutzer nicht beachten und sie an ihre Plattformen binden.

In diesem Sinne, lasst uns auf 30 Jahre technologischer Alternativen anstoßen. Herzlichen Glückwunsch, Debian! Auf 30 weitere Jahre der Innovation und Unabhängigkeit.

BSL statt MPL: HashiCorp passt sich einer neuen Open-Source-Ära an

Open-Source-Software nachhaltig zu entwickeln, wird immer schwieriger. Willkommen im Zeitalter von "Nur schauen, nicht anfassen" für kommerzielle Rivalen.

Das in San Francisco ansässige Softwareunternehmen HashiCorp, bekannt für seine Cloud-Tools wie Terraform, Vagrant oder Vault, ändert seine Lizenzbedingungen. In einer Ankündigung wird der Wechsel von der Mozilla Public License 2.0 zur Business Source License mit der Gewährleistung kontinuerlicher Investitionen des Unternehmens in seine Community begründet.

HashiCorp hält weiterhin daran fest, seinen Quellcode frei verfügbar zu machen. Allerdings gibt die BSL dem Unternehmen mehr Kontrolle darüber, wer den Code kommerziell nutzen darf. Mit anderen Worten, wer Software von HashiCorp produktiv nutzt und sie für ein Konkurrenzprodukt einsetzen möchte, ist von nun an nicht nur bösen Blicken, sondern auch rechtlichen Hürden ausgesetzt.

In guter Gesellschaft

Einige Unternehmen haben diesen Schritt bereits vollzogen und sind auf unfreie Lizenzmodelle umgestiegen. Couchbase, Sentry und MariaDB MaxScale sind einige Beispiele dafür. Dies wirft natürlich die Frage auf, ob wir uns von der Idee freier Open-Source-Software verabschieden müssen. Die Omnipräsenz der Cloud-Industrie, die seit den 2010er-Jahren sich großer Beliebtheit erfreut, droht ernsthaft, die FOSS-Welt zu destabilisieren.

Stellt dir vor, du hast einen reichen Obstgarten erschaffen, in dem jeder sich frei der Früchte bedienen kann. Größzügig lädst du alle ein, sich nach Belieben zu bedienen und empfiehlst ihnen, selber Bäume zu pflanzen oder die Saaten weiterzuverbreiten. Eines Tages bemerkt ihr jedoch, dass einige Gäste die Früchte einsacken, sie auf eigenen Märkten verkaufen und die Profite einsacken, ohne selbst an die Ursprungscommunity etwas zurückzugegeben. Klingt unfair? Genau das passiert momentan in der Open-Source-Welt.

Damit wird Open Source zwar nicht von Tisch gewischt, sondern in eine Richtung gelenkt, die den freien ungehinderten Austausch unabhängig von gewerblichen Interessen einschränkt. Konkret wackelt dabei das 6. Kriterium der Open-Source-Definition (OSD), das eine Unterscheidung nach Einsatzfeldern ausschließt.

HashiCorp betont, dass es sich weiterhin seiner Community, seinen Partnern und Kunden verpflichtet sieht. Nur die Zeit wird zeigen, ob diese Lizenzänderungen die richtigen Schritte auf dem Weg dorthin sind. Einerseits werden Möglichkeiten von Forks eingeschränkt, andererseits ist niemandem geholfen, wenn die Weiterentwicklung durch HashiCorp auf dem Spiel steht, nur, weil externe Akteure bezogen auf die Einnahmen sinnbildlich das Wasser abgraben. Die Leute, die Software entwickeln, müssen auch von etwas bezahlt werden.

Edit (20:25 Uhr): MariaDB setzt die BSL für MaxScale ein, nicht jedoch für die Datenbank MariaDB Server. Danke für den Hinweis, Jens.

Update (20:30 Uhr): Ggfs. werde ich mich mit der BSL noch einmal in einem gesonderten Artikel beschäftigen, aber ein kleines Detail ist hierbei vllt. noch erwähnenswert, um den Blick auf die Sache zu ändern. Die von HashiCorp verwendete Form der BSL setzt auf eine Art Embargozeit. Nach 4 Jahren der Veröffentlichung eines nach BSL lizenzierten Werkes in einer spezifischen Version, greift folgender Passus:

Effective on the Change Date, or the fourth anniversary of the first publicly available distribution of a specific version of the Licensed Work under this License, whichever comes first, the Licensor hereby grants you rights under the terms of the Change License, and the rights granted in the paragraph above terminate.

Als Change License wurde die MPL 2.0 festgelegt.

KI-Wochenrückblick KW 32/2023

Auch in der Sommerpause gibt es vereinzelte Neuigkeiten aus der Welt der künstlichen Intelligenz. Heute möchte ich mich dabei wieder einmal den Agenten widmen.

MetaGPT

Beim Einsatz von ChatGPT und ähnlichen LLMs stellt sich schnell die Frage, ob da nicht auch mehr geht. Ob das System nicht zur Abbildung alltäglicher Arbeit herangezogen werden kann. Insbesondere mit Anfang des Jahres aus dem Winterschlaf erwachten Konzept der Agenten wurde die Zusammenarbeit unterschiedlicher KI-Instanzen wieder relevant und spannend. Umso interessanter ist es, diese Konzepte zusammenzuführen.

AutoGPT und Co. sind diesem Ziel gefolgt und konnten schon lustige Ergebnisse demonstrieren, wenn man die LLMs sinnbildlich an den eigenen Computer anschließt und z. B. die Ausgaben des LLMs als Eingabe für die eigene Shell verwendet (nicht nachmachen, ist eine dumme Idee). Doch auch hier gab es einige Schwächen, ganz rund lief alles bei weitem noch nicht.

Die Autoren hinter MetaGPT (hier im Bezug auf griechisch meta = über) haben systematisch verschiedene Rollen inkl. ihrer Interaktionen ausgearbeitet und stellen ihre Ergebnisse als Preprint und ihr Framework auf GitHub bereit. Dabei wird eine einzeilige Aufgabe, z. B. die Entwicklung eines Spiels, vom System eingelesen und dann auf ein hierarchisches Team aus Agenten verteilt. Diese Agenten haben verschiedene Rollen, die sich auf die System-Prompts abbilden, d. h. beispielhaft "Du bist ein Entwickler für Python..." oder "Du bist ein Requirements-Engineer...". Am Ende des Tages fällt ein Ergebnis raus, das dann ausprobiert werden kann.

Das Konzept sieht in meinen Augen sehr spannend aus und entwickelt sich stets weiter. Dabei wird deutlich, dass eine simple Prompt für hochwertiges Prompt-Engineering nicht reicht, vielmehr können Effekte ähnlich wie beim Ensemble-Learning genutzt werden, durch die mehrere Instanzen von LLMs, die gemeinsam ein Problem bearbeiten, deutlich effektiver arbeiten.

Was LLMs von Cyc lernen können

Irgendwie habe ich die ganzen letzten Monate schon darauf gewartet, dass sich die Autoren klassischer Expertensysteme beim LLM-Thema zu Wort melden. Immerhin prallen hier zwei komplett unterschiedliche Welten aufeinander, die beide versuchen, die Welt zu erklären.

Klassische Expertensysteme versuchen mit Logik die Welt in Regeln zu fassen. Das typische Beispiel ist "Wenn es regnet, dann wird die Straße nass". Eine klare Implikation, die in eine Richtung geht: ist das Kriterium auf der "wenn"-Seite erfüllt, gilt die Aussage auf der "dann"-Seite. Wird das System gefragt, was mit der Straße passiert, wenn es regnet, antwortet es immer, dass sie nass wird. Immer. Dass es nicht zwangsläufig der Regen sein muss, wenn die Straße nass ist, wird ebenfalls durch Logik ermöglicht, da die obige Regel eine Implikation ist und keine Äquivalenz, denn da würde es heißen "Immer wenn es regnet, dann wird die Straße nass".

Problematischer wird es zu modellieren, dass die Straße selbst bei Regen da nicht nass wird, wo gerade ein Auto parkt. Hieran erkennt man, dass es sich um ein schwieriges Unterfangen handelt, wenn Expertensysteme die echte Welt modellieren sollen. Das Cyc-Projekt hat die Mühe aber auf sich genommen und über die letzten knapp 40 Jahre über eine Million solcher Regeln zusammengetragen. Viele einfache Expertensysteme gelten grundsätzlich aber als veraltet und konnten die Erwartungen für "generelle Intelligenz" schon vor 30 Jahren nicht erfüllen.

Anders funktionieren LLMs, die nicht mit klassischer Logik, sondern Wahrscheinlichkeiten arbeiten, um das "am ehesten passende" nächste Wort für die Antwort zu finden. Zusammengefasst sind Expertensysteme für ihre Präzision zulasten der Vielseitigkeit bekannt und LLMs einfach anders herum.

Doug Lenat von Cyc und Gary Marcus von der NYU haben in ihrem Preprint nun 16 Anforderungen zusammengetragen, die eine "vertrauenswürdige KI" haben sollte, darunter Erklärung, Herleitung oder Kontext. Anschließend gehen die Autoren noch ein, wie ihr (kommerzielles) Cyc das umsetzen kann.

Ich bin tatsächlich überzeugt, dass man untersuchen sollte, wie sich diese beiden Ansätze verheiraten lassen. Dabei sprechen auch die Ergebnisse von AutoGPT, MetaGPT & Co. dafür, dass das Vorhaben auf neuronaler Ebene angegangen werden muss, da einfache Varianten wie System-Prompts á la "Du bist LogikGPT. Gib mir die Entscheidungsregeln in Prädikatenlogik aus." immer noch auf Token-/Wortvorhersagen basieren und zu viel Halluzination zulassen.

Dennoch bin ich sicher, dass es auch hier Fortschritte geben wird, die wir dann früher oder später in einem Wochenrückblick diskutieren können. Bis dahin!

KI-Wochenrückblick KW 31/2023

In der heutigen Ausgabe des Wochenrückblicks blicken wir auf ein neues Modell von IBM und einen Ausblick auf neue Features in der ChatGPT-Oberfläche von OpenAI.

IBM und NASA veröffentlichen Foundation-Model für Geodaten

Wie ich an der einen und anderen Stelle im Wochenrückblick schon einmal erwähnt habe, beschränkt sich die Transformer-Architektur mittlerweile nicht mehr nur auf Textaufgaben. Mit Vision Transformers lässt sich dies auch auf die grafische Ebene erweitern.

In einer Kooperation zwischen IBM und der NASA wurden nun die Prithvi-Modelle auf Hugging Face veröffentlicht. Sie ermöglichen es, ein Satellitenbild einzugeben und z. B. vorhersagen zu lassen, welche Gebiete am ehesten Fluten ausgesetzt sein könnten.

Um diese Vorhersagen zu ermöglichen, hat IBM Daten aus dem Harmonized Landsat Sentinel-2-Projekt (HLS) herangezogen, um ein Foundation Modell zu trainieren. Im HLS-Datensatz befinden Satellitendaten, die mit je 30 Metern pro Pixel aufgelöst sind. Auf der technischen Seite wird ein Vision Transformer mit Masked Autoencoder eingesetzt. Das Foundation Modell kann nun von weiteren Forschern feingetuned werden, um die jeweiligen Vorhersagen weiter zu verbessern. Durch IBMs Arbeit sollen nun mehr als 250.000 TB an Missionsdaten von der NASA besser zugänglich gemacht werden. Weitere Details zum Projekt können im Blogartikel und in der Pressemitteilung von IBM abgerufen werden.

Neue ChatGPT-Features

Wie SimilarWeb schon vor wenigen Wochen beobachten konnte, ebbt der Hype um ChatGPT langsam ab. Auffällig beim Release von ChatGPT war auch, wie puristisch die ganze Oberfläche war. Dabei ist es vermutlich das Backend, was OpenAI gemeistert hat, denn sie haben es geschafft, das System in den ersten Wochen unter ziemlich hoher Last aufrecht zu erhalten.

Im Frontend wurden aber zwischenzeitlich auch Änderungen und Verbesserungen umgesetzt, insbesondere die Einführung des kostenpflichtigen Dienstes ChatGPT Plus hat einige Anpassungen erfordert. Logan Kilpatrick, zuständig für "Developer Relations" bei OpenAI, gab nun einen Ausblick, was demnächst zu erwarten ist.

So wird es unter anderem vorgeschlagene Einstiegs- und Folgefragen und die Möglichkeit des Uploads mehrerer Dateien im Code Interpreter geben. Zudem soll die Zwangsabmeldung nach 14 Tagen abgeschafft werden.

Während ein Teil der Änderungen hilfreiche Detailverbesserungen beisteuert, werden die "vorgeschlagenen Folgefragen" am lustigsten sein. Nun schreibt also ChatGPT nicht nur die Antworten, sondern auch die Fragen. Es bleibt spannend.

KI-Wochenrückblick KW 30/2023

In diesem Wochenrückblick kann ich euch wieder drei spannende Nachrichten präsentieren, die abbilden, was in den letzten Tagen besondere Aufmerksamkeit in der AI-Community erhalten hat.

SDXL 1.0 erschienen

Wie in fast jeder Woche kann ich euch auch dieses Mal wieder von einem neuen Modell berichten. Das Team rund um Stability AI hat am 26. Juli SDXL 1.0 veröffentlicht. SDXL baut auf Stable Diffusion auf. In der kürzlich erschienenen Version 0.9 konnten viele Eindrücke bereits gesammelt werden.

Dabei handelt es sich um ein Text-zu-Bild-Modell, welches Eingaben in 1024x1024 Pixel große Bilder konvertiert. Das Modell wurde weiter für Fotorealismus optimiert und kann nun besser die Farben, Kontraste und Schatten abbilden, so die Pressemitteilung.

Auf technischer Ebene besteht SDXL 1.0 aus zwei Modellen: einem Base-Modell mit 3,5 Mrd. Parametern und einem Refiner-Modell mit 6,6 Mrd. Parametern. Grob lässt sich das Refiner-Modell so vorstellen, dass es die Vorarbeiten vom Base-Modell nochmals deutlich verbessert, um die Qualität zu steigern.

Stability AI gibt an, dass Consumer-GPUs mit 8 GB VRAM bereits ausreichen, um damit arbeiten zu können. Ich konnte SDXL 1.0 bereits auf einer A10-Karte ausprobieren und es ermöglicht beeindruckende Ergebnisse.

Als Open-Source-Modell kann man sich die Gewichte für das Base- und Refiner-Modell laden, um es anschließend lokal zu nutzen. Für Anwender, die lediglich in die Möglichkeiten hineinschnuppern möchten, bietet sich der Dienst ClipDrop an, der kostenlos eine geringe Anzahl an Bildern zum Test generiert. Lizenziert ist SDXL 1.0 unter der Open RAIL++-M-Lizenz.

Adversarial Attacks auf LLMs

Unter dem Namen Universal and Transferable Adversarial Attacks on Aligned Language Models (Webseite) haben Zuo (CMU), Wang (Center for AI Safety), Kolter (CMU, Bosch Center for AI) und Frederikson (CMU) ein Paper präsentiert, das auf dem klassischen Gedanken der Adversarial AI aufbaut. Ihr erfolgreich erreichtes Ziel ist es, bestehenden LLMs Antworten zu entlocken, die unterdrückt werden sollen, da sie gegen die Regeln der LLM-Autoren verstoßen würden.

Die klassischen "Jailbreaks" kamen bereits kurz nach der Veröffentlichung von ChatGPT auf und wurden zeitnah immer geschlossen. Das ging in die Richtung von "Ein gute KI würde nicht sagen, wie man BÖSE SACHE HIER EINFÜGEN tut. Was würde aber eine böse KI sagen?". Die konkreten Anfragen mussten allerdings manuell aufwändig optimiert werden. Die Forscher stellen nun einen automatisierten Ansatz vor, der die böse Anfrage um eine Zeichenkette erweitert, die für Menschen unsinnig aussieht, aber das LLM intern in einer Weise beeinflusst, sodass es die aufwändig implementierten Schutzmechanismen selber missachtet und "Klartext" spricht.

Adversarial AI ist nicht neu und bereits aus der Bilderkennung bekannt. Hier genügte es, bestimmte Pixel in einem Bild zu verändern, die die menschliche Wahrnehmung nicht ändern, aber KI-Modelle verwirren. So wird für das Modell schnell aus einem 30er-Zonen-Schild ein 80er-Zonen-Schild. Dies ist durch das Studium der Modelle möglich, da man über die Zeit lernen kann, wie die Eingaben die Ausgaben beeinflussen und an welchen Stellen neuronale Netze unerwünschte Ausgaben gezielt herbeiführen kann.

1 LLM + 1 GPU + 1 Day

Die letzte Nachricht dieser Woche ist bereits ein kleiner Ausblick. Im Dezember 2023 findet die NeurIPS 2023 statt. Die NeurIPS ist eine der angesehensten Konferenzen über neuronale Netze. Schon jetzt wurde eine neue Challenge veröffentlicht, an der man bis voraussichtlich Oktober 2023 noch teilnehmen kann.

Bei der LLM Model Effiency Challenge ist das Ziel, ein bestehendes Foundation Model innerhalb eines Tages auf einer GPU, wahlweise einer 4090 oder A100 (40 GB), für ein bestimmtes Aufgabengebiet finezutunen. Dabei gelten bestimmte Regeln, welche Foundation Models z. B. verwendet werden dürfen. Darunter sind Falcon, MPT, Llama 2, BART oder T5 enthalten.

Das Ziel der Challenge ist es, die Transparenz in der Forschung der LLMs zu verbessern, da u.a. bisher ein besonders hoher Ressourcenaufwand nötig war, um das Training erfolgreich umzusetzen. Diese Challenges dienen auch, innovative Ansätze zu fördern, da durch die künstlichen Beschränkungen die Teilnehmer angehalten werden, Wege zu finden, eben 1 LLM mit 1 GPU innerhalb 1 Tages zu trainieren. Die Besten der Besten lassen sich auf einem Leaderboard tracken, um zu sehen, wer den "Highscore" knackt. Die beiden besten Teams dürfen dann auf der NeurIPS jeweils einen 30-minütigen Talk halten.

Es bleibt also weiterhin spannend. Blicken wir auch in eine neue Woche mit spannenden Neuerungen und Entwicklungen!

KI-Wochenrückblick KW 29/2023

In dieser Woche gab es spannende Neuigkeiten von Meta AI und aus der Welt der Regulierung.

Llama 2

Einen Paukenschlag gab es in dieser Woche von Meta AI: Llama 2 wurde veröffentlicht mit einer Lizenz, die explizit auch die kommerzielle Nutzung erlaubt. Die Gewichte können auf Antrag gemäß den Nutzungsbestimmungen heruntergeladen werden. Verfügbar ist das Modell mit 7, 13 oder 70 Mrd. Parametern. Es wird eine Kontextlänge von bis zu 4096 Token unterstützt. Trainiert wurde das Modell auf über 2 Billionen Tokens. Das Finetuning wurde einerseits überwacht (SFT) und andererseits auf menschlichen Präferenzen (RLHF) vorgenommen.

Im Wettbewerb der LLMs geht es weiter um die Stellung der Vorherrschaft. Wer das beste Modell möglichst frei zur Verfügung stellt, bildet einen wichtigen Ankerpunkt, auf dem Forscher ihre Arbeiten aufbauen. Das ist auch bei kommerziellen Interessen sinnvoll, da eine große Nutzerbasis erreicht werden kann, die innovative Forscher und Entwickler hervorbringt, die wiederum den Ruf und die Marktposition des Unternehmens stärken.

Meta Platforms erhält nun die Möglichkeit, vom einstiegen Social-Media-Riesen zum Multimedia-Konzern aufzusteigen, der die Möglichkeiten hat, alle Medien zu bedienen. Die AI-Abteilung hat sich einen guten Ruf gemacht und versucht diesen nun im stark umkämpften Feld der LLM-Foundation-Models zu verteidigen. Dass Meta AI sich dieser Situation bewusst ist zeigt auch der Vergleich zwischen Llama 2 und MPT-7B, Vicuna-13B oder Falcon-40B im eigenen Paper zu Llama 2.

WormGPT

Dass LLMs auch für zweifelhafte Zwecke eingesetzt werden können, sollte jedem von Anfang an klar gewesen sein. In meinen Augen kann so etwas auch gar nicht durch Embargos verhindert werden, da es bei Technologien immer Akteure gibt, die sich nicht an die Regeln halten. Vielmehr sollten Gegenmaßnahmen eingesetzt werden, die auf die Ursache abzielen und nicht nur die Symptome bekämpfen.

SlashNext gibt in einem Blogeintrag einen interessanten Einblick in ein LLM-System mit dem Namen "WormGPT". Es soll auf dem 2021 erschienenen GPT-J aufbauen, um BEC-Tasks aufzuführen, also Business E-Mail Compromise. Da LLMs besonders dazu in der Lage sind, Texte nach bestimmten Stilen oder Gattungen zu entwerfen, kann ohne entsprechende Sicherheits-Checks ein System auf bösartige Aufgaben trainiert werden, um zum Beispiel eine Nachricht im Stil des eigenen Chefs oder Kunden zu schreiben.

Ratschläge, besonders auf die Rechtschreibung von eingehenden, echt aussehenden E-Mails zu achten, laufen mit der aktuellen Entwicklung somit zunehmend ins Leere. Bleibt also nur noch die Ursachenbekämpfung, der mit z. B. einem Konzept, das auf digitale Signaturen aufbaut, oder weiteren innerbetrieblichen Abläufen begegnet werden kann, damit nicht auf einfache Anweisung riesige Summen ins Ausland überwiesen werden.

Selbstverpflichtung

Der Wunsch der Politik, mit der Regulierung dem technischen Wandel Schritt halten zu können, wurde auch in dieser Woche spürbar. Sieben große AI-Organisationen, darunter Google, OpenAI und Anthropic, haben sich gegenüber der US-Regierung zu Risikomanagement verpflichtet. Dieses soll auch Tests und den Austausch mit Behörden und Gesellschaft einschließen.

Damit lässt sich in westlichen Ländern der Trend beobachten, die Gefahren, die sich aus der Entwicklung ergeben, möglich schnell eindämmen zu können. Andererseits - und auch das ist Bemerkenswert - verpflichten sich die Unternehmen zur Entwicklung von Systemen, um Herausforderungen in der Gesellschaft anzugehen. Statt also nur KI einzuschränken, soll die Entwicklung aktiv forciert werden.

Besonders die Kennzeichnung von KI-Inhalten wird diskutiert. In meinen Augen gibt es hier Vorteile wie Nachteile. Einerseits ist es sinnvoll, zu wissen, auf welcher Basis bestimmte Texte entstanden sind (ich schreibe diese Zeilen gerade zum Beispiel selber), andererseits werden Lösungen damit gefördert, die in einer weiteren Ausbaustufe jeden Datensatz personifiziert zuordenbar machen, was zunehmend den Datenschutz aushölt.

Diese Woche zeigt nichtsdestotrotz, dass es im hohen Tempo weitergeht und jede Woche einige Überraschungen bereithält - wie diese Woche Llama 2. Schauen wir also, was uns auch die nächste Woche bringt!

KI-Wochenrückblick KW 28/2023

Heute habe ich die Timeline aktualisiert, die einen Überblick über aktuelle und wichtige Modelle gibt. Es wird schnell ersichtlich, dass wir uns in der KI-Welt mittlerweile wieder in der Detailarbeit befinden und der große Schub an neuen LLMs immer weiter abnimmt. Aber was hat uns diese Woche beschert?

"Low Ressource" Text Classification

Diese Woche wurde ein Paper diskutiert, das recht unscheinbar daherkommt: "Low Resource" Text Classification: A Parameter-Free Classification Method with Compressors. Kurz gefasst wollen die Forscher die Tatsache feiern, dass ihr Modell weniger ressourcenintensiv ist.

Dafür haben sie eine reizend unaufwändige KI-Methode für Textklassifikation vorgestellt, die eine vergnügliche Kreuzung aus einem simplen Kompressor - ähnlich wie gzip - und einem k-Nearest-Neightbor-Klassifikator ist. Und das spannendste an der Sache? Sie kommt komplett ohne Trainingsparameter aus. Was für eine erfrischende Neuheit, denn das Modell spielt etablierte Konkurrenten wie BERT auf allen fünf OOD-Datensätzen gnadenlos aus.

Was uns das Paper zeigt, ist, dass nicht alles nur durch Deep Neural Networks beherrscht wird. Wer eine clevere, einfache Methode entwickelt, kann trotzdem erstaunliche Ergebnisse erreichen. Der Quellcode für das Verfahren ist beachtenswert kurz und unter GitHub abrufbar.

x.AI

Wer sich noch an den Anfang von OpenAI erinnern kann, wird um die Rolle von Elon Musk wissen. Er hat sich für OpenAI eingesetzt und viele Ressourcen bereitgestellt. Später kam der Rückzug aus OpenAI und eine auf Twitter propagierte kritischere Haltung gegenüber dem Start-up.

Mittlerweile baut Elon Musk fleißig die Infrastruktur rund um Twitter um, welches zunehmend einfach nur noch als "X" bezeichnet wird. Im April kam die Nachricht über eine große Bestellung von Grafikkarten durch Twitter. Jetzt dürfte klar sein, welche Richtung eingeschlagen wird.

xAI soll ein Unternehmen werden, das die wahre Natur des Universums verstehen möchte, wie auf der Landing Page auf x.ai bekannt gegeben wird. Neben der Zielsetzung werden auf der Seite noch einige Informationen über das Team bereitgestellt, wobei schnell klar wird, dass viele Leute, die zuvor bei DeepMind, OpenAI und in den Research-Abteilungen von Microsoft und Google gearbeitet haben, am Start-up mitarbeiten. xAI ist zwar ein getrenntes Unternehmen, soll aber eng mit Twitter und Tesla zusammenarbeiten. Noch gibt es keine genauen Informationen, was geplant ist, wir können aber mehr hierzu in den nächsten Wochen erwarten.

OpenOrca

Vor einigen Wochen habe ich bereits berichtet, dass Microsoft eine Methode veröffentlicht hat, mit der sehr leistungsstarke LLMs mit wenigen Parametern trainiert werden können. Das Team von OpenOrca hat bereits vor einigen Tagen das gleichnamige Dataset auf Hugging Face gezeigt, nun folgte in dieser Woche die Veröffentlichung des ersten eigenen richtigen Modells, OpenOrca-Preview1-13B.

Das Team von OpenOrca nutzt das Dataset, um in dem Modell ein LLaMA-13B entsprechend finezutunen. Dabei wurden bisher weniger als 6% des Datensatzes zum Training eingesetzt und dieser Release soll nur als Vorschau einen Einblick in den aktuellen Entwicklungsstand geben.

Es bleibt also weiterhin spannend. Neue Methoden und Techniken ermöglichen hochwertige und leistungsstarke Modelle, die es auch mit ihrer proprietären Konkurrenz aufnehmen können. Schauen wir, was uns auch nächste Woche erwartet!

KI-Wochenrückblick KW 27/2023

Langsam kündigt sich, wie wir heute in den Nachrichten sehen werden, in der KI-Welt eine kleine Sommerpause an, sodass es etwas ruhiger wird. In dieser Woche hat OpenAI wieder für die eine oder andere Schlagzeile gesorgt, weswegen sich der Wochenrückblick speziell darauf konzentrieren wird.

Vermuteter ChatGPT-Traffic geht zurück

Traffic von fremden Webseiten zu messen ist eine gar nicht so einfache Angelegenheit. Am Ende des Tages weiß nur der Betreiber der Webseite, wie viele Inhalte er an wie viele IP-Adressen ausgeliefert hat, woraus man eine Nutzerzahl abschätzen kann. SimilarWeb ist ein Dienstleister, der sich auf Schätzungen über den Traffic externer Webseiten spezialisiert hat und nimmt dafür Ersatzmetriken zur Hilfe.

Über ChatGPT berichtet SimilarWeb nun, dass der Traffic von Mai zum Juni hin um etwa 10 Prozent gesunken sein soll. Die Anzahl der einzigartigen Nutzer soll um etwas über 5 Prozent, die auf der Webseite verbrachte Zeit um etwa 8 Prozent gesunken sein.

Unabhängig von den Zahlen kann ich den Trend nachvollziehen. Einerseits zeichnet sich die Sommerpause ab, in der viele im Urlaub sind und den Dienst weniger beruflich "ausprobieren". Andererseits weiß der beträchtlich große Nutzerkreis von ChatGPT mittlerweile um die Funktionen des LLM, weshalb die Neugier der Nutzer vermutlich abnimmt. ChatGPT kommt nun langsam als klassisches Werkzeug im Mainstream an.

GPT-4 API für alle

Passend dazu hat OpenAI die API für GPT-4 nun von der Warteliste befreit und stellt den Dienst für alle Nutzer bereit. Ob es einen Zusammenhang zur vorherigen Nachricht mit den dadurch frei werdenden Ressourcen gibt, werden wir sicherlich nie erfahren, aber schon bei früheren Diensten wie DALL-E hat OpenAI nach einer anfänglichen Startphase die künstliche Verknappung über die Warteliste auslaufen lassen.

In der dazugehörigen Blognachricht wurde gleichzeitig angekündigt, die Completions-API Anfang 2024 aufzugeben. An dieser Stelle wird wieder deutlich, wie sehr OpenAI auch weiterhin ein Start-up ist. War das bisherige API-Konzept mit GPT-3 auf die Vervollständigung von Anfragen ausgelegt, hat sich dies durch den plötzlichen Erfolg von ChatGPT stark verändert. LLMs agieren interaktiv und können auf Folgefragen antworten. Dies wird offenbar durch die Chat-API am besten repräsentiert, weswegen OpenAI sich hierauf jetzt konzentriert. Die Änderungen wurden schon im OpenAI Playground wirksam.

ChatGPT Code Interpreter

Ich kann mich noch gut an den Dezember 2022 erinnern, als ein Artikel über eine [imaginäre virtuelle Maschine innerhalb des neuen LLMs ChatGPT] die Runde machte. Daraufhin habe ich mir ChatGPT erstmals genauer angesehen. Damals hat sich ChatGPT eine VM halluziniert, ein Verhalten, das zeitnah leider schon eingedämmt wurde. Mittlerweile wurde aber aus der Fiktion Realität: ChatGPT Plus verfügt Berichten und einem Tweet zufolge nun über ein Plugin, dass es ermöglicht, Code innerhalb einer Sandbox auszuführen.

Damit wird ChatGPT noch leistungsfähiger und kann für immer mehr Aufgaben eingesetzt werden. Das war bisher eine Herausforderung, aber auch ein Forschungsthema, das bezogen auf Tools auch mit dem Toolformer oder Visual ChatGPT zu interessanten Ergebnissen führte. Auf diese Weise kann ChatGPT auch deterministischer werden: so braucht ChatGPT ggfs. für eine komplexe Aufgabe nur den benötigten Code generieren - die Berechnung wird dann in der Sandbox vorgenommen und kommt zu den Ergebnissen mit der nötigen Präzision.

Schauen wir auch in der nächsten Woche, mit was für Fortschritten und spannenden Nachrichten wir rechnen können.

KI-Wochenrückblick KW 26/2023

Im heutigen Wochenrückblick schauen wir auf einen spannenden Essay, ein interessantes Tool für Code-Migrationen und ein neues Open-Source-LLM für große Sequenzlängen.

The Rise of the AI Engineer

Beginnen wir den heutigen Wochenrückblick mit einem Artikel, der in der Woche disktutiert wurde. swyx hat auf Latent Space den Artikel The Rise of the AI Engineer veröffentlicht. Im Artikel geht es um die Entstehung eines komplett neuen Berufszweiges: dem AI Engineer. Dabei ist der AI Engineer die Weiterentwicklung des Prompt Engineers und wird im Essay auf einer Skala eingeordnet. Der AI Engineer beschäftigt sich wenig mit der genauen Funktionsweise von ML-Modellen, vielmehr versteckt ihm die API wie z. B. von OpenAI die technischen Details und ermöglicht ihm, sich auf das Wesentliche zu konzentrieren: sein Produkt.

War es vor zehn Jahren noch ein forschungsnahes Vorhaben, ein Produktempfehlungssystem zu entwerfen, ist es durch die Verfügbarkeit von schnell einsetzbaren Diensten heutzutage möglich, die gewünschte Funktionalität zu integrieren. Integration, das ist es, was den AI Engineer ausmacht. Er muss nicht wissen, wie ein LLM genau funktioniert, er muss nur wissen, was es tut. Insbesondere erwähnt der Autor des Essays, dass die Few-Shot-Modelle dazu geführt haben, dass ML-Forscher selber nicht mehr das Modell wie GPT-4 auf den Einsatzzweck abstimmen, sondern diese Aufgabe von Anwendern übernommen wird, die Zeit mit dem Modell und der Schnittstelle verbringen und ausprobieren, was man damit tun kann.

Das alles wird nicht einfach sein, vor allem, da klassische ML-Forscher über lange Zeit hinweg dieses Feld noch belächeln werden. Behält man diesen Wandel allerdings im Hinterkopf, kann man sich schon jetzt darauf einstellen und wird nicht überrascht, wenn in fünf Jahren Menschen, deren Vollzeitjob die Integration von ML-Systemen ist, hohe Gehälter und einen substantiellen Einfluss auf den Geschäftsbetrieb vieler Firmen erhalten.

GPT-Migrate

Wie so eine konkrete Anwendung aussehen kann, zeigt bereits GPT-Migrate. Hier handelt es sich um ein interessantes Produkt, das eine Codebase von einer Programmiersprache in eine andere umwandelt.

Das Projekt selber setzt auch nur auf bestehende LLMs, nutzt sie aber in einer besonders abgestimmten Art und Weise. Der Code soll nicht nur starr umgewandelt, sondern auch idiomatisch sinnvoll ausgegeben werden. Wandelt man beispielsweise ein Python-Projekt in eine Node.js-Application um, besteht die Arbeit aus mehr als nur einer 1:1-Umwandlung der Statements. Vielmehr müssen die Frameworks beachtet werden mit ihrer individuellen Weise, Lösungen abzubilden.

Betrachten wir ein solches Projekt aus der akademischen Sicht, ist so ein Projekt ein Himmelfahrtskommando: Wir können nicht mit hinreichender Sicherheit sagen, ob es immer zuverlässig funktioniert. In der Praxis hat dieser Umstand für den durchschnittlichen Anwender allerdings eine untergeordnete Rolle: wenn es auch nur regelmäßig funktioniert, bringt es viele Entwickler für ihre Durchschnittsprojekte schon weiter. So sind Informatiker heutzutage auch nicht durchgängig mehr damit beschäftigt, richtige Algorithmen für z. B. Sortierung zu entwerfen, sondern reihen eher fertige Programmfragmente und -prozeduren aneinander. Eine unbeaufsichtigte Dienstleistung für Codeumwandlung sollte dennoch nicht auf so einem einfachen System aufgebaut werden. Die Abstimmung, die feinen Anpassungen und die Risikoanalyse - auch das werden in meinen Augen Aufgaben des AI Engineers sein.

Salesforce XGen

Neue Modelle sollen auch in diesem Wochenrückblick nicht fehlen. In dieser Woche haben wir diesbezüglich wieder einen alten Bekannten dabei: Salesforce, bekannt von BLIP2 oder CodeT5. Diesmal hat sich das Forschungsteam rund um Nijkamp, Xie, Hayashi, Pang und Xia mit Open-Source-LLMs für besonders hohe Sequenzen beschäftigt.

Die Sequenzlänge als maximale Länge einer Eingabe für das LLM ist neben der Parameterzahl einer der wichtigsten numerischen Einflussfaktoren für die Leistungsfähigkeit von LLMs. Soll ein solches Modell beispielhaft einen Text zusammenfassen, kann ein LLM mit 8 Tsd. Tokens Sequenzlänge deutlich mehr Text in einem Zug verarbeiten als ein LLM mit 2 Tsd. Tokens Sequenzlänge. Dass die Sequenzlänge in Tokens statt Wörtern gemessen wird, ist auf die mathematische Darstellung der Eingaben für LLMs zurückzuführen. Im Wochenrückblick der vergangenen Woche habe ich für diese Thematik Lehrmaterial vorgestellt.

Salesforce hat unter dem Namen XGen-7B Modelle mit einer Sequenzlänge von 8 Tsd. Tokens und einer Parameterzahl von 7 Mrd. trainiert, die den bisherigen Open-Source-Modellen mit nur 2 Tsd. Tokens wie LLaMA, MPT oder Falcon in standardisierten Benchmarks wie MMLU oder SCROLLS mindestens gleichauf sind. Die kommerzielle Konkurrenz kommt mit GPT-4 auf 32 Tsd. Tokens oder mit Claude auf 100 Tsd. Tokens. Das Training wurde mit 1,5 Billionen Tokens (hier nicht Sequenzlänge, sondern Anzahl der Tokens, auf deren Basis trainiert wurde) durchgeführt und hat über 150.000 US-Dollar gekostet.

Weitere Informationen zu XGen sind im Blogartikel von Salesforce Research zu finden. Die XGen-7B-Modelle sind in verschiedenen Varianten auf HuggingFace unter der Apache-2.0-Lizenz verfügbar, der zugrundeliegende Code kann unter GitHub abgerufen werden.

Und so geht wieder eine spannende Woche zu Ende, in der wir beobachten konnten, wie einerseits weiterhin neue Open-Source-Modelle mit Verbesserungen veröffentlicht werden und andererseits die Anwendung solcher Modelle zunehmend in den Vordergrund tritt. Schauen wir, was uns auch in den nächsten Tagen wieder erwartet!

KI-Wochenrückblick KW 25/2023

Und wieder ist eine Woche um! Im heutigen Wochenrückblick geht es um drei Nachrichten und einen Lesetipp.

MPT-30B

In fast jeder Woche erscheinen neue KI-Modelle. Seien es komplett neue Modelle wie Falcon oder Vertreter bestehender Modellfamilien wie das diese Woche veröffentlichte MPT-30B.

Konkurrenz belebt das Geschäft. Während Falcon-40B als eines der leistungsstärksten Open-Source-LLMs viele Benchmarks für sich entscheidet, ist das Deployment aufgrund der hohen Parameteranzahl teilweise mitunter herausfordernd. MPT-30B stellt sich hier als Alternative auf und gibt an, dass es auf einer A100-80G mit 16-Bit-Präsizion oder einer A100-40GB mit 8-Bit-Präsizion bereitgestellt werden kann. Ansonsten baut das Modell auf dem bereits vor einigen Wochen vorgestellten MPT-7B auf und wird durch seine Programmierfähigkeiten charaketerisiert, die durch die Auswahl der Trainingsdaten angelernt werden konnten. Das Modell ist wieder in verschiedenen Facetten verfügbar: als Basismodell, für Instruktionen optimiert oder für Chat optimiert.

SDXL 0.9

Stable Diffusion XL (SDXL) ist eine Weiterentwicklung aus dem Hause Stability AI. Deren erstes Produkt Stable Diffusion hat schon überzeugt, weil es eine Alternative zu OpenAI DALL-E war. Bei Stability AI werden öffentlichkeitswirksam die Entwicklungen im Blog vorgestellt und so war bereits SDXL Beta interessant, weil es nochmals die Fähigkeiten des Bildgenerators erweitert.

SDXL 0.9 ist nun der Nachfolger von SDXL Beta. Im Blogeintrag kann im direkten Vergleich nachvollzogen werden, dass SDXL 0.9 Bilder generiert, die deutlich besser zu den Bildbeschreibungen passen. Technisch wurde der Fortschritt durch eine Erhöhung der Parameterzahl erreicht. Mit 3.5 Mrd. Parametern als Basismodell und einer 6.6 Mrd. Parameter starken Ensemble-Pipeline handelt es sich dabei um das nach eigenen Angaben parameterstärkste Open-Source-Bildmodell. SDXL 0.9 ist bereits auf ClipDrop für den Einsatz verfügbar und kann über HuggingFace direkt bezogen werden.

Mercedes-Benz testet ChatGPT

Die Entwicklung der LLMs macht momentan vor den Systemen halt, bei denen man Sprachfähigkeiten am ehesten erwartet: Sprachassistenten auf Smartphones. Hier müssen wir uns bei den verbreiteten Systemen weiterhin noch auf die voreingestellten Fähigkeiten beschränken, die einprogrammiert wurden. Konkurrenz kommt nun von ungewohnter Seite: Mercedes-Benz hat in den letzten Tagen für die US-Kunden bekanntgegeben, in einer frühen Betaversion ChatGPT für die Sprachassistenz in ausgewählten Automodellen mit MBUX zu unterstützen.

Die Teilnahme an dem Programm ist optional. In der Pressemitteilung wird insbesondere der Datenschutz und die Hoheit über IT-Prozesse hervorgehoben. Technisch wird dieses Vorhaben über eine Kooperation mit Microsoft und dem Azure OpenAI Service umgesetzt.

Embeddings

KI ist ein sehr komplexes Thema, das viele Disziplinen umfasst. Umso wichtiger ist es, hochwertige Lernmaterialien zu beziehen. Vicki Boykis hat mit What are embeddings ein umfangreiches Handbuch ausgearbeitet, das sich mit einem wichtigen Kernelement beschäftigt, das LLMs heutzutage erst möglich macht. Konkret geht es dabei um Verfahren, natursprachliche Texte in Zahlen zu verwandeln, um sie mathematisch verarbeitbar zu machen.

Das Handbuch umfasst neben Erklärungen und mathematischen Hintergründen auch Codebeispiele, um selber einmal am Beispiel auszuprobieren, wie Embeddings konkret funktionieren.

Bis zur nächsten Woche!

KI-Wochenrückblick KW 24/2023

Während der letzte KI-Wochenrückblick etwas kürzer ausfiel, da die gefühlt gesamte Tech-Welt nach Cupertino geschaut hat, gibt es in dieser Woche etwas mehr zu berichten. Starten wir also rein!

AI und Compliance

Üblicherweise steht bei Tech-Themen die Technologie im Vordergrund. Nicht so bei KI. Man kann es vielleicht dem Zeitgeist oder den Erfahrungen mit dem Internet zuschreiben, aber bei rechtlichen oder gesellschaftlichen Auswirkungen wird bei KI ein strenger Maßstab angelegt. So hat in dieser Woche das EU-Parlament den lange diskutierten AI Act eine Stufe weitergeschoben. Im wesentlichen bedeutet der AI Act, dass man nicht mehr jede beliebige KI-Anwendung auf den Markt werfen kann. Erfüllt eine Anwendung bestimmte Kriterien, müssen zusätzliche, bürokratische Schritte zur Qualitätssicherung und Folgenabschätzung vorgenommen werden. Welche Kriterien das sind und was daraus folgt, ist im aktuellen Prozess schwer zu verfolgen, reicht(e) aber von "ChatGPT wird praktisch verboten" bis "Es wird sehr aufwändig".

Besonders schwierig ist es, die Auswirkungen eines solchen Regelwerks anhand konkreter Beispiele nachzuvollziehen. Risihi Bommasani vom Stanford CRFM hat diese Woche auf Twitter demonstriert, wie das aussehen könnte. Er und sein Team haben für 10 verschiedene KI-Anbieter in einer Punktematrix dargelegt, wo welche Anbieter punkten und wo noch Nachbesserungsbedarf ist. Besonders gut kam BigScience (BLOOM) an, hier wurden 36 von 48 möglichen Punkten geholt, besonders bei "Data sources", "Data governance" und "Downstream documentation" konnte BigScience punkten.

Sehen, was der andere sieht

Typische Ermittlerdokus sind der KI schon seit Jahrzehnten voraus und können die Regeln von Raum und Zeit auf Überwachungsvideos außer Kraft setzen. Aktuelle Entwicklungen in der KI ziehen aber langsam nach. Mit Seeing the World through Your Eyes haben Alzayer et al. von der University of Maryland, College Park gezeigt, dass die Reflexion der Pupillen eines Menschen in Bildsequenzen genutzt werden kann, um das Gesehene aus seiner Perspektive als 3D-Modell abzubilden.

So wird "Point of View" real und kann benutzt werden, um Gegenstände, die die Person sieht, wiederzuerkennen. Natürlich ist die Technologie nicht perfekt und verfügt über eine geringe Auflösung, zeigt aber, dass in den verschiedensten Bereichen der Musterverarbeitung Entwicklung stattfindet. Dieses Paper setzt auch neuronale Netze lediglich am Rande ein, was noch einmal verdeutlicht, dass KI nicht nur aus LLMs und Transformers besteht.

LLMs und Secret Sauce

Nichtdestotrotz bleiben die LLMs ein Thema. Galine Alperovich hat im letzten Monat eine Zusammenstellung von Tricks veröffentlicht, um 100K Context Windows zu ermöglichen. Mit Claude haben wir bereits ein System gesehen, was so ein enormes Kontextfenster umsetzt, auch MPT weist mittlerweile Kontextfenster um die 65.000 Token auf.

Ihre dargelegten Hinweise können genutzt werden, um das Training von eigenen Modellen zu optimieren, denn das stellt heutzutage die große Kunst dar. Dass das Training generell möglich ist, haben wir gesehen. Es aber auch aufwandsarm umzusetzen, kann einerseits die Kosten senken, aber auch das Training für kleinere Akteure generell erst möglich machen.

Abschließend für den heutigen Wochenrückblick können wir auch nochmal auf OpenLLaMA schauen. Viele Teams haben sich in der Zwischenzeit rangesetzt, um Meta AIs Arbeit zumindest zu reproduzieren. Die Ergebnisse trudeln Woche für Woche ein. Seit dieser Woche sind nun auch die Gewichte für OpenLLaMA-13B auf HuggingFace verfügbar.

Bleiben wir gespannt, was uns auch die nächste Woche wieder an Neuigkeiten bringt!

KI-Wochenrückblick KW 23/2023

Diese Woche war Tech-mäßig durch die WWDC 2023 dominiert. AI war bei Apple speziell bei macOS eher ein Randthema, das Augenmerk der Konferenz lag auf VR.

In aller Kürze also nun wichtige Nachrichten der Woche.

  • Generative AI gibt es bei Google Vertex AI nun für alle. Das berichtet TechCrunch. Bisher waren die Systeme nur auf einen kleinen Kreis von "trusted testers" beschränkt, der Zugriff steht nun allen zur Verfügung.
  • Orca von Microsoft wurde veröffentlicht. Dabei handelt es sich um ein 13 Mrd. Parameter starkes Modell, das insbesondere über verbesserte Schlussfolgerungsfähigkeiten verfügt. Damit soll Orca besser als Vicuna-13B und gleich auf mit ChatGPT bei z. B. dem BBH-Benchmark sein.
  • Simon Willison hat in seinem Blog einen umfangreichen Artikel samt Demo veröffentlicht, in dem es um GPT-Tokenizers und deren Funktionsweise geht. Sehr sehenswert!

Bis zur nächsten Woche!

Neue Podcastepisode Risikozone RZ023: LibreOffice, Open Source und KI

Wie einige meiner Leser schon wissen, produziere ich einen Podcast und berichte, wenn es thematisch passt, von einigen Episoden auf diesem Blog. In dieser Woche erschien Episode 23, in der es um Open-Source-Software und Open-Source-KI ging.

Auslöser war die Diskussion rund um die Ankündigung von Red Hat, zukünftig nicht mehr LibreOffice direkt zu paketieren. Diesbezüglich empfehlenswert ist der teils kontroverse Kommentar von Gerrit in seinem Blog.

Kontrovers bleibt das Thema Open Source auch weiterhin. Sollte man Open Source allen proprietären Produkten vorziehen, auch wenn die Software schlechter ist? Wie sehr hat man überhaupt noch die Kontrolle über sein eigenes System?

Auf der anderen Seite entwickelt sich Open-Source-KI deutlich positiver und es stehen immer mehr freie Modelle zur Verfügung, die es mit den Platzhirschen aufnehmen können. Insbesondere für die Wissenschaft bietet das eine wichtige Grundlage, weil offene Daten mehr Innovation ermöglichen, wenn Wissenschaftler Freiheiten haben, Dinge auszuprobieren.

All diese Themen und Fragen diskutieren wir in der knapp 90-minütigen Episode. Viel Spaß beim Hören!

KI-Wochenrückblick KW 22/2023

Mit dieser Woche geht auch der Monat Mai zu Ende. Wirft man einen Blick in die LLM-Timeline, so fällt auf, dass der Monat im Wesentlichen durch die Open-Source-Modelle dominiert wurde. Die Highlights sind hier StarCoder als Code-LLM, RedPajama-INCITE für normale Gespräche und Falcon, ein LLM, das LLaMA den Rang abgelaufen hat.

Falcon ab sofort unter der unmodifizierten Apache 2.0

Falcon von der TII hat in dieser Woche auch wieder Schlagzeilen gemacht. Es dominiert nicht nur weiterhin das Open LLM Leaderboard, sondern steht nun unter der unmodifizierten Apache-2.0-Lizenz, wie bereits Thomas Wolf auch berichtete.

Interessant ist diese Nachricht, weil damit erstmals ein sehr leistungsfähiges LLM unter einer Lizenz steht, die weitestgehend auch kommerziellen Betrieb zulässt. Die Apache-2.0-Lizenz ist ein wichtiger Grundbaustein der Open-Source-Software-Community und ist in vielen Projekten verbreitet, z. B. natürlich den Apache-Projekten, aber auch Kubernetes oder Swift.

In meinen Augen ist es ungewohnt, eine Lizenz für Source Code für ein Modell zu nutzen. Das ist so ein wenig wie Source Code unter eine Creative-Commons-Lizenz zu stellen: es geht, aber war vielleicht nicht die Intention der Initiatoren. Ob speziell angepasste Lizenzen sinnvoller für die Belange von KI-Modellen sind, wird sich über die Zeit zeigen. Die Lizenzierung unter der Apache-2.0-Lizenz bringt allerdings eine gewisse Sicherheit mit sich, da diese Lizenz und ihre Verwendungsweise schon lange erprobt sind.

Der Schachzug der Autoren ist clever: da dieses leistungsstarke Modell nun unter einer offenen Lizenz steht, ist anzunehmen, dass viele Forscher dieses als Grundlage nehmen. Somit macht sich im besten Fall das TII einen Namen in der LLM-Community, ähnlich, wie es Meta in der ersten Jahreshälfte vorgeführt hat.

Direct Preference Optimization: Konkurrenz für RLHF?

Die Entwicklung der LLMs geht ungebremst weiter. Und so gibt es nicht nur neue Modelle, sondern auch neue Methodiken, um bessere Modelle zu erreichen. Ein wesentlicher Baustein, der ChatGPT ermöglicht hat, war InstructGPT mit Reinforcement Learning from Human Feedback, kurz RLHF. Hier bewertet ein Mensch die Ausgaben eines Modells und erstellt ein Ranking. Dieses Ranking kann zum weiteren Training herangezogen werden. Das resultierende Modell wird dadurch präsizer und bei den Antworten besser an den menschlichen Bedürfnissen ausgerichtet.

Rafailov, Sharma, Mitchell et al., allesamt Forscher der Stanford University, haben sich nun damit beschäftigt, ob man einen Zwischenschritt in dem Verfahren entfernen kann. Sie berichten nun, dass dies mit Erfolg möglich ist. Das dafür verwendete Verfahren nennen sie Direct Preference Optimization und beschreiben es in ihrem Preprint.

NVIDIA weitet Marktkapitalisierung auf über 1 Billion USD aus

Zum Abschluss des Wochenrückblicks möchten wir auch einmal kurz auf wirtschaftliche Themen schauen. Der GPU-Hersteller NVIDIA hat in dieser Woche eine Marktkapitalisierung von über 1 Billion USD (engl. 1 trillion USD) erreicht. Auch wenn man sich in Anbetracht von Inflation über diese scheinbar willkürliche Zielmarke streiten kann, zeigt es doch, dass NVIDIA als Unternehmen ähnlich hoch bewertet wird wie Apple (einer der bedeutendsten Hersteller mobiler Konsumentengeräte), Microsoft (Hersteller und Betreiber eines der größten Software-Ökosysteme der Welt) oder Alphabet (Betreiber einer Vielzahl bedeutender Internetdienste).

An der Börse wird die Zukunft gehandelt. Somit kann beziffert werden, welchen Wert (institutionelle) Anleger einem GPU-Hersteller beimessen. Der Erfolg von NVIDIA im AI-Geschäft geht in meinen Augen auf die CUDA-Schnittstelle und die immer leistungsfähigeren Systeme zurück. Einen generischen Zugriff auf die Grafikeinheiten zu geben, aus dem KI-Forscher die Eignung für das Training neuronaler Netze erkennen konnten. Das könnte einer der cleversten Schachzüge des Chipherstellers NVIDIA gewesen sein. Und solange Alternativen, ggfs. mit RISC-V auch aus dem Open-Source-Bereich, nicht mithalten können, wird NVIDIA auch in meinen Augen eine wichtige Rolle behalten.

Aus dem heutigen Wochenrückblick lässt sich eines erkennen: wenn man offen der Community Werkzeuge an die Hand gibt, wird sich irgendwer auf der Welt finden, der überrascht ist, für was sich dieses Werkzeug einsetzen lässt. Seine Ergebnisse werden dann vielleicht die ganze Welt überraschen. Genauso wie das AlexNet GPUs in der KI populär gemacht hat, werden auch LLaMA und Falcon neue interessante Innovationen hervorbringen. Seien wir gespannt, was auch die nächste Woche wieder bringt!

KI-Wochenrückblick KW 21/2023

Seit einigen Wochen veröffentliche ich den Wochenrückblick, in dem ich regelmäßig über aktuelle Nachrichten aus der KI-Welt berichte. Auch in dieser Woche gab es drei Neuigkeiten, die ich euch nicht vorenthalten möchte. Endlich gibt es auch wieder neue Modelle!

RWKV-Paper veröffenlicht

Nicht alles in der Welt der Large Language Models (LLM) beruht auf Transformers. Sie sind ein Weg, aber nicht der einzige. Das Team rund um Peng, Alcaide und Anthony hat mit Receptance Weighted Key Value (RWKV) eine neue Methode und Architektur entwickelt, mit der es möglich ist, LLMs über rekurrente neuronale Netze (RNNs) statt Transformer umzusetzen.

Der Hintergrund ist, dass beim Einatz von Transformern die Speicher- und Rechenkomplexität eine große Herausforderung darstellt. Sie wächst quadratisch, während RNNs ein lineares Wachstum aufweisen. RNNs mit klassischen Architekturen wiederum waren allerdings nicht so leistungsfähig wie gewünscht. RWKV versucht nun, die Leistungsfähigkeit bei RNNs deutlich zu verbessern, sodass sie mit Transformern mithalten und ihre Skalierungsvorteile ausnutzen können.

Die Ergebnisse wurden vorab in einem Preprint veröffentlicht und können z. B. auf Hugging Face ausprobiert werden. Der Code befindet sich auf GitHub. Schauen wir also, wie sich das Projekt in den nächsten Wochen entwickelt.

Falcon-Modelle erschienen

Wie bereits in den letzten Wochen erwähnt, entwickelt sich die LLM-Welt durch die Verbreitung der Open-Source-Modelle sehr schnell weiter. Für einige zu schnell und andere nutzen aktiv die Chancen aus. Meta geht aktuell eindeutig als Gewinner hervor, da LLaMA die Grundlage für viele andere erfolgreiche Entwicklungen bildet. Der Vorteil von LLaMA ist, dass hier die Gewichte für ein sehr leistungsfähiges Modell bereitstehen. Dementsprechend nahm bisher LLaMA auch einen der führenden Plätze auf dem Open LLM Leaderboard ein.

Konkurrenz kommt nun aus Abu Dhabi vom Technology Innovation Insitute (TII). Ein Team des Forschungsinstituts hat nun ein neues Modell unter dem Namen Falcon veröffentlicht, welches bei den Metriken AI2 Reasoning Challenge, HellaSwag und MMLU bessere Werte einfährt. Einzig bei TruthfulQA haben llama-65b und llama-30b-supercot noch die Nase vorn.

Bereitgestellt wird das Modell unter der "TII Falcon LLM License", einer modifizierten Apache-2.0-Lizenz, das Paper erscheint demnächst. Verfügbar ist Falcon mit 40 Mrd. Parametern und mit 7 Mrd. Parametern.

Gerichtsakten erfunden

LLMs sind Sprachmodelle. Das bedeutet, ihr Ziel ist es, bestimmte Inhalte in einer natürlichen Sprache auszugeben - unabhängig vom Wahrheitsgehalt, der Semantik. Als Nebenprodukt können sie einige ausgewählte Fakten wiedergeben.

Dieser Umstand ist und bleibt nur wenigen bewusst. Viele denken, mit ChatGPT & Co. könnte man recherchieren. Das ist aber falsch, denn wenn keine Document Retrieval integriert ist und richtig funktioniert, wird ein LLM eine Lösung ausgeben, die zwar schön klingt, aber nicht unbedingt stimmt. Im Podcast habe ich beiläufig mal erwähnt, dass damit eine Patentrecherche nahezu unmöglich wird, aber ich hätte nie gedacht, dass sowas in freier juristischer Wildbahn eingesetzt wird.

Nun, ich wurde eines besseren belehrt. ChatGPT wird noch zu häufig als Suchmaschine zweckentfremdet und gibt dann falsche Ergebnisse aus. Besonders bemerkenswert: in diesem und dem Betrugsüberprüfungsfall aus letzter Woche wurde die Plausibilitätsprüfung ebenfalls an ChatGPT übergeben. Wie soll ein Modell auf "Stimmt das, was du sagst?" überhaupt antworten?

Bleibt zu hoffen, dass wir auch in der kommenden Woche über viele interessante neue Methoden und Modelle und weniger über die Falschbedienung von LLMs berichten können.

KI-Wochenrückblick KW 20/2023

Es wird ruhiger im Umfeld der künstlichen Intelligenz, aus diesem Grund wird es in diesem Wochenrückblick mehr um Anwendungen als Grundlagenforschung gehen.

DarkBERT

In dieser Woche hat DarkBERT die Runde gemacht. Dabei handelt es sich um ein Sprachmodell der RoBERTa-Klasse, das von Forschern aus Südkorea speziell auf Darknet-Inhalte trainiert wurde. Ziel soll es sein, die Umgangsformen in diesen schwerer zugänglichen Netzwerken analysieren zu können. Aus diesem Grund wird das Modell auch nicht veröffentlicht.

Mich hat diese Nachricht in erster Linie an das Projekt GPT-4chan von Yannic Klicher erinnert. Wenig überraschend ist es daher, dass auch dieses Modell in einigen Metriken besser abschneidet als die weitverbreiteten LLMs.

Drag Your GAN

KI besteht nicht nur aus LLMs, das habe ich schon öfter erwähnt. In den letzten 5 Jahren dominierten vor allem die Generative Adverserial Networks (GANs), die sich mit der gezielten Generierung und Manipulation von Bildern beschäftigt haben.

Hier gibt es mit dem Paper Drag You GAN gute Neuigkeiten: Forscher vom Max-Planck-Institut, vom MIT und Google haben eine Methodik entwickelt, mit der es möglich ist, interaktiv und Punkt-basiert Änderungen an Fotos umzusetzen. Damit kann einfach ein Gesicht verschoben oder ein zugekniffenes Auge im Sonnenlicht wieder aufgeklappt werden. Gut, dass es hier auch weitergeht.

KI-Detektoren klassifzieren

In dieser Woche kursierte besonders die Nachricht, dass ein texanischer Professor Studenten mithilfe von ChatGPT zu überführen glaubte, indem er ChatGPT gefragt hat, ob Hausarbeiten der Studenten vom einem LLM geschrieben wurden. Das LLM tat das, was es besonders gut konnte und halluzinierte. Studenten mussten um ihre Noten und sogar ihre Abschlüsse fürchten. Durch die nun erlangte Aufmerksamkeit wurde nun eine Klärung herbeigeführt.

Dass von diesen angeblichen KI-Klassifikatoren im aktuellen Zustand nicht viel zu halten ist, unterstreicht auch das aktuelle Paper GPT detectors are biased against non-native English writers. Es geht dem Umstand nach, dass die Detektoren genau die Texte fälschlich als KI-generiert klassifzieren, die von Nicht-Muttersprachlern stammen. Einerseits führt das zu False Positives und bietet andererseits Angriffspotential, um KI-generierte Texte zu verschleiern. Alles in allem kein gutes Ergebnis für die Detektoren.

An dieser Stelle wird auch eine übliche Schwäche des Lernens aus Beispielen in Verbindung mit neuronalen Netzen deutlich. Oftmals weiß man nicht, was genau gelernt wird und das lässt sich auch schwer herausfinden, Stichwort Explainable AI. Man glaubt, herausgefunden zu haben, was KI- und Nicht-KI-Texte unterscheidet, kann in Wirklichkeit aber nur zwischen "sprachlich geschliffenen" und "sprachlich nicht-geschliffenen" Texten unterscheiden.

Es ist also noch viel zu tun und wir können gespannt bleiben, was auch die kommende Woche uns bringt!

Arch Linux zieht auf Git um und ändert Testing-Repositories

Diese Nachricht ist insbesondere für alle Testing-Nutzer von Bedeutung: Arch Linux wird die Repositories umstellen, die für den Bezug der Testing-Pakete erforderlich sind.

Hintergrund ist die Migration von SVN auf Git in der Infrastruktur von Arch Linux. Dazu werden von Freitag, dem 19. Mai 2023 bis Sonntag, dem 21. Mai 2023 die Repositories eingefroren - das Arch Linux Packaging Team wird in der Zeit keine neuen Pakete bereitstellen können. Durch die Umstellung werden der SVN-Zugriff sowie der svn2git-Mirror obsolet.

Nach der Umstellung werden die Testing- und Staging-Repositories aufgespaltet und das Community-Repository aufgelöst:

  • [testing] wird aufgeteilt in [core-testing] und [extra-testing]
  • [staging] wird aufgeteilt in [core-staging] und [extra-staging]
  • [community] wird in [extra] überführt

Nutzer von Arch Linux müssen auf die Änderungen folgendermaßen ab Montag, dem 22. Mai 2023 reagieren:

  • (Optional) für alle Nutzer: in der /etc/pacman.conf kann der [community]-Abschnitt entfernt werden.
  • Für Testing-Nutzer: in der /etc/pacman.conf müssen der Abschnitt für [testing] entfernt und zwei neue für [core-testing] und [extra-testing] hinzugefügt werden. Das gleiche muss, wenn eingesetzt, für das Staging-Repository unternommen werden.

Wer als Nutzer von Arch Linux keine Testing-Repositories einsetzt, muss kurzfristig auch nichts unternehmen, da das Extra-Repository nun auch alle Pakete des Community-Repositories führt. In einer Übergangsphase werden die drei nun aufgelösten Repositories (community, testing, staging) leer ausgeliefert. Mittelfristig sollten diese Repositories aber aus der /etc/pacman.conf entfernt werden, um Fehler zu vermeiden, wenn die Bereitstellung endet.

Weitere Inforamtionen zur Umstellung sind in der Mitteilung von Arch Linux vom 15. Mai 2023 zu finden.

KI-Wochenrückblick KW 19/2023

In dieser Woche fasse ich mich mit dem Wochenrückblick recht kurz, im Wesentlichen war die Woche vom Google-Event geprägt.

Google I/O

Wer die KI-Entwicklung der letzten Wochen und Monate beobachtet hat, wird bemerkt haben, dass Google bisher mit der Veröffentlichung von Modellen und Projekten zurückhaltender war. Mit der Google I/O hat sich Google allerdings wieder vermehrt an die Öffentlichkeit gewagt, wie sich im umfangreichen Blogartikel lesen lassen kann.

Im Vordergrund stand insbesondere PaLM 2, welches laut Vorstellungsbeitrag besonders in drei Punkten nachzieht: Multilingualität, Schlussfolgerung und Coding. Letzter Punkt mag interessant sein, da wir in der letzten Woche sehen konnten, wie viele Open-Source-Coding-LLMs veröffentlicht wurden. PaLM 2 soll bereits schon in 25 (neuen) Google-Produkten arbeiten.

LLaMA-13B auf 6-GB-Grafikkarten

Während Google PaLM 2 vorstellt, aber die Gewichte nicht veröffentlicht, geht die Entwicklung bei den offeneren Modellen ungebremst weiter. Insbesondere die Zugänglichkeit im Bezug auf die Ressourcen wird laufend verbessert.

LLaMA-13B (13 Mrd. Parameter) wurde nun im Rahmen des llama.cpp-Projekts so eingesetzt, dass es auf einer NVIDIA RTX 2060 mit 6 GB VRAM lauffähig wird. Damit werden nicht nur die kleinsten Modelle auf normaleren Grafikkarten betreibbar, sondern auch die etwas größeren Modelle.

OMR23 mit dem Thema KI

Wie letzte Woche schon angekündigt, war ich diese Woche auf der OMR. Der Fokus der Konferenz lag dieses Jahr - wie konnte es anders sein - auch auf dem KI-Themenkomplex und so haben sich viele Vorträge daran ausgerichtet.

Einige der Vorträge können online abgerufen werden, darunter der von Jonas Andrulis von Aleph Alpha oder der von Philipp Justus und Zeina Hatem von Google. Das ist für alle interessant, die sehen wollen, wie die KI-Firmen diese Thematik betrachten.

Schauen wir auch diese Woche wieder, was uns die neue Woche bringt. Es bleibt spannend!

KI-Wochenrückblick KW 18/2023

Eine weitere Woche ist vergangen, in der sich in der KI-Welt wieder viel bewegt hat. Im heutigen Wochenrückblick wird der Fokus auf dem Thema liegen, das seit Wochen heiß diskutiert wird: Open Source.

Open-Source-Trend

Ich habe ja schon in den vergangenen Wochen angemerkt, dass der Trend weiter in Richtung Open-Source-Modelle geht. Die Arbeit mit neuronalen Netzen ist in der Regel kreativ und experimentell und da war es bisher ein Hindernis, dass die Modelle aufgrund der hohen Parameterzahl so groß waren. Genau diesen Umstand konnten kommerzielle Akteure ausnutzen und damit einen "Burggraben" ziehen, auf den ich nachher noch eingehen werde. Große KI-Modelle lassen sich nur mit hohem finanziellen Aufwand ausführen und schon gar nicht auf normaler Hardware trainieren.

Seit Metas LLaMA scheint dieser Damm allerdings gebrochen zu sein. Mit LLaMA wurde ein hochwertiges Modell der Allgemeinheit freigegeben, wenn auch unter einer sehr restriktiven nicht-kommerziellen Lizenz. Da die Gewichte (also das Blut in den Venen des Modells, d. h. Architektur + Gewichte = nutzbares Produkt) allerdings ausgewählten Forschern der Öffentlichkeit zur Verfügung gestellt wurden, dauert es nicht lange, bis sie geleakt wurden. Für quasi alle.

Die Folgen waren ganz interessant: die Community begann, die Modelle auszuprobieren. Als Erstes wurde mit llama.cpp die Quantisierung populär: wenn wir sowieso schon mit Unschärfe arbeiten, wird die Präzision nachrangig und es ist nicht mehr erheblich, ob wir 32-Bit-Floats oder 8-Bit-Floats nutzen. Reduzieren wir die Bits pro Gewicht, reduzieren wir die Modellgröße im (GPU-)RAM und machen das Modell verarbeitbarer. Schlagartig wird ein vortrainiertes Modell wie LLaMA sogar auf CPUs lauffähig und zum sog. Foundation Model, das nun für einen bestimmten Zweck nachtrainiert werden kann. Auch hier hat die Community Techniken wie LoRA angewandt, die den Trainingsaufwand reduzieren.

Dabei stellt sich schnell die Frage, wie weit die großen Firmen noch voraus sind. Glaubt man dem geleakten Memo eines Google-Engineers, schätzt er ein, dass der Burggraben (engl. Moat) nicht mehr so groß ist. Er glaubt zudem auch, dass das gleiche für OpenAI gilt. Der Economic Moat ist im übrigen ein Begriff von Warren Buffet und symbolisiert den Wettbewerbsvorteil von Unternehmen.

Neue Open-Source-Modelle

Metas LLaMA kann man nicht klassisch als "Open Source" bezeichnen, weil die Lizenz restriktiv ist und das Teilen der Gewichte zum Beispiel verbietet. Ich weiß, dass "freie Modelle" (im Sinne von "freie Software") anstatt "Open Source" die korrektere Wortwahl wäre, möchte mich aber an den Begriffen der Community halten.

Während der Zeit enstanden einige Fine-tunings (Nachtrainings), die auf speziellen Datasets beruhten, die tatsächlich frei waren. Besonders ist hier Databricks' Dolly-15k hervorzuheben. Allerdings werden finegetunte Modelle auf LLaMA-Basis nicht freier als LLaMA selber, weswegen es sich nur um eine Zwischenlösung handelte.

Das war Stand Anfang April 2023. Nun gibt es Modelle, die von Grund auf so trainiert und lizenziert wurden, dass es eine einheitliche Lizenz gibt. In dieser Woche kamen viele neue Modelle diesbezüglich heraus, darunter:

  • StarCoder von HuggingFace für Programmieraufgaben,
  • RedPajama-INCITE von Together AI als freier LLaMA-Nachbau und
  • MPT-7B von MosaicML als weiteres freies Foundation Model.

Das Transformer-Framework von HuggingFace ist gut geeignet, um die Modelle zu testen und Anleitungen in den Model Cards helfen beim Einstieg.

OMR23

Nächste Woche werde ich auch auf der OMR23 in Hamburg sein. Auch das Thema künstliche Intelligenz und deren Auswirkungen wird dort präsent sein. Wer auch auf der OMR ist, kann mich gerne via Mail oder LinkedIn anschreiben, sodass man sich eventuell treffen kann!

KI-Wochenrückblick KW 17/2023

Diese Woche hat auch wieder spannende Neuigkeiten geboten, die ich euch gerne vorstellen möchte. Legen wir los!

StableLM

Eingangs möchte ich euch heute das Modell StableLM vorstellen. Hierbei handelt es sich um ein Open-Source-LLM aus dem Hause Stability AI – das Team, das auch schon Stable Diffusion populär gemacht hat. Es wurde am 19. April 2023 vorgestellt und steht in verschiedenen Parameterzahlen zur Verfügung, darunter z. B. 7 Milliarden Parameter. Technisch wird die Grundlage durch Pythia und somit auch GPT-NeoX gebildet.

Das Grundtraining von StableLM basiert auf The Pile mit einigen Anpassungen. Diese Anpassungen ermöglichen es, dass ein qualitativ hochwertiges Modell mit deutlich weniger Parametern erstellt werden konnte.

DeepFloyd IF

Stability AI hat in dieser Woche zwei weitere interessante Modelle veröffentlicht, darunter eines in Partnerschaft mit der DeepFloyd-Gruppe. DeepFloyd IF wurde am 28. April 2023 veröffentlicht. Eine der spannendsten Neuigkeiten ist die Fähigkeit, sauberen Text in generierte Bilder einzuarbeiten. Wer Modelle wie DALLE-2 oder Stable Diffusion kennt, weiß, dass dies oft eine Herausforderung ist und oft schlecht aussieht.

Diese Fähigkeiten ermöglichen auch völlig neue Anwendungen in Kunst und Design, weil die Gestaltung von Schrift besser abgedeckt werden kann. Das Modell ist auf HuggingFace verfügbar, im Veröffentlichungsartikel sind schon einige Beispiele dargestellt worden.

StableVicuna

Das zweite Modell in dieser Woche von Stability AI heißt StableVicuna und wurde ebenfalls am 28. April veröffentlicht. Es ist eines der ersten großen Open-Source-Sprachmodelle, das nicht nur klassisch auf Instruktionen gefinetuned, sondern auch mittels RLHF verbessert wurde. Beide Konzepte sind einige der Erfolgsgeheimnisse von ChatGPT.

Um StableVicuna einsetzen zu können, wird allerdings ein Zugang zu LLaMA von Meta AI benötigt, da dies die Grundlage für Vicuna bildet, worauf StableVicuna aufsetzt. Aus diesem Grund sind die Gewichte nur als Deltas verfügbar.

Großes Übersichtsarbeit zu LLMs

Die Arbeit Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond ist momentan eine der aktuellsten und besten Übersichtsarbeiten zum Thema LLMs. Neben einem Stammbaum, der im Gegensatz zu meiner Timeline eher auf die Grundarchitektur und weniger auf die Details abzielt, werden konkrete Bemerkungen und Einordnungen zu Architektur, Aufgabenstellungen und Abwägungen bei der Entwicklung gegeben.

Für alle, die mit oder an LLMs entwickeln möchten, lohnt sich ein Blick in das dazugehörige GitHub-Repository, das eine Linkliste beinhaltet.

ChatGPT in Italien wieder verfügbar

Das vor einigen Wochen in Italien gesperrte ChatGPT ist nun wieder verfügbar. OpenAI hat an vielen Stellen nachgebessert und konnte den akuten Anliegen entgegenkommen. Nun beginnt die Detailarbeit, die allerdings erwartungsgemäß eher im Hintergrund ablaufen wird.

LLMs als Sprachgeneratoren werden in den praktischen Anwendungen allerdings noch vielen Herausforderungen gegenüber stehen: so sind weiterhin Sprachgenerierung und Wissensbereitstellung in meinen Augen zu eng miteinander verbunden. Speziell wenn wir das "Recht auf Vergessen" diskutieren, müssen wir uns vor Augen führen, dass die verbreiteten LLMs über keinen Wissensspeicher verfügen, in dem falsches Wissen steht und dann korrigiert oder entfernt werden kann. Vielmehr ist dieses Wissen die Fähigkeit selbst, eine Sprache zu sprechen. In der Praxis sollen allerdings logischerweise falsche Aussagen vermieden werden. Damit das zuverlässiger möglich ist, wird vermutlich noch einiges an Forschung benötigt werden. Und vielleicht sind die Transformer in Zukunft nicht das Mittel der Wahl, wenn Projekte wie RWKV-LM voranschreiten.

KI-Wochenrückblick KW 16/2023

In dieser Woche gab es wieder eine Reihe von KI-Entwicklungen, die ich euch heute vorstellen möchte. Auch in dieser Woche zeichnet sich wieder ein Trend ab: die Open-Source-Community schreitet auch bei der Entwicklung von eigenen Modellen voran.

RedPajama

Rechtlich befinden sich LLMs weiterhin oftmals in einer Grauzone. Die gefeierten, erfolgreichen Systeme wurden nicht nur mit viel Rechenkraft, sondern auch anhand eines bestimmten Datensatzes trainiert. Dieser ist in der Regel nicht öffentlich zugänglich. Diese Modelle, die aus dem Nichts trainiert wurden und grundsätzliche Fähigkeiten bereitstellen, werden auch als Foundation Models bezeichnet. Darauf aufbauend wird ein gewisses Fine-tuning unternommen, womit z. B. die Chatfähigkeiten deutlich verbessert werden.

Während Databricks mit Dolly 2.0 schon einen bemerkenswerten Auftakt zur Entwicklung offener LLMs angeboten hat, wurden die Foundation Models bisher wenig angetastet. Das soll sich nun mit RedPajama ändern. Das Projekt hat es sich vorgenommen, den Trainingsdatensatz hinter dem erfolgreichen, aber nicht-offenen LLaMA zu reproduzieren. Anschließend sollen freie Foundation Models trainiert werden.

Die Erstellung des Datensatzes ist nun abgeschlossen, die Ergebnisse können im oben verlinkten Artikel nachvollzogen werden. Nun steht das Training an. Vorteil solcher Modelle ist, dass sie rechtlich einfacher weiterverwendet und -trainiert werden können, was sehr wahrscheinlich einen Innovationsschub verursachen wird. Freie Modelle sind momentan das A und O für eine erfolgreiche Forschung, weil nur kleine Teile am Modell nachtrainiert werden.

VideoLDM

Ich war schon bei der Veröffentlichung von DALL-E und Stable Diffusion davon überzeugt, dass es nur noch eine Frage der Zeit ist, bis nicht nur Bilder, sondern auch Bildersequenz - Videos - generiert werden können. Nun ist es soweit: das Team rund um Andreas Blattmann und Robin Rombach hat mit Align your Latents: High-Resolution Video Synthesis with Latent Diffusion Models die ersten Ergebnisse ihrer Arbeit präsentiert.

Und diese können sich sehen lassen: den auf der Übersichtsseite vorgestellten Videosequenzen sieht man an vielen Stellen noch Unregelmäßigkeiten an, die auf eine Computergenerierung schließen lassen, aber je nach Setting sieht das extrem flüssig und hochwertig aus.

Dazu muss man die Dimension berücksichtigen: immerhin werden die kompletten Szenen aus einer kleinen Textbeschreibung erzeugt. Keine komplexen Beschreibungen oder Modellierung einer Szenerie, keine Animation, keine Videobearbeitung - direkt die Videos. Insbesondere für Filmstudios kann dies einen enormen Umbruch einleiten - entweder als Ergänzung oder aber auch als Ersatz.

NaturalSpeech 2

Modelle, die auf latente Diffusion setzen, haben nicht nur Stable Diffusion und VideoLDM ermöglicht. Ein Team von Microsoft Research hat sich jetzt Sprachsynthese unter Einsatz eines LDM (Latent Diffusion Model) vorgenommen und kommt zu erstaunlichen Ergebnissen.

Auf ihrer Seite können die Beispiele angehört werden.

Bark

Wo wir schon bei schon bei Sprachsynthese sind: könnt ihr euch noch an die Google I/O im Jahre 2018 erinnern? Eines der Highlights war die Demo von Google Duplex. Hier konnte das System selbstständig Personen anrufen, um z. B. Termine zu verabreden und Sprach dabei wie ein Mensch - mit allen Zwischenlauten und Pausen.

Mit Bark kann ein solches System selber ausprobiert werden. Grundsätzlich handelt es sich hierbei um eine normale Text-zu-Sprache-Anwendung, allerdings können Zusatzlaute wie Lachen, Schlucken oder Räuspern eingefügt werden. Darüber hinaus können Wörter besonders betont werden. Die Anwendung bietet beeindruckende Ergebnisse und zeigt, dass in Sachen Sprachsynthese noch einiges an Entwicklung momentan stattfindet.

Aktuelle Entwicklung werden zeitnah im Zeitstrahl der LLMs bzw. Transformer-Modelle vorgestellt.

KI-Wochenrückblick KW 15/2023

Im heutigen Wochenrückblick werde ich, wie gehabt, einige spannende Einblicke in die KI-Welt der letzten Tage präsentieren. Einige der Nachrichten stammen aus dieser Woche, bei anderen etwas älteren Themen möchte ich diesen Wochenrückblick zur Nachbesprechung nutzen.

Generative Agenten

Diese Woche war insbesondere von einem Paper geprägt: Generative Agents: Interactive Simulacra of Human Behavior. Wer sich noch an Spiele wie "Die Sims" erinnert, wird Teile der Funktionsweise wiedererkennen. 25 Spieler bzw. Avatare wurden auf die virtuelle Welt Smallville losgelassen und können dort textbasiert miteinander interagieren. Jeder Avatar wird durch einen Agenten repräsentiert. Das ist gerade sinnvoll, weil Ausgaben vom einem Avatar als Eingabe für einen anderen Avatar dienen können.

Damit alles funktioniert, haben die Forscher im Paper beschrieben, wie sie das auf GPT-3.5 aufbauende Systeme angepasst haben, um wie richtige "intelligente Agenten" agieren zu können. Das Ergebnis ist eine virtuelle Spielwelt, in der sich die virtuellen Avatare begrüßen, ihren Tag planen oder besondere Termine wie den Valentinstag berücksichtigen – und wir können zuschauen.

Agenten sind ein relativ altes Konzept der künstlichen Intelligenz und betreffen tatsächlich nicht nur Machine Learning direkt. Es geht insbesondere um die Simulation von Ergebnissen, um die Zusamennarbeit bestimmter Akteure praktisch auszutesten. ChatGPT zeichnet sich hierbei durch den Wissensschatz und die Vielfältigkeit aus, was diese Arbeit so interessant macht.

Besonders spannend ist dabei die Wirkungsweise, wie Agenten sich Dinge merken können. Hier war in den letzten Wochen besonders viel Forschungsaktivität zu beobachten, da weiterhin das "Wissen" eines Transformers durch die Eingabe bestimmt wird und Tricks bzw. Datenbanken notwendig sind, um Fakten langfristig zu bewahren.

Dolly 2.0

Databricks hat in dieser Woche Dolly 2.0 veröffentlicht. Die Besonderheit liegt in der Lizenz, denn das Dataset databricks-dolly-15k, auf dem das auf Pythia basierende Modell fingetuned wurde, steht unter der CC-BY-SA-3.0-Lizenz.

Das ist wichtig, weil ein Nachteil bisheriger Modelle wie Alpaca oder GPT4All darin lag, dass die Herkunftskette durch proprietäre, d.h. urherrechtlich geschützte und nicht lizenzierte Daten gekennzeichnet ist. Mit einem solchen freien Dataset wäre das Training allerdings rechtlich eindeutiger möglich.

Open Assisstant

Mit Spannung habe ich diese Woche die Veröffentlichung eines der Teilergebnisse des Open Assistants erwartet. Bei dem Projekt geht es darum, eine Open-Source-Alternative zu ChatGPT zu bauen. Mühsam musste daher durch Community-Unterstüzung ein Dataset aufgebaut werden. Dieses Dataset wurde nun veröffentlicht.

Das LLaMA-basierte Modell konnte noch nicht veröffentlicht werden, eine Delta-Version soll in Kürze freigegeben werden.

Zeitleiste der Transformer-basierten Modelle

Abschließend ein Projekt in eigener Sache: mit der Zeitleiste für die Transformer-Modelle baue ich momentan eine Überblicksseite samt Diagramm der verschiedenen Modelle. Es hat als kleines Projekt angefangen und wird immer größer, da mir immer mehr bewusst wird, wie sehr die heutigen ML-Projekte "auf den Schultern von Riesen stehen".

Die Seite ist für alle interessant, die sehen wollen, welche Modelle, Methoden und Papers aktuell diskutiert werden und wie sie voneinander abstammen. Über Feedback freue ich mich gerne!

Neue Podcastepisode Risikozone RZ019: Open-Source-KI, BGP und RPKI, Supply-Chain-Angriffe, Firefox

Seit September letzten Jahres produziere ich den Risikozone-Podcast. Über das vergangene halbe Jahr sind auf diese Weise schon 19 Episoden entstanden, die üblicherweise zwischen 40 und 60 Minuten lang sind. Ein besonderes Highlight war die Sonderepisode 6, wo wir Sönke Huster interviewt haben, der über die Erfahrungen beim Auffinden von Sicherheitslücken im WLAN-Stack des Linux-Kernels berichten konnte.

In weiteren Episoden haben wir bereits über Grundlagen der IT-Sicherheit gesprochen, darunter E-Mail-Hosting, VPNs, Mastodon, symmetrische Kryptosysteme oder asymmetrische Kryptosysteme. Ein immer stärkerer Fokus wird allerdings auch auf Machine-Learning-Modelle gerichtet, wie schon im Dezember über ChatGPT angesprochen.

In der heutigen Risikozone-Episode Nr. 19 geht es um eine ganze Reihe von Themen und aktuellen Nachrichten, die wir gestern aufgegriffen haben. Dabei ist ein konkretes Open-Source-Thema dabei, was ich euch nicht vorenthalten möchte.

Open Source wird bei KI-Systemen und hier den oft angesprochenen Large-Language-Models (LLMs) eine besondere Rolle spielen, denn bisher gibt es wenige große Anbieter, die in ihrer Rolle gleichzeitig auch als Gatekeeper fungieren. Gatekeeper, da sie einerseits proprietär die Gewichte bzw. Parameter für sich behalten möchten, aber andererseits auch eine Sicherheitsfunktion einnehmen.

Hier steht Sicherheit dem Open-Source-Gedanken gegenüber. Wer allerdings jetzt nach Verboten von "ungeprüfter" Open-Source-KI ruft, verkennt in meinen Augen allerdings die Bedeutung für die IT-Sicherheit. Es muss immer davon ausgegangen werden, dass "bad actors", also bösartige Akteure, alle technischen Möglichkeiten ausnutzen. Das umfasst auch das eigenständige Beschaffen von Trainingsdaten, Architekturspezifikationen und Rechenressourcen. Sich also nun auf Verbote und Moratorien zu verlassen, bringt im Ergebnis wenig. Ob die Open-Source-Modelle nun verfügbar oder verboten sind, hat auf bösartige Akteure keinen Einfluss und hemmt zudem noch die Weiterentwicklung "gutartiger" Modelle.

Indirekt lässt sich auch hier Kerckhoff's Prinzip anwenden, welches eigentlich eher aus der Welt der Kryptographie kommt:

Es darf nicht der Geheheimhaltung bedürfen und soll ohne Schaden in Feindeshand fallen können.

— Auguste Kerckhoffs: La cryptographie militaire 1883

Heißt also: Software resilient und sicher gestalten, Schutzmaßnahmen ausbauen, sich Gefahren nicht schönreden. Ein Beispiel ist da die Absicherung von BGP durch RPKI, wie sie von der niederländischen Regierung vorangetrieben wird. Auch das wird heute in der Episode kurz besprochen.

Auch wenn viele LLMs momentan frei ausgetauscht werden, sind sie oftmals nicht frei lizenziert, insbesondere, wenn sie von Meta AIs LLaMa abstammen. Das ist so ein bisschen wie das Unix von früher. Ausprobieren: jaein, selber verteilen: nein. Ein Auge richte ich momentan auf das Projekt Open Assistant, hier soll diesen Samstag das erste eigene, größere frei lizenzierte LLM veröffentlicht werden. Es bleibt also spannend.

Die Shownotes und das automatisiert erstellte Transkript befinden sich auf der Episodenseite, Informationen zum RSS-Feed auf der eigens dafür eingerichteten Unterseite. Feedback könnte ihr gerne als E-Mail oder Kommentar hier oder auf risikozone.de geben.

Neues Blogdesign

Es ist soweit: seit heute erstrahlt der Blog in einem neuen Blogdesign. In diesem Artikel gebe ich einen kleinen Überblick über die Motivation und die Änderungen.

Knapp fünf Jahre ist es her, dass ich das Design meines Blogs überarbeitet habe. Nun ist es wieder soweit: heute ging das neue Design des nun siebenjährigen Blogs live, an dem in den vergangenen Wochen und Monaten viel gearbeitet und geschraubt wurde. In diesem Artikel werde ich kurz die Hintergründe, ausgewählte technische Details sowie einen Ausblick präsentieren.

Im Schnelldurchlauf kurz einmal die Neuerungen und Nicht-Neuerungen:

  • Grundsätzlich: Es wurde im Wesentlichen das Template überarbeitet. Die technische Grundlage wird weiterhin durch Django und MySQL gebildet.
  • Das bedeutet auch: Cool URIs don't change. So auch bei dieser Änderung. Die Blog-URLs (insb. für die Artikel) bleiben erhalten, nur die Darstellung ändert sich.
  • Das Blogdesign setzt nun auf Tailwind CSS und nicht mehr auf Boostrap 4.
  • Flexboxen und Grids werden jetzt voll ausgenutzt. Gleiches gilt für den Dark Mode.
  • Eine lokale Suche ist nun wieder verfügbar.
  • Die Mehrsprachenfähigkeit wird in den nächsten Tagen und Wochen noch implementiert.
  • Komplett entfernt wurde die AMP-Unterstützung, diese wurde aber seit 2018 auch nie richtig mehr eingeführt.

Organisatorisch

Bei der Umstrukturierung im Jahr 2018 stand im Vordergrund, mehr Magazinelemente implementieren zu können. Umgesetzt wurde das durch eine Reihe "ausgewählter Artikel", viele Seitenleisten und die strikte Unterteilung in Kategorien. Über die Jahre hat sich jedoch gezeigt, dass der Wert des Blogs insbesondere in der Aktualität der Blogeinträge liegt.

Aus diesem Grund steht beim neuen Design der jeweilige Blogartikel konsequent wieder im Vordergrund. Auf der Hauptseite befindet sich auch nun eine chronologische Auflistung der neusten Artikel. Die Artikelseiten stellen nun das Wichtigste dar: den Inhalt.

Zwar habe ich auch im Jahr 2018 geplant, Podcast-artige Elemente im Blog einzupflegen – für meinen Podcast Risikozone habe ich mich allerdings entschieden, das getrennt zu organisieren.

Ein Format wird allerdings trotzdem bleiben: der Microblog. Dieser entstand als Experiment vor einigen Jahren, um klassische Blogartikel und Kurzmeldungen auseinanderhalten zu können. Technisch sind auch die Feeds weiterhin getrennt: /feed/ ist der RSS-Feed von den normalen Artikeln, /feed/status/ von den Kurz- bzw. Statusmeldungen. Im neuen Blogdesign werden beide Inhalte aber einheitlicher in der Übersicht dargestellt.

Thematisch wird der Blog weiterhin Open-Source-Themen im Fokus behalten, zusätzlich aber auch den Komplex der Künstlichen Intelligenz aufnehmen. Dabei schließt das Eine das Andere nicht aus: ein wichtiger Aspekt der aktuellen Diskussion ist es, Architekturen und Gewichte moderner Machine-Learning-Systeme offen zugänglich zu machen. Auf meinem Blog werde ich Neuerungen und Einschätzungen in diesem Feld zukünftig teilen.

Dabei ist mir auch die Mehrsprachigkeit für die Zugänglichkeit wichtig, weswegen künftig ein größerer Anteil von Artikeln in Deutsch und Englisch veröffentlicht werden soll.

Technisch

Technisch bleibt weiterhin Django das Fundament. Django verrichtet problemlos seit Jahren seine Arbeit und ist einfach anpassbar.

Nicht so einfach anpassbar war das Design bzw. die Struktur dahinter. Deswegen wurden die Templates zu weiten Teilen neu implementiert. Das habe ich als Chance genutzt, den Frontend-Stack einmal zu überarbeiten. Hier setze ich nun auf das Utility-CSS-Framework Tailwind CSS, welches gut mit Template-Engines zusammenarbeitet.

Flexbox und Grids sind Elemente moderner CSS-Entwicklung, um auch die letzten Tabellen und Listen als Stylingelemente zu ersetzen. Diese neuen Elemente habe ich ebenso eingeführt wie den Dark Mode, der sich in den vergangenen Jahren auch als De-facto-Standard entwickelt hat.

Ausblick

Die Umgestaltung ist noch nicht vollständig abgeschlossen. Insbesondere die Internationalisierung (i18n) bedarf noch einiger Anpassungen, da das Blogtheme nun ins Englische, aber noch nicht wieder ins Deutsche rückübersetzt wurde.

Kosmetische Änderungen werden zeitnah und sukzessive eingepflegt. Sollte etwas noch nicht wie gewohnt funktionieren, könnt ihr euch gerne bei mir melden.

Danksagung

Abschließend möchte ich mich bei meinem Bruder Nikolas und meinen Lesern bedanken. Nikolas hat mich wesentlich bei der Konzeption und Implementierung des Designs unterstützt. Meine Leserschaft liest seit vielen Jahren schon meine Artikel und gibt mir regelmäßig per E-Mail oder Kommentar Feedback. Vielen Dank!

Sollte euch etwas besonders gefallen oder, was ich zu vermeiden versuche, stören, könnt ihr mir gerne auch weiterhin eine E-Mail oder einen Kommentar schreiben!

KI-Wochenrückblick KW 14/2023

Im heutigen Wochenrückblick werde ich einige spannende Einblicke in die KI-Welt der letzten Tage präsentieren. Einige der Nachrichten stammen aus dieser Woche, bei anderen etwas älteren Themen möchte ich diesen Wochenrückblick zur Nachbesprechung nutzen.

LLaMa-Adapter

LLaMA-Adapter (Paper) ist so spannend, dass ich es euch nicht vorenthalten möchte. Über die letzten Wochen haben sich im Rahmen der ChatGPT-DIY-Konkurrenzmodelle einige Modelle und vor allem Methodiken für das Finetuning dieser herausgebildet.

Eine wichtige Rolle hat hierbei Metas LLaMA eingenommen. Das Modell ist zwar für ausgewählte Forscher mit den Gewichten verfügbar, steht aber unter einer restriktiven Lizenz. Trotzdem haben sich verschiedene Methodiken herausgebildet, LLaMa auf die eigenen Bedürfnisse feinzutunen, um insbesondere bessere Resultate zu erhalten.

Eines der ersten verbreiteten Verfahren hierfür war Alpaca. Dabei wurde ein spezielles Dataset herangezogen (52k Instruct), das aus Instruktionen bestand. Anschließend wurde LLaMa(-7B) genommen und die bestehenden Gewichte so angepasst, dass der Loss auf das Dataset als Trainingsdatensatz verringert wird. Problematisch hierbei: alle Gewichte müssen "angefasst" werden – und mit mindestens 7 Mrd. sind es nicht wenige.

LLaMa-Adapter nutzt einen anderen Ansatz und friert erst einmal die bestehenden Gewichte ein. Für das Finetuning wird eine eigene Schicht mit 1,2 Mio. neuen Gewichten hinzugefügt, wobei nur diese trainiert werden. Das Ergebnis ist ein Training, welches lediglich unter einer Stunde mit 8 A100-GPUs dauert. Diese Effizienz schlägt sich in einer kürzeren Trainingszeit und somit auch geringeren Kosten nieder.

Als sei das nicht genug, ermöglicht LLaMa-Adapter auch die Implementierung von Mutlimodalen Modellen, wo zusätzlich zur Texteingabe Bilder als solche verarbeitet werden können.

Semgment Anything Model

Meta bzw. Facebook nimmt in der aktuellen KI-Forschung eine ganz besondere Rolle ein. Denn oft sind es gerade die Entwicklungen und Modelle von Meta, die in der Community weite Anerkennung und Verbreitung finden.

In der aktuellsten Veröffentlichung aus dieser Woche widmen sich die KI-Forscher von Meta der Bildsegmentierung und stellen eines der Modelle frei einsehbar zur Verfügung.

Mit Bildsegmentierung dürften viele iOS-Nutzer letztes Jahr mit der Umstellung auf Version 16 in Kontakt bekommen sein. Eines der zentralen neuen Features war die Möglichkeit, sehr einfach Objekte in Bildern freistellen zu können ("cut out"). Dabei ist es entscheidend, sauber Objekte auf einem Bild trennen zu können.

Das Semgent Anything Model (SAM) stellt solche Möglichkeiten nun für Jedermann zur Verfügung, der damit arbeiten oder forschen möchte. Von Meta werden hierfür das Paper, der Datensatz und eine Demo bereitgestellt.

Auto-GPT

Mit Auto-GPT wurde diese Woche ein experimentelles Werkzeug bekannt, das GPT-4 bzw. GPT-3.5 direkt an den Computer anschließt, um automatisiert Ziele erarbeiten zu können. Man kann sich das wie die ChatGPT Plugins, nur mit viel mehr Freiheiten vorstellen. Um die Ziele zu erreichen, kann z. B. das System im Internet suchen oder auch Dateien lesen.

Für den einzelnen Endnutzer ist natürlich der Einsatz sehr riskant, da das System a) Zugriff auf den eigenen Computer hat und b) nicht vorhersagbar in Bezug auf das nächste ausgeführte Kommando ist. Trotzdem zeigt das Experiment, dass die GPT-Modelle heute beindruckend gut Ziele erreichen können, wenn sie eine Schnittstelle zu einem Computer erhalten.

Das war der KI-Wochenrückblick mit einer Auswahl von spannenden Nachrichten für diese Woche. Ich freue mich schon auf die nächste Woche, wenn wir wieder die Neuerungen der nächsten Woche besprechen können!

KI-Wochenrückblick KW 13/2023

In dieser Woche gab es ebenfalls spannende Entwicklungen im Bereich der Künstlichen Intelligenz, die ich mit euch im KI-Wochenrückblick vorstellen möchte.

GPT4All

Die Welt der offenen GPT-artigen Modelle wurde in dieser Woche um ein weiteres Mitglied reicher: GPT4All. Das Projekt veröffentlicht neben einem Bericht eine Demo, Daten und Code, um ein Assistenten-ähnliches Sprachmodell auf LLaMa-7B-Basis zu trainieren. GPT4All nutzt rund eine Million Dialogpaare, die mit GPT-3.5-Turbo von OpenAI zwischen dem 20. März und 26. März 2023 generiert wurden. Die Daten stammen aus verschiedenen Quellen, darunter LAION OIG, Stack Overflow und Bigscience/P3. Nach Bereinigung der Datensätze verbleiben 437.605 Dialogpaare, die für das Training verwendet werden. Das Projekt veröffentlicht nicht nur die trainierten Modellgewichte, sondern auch 4-Bit-quantisierte Versionen, die eine Ausführung des Modells auf herkömmlichen CPUs ermöglichen.

Forderung nach einem Moratorium für KI

Ein offener Brief des Future of Life Institute, unterzeichnet von Persönlichkeiten wie Elon Musk oder Steve Wozniak, fordert ein mindestens sechmonatiges Moratorium für die Entwicklung von KI-Modellen, die leistungsstärker sind als GPT-4. Die Unterzeichner argumentieren, dass eine solche Pause notwendig sei, um sicherzustellen, dass die KI der Menschheit dient und nicht schadet. In den Reaktionen (z. B. 1 oder 2) gibt es für den Vorstoß auch viel Gegenwind.

Italien sperrt ChatGPT

Die italienische Datenschutzbehörde hat gegenüber OpenAI eine Sperrung von ChatGPT angeordnet, die zwischenzeitlich bereits offenbar umgesetzt wurde. Der Grund für die Sperrung sind angeführte Verstöße gegen Datenschutz- und Jugendschutzbestimmungen. Die Behörde kritisiert nach FAZ-Angaben insbesondere, dass OpenAI keine ausreichende Rechtsgrundlage für das Sammeln und Speichern von bestimmten personenbezogenen Daten habe. OpenAI muss innerhalb von 20 Tagen über die ergriffenen Maßnahmen informieren, sonst droht eine Straße von bis zu 20 Millionen Euro oder 4 % des Jahresumsatzes. Die erfolgte Sperrung steht auch im Zusammenhang mit der Störung vom 20. März, bei der durch einen Bug in der redis-py-Bibliothek Nutzer Daten Anderer erhalten haben.

Insgesamt zeigt sich, dass die KI-Branche weiterhin rasant voranschreitet, aber auch vor klassischen rechtlichen Herausforderungen steht. Es bleibt spannend, wie sich das Feld auch in der nächsten Woche entwickelt.

KI-Wochenrückblick KW 12/2023

Während vergangene Woche die Nachrichten sich täglich überschlagen haben, ging es diese Woche etwas ruhiger zu – was aber nicht bedeutet, dass die Neuerungen weniger bahnbrechend sind. Die Woche im KI-Wochenrückblick.

ChatGPT Plugins

Wer die 17. Episode des Risikozone-Podcasts gehört hat, weiß, dass ich schon länger eine Erweiterung der "Text-KIs" skizziert habe, die das Sprachmodell auf die Textgenerierung beschränkt, aber die Informationsbeschaffung auf klassischem, deterministischem Weg umsetzt. Das habe aber nicht nur ich so gedacht, sondern auch die Forscher hinter Toolforge oder Entwickler hinter Werkzeugen wie LangChain oder ICortex. OpenAI hat ChatGPT mit den ChatGPT Plugins diese Woche seiner Text-KI genau diese Möglichkeit ebenfalls verpasst. Was als kleiner Schritt erscheint, dreht kurzfristig die KI-Nahrungskette um: während bisher die GPT-Modelle das Werkzeug waren, das in fertige Dienste integriert wurde, stellt ChatGPT nun das Tor in die Welt dar, das durch externe Informationen angereichert wird. So kann OpenAI nun z. B. einen Sachverhalt an WolframAlpha weiterleiten, ein Dienst, der (wissenschaftliche) Zusammenhänge präsizer verarbeiten kann und bereits seit langer Zeit die Grundlagen von Sprachassistenten darstellt. Weitere Informationen hierzu beschreibt Stephen Wolfram in seinem Blog. Aber auch Document Retreival, also das Durchsuchen der eigenen Datenberge, wird nun als Plugin unterstützt. Das dazugehörige GitHub-Repository chatgpt-retrieval-plugin trendet seit dem unentwegt.

Die Auswirkungen hinter dieser Neuerung werden maßgeblich durch die Bekanntheit von OpenAI verstärkt. Die Plugins setzen OpenAI jetzt in die Lage, Projekte und Startups, die lediglich ein Mashup, also eine Verschmelzung von GPT mit eigenen Informationen, angeboten haben, existentiell zu bedrohen. In diesem Aspekt ist OpenAI heute wie Google in den ersten Jahren: sie machen ein neues Feld besonders zugänglich, veröffentlichen in einer hohen Frequenz interessante Produkte – sind aber auch gefürchtet, weil sie die low-hanging fruits – die leichten Probleme – schnell lösen. Es bleibt weiterhin spannend.

Hello Dolly! Demokratisierung der Sprachmodelle

OpenAI wird zunehmend dafür kritisiert, die Entwicklung der neuen Sprachmodelle proprietär zu gestalten. Während GPT-2 noch einfach zugänglich war, ist GPT-3 nicht mehr einfach als Download verfügbar. Das ist natürlich für Forschung und Weiterentwicklung hinderlich, sichert für OpenAI aber nebenbei einen Wettbewerbsvorteil.

Die Antwort auf diesen "Missstand" kommt in diesen Tagen prompt: Databricks hat mit Hello Dolly an Alpaca aus letzter Woche angeknüpft und gezeigt, dass ein ChatGPT-ähnliches Modell auch auf Basis von GPT-J statt LLaMA (wie bei Alpaca) trainiert werden kann. GPT-J ist deshalb interessant, weil es noch aus der Zeit von vor zwei Jahren stammt, als Sprachmodelle offen bereitgestellt wurden.

Auch wenn GPT-J insgesamt über z. B. weniger Parameter verfügt, kann es trotzdem die hochwertigen Ergebnisse ermöglichen. Dabei zeichnet sich ab, dass die Methodik hinter Self-Instruct mächtig ist, was wiederum den Wettbewerbsvorteil der geheimen GPT-3-Gewichte relativiert.

Aber auch die Grundmodelle entwickeln sich weiter: so ist flan-ul2 von Google ein spannender Kandidat für ein solches Basismodell. flan-ul2 wurde erst Anfang des Monats veröffentlicht.

OpenAI stellt Codex-API ein

Realtiv geräuschlos stellte OpenAI offenbar die Zugänge zu den Codex-Modellen ein, hierzu gibt es nur Nutzerberichte. Im OpenAI Playground sind die Codex-Modelle auch nicht mehr anwählbar. Bemerkenswert ist hierbei die Vorwarnzeit, die lediglich wenige Tage betrug.

OpenAI Codex wurde 2021 veröffentlicht und war die spezielle Anpassung der GPT-3-Modelle für Code. Es bildete die Grundlage für den GitHub Copilot. GitHub hat in dieser Woche GitHub Copilot X vorgestellt, welcher nun auf GPT-4-Basis arbeitet. Die Einstellung von Codex ist hier schon fast folgerichtig, da OpenAI scheinbar ihr neues Modell GPT-4 als so allgemeingültig sieht, dass Textaufgaben und Codingprobleme über das gleiche System abgewickelt werden können.

Aber auch Codex bekommt Konkurrenz: Code Alpaca ist auch diese Woche erschienen und funktioniert ähnlich wie Alpaca, konzentriert sich aber speziell auf Codingprobleme. Die Web-Demo ist noch aktiv.

❌