Kurs
Googles großes Sprachmodell Bard hat sich seit dem Start 2023 weiterentwickelt und kürzlich „Echtzeit“-Antworten eingeführt, ähnlich wie andere Modelle.
Der aktuelle Platzhirsch in diesem Bereich ist ChatGPT von OpenAI, und ich wollte wissen, wie Bard sich schlägt. Google hat die Transformermodelle erfunden, die diese generativen KIs antreiben, und verfügt über enorme Ressourcen, um die Führung zurückzuerobern. Auf der anderen Seite hat OpenAI den Vorteil mehrjähriger Nutzerfeedbacks zu seinen Modellen GPT-2, GPT-3, GPT-3.5 und GPT-4.
Kürzlich hat DataCamp ein ChatGPT-Cheatsheet für Data Science veröffentlicht, das über 60 Beispiele für Praxisanwendungen von ChatGPT in der Data Science liefert. In diesem Spickzettel schneidet ChatGPT in allen Aufgaben gut ab.
Auch wenn Google ausdrücklich erwähnt, dass Bard noch nicht für Programmieraufgaben optimiert ist, testen wir in diesem Artikel ausgewählte Data-Science-Aufgaben, um zu zeigen, wo Bard punktet — und wo nicht — und ob der Thron wechselt. Einen allgemeineren Vergleich von ChatGPT vs. Google Bard findest du in einem separaten Beitrag.
Einführung in den ChatGPT-Kurs
Beginne mit ChatGPT
Programmierungs-Workflows
Wo ist Bard stark?
Code-Optimierung ist eine häufige, aber knifflige Aufgabe. Es gibt oft viele Möglichkeiten, Code effizienter zu machen oder schneller auszuführen, und selten nur eine richtige Antwort. Eine gute Antwort auf die Bitte um Optimierung sollte mehrere Ansätze liefern. In der Aufgabe soll Bard SQL-Code optimieren.

Bard liefert hier 10 Optionen. Sie sind alle sinnvoll, auch wenn einige nur Variationen desselben Themas sind (fünf Arten, einen Index anzulegen), und sie konzentrieren sich eher auf Datenbankverwaltung als auf die Verbesserung der Abfrage selbst.
Unit-Tests zu schreiben, ist wichtig, macht aber den wenigsten Spaß — wenn KI dir das abnimmt, ist das potenziell ein Segen. Natürlich müssen die Tests gut sein! Im Beispiel wird Bard gebeten, Tests für eine Funktion zu schreiben, die Fakultäten berechnet.

Der Code ist gut strukturiert, und die meisten Tests sind sinnvoll. Ein Punkt ist jedoch fragwürdig: Beim Test für String-Eingaben soll die Funktion numerische Werte zurückgeben. Ein menschlicher Programmierer würde wohl Tests schreiben, die bei einem String eine Fehlermeldung auslösen, denn die Fakultät eines Textes ist bedeutungslos. Die Eingabeaufforderung hat nicht festgelegt, wie sich die Funktion bei Strings verhalten soll. Mit einem präziseren Prompt ließe sich das vermutlich korrigieren. Insgesamt ist die Antwort gut, aber nicht perfekt.
Wo ist Bard schwach?
Vielleicht der verbreitetste Data-Science-Anwendungsfall für ChatGPT ist das Erklären von Fehlermeldungen im Code. Entsprechend erwartete ich, dass Bard eine einfache Syntaxfehlermeldung in R erklären kann.

Leider verweigerte Bard die Antwort (ähnlich auch bei Python- und SQL-Fehlern). Das ist enttäuschend. Die gute Nachricht: Nichts zu sagen ist die beste Art zu scheitern. Ein großes Problem bei KI-Modellen sind selbstsichere Falschaussagen, die in die Irre führen. Gut, dass Google Bard hier Vorsicht beigebracht hat.
Auf die Bitte, Python-Code zu erklären, reagierte Bard ähnlich.

Urteil: ChatGPT gewinnt
Einige Antworten von Bard auf Programmierfragen waren ordentlich, aber die offensichtlichen Lücken beim Erklären von Code und Fehlern machen es ungeeignet, um beim Verständnis deines Codes zu helfen.
Datenanalyse-Workflows
Wo ist Bard stark?
SQL-Abfragen in natürlicher Sprache (also in ganzen Sätzen) zu formulieren, ist extrem wertvoll, weil so auch weniger technisch versierte Business-User auf Daten in Datenbanken zugreifen können. Hier soll Bard eine einfache Abfrage schreiben, die Kundendaten aggregiert.

