Towards Code-Oriented LM Embeddings for Surrogate-Assisted Neural Architecture Search
Dieser Artikel schlägt Code-Orientierte LM-Einbettungen (COLE) vor, eine kostengünstige Strategie, die fertige Sprachmodelle nutzt, um neuronale Architekturen als PyTorch-Code darzustellen, wodurch wettbewerbsfähige, durch Surrogatmodelle unterstützte neuronale Architektursuche ohne spezialisiertes Feinabstimmen ermöglicht und das für die Suche nach optimalen Modellen erforderliche Evaluierungsbudget erheblich reduziert wird.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Das große Problem: Die beste Rezeptur zu finden ist teuer
Stellen Sie sich vor, Sie sind ein Koch, der das absolut beste Rezept für einen Kuchen sucht. Sie haben ein riesiges Kochbuch mit Millionen möglicher Kombinationen aus Zutaten (Mehl, Zucker, Eier, Gewürze) und Methoden (Backzeit, Temperatur).
In der Welt der Künstlichen Intelligenz nennt man dies Neural Architecture Search (NAS). Die „Rezepte" sind Entwürfe für neuronale Netze, und der „Geschmackstest" besteht darin, die KI zu trainieren, um zu sehen, wie gut sie funktioniert. Das Problem ist, dass das „Probieren" jedes einzelnen Rezepts ewig dauert und ein Vermögen an Rechenleistung kostet. Man kann nicht einfach jeden Kuchen im Buch backen.
Um dies zu lösen, verwenden Wissenschaftler einen Surrogat (oder einen „Geschmacksvorhersager"). Dies ist wie ein Kritiker, der ein Rezept auf Papier betrachtet und errät, wie gut der Kuchen schmecken wird, damit Sie ihn nicht tatsächlich backen müssen. Das Ziel ist es, einen Kritiker zu finden, der schnell, günstig und sehr genau ist.
Der alte Weg: Rezepte in eine Fremdsprache übersetzen
Früher mussten Wissenschaftler, um einen Kritiker ein Rezept verstehen zu lassen, den komplexen Code des neuronalen Netzwerks in ein seltsames, vereinfachtes Textformat übersetzen (wie das Umwandeln eines Rezepts in eine Liste chemischer Formeln oder ein seltsames Diagramm).
Stellen Sie es sich so vor: Sie haben einen Meisterkoch (ein Large Language Model, oder LM), der weiß, wie man kocht, weil er Millionen echte Kochbücher und Rezepte gelesen hat. Aber statt ihm das eigentliche Rezept zu zeigen, geben Sie ihm eine Übersetzung in einer Sprache, die er noch nie gesehen hat (wie „ONNX-zu-Text" oder „Ableitungsbäume").
Um den Koch diese neue Sprache verstehen zu lassen, müssen Sie wochenlang Fine-Tuning betreiben – im Wesentlichen müssen Sie ihn von Grund auf neu ausbilden. Das ist langsam, teuer und vereitelt den Zweck eines schnellen „Geschmacksvorhersagers".
Die neue Idee: Zeigen Sie ihnen einfach das echte Rezept
Die Autoren dieses Papiers, Pranav Somu und sein Team, hatten eine einfache Erkenntnis: Neuronale Netze sind bereits in Code geschrieben. Sie sehen aus wie Python-Programmierskripte.
Da die „Meisterköche" (Large Language Models wie CodeLlama) bereits auf Billionen Zeilen echten Computercodes trainiert wurden, können sie diese Rezepte bereits perfekt lesen. Sie müssen nicht neu ausgebildet werden.
Die Lösung (COLE):
Anstatt das Rezept in ein seltsames Format zu übersetzen, speisen sie den rohen Python-Code direkt in die vortrainierte KI ein.
- Kein Fine-Tuning: Sie verwenden die KI „so, wie sie ist" (eingefroren). Es ist, als würde man einen Koch einstellen, der weiß, wie man Ihr spezifisches Kochbuch liest, ohne ein Schulungsseminar zu benötigen.
- Das Embedding: Die KI liest den Code und wandelt ihn in einen mathematischen „Fingerabdruck" (ein Embedding) um, der das Wesentliche des Rezepts erfasst.
- Der Vorhersager: Ein kleiner, einfacher Rechner (ein Regressionskopf) betrachtet diesen Fingerabdruck und sagt voraus, wie gut die Architektur performen wird.
Was sie herausfanden
Das Team testete diese Idee mit zwei verschiedenen „Kochbüchern" (Suchräumen) und fand einige überraschende Ergebnisse:
- Roher Code gewinnt: Wenn sie der KI den tatsächlichen Python-Code gaben, sagte sie die Leistung viel besser vorher als wenn sie ihr die seltsamen, übersetzten Textformate gaben. Es ist, als würde der Koch sagen: „Ich verstehe das echte Rezept; Sie müssen es mir nicht in chemische Formeln übersetzen."
- Kein Training erforderlich: Sie bewiesen, dass man nicht wochenlang Fine-Tuning an der KI betreiben muss. Die „vom Band" verfügbaren Modelle funktionierten sofort hervorragend.
- Schnellere Suche: Als sie diese Methode verwendeten, um die beste KI-Architektur zu suchen (unter Verwendung eines Algorithmus namens BANANAS), fanden sie die besten Entwürfe viel schneller.
- Für eine Aufgabe (CIFAR-100) erreichten sie die obersten 1 % der bestmöglichen Entwürfe mit 34 % weniger Computerbewertungen als die alte Methode. Es ist, als würde man das beste Kucherezept finden, indem man nur 66 Kuchen probiert statt 100.
Warum das wichtig ist
Dieser Ansatz ist wie das Geben eines universellen Übersetzers an eine Suchmaschine. Da jedes neuronale Netz als Code geschrieben werden kann und Code eine universelle Sprache ist, die diese KI-Modelle bereits fließend sprechen, funktioniert diese Methode für fast jede Art von Architektur ohne die Notwendigkeit für maßgeschneiderte Ingenieursarbeit.
Kurz gesagt: Anstatt eine intelligente KI zu zwingen, eine neue, seltsame Sprache zu lernen, um neuronale Netze zu verstehen, sprachen die Autoren einfach in der Sprache, die sie bereits kennen: Code. Das spart Zeit, Geld und liefert bessere Ergebnisse.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.