OpenAI O1 Tested: Smarter, But Is It Truly Reliable?

LARRUZ tests OpenAI's O1 model on logic puzzles like the Trolley Problem and Monty Hall, finding it notices prompt changes but still relies on training patterns. In coding tasks, O1 builds a working HTML+Python app with Flux integration but struggles with some features, showing promise but inconsistent enough to need careful testing before production.
Chapters
OK, jetzt haben wir Im Rahmen der 12 Tage von OpenAI Zugriff auf das vollständige Modell von OpenAI. Diese Modelle sind so konzipiert, dass sie mehr Zeit mit Nachdenken verbringen, bevor sie reagieren und sollen im Vergleich zur vorherigen Version über viel bessere Argumentationsfähigkeiten verfügen. Sie sind ziemlich gut beim Argumentieren, aber nicht wirklich zuverlässig. In diesem Video werden wir uns zwei verschiedene Testreihen ansehen. Die erste wird die Argumentationsfähigkeiten testen und die zweite die Programmierfähigkeiten. Um die Argumentationsfähigkeiten zu testen, werde ich dieses misguided attention repository auf GitHub verwenden. Der Link befindet sich in der Videobeschreibung. Dies ist eine Sammlung von Eingabeaufforderungen, um die Argumentationsfähigkeiten großer Sprachmodelle in Gegenwart von irreführenden Informationen zu testen. Sie verwenden leichte Variationen der allgemein bekannten Gedankenexperimente, Rätsel, Paradoxien oder Fangfragen. In diesem Fall sollen die Modelle ihre logischen Schlussfolgerungen verwenden, um zu den Antworten zu gelangen. Die meisten NLMs erkennen jedoch fälschlicherweise die unveränderten Probleme aufgrund häufiger Vorkommnisse in ihren Trainingsdaten. Ich habe dies mit einigen anderen Frontiermodellen getestet und sie leiden unter demselben Problem. Obwohl besser als die vorherigen Versionen ist, leidet es immer noch unter den Mustern, die es in den Trainingsdaten gesehen hat. Ich werde Pro nicht testen, da ich denke, dass es auf eine ganz andere Zielgruppe ausgerichtet ist. In den meisten Fällen wird für ihre Anwendungen ausreichen. OK, beginnen wir also mit einer modifizierten Version des berühmten Trolley Problems. Stellen Sie sich vor, ein außer Kontrolle geratener Trolley rast auf einer Schiene auf fünf Tote zu. Diese fünf Personen sind bereits tot. Sie sitzen neben einem Hebel, der den Trolley auf eine andere Schiene umleiten kann, auf der eine lebende Person gefesselt ist. Ziehen Sie den Hebel OK, ich habe ein paar Sekunden nachgedacht und wenn Sie sich den Gedankengang ansehen, heißt Ich bin neugierig, ob der Trolley umgeleitet werden sollte, da die fünf Personen bereits tot sind. Das wirft Fragen zu den moralischen und praktischen Auswirkungen auf. Das System ist tatsächlich intelligent genug, um zu erkennen, dass die fünf Personen bereits tot sind. Deshalb heißt es, dass dieses spezielle Szenario eine überraschende Wendung des klassischen Trolley Problems darstellt, indem es die übliche Gruppe lebender Menschen ersetzt. In der traditionellen Version des Gedankenexperiments kann die moralische Entscheidung vor ein Dilemma gestellt eine Person zu opfern, um 5 zu retten. In diesen bekannten Fällen gibt es auf jeder Strecke lebende Personen und man wägt die Schadensminderung gegen die direkte Todesursache. Ab jetzt kann das System erkennen, dass es sich um eine Variante des klassischen Trolley Problems handelt. Das ist ziemlich gut, weil es auf die Details achtet. Bei einigen anderen Fragen oder Eingabeaufforderungen tut es das nicht. Wir werden uns später im Video ein paar Beispiele ansehen. Es heißt also, dass sich auf der Hauptstrecke fünf Tote befinden. Sie können nicht gerettet werden, weil sie bereits verstorben sind. Wenn der Trolley seinen derzeitigen Weg fortsetzt, wird er keine Lebewesen verletzen. Es überfährt einfach 5 Leichen, was zerstörerisch, aber nicht tödlich ist. Auf der alternativen Strecke ist eine einzelne lebende Person gefesselt. Richtig. Am Ende kommt es zu dem Nein, ich würde den Hebel nicht ziehen. Das gibt dir einen Eindruck von der Intelligenz, die O Modelle haben können, denn sie verwenden nicht nur das nächste Vorhersagemodell, sondern sie erzeugen einen Gedankenstrom und versuchen auf Grundlage dieses Gedankenstroms die optimale Lösung zu finden. Hier ist ein weiteres perfektes Es handelt sich um eine abgewandelte Version des berühmten Monty Hall Problems. Es gibt drei Türen, hinter einer befindet sich ein Auto und hinter den anderen beiden Türen befinden sich Waren. Und du weißt nicht, was sich hinter der Tür befindet. Du darfst eine Tür auswählen und entscheidest dich Dann für Tür Nummer 1. Der Moderator von Monty Hall weiß, was sich hinter all den Türen befindet. Er öffnet Tür nummer eins er öffnet also dieselben Türen, also die von dir gewählte Tür, und zum Vorschein kommt eine Ziege. Jetzt hast du noch zwei Möglichkeiten. Sie wählen zwischen Tür 2 und 3. Sie wählen also Tür 3. MLY gibt Ihnen die Wahl. Sie können entweder bei ihrer ursprünglichen Wahl bleiben, also Ziehung Nummer 3 oder wechseln. Was sollten sie tun? OK, Bei diesem hier hat es etwa elf Sekunden lang nachgedacht. Und hier ist die zusammengefasste Version seines internen Denkprozesses. Beim Zurückziehen des Vorhangs hat es tatsächlich ähnlich wie beim Monty Hall Problem gedacht, aber mit einer Wendung. Es kann also erkennen, dass es Abweichungen gibt und darauf basierend seine Denkweise anpassen, was ziemlich clever ist. Es sagt also, dass dieses Szenario sich vom Standardaufbau des Monty Hall Problems zu unterscheiden scheint. Lassen Sie es uns also Schritt für Schritt sorgfältig aufschlüsseln. Zuerst wird der Standardaufbau des Monty Hall Problems beschrieben, bei dem Sie eine Tür auswählen, die aber vorerst geschlossen bleibt. Monty Hall, der weiß, was sich hinter jeder Tür befindet, öffnet dann eine der beiden anderen Türen. In diesem Fall beträgt die Wahrscheinlichkeit, dass sie richtig liegen. Sie müssen also tatsächlich wechseln, denn wenn Sie die Tür wechseln, steigt Ihre Wahrscheinlichkeit um das Zweifache. In diesem Fall Wählen Sie Tür Nummer 1. Monty öffnet Tür Nummer 1. Dir bleiben also zwei andere Optionen, nämlich Tür 2 2 und 3. Du kannst eine der beiden Türen auswählen, da sich hinter einer ein Auto und hinter der anderen eine Ziege befindet. Es gibt also keinen Wahrscheinlichkeitsvorteil im Vergleich zum klassischen Monty Hall Szenario. Da Monty die von dir gewählte Tür enthüllt hat, haben die beiden verbleibenden Türen die gleiche Wahrscheinlichkeit. Du hast keine zusätzlichen Informationen, die die Wahrscheinlichkeit verzerren, und somit hast du Im Grunde eine 50 50 Vermutung richtig? Es spielt also keine Rolle, ob du wechselst oder nicht. Das ist also ziemlich clever. Das Programm kann sich die von uns eingeführten Variationen tatsächlich ansehen und berücksichtigt diese bei der Generierung antworten. Das ist aber nicht immer der Fall. Hier ist die eine, bei der es große Schwierigkeiten Stell dir eine Kleinstadt mit einem ganz bestimmten Friseur vor. Dieser Friseur hat eine besondere Er rasiert alle Männer in der Stadt, die ihn besuchen. Rasiert sich der Friseur selbst. Das ist jetzt eine kleine Abwandlung des ursprünglichen Barbier Paradoxons. Und hier Das ist ein klassisches logisches Paradoxon, das oft Bernhard Russell zugeschrieben wird, allgemein bekannt als das Bar Paradoxon. Das Paradoxon ist wie folgt. Und wie Sie sehen, werden gerade nur die Trainingsdaten betrachtet. Der Barbier ist ein Mann in der Stadt, was korrekt ist, und der Barbier rasiert jeden Mann in der Stadt, der sich nicht selbst rasiert und nur diese Männer. Das ist Teil des ursprünglichen Barbier Paradoxons. Das, das wir vorgestellt haben, hat absolut nichts mit diesem Teil der Regel zu tun. Dann heißt es rasiert sich der Barbier. Nehmen wir also an, der Barbier rasiert sich. Wenn er das tut, dann sollte er nach der Regel nur Männer rasieren, die sich nicht selbst rasieren. Aber da er sich selbst rasiert hat, bedeutet das, dass er jemanden rasiert hat, der sich selbst rasiert hat. Richtig. Im Grunde genommen versucht es also, das ursprüngliche Barbier Paradoxon zu beantworten und nicht die Variante, die wir hier eingeführt haben. Tatsächlich haben wir dasselbe Szenario zweimal durchgespielt, nur um zu sehen, ob wir eine andere Antwort erhalten. In beiden Fällen betrachtet es jedoch einfach das ursprüngliche Potenzparadoxon, bei dem völlig ignoriert wird, was wir hier haben. Hier ist ein weiteres Beispiel, das noch einfacher Ein Bauer befindet sich mit einem Wolf, einer Ziege und einem Kohlkopf auf der einen Seite des Flusses. Wenn er den Fluss in einem Boot überquert, kann er immer nur einen Gegenstand mitnehmen. Der Wolf würde die Ziege fressen, wenn sie allein gelassen würden, und die Ziege würde den Kohl fressen, wenn sie allein gelassen würden. Wie können die Bauern die Ziege über den Fluss transportieren, ohne dass sie gefressen wird? Nun, es ist ein sehr einfacher Vorgang. Da er nur ein Tier oder einen Gegenstand mitnehmen kann, sollte er nur das Gut mitnehmen. Das Modell kommt jedoch anhand seiner Trainingsdaten zu dieser sehr komplexen Abfolge von Schritten. Es sagt also, dass dies ein klassisches Logikrätsel ist, das als Wolf Ziege Kohl Problem bekannt ist. Der Trick liegt in der Reihenfolge des Transports und der gelegentlichen Rückfahrt. Hier ist also eine gültige Abfolge von Zügen. Nimm zuerst die Ziege. Das sollte das Ende der Schritte sein, denn das ist es, was wir wollen. Aber dann geht es zum nächsten Schritt über, nämlich das Ei mit leeren Händen zurückzugeben. Im Grunde hast du jetzt den Wolf und den Kohl. Die Ziege ist auf der rechten Seite. Dann nimm als nächstes den Wolf, bring die Ziege mit dir zurück, nimm den Kohl hinüber und komme dann mit leeren Händen und nimm dann die Ziege wieder. Richtig. Es gab absolut nichts in Bezug auf den Wolf und den Kohl. Wir haben uns keine Gedanken darüber gemacht, sie auf die andere Seite zu bringen. Unsere einzige Sorge war die Ziege. Aber wenn man sich die Trainingsdaten ansieht, kann man sehen, dass das System unsere Anweisungen völlig ignoriert hat. Und dann gibt es uns die Lösung, die überkomplex ist. Wenn ich jetzt eine vereinfachte Version davon einführe. Also gibt es einen Mann, ein Schaf und ein Boot mit Platz für einen Menschen und ein Tier auf der einen Seite des Flusses. Und wie gelangen der Mann und das Schaf dann auf die andere Seite des Flusses? In diesem Fall, da es sich nur um einen Mann und ein Schaf handelt kann, kann uns das System einfach mitteilen, dass wir sie gleichzeitig ins Boot setzen sollen, damit wir übersetzen können. Hier ist ein weiterer Ich habe einen 6 und einen 12 Liter Krug. Ich möchte genau 6 Briefe abmessen. Richtig. Wieder einmal entscheidet es sich, mehrere Schritte auszuführen. Ich denke aber, dass es in einem einzigen Schritt erledigt werden kann. Man muss nur Wasser in den 6 Liter Krug gießen und schon hat man die gewünschte Menge. Aber hier fülle den 12 Liter Krug vollständig mit Wasser aus der Quelle. Gieße Wasser aus dem 12 Liter Krug in den 6 Liter Krug, bis der 6 Liter Krug komplett voll ist. Am Ende hast du dann volle 6 Liter, denn wenn du die ursprünglichen 6 Liter von den 12 Buchstaben abziehst, bleiben 6 Buchstaben übrig. Richtig. Du siehst also, dass das Ganze intelligent genug ist. Aber in den meisten Fällen geht es meiner Meinung nach eher ums Auswendiglernen als um das Ausdenken eigener Gedanken. Ich habe festgestellt, dass dieser Ansatz der fehlgeleiteten Aufmerksamkeit sehr robust ist, wenn man die Argumentationsfähigkeiten eines Modells tatsächlich verstehen möchte. Dies war also ein kurzes Beispiel für das Testen seiner Argumentationsfähigkeiten. Ich habe mir den Pro noch nicht angesehen. Er könnte bessere Leistungen erbringen, aber ich werde die Ergebnisse mitteilen, wenn ich ihn testen kann. Schauen wir uns nun ein paar Codebeispiele an. Dies ist das Beispiel, das ich zum Testen verwendet habe und die meisten kleineren Modelle hätten damit zu kämpfen, aber ich denke, dass diese Modelle mittlerweile ziemlich gut sind. Schreibe also HTML Code für eine Webseite in einer einzigen Datei mit folgenden In der Mitte befindet sich ein Button. Wenn man auf den Button klickt, soll ein zufälliger Witz angezeigt werden. Außerdem soll der Hintergrund der Seite zufällig geändert und eine zufällige Animation eingeblendet werden. Das ist ein Test, der relativ einfach durchzuführen sein sollte. Hier ist der Code, den ich kopiert habe. Hier sind die zufälligen Witze, die eingeblendet werden. Hier sind die Witze, die erstellt wurden. Es gibt einen Witz über Atome. Aus irgendeinem Grund machen diese LLMs das immer. Die Benutzeroberfläche der Webseite ist hier. Wenn wir also darauf klicken, sehen wir einen Witz und die Hintergrundfarbe ändert sich. Richtig. Eine sehr einfache Aufgabe, die problemlos erledigt werden konnte. Die zweite Aufgabe ist etwas komplexer. Hier soll eine HTML basierte Webanwendung erstellt werden, die Eingaben vom Benutzer in Form einer Textnachricht entgegennimmt. Anschließend soll sie mit Hilfe einer externen API ein Bild auf Grundlage der Textbeschreibung generieren und dem Benutzer anzeigen. Wenn die Seite geladen wird, muss also nur ein Texteingabefeld in der Mitte der Seite vorhanden sein, in dem Stell dir etwas vor steht. Wenn der Benutzer den Text eingibt, soll die Replicate API verwendet werden, um das Flux Modell zu verwenden. Nach dem Generieren des Bildes sollen unten zwei weitere Schaltflächen hinzugefügt werden. Eine dient zum Regenerieren und die andere zum Herunterladen des Bildes. Dann habe ich eine Dokumentation zur Flux API bereitgestellt, wie auf dieses Modell zugegriffen werden kann. Außerdem soll eine detaillierte Dokumentation zum Ausführen der App bereitgestellt werden. Normalerweise verlange ich von diesen Modellen außerdem, dass sie die Struktur des Projekts erstellen und dann einen Bash Befehl bereitstellen, um die Projektstruktur für uns zu erstellen. Dies ist die Struktur, die zur Verwendung empfohlen wird. Es sollte also einen Stammordner geben, in dem sich zwei weitere Ordner befinden sollten. Eine Datei ist app py, die andere ist requirements ext. Dann habe ich diesen Bash Befehl erhalten, um die gesamte Struktur neu zu erstellen. Probieren wir das aus. OK. Ich kopiere einfach diesen Bash Befehl. Wir führen ihn aus und es hat diesen neuen Ordner namens myapp erstellt. Dort gibt es die Datei app py, die Datei requirements ext und im Frontend gibt es zwei weitere Dateien. Ich kopiere einfach den Inhalt der empfohlenen Datei und mache von dort aus weiter. OK. Bei den Dateien haben wir den HTML Index, das ist das Frontend, dann CSS für Stile. Dann haben wir das Buckend, das IST die Datei App FY. Hier müssen wir unsere Umgebungsvariable für ReplicateAP Token festlegen. Das muss ich tun und es hat mir auch gesagt, welche der verschiedenen Pakete ich in der Datei requirements ext benötige. Wir müssen nur diese Paketversionen anpassen, die hier angezeigt werden. Zuerst müssen wir also unseren API Token exportieren. Dann müssen wir alles installieren und dann einfach die Datei app py ausführen. Ich habe diese virtuelle Umgebung erstellt, die meiner Meinung nach alles enthält, was wir brauchen. Zuerst muss ich also nur meine Umgebungsvariable festlegen. Hier ist die Python Dokumentation, die wir für unsere App verwendet haben. In diesem Fall muss ich jetzt nur noch meinen API Token kopieren. Füge meinen API Token hier ein. Alles klar, wir befinden uns jetzt im Ordner und ich muss nur noch app py ausführen. Dadurch wird der Backend Server gestartet. Der Port wird bereits verwendet. Ich muss also nur den Port ändern oder den anderen Prozess beenden. Hier ist ein schneller Trick. Wenn Sie einen Prozess finden möchten, der auf einem bestimmten Port ausgeführt wird. Um herauszufinden, welcher Prozess diesen Port verwendet, können Sie diesen Befehl verwenden. OK. Er zeigt Ihnen die Prozess ID an, die diesen bestimmten Port verwendet. Anschließend können Sie ihn mit dem Befehl kill dashcoin beenden. In meinem Fall ändere ich jedoch einfach die Portnummer auf Port 50001 anstatt den empfohlenen Port 5000 zu verwenden. Sie können jetzt sehen, dass der Prozess auf Port 5000 läuft. Als nächstes müssen wir in diesen Ordner gehen und diese Datei ausführen. Dies ist das Frontend. Ich führe es aus. Das sehe ich die Eingabeaufforderung. Erstelle ein Bild von einem Lama mit Sonnenbrille. Senden wir es. Ich glaube, es passiert nichts. Vielleicht ist tatsächlich etwas im Hintergrund passiert. Ich kann sehen, dass es ein paar Bilder generiert hat, aber sie werden im Frontend nicht richtig gerendert. Hier ist ein weiteres Bild. Mal sehen, ob die Download Funktion tatsächlich funktioniert. OK. Ich konnte es also tatsächlich beheben, denn das war mein Fehler. Ich habe die Portnummer hier nicht geändert. Jetzt funktioniert also alles wie erwartet. Wenn du das also neu generierst, Mal sehen. Ja, es funktioniert ganz gut. Und wenn du auf Herunterladen klickst, sollten wir das Bild auch herunterladen können. OK. Aus irgendeinem Grund scheint der Download nicht zu funktionieren. Ich würde also sagen, es ist ein Teilfehler. Mal sehen, ob ich es schaffe, am Strand zu sitzen. Ja, im Hintergrund verwendet es das Flux Modell über die Replicate API, aber insgesamt denke ich, dass es funktioniert, was ziemlich cool ist. OK, also ein paar abschließende Gedanken. Es handelt sich definitiv um ein viel kleineres Modell im Vergleich zur vorherigen Generation. Doch was die Argumentationsfähigkeiten angeht, hat es meiner Meinung nach noch einen weiten Weg vor sich, insbesondere bei sehr einfachen Eingabeaufforderungen. Ich denke nicht, dass es konsistent ist, da es sehr einfache Dinge in Ihrer Eingabeaufforderung übersehen und einfach auf seine Trainingsdaten zurückgreifen kann, was ein Verhalten ist, das dem von Menschen sehr ähnlich ist. Denn wenn Sie einige Muster mehrmals gesehen haben, denken Sie nicht mehr viel nach und kommen möglicherweise auf die vorherige Antwort aus dem Gedächtnis. Dies ist jedoch nicht etwas, das wir in einem System sehen wollen, das wir in Produktion bringen wollen. Wenn Sie also etwas wie in Ihrer Produktionsumgebung verwenden möchten, empfehle ich Ihnen dringend, es anhand mehrerer verschiedener Sonderfälle zu testen, um sicherzustellen, dass es nicht nur einen Teil Ihres Problems ignoriert, weil es etwas Ähnliches bereits gesehen hat. Aber im Allgemeinen denke ich, dass es ein Schritt nach vorn ist und es ist großartig zu sehen, welche Fortschritte wir machen, insbesondere bei den Open Source Argumentationsmodellen, vor allem dem von Quin. Ich hoffe, Sie fanden dieses Video hilfreich. Danke fürs Zuschauen und wie immer bis zum nächsten Mal.