Der Code und die Erklärungen sind korrekt, zudem sortiert Bard die Zeilen nach der am häufigsten vorkommenden E-Mail-Art — praktisch für alle, die sich die Ergebnisse ansehen müssen.
Common Table Expressions (CTEs) sind das SQL-Pendant zu Variablen in Python oder R: Sie helfen, längere Abfragen schrittweise aufzubauen. Komplexe Abfragen mit verschachtelten Unterabfragen umzuschreiben, erhöht die Lesbarkeit. Im folgenden Beispiel sollte Bard die Unterabfrage (den inneren Code ab SELECT) in eine CTE auslagern.

Hier hat Bard die Aufgabe komplett missverstanden und alles in eine CTE gepackt. Allerdings hat Bard einen Trumpf: Bei jeder Anfrage generiert Bard drei Antworten, aus denen du wählen kannst. In diesem Fall ist die dritte Antwort korrekt.

Ein weiterer spannender Anwendungsfall in der Analyse ist das Bereinigen von Daten. Für Menschen selten ein Vergnügen — umso hilfreicher, wenn KI das übernimmt. Oft gibt es jedoch mehrere Wege zum Ziel statt einer eindeutigen Lösung.

In diesem Fall ist der Code korrekt, hat aber zwei Auffälligkeiten. Erstens setzt er voraus, dass customer_id im DataFrame-Index steht. Manche pandas-Nutzer bevorzugen das, aber im Prompt stand, dass customer_id eine Spalte ist. Zweitens ist die Kombination .replace()/.isnull() umständlicher als .fillna(). Wiederum rettet die „drei Lösungen“-Strategie Bard: Die zweite Lösung behebt beide Punkte.

Wo ist Bard schwach?
Als Bildungsanbieter braucht DataCamp nahezu unbegrenzt viele neue Datensätze, damit Lernende Analysen durchführen können. KI, die Datensätze sofort generieren kann, wäre ein Gamechanger. Auch für alle anderen ist das schnelle Erzeugen von Testdatensätzen ein großer Vorteil. ChatGPT kann das sehr gut — aber wie schlägt sich Bard?

Erneut verweigert Bard die Antwort. Wie bei den Programmierbeispielen beeindruckt mich diese Zurückhaltung, aber es ist schade, dass die Aufgabe nicht gelöst wird.
Da ein großer Teil der Analyse aus Datenmanipulation besteht, wäre es großartig, wenn KI deinen Code dafür schreiben könnte. Das folgende Beispiel ist etwas knifflig, weil die KI erkennen muss, dass das Jahr aus dem Eintrittsdatum berechnet werden soll.

Diese Feinheit hat Bard leider übersehen, der Code ist falsch. Tatsächlich sind alle drei generierten Lösungen falsch. Und das ist besonders ungünstig: Die KI ist in ihrer falschen Antwort auch noch sehr selbstbewusst.
Urteil: ChatGPT gewinnt
Ich mag, dass Bard drei Lösungen anbietet — so steigt die Chance, dass etwas Passendes dabei ist. Aber die Unfähigkeit, Datensätze zu generieren und (leicht knifflige) Datenmanipulationen durchzuführen, ist ein echter Blocker.
Data-Visualization-Workflows
Wo ist Bard stark?
Ich habe eine einfache Aufgabe „Erstelle ein Streudiagramm“ mit einem Twist probiert: das Farbschema anpassen. Die Nachrichtenseite FiveThirtyEight veröffentlicht ihr eigenes Farbschema, das in der beliebten Matplotlib-Bibliothek verfügbar ist.

Der Code ist korrekt, hat aber die Besonderheit, dass mcolors importiert, aber nie verwendet wird.
Wo ist Bard schwach?
Eine weitere recht einfache Visualisierungsaufgabe ist ein Liniendiagramm mit mehreren Linien. Der verwendete Datensatz heißt gapminder und wird häufig zu Demonstrationszwecken genutzt.

