XKCD 1425 (Tasks) feiert 10-jähriges Jubiläum
(simonwillison.net)- XKCD 1425 „Tasks“ ist ein Comic über das Gespür in der Softwareentwicklung, dass etwas oberflächlich einfach aussehen kann, der tatsächliche Schwierigkeitsgrad aber völlig anders sein kann, und feierte am 24. September 2024 sein 10-jähriges Jubiläum
- Das Beispiel im Comic, „zu prüfen, ob ein Foto einen Vogel zeigt“, war damals ein Problem auf Promotionsniveau, ist heute aber mit vision LLMs, CLIP, ResNet+ImageNet usw. leicht lösbar
- Einzelne Beispiele haben sich durch den technologischen Fortschritt verändert, aber um zu beurteilen, welche Probleme leicht und welche schwer sind, braucht es weiterhin tiefe Erfahrung
- LLMs haben Schwächen in Bereichen wie Mathematik oder Faktenabfragen, wodurch es noch schwieriger wird, intuitiv einzuschätzen, welche Aufgaben man ihnen zuverlässig überlassen kann
- Wie die Einschränkung der Bildanalyse in Claude Artifacts zeigt, muss man beim KI-gestützten Programmieren neben den Modellfähigkeiten auch Web-Sicherheitsbeschränkungen wie CSP-Header verstehen
Welche Fragen XKCD 1425 auch nach 10 Jahren offenlässt
- XKCD 1425 „Tasks“ ist ein Comic, der zeigt, dass es in der Softwareentwicklung ohne Erfahrung schwer einzuschätzen ist, welche Aufgaben leicht und welche schwierig sind
- Das repräsentative Beispiel des Comics, „zu prüfen, ob ein Foto einen Vogel zeigt“, war früher ein Problem auf Promotionsniveau, lässt sich heute aber mit verschiedenen Computer-Vision-Techniken leicht lösen
- Das Beispiel selbst hat sich durch den technologischen Fortschritt verändert, aber die Fähigkeit, leichte von schwierigen Problemen zu unterscheiden, erfordert weiterhin viel Erfahrung
Neue Schwierigkeiten durch LLMs und KI-gestütztes Programmieren
- Bei LLMs ist nicht intuitiv, einzuschätzen, welche Aufgaben sie zuverlässig lösen können
- LLMs sind Computersysteme, aber schwach in Mathematik
- Auch Faktenabfragen führen sie nicht zuverlässig aus
- Mit der Verbreitung von KI-gestützten Programmierwerkzeugen beginnen mehr Menschen, ihre eigene maßgeschneiderte Software zu erstellen
- Die neu auftretenden KI-gestützten Anfängerprogrammierer stehen vor der Situation, den Unterschied zwischen leichten und schwierigen Aufgaben schnell lernen zu müssen
- Es gibt den Fall, dass Claude selbst Bildanalyse durchführen kann, sich aber in Claude Artifacts kein Werkzeug zur Bildanalyse bauen lässt
- Um das zu verstehen, muss man wissen, dass der beim Ausliefern von Artifacts verwendete CSP-Header externe LLM-API-Aufrufe aus dem generierten Code blockiert
1 Kommentare
Hacker-News-Kommentare
Erstaunlich, wie sehr sich der Maßstab dafür, was in AI/ML als beeindruckend gilt, verschoben hat
Als vor 10 Jahren die GAN-Arbeit erschien, waren alle völlig aus dem Häuschen, wie gut die generierten Bilder aussahen: https://arxiv.org/abs/1406.2661
Das Ausmaß des Fortschritts seitdem ist wirklich kaum zu glauben
Zum Beispiel kann ein Kind einfache Arithmetik, und ein Computer kann ebenfalls einfache Arithmetik; also nehmen sie an, dass ein Computer natürlich auch sprechen kann, wenn ein Kind das kann
Aber Computer gelangen auf völlig andere Weise zu ihren Fähigkeiten. Interessanterweise sind die Konturen der Fähigkeiten bei LLMs menschenähnlicher geworden, aber der Weg zu den Ergebnissen ist immer noch völlig anders
Das schlimmste Beispiel waren etwa 180.000 nutzergenerierte Rezepttexte, die ein Kunde normalisiert haben wollte. Für Mengenanpassungen, Nährwertberechnungen usw. mussten Mengen, Einheiten, Zutaten, Schritte und mehr extrahiert werden
Dafür brauchten wir einen Tool-Chain aus Bergen von Regexen für das Preprocessing und einer Armee von Praktikanten, die alles einzeln normalisierten, und es dauerte noch viel länger, das Chaos zu beheben, das die Praktikanten angerichtet hatten
Mit LLMs wäre das wahrscheinlich fast sofort erledigt gewesen. Bei unzähligen Aufgaben, bei denen aus einem kompletten Müllhaufen überhaupt erst nutzbare Daten gemacht werden mussten, hätten LLMs es vermutlich einfach geschafft
Den Schmerz jener Zeit habe ich etwas damit gelindert, dass ich damals NVDA gekauft habe
Früher wurden neue Machine-Learning-Modelle von Praktikern mit Hintergrundwissen diskutiert, die verstehen konnten, warum eine scheinbar kleine Verbesserung so bedeutend war und welche Erwartungen realistisch waren
Heute werden neue Machine-Learning-, nein, „AI“-Modelle von der breiten Öffentlichkeit beurteilt, die keinen technischen Hintergrund hat, aber Marketing-Hype kennt. Selbst wenn man ihnen ein hervorragendes Sprachmodell gibt, das sprachbezogene Benchmarks klar dominiert, sind die Erwartungen so absurd, dass am Ende immer Enttäuschung bleibt
Ich staune immer noch darüber, wenn Sprachmodelle in Grammatik und Syntax relativ „einfache“ Dinge schaffen, etwa zu verstehen, worauf sich ein Pronomen bezieht. Aber die meisten haben noch nie aus dieser Perspektive über Sprache oder Computer nachgedacht und sehen daher nicht, wie schwierig und beeindruckend das ist
Dieser Comic hat sich für mich immer etwas seltsam angefühlt. Die Menschheit hat Tausende Jahre damit verbracht, das Navigationsproblem zu lösen
Der Comic existiert in einem kurzen Zeitfenster, in dem eine Aufgabe endlich „gelöst“ war und eine andere gerade erst begann
Wenn man meint, dass das Trainieren von Modellen viel Energie kostet, sollte man auch daran denken, dass wir eine ganze Raketenflotte starten, um Konstellationen künstlicher Satelliten aufrechtzuerhalten
In meiner Laufbahn hat schon mehr als einmal eine spontane Anforderung in einem Meeting die Schätzung eines Projekts um mehrere Monate verändert
Zum Beispiel berechnen Filialsuchen auf Retail-Websites oder in Apps meist nur die Luftlinienentfernung zwischen aktuellem Standort und Geschäft und zeigen dann Läden innerhalb eines bestimmten Radius nach Entfernung sortiert an
An Orten westlich des Puget Sound, etwa in Kingston nahe Seattle, wird das problematisch. Die Filialsuche von Walgreens zeigt bei einer Suche in der Nähe von Kingston 10 Geschäfte, von denen 9 auf der Seattle-Seite jenseits des Puget Sound liegen. Mit dem Auto muss man dafür eine etwa 30-minütige Fähre für rund 20 Dollar pro Strecke nehmen
Das eine auf der Westseite angezeigte Geschäft ist auf Bainbridge Island, wohin niemand aus Kingston normalerweise fährt. Tatsächlich ist das Geschäft in Silverdale nach Straßenentfernung näher, aber nach Luftlinie etwas weiter
Silverdale, drei Standorte in Bremerton und einer in Port Orchard sind in Zeit und Reisekosten für Menschen in Kingston viel näher als die Geschäfte auf der Seattle-Seite, erscheinen auf der Karte aber erst, wenn man auf „load more“ klickt
Die lokale Bestandsanzeige hat ein ähnliches Problem: Es wird angezeigt, dass ein Artikel „in der Nähe“ sei, tatsächlich ist er aber oft nur in einem Geschäft auf der anderen Seite des Puget Sound verfügbar
Dagegen konnten andere Aufgaben, die oberflächlich viel einfacher wirken, Jahre dauern, weil sie nicht so leicht gelöst und als API angeboten wurden. Natürlich ist das inzwischen möglich
Gemeint ist, dass es für Nicht-Entwickler schwer zu erkennen ist, welche Aufgaben die aktuelle Technik trivial löst und welche nicht. Mit der Zeit verschiebt sich die Verteilung dieser beiden Kategorien, aber dass Laien das nicht leicht erkennen können, bleibt gleich
Alles, was wir heute tun, wäre extrem schwer, wenn man es komplett von vorn neu bauen müsste, aber in der Praxis muss man es eben nicht neu bauen, und deshalb ist es keine schwierige Aufgabe
Man könnte sagen, dass es „nicht gut gealtert“ ist, aber ich denke, der eigentliche Punkt – „es ist schwer, den Unterschied zwischen etwas Einfachem und etwas praktisch Unmöglichem zu erklären“ – wurde eher noch verstärkt.
Fast ironischerweise haben sich schwierige Dinge und einfache Dinge vertauscht. Wer hätte das vor 10 Jahren erwartet?
https://en.wikipedia.org/wiki/DeepFace
Wenn ich mich richtig erinnere, erschien ein paar Wochen oder Monate später bei Yahoo/Flickr ein Paper zu genau diesem Problem, also zur Vogelidentifikation, und ab da sah es für mich so aus, als wäre alles über Nacht explodiert. Ich weiß, dass es in Wirklich nicht so war, aber für mich wirkte es so
Es ist immer noch sehr schwer und unintuitiv zu verstehen, welche Aufgaben ein LLM zuverlässig lösen kann und welche nicht
Vor Kurzem bereitete meine Tochter eine Präsentation vor und fragte: „Papa, kannst du ein Bild finden, auf dem das Wort HELLO aus Gemüse gebildet wird?“
Ich dachte: „Klar, das ist doch ein Fall für ChatGPT“, aber obwohl ChatGPT ein Bild von einer Katze im Raumanzug mit Martini erzeugen kann, konnte es ein Bild von HELLO aus Gemüse eindeutig nicht erzeugen
Am Ende ließ ich Bilder erzeugen, in denen jeder einzelne Buchstabe des Alphabets aus Gemüse bestand, und meine Tochter setzte sie dann zusammen, um das Wort für ihre Präsentation zu bilden
Es ist genau derselbe Grund, warum es STRAWBERRY nicht richtig buchstabieren bzw. die Buchstaben nicht korrekt zählen kann. Nicht weil es das Konzept von Obst oder Gemüse nicht kennt oder komplexe Dinge wie Metaphern oder Memes nicht versteht
Das Modell sieht „hello“ nicht als ein Wort aus einzelnen Buchstaben, sondern als ein einzelnes Token, bei gpt-4o konkret das Token mit der ID 24912. Es kennt die Bedeutung dieses Tokens und seine Beziehungen zu anderen Tokens, weiß aber grundsätzlich nichts über die Buchstaben, aus denen das Wort besteht. Ausnahmen sind Fälle, in denen es das separat gelernt hat oder zufällige zusätzliche Zusammenhänge aus den Trainingsdaten nutzt
Das ist das Ergebnis mit flux-pro auf Replicate mit dem Prompt „vegetables spelling out the word "HELLO"“: https://ibb.co/1RVKmdk
https://ideogram.ai/assets/image/lossless/response/v_LgyXI1Q...
https://ideogram.ai/assets/image/lossless/response/V4RRDJZJS...
Die Karotte im ersten Bild ist etwas komisch
Bonus-Hacker-News: https://ideogram.ai/assets/image/lossless/response/SW0B7y4jR...
https://i.imgur.com/mvnusFd.jpeg
Den Prompt habe ich direkt aus dem obigen Kommentar kopiert: https://chatgpt.com/share/66f530b0-3fb8-800a-8af9-8a3e48a31a...
Einfach erkennen, ob ein Foto häufige Vogelfarben enthält, und es veröffentlichen. Erst die Konkurrenz vernichten und später nachbessern
Ich habe diese Tutorial-Reihe gemacht, um Kontext und Grundlagen des Deep Learning zu bekommen, und in der ersten Lektion ging es direkt darum, den Vogeldetektor aus diesem Comic zu bauen
Es war wirklich einfach und unterhaltsam, und der ganze Kurs ist hervorragend. Sehr empfehlenswert für Menschen mit Programmierhintergrund, die solide in Deep Learning einsteigen wollen
https://course.fast.ai/
Niemand weist darauf hin, aber LLMs haben sich beim ersten Teil der Anfrage genauso weiterentwickelt wie beim zweiten
ChatGPT schreibt dir eine Funktion
is_point_in_national_parkund nennt dir in etwa 30 Sekunden sogar das passende Shapefile. Das ist hunderte Male schneller als die „paar Stunden“ aus dem ComicVision-LLMs sind wirklich erstaunlich
Es gab ein Projekt, bei dem über 20.000 Bilder beschrieben und katalogisiert werden mussten
Auf traditionelle Weise mit menschlicher Arbeit hätte das Monate und enorme Kosten bedeutet. Die Beschreibungen mussten dabei eine Qualität haben, die Kund:innen tatsächlich lesen können
Die Vision-API von OpenAI hat das für ein paar Cent pro Bild erledigt, und die Gesamtkosten lagen wahrscheinlich bei unter 200 Dollar
Ich frage mich, ob je der Tag kommen wird, an dem die technische Grundbildung einen kritischen Punkt erreicht hat und solche Missverständnisse weitgehend verschwinden.
Vor 10 Jahren hätte ich wohl ja gesagt, aber heute denke ich, dass Fortschritte bei UX/UI und die Appifizierung von allem Durchschnittsmenschen von den Details abschirmen.
Aus Sicht einzelner Produkte ist das gut, insgesamt kann es aber unrealistische Erwartungen erzeugen. Ich habe schon junge Leute fragen hören: „Warum macht x nicht einfach y?“, und ich dachte, so eine Frage hätte man früher nur von der sehr untechnischen Elterngeneration gehört.
In den 80ern waren Computer für viele fast wie Magie, aber die meisten mussten tatsächlich nicht mit Computern interagieren. Erwartungen an Computer hatten etwa so wenig Einfluss wie meine Erwartungen an außerirdisches Leben.
Ich fürchte aber, dass magisches Denken gegenüber Technik persönlich wie gesellschaftlich größere Folgen haben könnte.
@simonw, falls du das hier liest, wollte ich fragen, ob ich eine kleine Bitte äußern darf.
Wäre es eine zu große Bitte, wenn du Coding-Arbeit, die öffentlich teilbar ist, live streamen würdest?
Gerade im heutigen Ökosystem rund um Python, SQLite-Daten und JavaScript gäbe es dabei wahrscheinlich wirklich viel zu lernen.