Neue Programmiersprache 26.04.2023, 14:29 Uhr

LMQL verbessert die Interaktion mit grossen Sprachmodellen

Forscher der ETH Zürich haben die neue Programmiersprache LMQL entwickelt. Sie soll die Interaktion mit grossen Sprachmodellen wie ChatGPT nicht nur zuverlässiger, sondern auch sicherer sowie günstiger machen und Anwendern eine neue Art des Programmierens erlauben.
LMQL ist eine neue Programmiersprache, die an der ETH Zürich entwickelt wurde
(Quelle: SRI Lab/ETH Zürich)
Sprachmodelle wie ChatGPT sind heutzutage in aller Munde. Millionen von Nutzern interagieren täglich mit solchen Sprachmodellen, indem sie ihre Anwendungen in natürlicher Sprache formulieren. Das bedeutet, ein User muss selbst nicht über Programmierkenntnisse verfügen. Solche Interaktionen funktionieren in gewissen Fällen problemlos, in anderen Fällen versteht das Sprachmodell den Befehl des Anwenders nicht und präsentiert lediglich eine unbefriedigende Antwort. Sollte als Reaktion darauf eine weitere Anfrage gestellt werden, so versucht ChatGPT, die gemachten Fehler zu verbessern, doch das kann dauern. Laut der ETH Zürich ist die Verwendung eines Sprachmodells auf diese Art nicht nur zeitintensiv, sondern auch unsystematisch und willkürlich. Deshalb wollen die Forscher der Universität hier Abhilfe schaffen.
Gelöst werden soll das Problem durch die neu entwickelte Programmiersprache und Open-Source-Plattform LMQL (Language Model Query Language). Sie erlaubt es, die Interaktion mit grossen Sprachmodellen wie etwa ChatGPT zu erweitern und besser zu kontrollieren. LMQL ist laut der ETH eine neue Art des Programmierens und eine neue Form der Interaktion zwischen Computer und Mensch. LMQL sei die erste Sprache, die sowohl die Fähigkeiten von natürlicher Sprache als auch diejenigen der Programmiersprachen kombiniere, um optimal mit grossen Sprachmodellen wie ChatGPT zu kommunizieren.

Für komplexe Aufgaben essenziell

Während die natürliche Sprache bei einfachen Anfragen alles ist, was ChatGPT benötigt, ist es bei spezifischen und komplexen Aufgaben, wie etwa die Erstellung einer Datenbank oder die Analyse von Daten, essenziell, dass das Sprachmodell exakte Anweisungen erhält. Daher werde laut den Forschern der Formalismus von Programmiersprachen benötigt, um das genutzte Sprachmodell mit formalen Konstrukten genau zu steuern und so sicherzustellen, dass ein User auch die gewünschte Antwort erhält. Martin Vechev, Professor für Computerwissenschaften und einer der Entwickler der Programmiersprache, sagt: «Im Grunde ermöglicht LMQL einen viel gezielteren Weg, um das Resultat zu bekommen, das man möchte. Durch die Senkung der erforderlichen Interaktionen zwischen User und Sprachmodell können auch die Kosten für die Austauschprozesse gesenkt werden. Die Verwendung von LMQL erhöht die Chancen, die gewünschte Ausgabe zu erhalten. Manchmal kann sogar erst die Verwendung von LMQL dazu führen, ein gewünschtes Resultat zu erhalten, weil man seine Anfrage dadurch genauer formulieren kann.»

Sicherheitseinschränkungen halten unerwartete Ergebnisse fern

Die Datensätze, auf denen grosse Sprachmodelle basieren und mit denen sie trainiert werden, sind dermassen gross, dass es für einen Anwender nicht mehr möglich ist zu kontrollieren oder nachzuvollziehen, welche Prozesse sich innerhalb des Modells abspielen. Genau deshalb erhält ein User hin und wieder auch Antworten, die entweder ungewünscht oder sehr kontrovers sind. Oft versteht ein Nutzer daraufhin gar nicht, wie solch ein Ergebnis überhaupt generiert werden konnte und wie er ein ähnliches Problem in Zukunft vermeiden kann.
LMQL versucht, dieses Problem mit Sicherheitseinschränkungen, die der Anwender selbst formuliert, zu lösen. Diese Einschränkungen dienen dazu, das Sprachmodell in die richtige Richtung zu lenken und unerwünschte Antworten zu vermeiden. So erlaubt es die Programmiersprache dem Benutzer etwa, gewisse Wörter auszuschliessen oder sie hindert das Modell daran, spezifische Argumentationsprozesse zu durchlaufen. Luca Beurer-Kellner, Doktorand am Departement für Informatik, erklärt den Prozess wie folgt: «Mit LMQL kann man das Sprachmodell so einschränken, dass es sich strikt in einem vorgegebenen Rahmen bewegt. Dadurch können Nutzerinnen und Nutzer besser kontrollieren, wie sich das Sprachmodell verhält. Natürlich ist es schwierig, unerwünschte Verhaltensweisen vollständig zu vermeiden, aber LMQL macht einen Schritt in diese Richtung.»

Open Source garantiert Transparenz

Heute entwickeln viele private Firmen ihre grossen Sprachmodelle rein intern und geben der Öffentlichkeit keine Einsicht, was zu Intransparenz führt und es für Anwender nicht nachvollziehbar macht, wie ein spezifischer Output entsteht. Um genau diesem Problem entgegenzuwirken, müsse die Wissenschaft, so die ETH, Open-Source-Tools wie LMQL entwickeln, die transparent, offen zugänglich und auch adaptierbar sind. Marc Fischer, ebenfalls Doktorand am Departement für Informatik, erklärt, weshalb der Open-Source-Ansatz so wichtig ist: «Sowohl für die Tech-Community als auch für ein technisch nicht versiertes Publikum ist es entscheidend, dass der Quellcode von LMQL offen und frei zur Verfügung steht, damit die Nutzenden keine weitere Blackbox vor sich haben. Da die Forschung an Sprachmodellen rasant voranschreitet, ist es wichtig, dass LMQL transparent ist und somit eine schnelle Weiterentwicklung ermöglicht.»

Nicht nur für Profis

LMQL ist von seinem syntaktischen Aufbau her eine deklarative, SQL-ähnliche Programmiersprache, die weniger Fachkenntnisse erfordert, um die gewünschten Ergebnisse zu erhalten, schreibt die ETH. «Wenn Sie nicht ernsthaft am Programmieren interessiert sind oder keine Zeit dazu haben, weil es nicht zum Kernbereich Ihrer Tätigkeit gehört, dann macht LMQL die präzise Interaktion mit grossen Sprachmodellen leicht verständlich und wesentlich zugänglicher», meint Beurer-Kellner.
Doch auch programmiererfahrenen Nutzern hat die neue Programmiersprache etwas zu bieten. Denn LMQL kann als eine nützliche Grundlage dienen, da der Abfrage in natürlicher Sprache verschiedene Programmierkonstrukte hinzugefügt werden können. So kann ein Programmierer LMQL als Baustein verwenden, um damit seine eigenen Programme zur Interaktion mit grossen Sprachmodellen zu schreiben. Laut der ETH hat sich auch bereits eine interdisziplinäre Community rund um die neue Programmiersprache gebildet. Diese Forscher sähen LMQL als ein langfristiges Vorhaben und hätten bereits damit begonnen, Folgeprojekte zu planen.
Wer mehr über LMQL lernen oder die Programmiersprache selbst testen möchte, kann das hier tun.



Das könnte Sie auch interessieren