Hier ist der Code fast korrekt, enthält aber ein bekanntes Problem: Bard ist sich unsicher, ob country eine Spalte oder der Index sein soll (obwohl es im Prompt steht). Das Zeilen-Subsetting in der Zeile plt.plot() geht davon aus, dass country im Index steht — inkonsistent zur vorherigen Zeile.
Ich habe Bard gebeten, dieselbe Aufgabe mit R und dem Paket ggplot2 zu lösen.

Bard lehnt hier höflich ab. Das überrascht mich etwas, denn ggplot2 ist seit über einem Jahrzehnt das populärste Plotting-Paket in R — und es gibt unzählige Codebeispiele.
Urteil: ChatGPT gewinnt
Die Verwirrung rund um pandas-Indizes ließe ich vielleicht durchgehen, aber die Unfähigkeit, ein einfaches ggplot2-Diagramm zu zeichnen, macht Bard für R-Nutzende ungeeignet.
Machine-Learning-Workflows
Wo ist Bard stark?
Ich habe mehrere Aufgaben ausprobiert — leider waren alle problematisch. Das ist ein großes Warnsignal, denn Machine Learning in Python ist extrem beliebt.
Wo ist Bard schwach?
Der offensichtlichste Startpunkt im Machine Learning ist wohl, ein Modell zu trainieren und Vorhersagen in Python zu treffen.

Der Code ist größtenteils gut, aber bei der Erstellung von Trainings- und Testdaten gibt es ein Problem. Es ist gute Praxis, die Zeilen zufällig auf die Sets aufzuteilen. Bard nimmt jedoch einfach die letzten tausend Zeilen als Testset (und alles andere als Training). Das wäre nur in Ordnung, wenn die Filme im Datensatz zufällig sortiert wären.
Ein weiteres großes Thema ist die Erklärbarkeit von Modellen. Entscheidungsbäume lassen sich mit Shap-Werten relativ einfach erklären, und es gibt dafür einen recht standardisierten Workflow.

Leider enthält der Code einen Aufruf von shap.explain() — diese Funktion existiert nicht. Solche Probleme fallen schnell auf, weil der Code beim Ausführen scheitert. Nicht lauffähigen Code zu generieren, kostet jedoch Zeit.
Außerdem wollte ich eine konzeptionellere Aufgabe testen. Vieles in ML ist Domänenwissen: sinnvolle Features für Modelle zu gestalten. Ideen für Features zu finden, ist schwierig — hier kann KI sehr helfen.

Die Antwort ist nicht miserabel, denn zwei nützliche Feature-Ideen (Genre und Budget) sind dabei. Die anderen beiden Ideen stehen jedoch schon im Prompt, und die zweite Liste war nicht gefragt. Außerdem ist von „Data-Engineering-Techniken“ statt „Machine-Learning-Techniken“ die Rede — das ist falsch.
Urteil: ChatGPT gewinnt
Bard hat hier sehr schlecht abgeschnitten — das ist keine knappe Entscheidung.
Zeitreihen-Workflows
Wo ist Bard stark?
Leider ließ sich Bard zu keiner Zeitreihenaufgabe überreden.
Wo ist Bard schwach?
Ich habe Datenmanipulationen für Zeitreihen getestet, etwa tägliche Daten in wöchentliche und monatliche zu überführen.

Bard hat abgelehnt.
Als Nächstes wollte ich einen Test auf Stationarität durchführen lassen.

Wieder hat Bard abgelehnt. Wie zuvor gilt: Die eingebaute Zurückhaltung reduziert zwar Falschantworten, hilft hier aber nicht weiter.
Urteil: ChatGPT gewinnt
Offenbar ist Zeitreihenanalyse noch nicht Bard’s Ding.
Natural-Language-Processing-Workflows
Wo ist Bard stark?
Man könnte meinen, dass große Sprachmodelle bei Sprache glänzen. Sentimentanalyse (also die Tonalität eines Textes erkennen) ist wichtig, um etwa Produktrezensionen zu quantifizieren, und gilt als Grundanforderung in der Textanalyse. Die Aufgabe wurde durch ein Emoji und Slang leicht erschwert.

Bards erste Antwort ist in Ordnung, übersieht aber, dass jede Zeile im Prompt separat betrachtet werden sollte. (Fairerweise stand das nicht explizit da, auch wenn ein Mensch das wohl intuitiv annehmen würde.) Die dritte Antwort erkennt dieses Detail.

In beiden Fällen wurden Emoji und Slang korrekt interpretiert.
Wo ist Bard schwach?
Das Übersetzen zwischen Sprachen war der ursprüngliche Anwendungsfall für Transformermodelle. Ich habe Bard gebeten, auf Französisch zu antworten.

Leider lieferte Bard eine englische Erklärung zu Machine Learning und die Übersetzung des Begriffs „Machine Learning“ ins Französische — statt die gesamte Antwort auf Französisch zu geben.
Urteil: ChatGPT gewinnt
Dieses Übersetzungsversagen hat mich überrascht.
Konzeptionelle und karriereorientierte Aufgaben
Wo ist Bard stark?
Technische Erkenntnisse aus Analysen für Menschen ohne Datenhintergrund aufzubereiten, gehört zu den schwierigeren Teilen der Data Science. Ich habe Bard gebeten, A/B-Tests für eine Führungskraft zu erklären.

Die Erklärung ist ziemlich gut. Es gibt die fragwürdige Annahme, dass die neue Schriftart zu einer höheren Conversion-Rate geführt hat (das hängt vom Setup ab, es könnte auch einfach eine andere Rate sein). Die beiden anderen Antworten haben diese Feinheit erkannt, daher ziehe ich hier keine Punkte ab.
Eine weitere sinnvolle KI-Aufgabe ist das Zusammenfassen längerer Werke. Hier habe ich Bard gebeten, den Originalartikel über Transformermodelle (von Google-Mitarbeitenden verfasst) zusammenzufassen.

Die Zusammenfassung ist gut und leicht zu lesen. Auffällig ist, dass einige Links zu Blogartikeln über das Paper führen statt zum Original selbst.
Für alle, die eine Karriere im Datenbereich anstreben, sind Projektideen wertvoll. Ich bat Bard um Vorschläge — eine kreative Aufgabe ohne eindeutige Lösung.

Und schließlich: Einleitungen für längere Arbeiten zu verfassen, ist so eine kleine Nervaufgabe, die ich gerne an KI auslagere.

Auch hier liefert die KI mit minimalem Kontext einen gut geschriebenen Text.
Wo ist Bard schwach?
In diesem Abschnitt hat Bard alle Aufgaben gut gelöst.
Urteil: Unentschieden
Ob ChatGPT oder Bard bei kreativen Aufgaben besser ist, lässt sich schwer messen. Ich freue mich aber, hier einen Bereich gefunden zu haben, in dem Bard durchgehend hochwertige Ergebnisse liefert.
Fazit
Bard hat spürbare Lücken in Data-Science-Workflows: Die Unfähigkeit, Codefehler zu erklären, und schwache Leistungen bei Machine Learning in Python sind gravierend.
Ich mag, dass es drei Antworten zur Auswahl gibt, und ich mag die eingebaute Zurückhaltung. Eine Frage abzulehnen ist deutlich besser, als eine falsche Antwort zu geben.
Unterm Strich hat ChatGPT derzeit klar die Nase vorn — aber ich bin gespannt, wie Bard aufholt. Konkurrenz im Feld generativer KI kann der Welt nur nutzen.
Bring es aufs nächste Level
Wenn du mehr darüber lernen willst, wie du generative KI für Data Science nutzt, sieh dir diese Ressourcen an:
- Lerne, wie du ChatGPT effektiv einsetzt, im Kurs Introduction to ChatGPT.
- Sieh dir unseren Guide to Using ChatGPT For Data Science Projects an.
- Lade dir dieses praktische Cheatsheet mit ChatGPT-Prompts für Data Science herunter.
- Hör in diese Podcast-Folge rein: How ChatGPT and GPT-3 Are Augmenting Workflows und erfahre, wie ChatGPT deinem Unternehmen nutzt.
- Erfahre mehr über What is GPT-4 and Why Does it Matter?
Einführung in den ChatGPT-Kurs
Beginne mit ChatGPT
Richie hilft Einzelpersonen und Organisationen dabei, Daten und KI besser zu nutzen. Er war schon Datenwissenschaftler, bevor es Data Science hieß, und hat zwei Bücher geschrieben und viele DataCamp-Kurse zu diesem Thema veranstaltet. Er ist Gastgeber des DataFramed-Podcasts und leitet das DataCamp-Webinarprogramm.
