Der Aufbau großer KI-Modelle erfordert eine Lernkurve und ist sowohl zeit- als auch ressourcenintensiv. Bis vor Kurzem stellten wir uns die Modellgewichte einer vorab trainierten KI als mehrdeutige 2D-Arrays von Dezimalzahlen vor, aber was wäre, wenn da noch etwas mehr wäre?
Heute möchten wir mitteilen, wie wir die Gewichte von KI-Modellen erforschen, aber schauen wir uns zunächst an, wie wir hierher gekommen sind.
Wir haben diese Schlüsselpapiere gelesen
ImageNet-Klassifizierung mit tiefen Faltungs-Neuronalen Netzen
Aufmerksamkeit ist alles, was Sie brauchen
Imbissbuden / Highlights
Schlüsselfragen
Was funktioniert sonst noch mit Matrizen und hochauflösenden Float-32-Daten? (TIFF-Bilder)?
Warum können wir nicht ähnliche Techniken dieser Systeme mit großen, hochauflösenden Datensätzen wiederverwenden, um mit einem anderen Iteratortyp durch „die Gewichte“ zu navigieren? Wer weiß, dass dieser Ansatz angesichts der aktuellen Rust- und MMAP-Leistung beim Laden einer 100-GB-Datei auf der Festplatte vielleicht auch ohne GPU für kleinere Modelle funktionieren könnte, die nur auf die CPU beschränkt sind.
Welche technischen Teile fehlen/werden für den Einstieg benötigt?
Was
Wir haben einen Prototyp zum Extrahieren und hoffentlich Identifizieren der Gewichtungen erstellt:
beziehen sich auf die ursprünglichen Quelltrainingsdaten
Veränderung über viele Ausbildungsgenerationen hinweg
scheinen ein dichtes 3D-Feld von Trainingswissen darzustellen, das als eingebettete „Gewichte“ gespeichert ist (unbewiesen, aber das ist unsere Hypothese, die auf den Techniken basiert, die zu funktionieren scheinen).
Warum
Wir wollten verstehen, warum LLMs etwas Besonderes sind und wie die Gewichte in diese innovative Technologie passen.
Indem wir unsere Zeit damit verbringen, die LLM-Gewichte anzuzeigen, glauben wir, dass wir bekannte Visualisierungstechniken zur Analyse menschlicher Gehirnscans anwenden können, um die Gewichte zu extrahieren, zu identifizieren, wiederzuverwenden und zu überprüfen.
Bevor große generative AI-Transformer-Gewichte allgemein verfügbar waren, waren diese Arten von dichten, hochauflösenden Trainingsdatensätzen sehr teuer und wurden nicht häufig geteilt
Wie
Wir haben diesen Prototyp mithilfe digitaler Signalverarbeitungsalgorithmen (DSP) für die volumetrische Analyse hochauflösender Daten erstellt und die Analyse-Engine mit Blender (einem Open-Source-Visualisierungstool) kombiniert.
Wir werden Open Source sein und verfolgen, wie eine KI von Grund auf lernt, und Blender verwenden, um zu exportieren und zu teilen, wie die Gewichte aussehen, während wir fortfahren.
Durch die Entscheidung, Blender zur Analyse von Modellgewichten in einem 3D-Volumen zu verwenden, haben wir Animationsfunktionen integriert, mit denen wir unsere erste v1-API für die Erfassung eines Zeitreihen-Trainingsdatensatzes entwerfen können. Dieser Trainingsdatensatz konzentriert sich auf die Erfassung, wie ein KI-Grundmodell in jeder Trainingsphase lernt, und zwar mithilfe einer leistungsstarken Gewichtsanalyse auf volumetrischen Daten.
Wir glauben, dass wir mitteilen müssen, wie diese Modelle aussehen, damit wir sie verstehen und KIs darin trainieren können, sich selbst zu erstellen und zu prüfen.
Wir möchten auch sehen, wie Expertenmischungen aussehen (laden Sie unten die neuesten Dolphin 2.5 Mixtral 8x7B STL/glTF-Mesh-Versionen herunter).
Dieses Repository dient der Profilerstellung, Extraktion, Visualisierung und Wiederverwendung generativer KI-Gewichte, um hoffentlich genauere KI-Modelle zu erstellen und ruhende Gewichte zu prüfen/scannen, um Wissensdomänen für Risiken zu identifizieren.
Hinweis: Die heutige Version enthält nur Informationen zum Profilieren, Extrahieren und Visualisieren vorhandener Modellgewichte. Da wir nun visualisieren können, wie KI-Modelle lernen, folgt als nächstes das grundlegende Modelltraining. Die Trainingsvisualisierung beginnt mit der Vermittlung eines neuen KI-Modells darüber, „wie das Bampe-Weights-Repository Numpy, Pandas und Blender integriert“. Wir müssen ca. 190 Python-/(Aufgaben-, Eingabeaufforderungs-, Antwort-)Dateien organisieren, bevor wir sie teilen.
Dieses Repository untersucht Visualisierungen des Modelllernens im Laufe der Zeit und erstellt Trainingsdatensätze aus extrahierten „Gewichtsformen“, um neue KI-Modellgewichte zu erstellen und vorherzusagen (hoffentlich auch schneller als herkömmliche Trainingsmethoden).
So sieht Llama 2 7B Chat GPTQ in Blender aus und wird mit diesem Repository als GIF exportiert:
Die folgenden Google Drive-Ordner enthalten den neuen Index der glTF- und STL-Visualisierungen großer Sprachmodelle. Die Dateien reichen von ~1 MB bis +2 GB.
Kontaktieren Sie uns, wenn Sie ein neues Modell/eine neue Dichte sehen möchten!
Wenn eine STL-Datei klein genug ist, kann GitHub die 3D-Netze automatisch rendern. Hinweis: Die Anzeige von GitHub STL auf Mobilgeräten ist derzeit nicht ideal, aber auf einem Desktop können Sie mit einem Mausrad in umgekehrter Reihenfolge in die Ebenen hineinzoomen und mit der linken/rechten Maustaste drehen:
Wir versuchen, unter der 50-MB-Grenze zu bleiben und Assets in unserem Repo auf GitHub zu speichern – https://github.com/matlok-ai/gen-ai-datasets-for-bampe-weights/docs/images/blender
Hosten Sie Blender selbst in einem Container, um zu sehen, wie generative KI-Gewichte lokal aussehen:
Blender-Demo-Container-Image mit exportierten STL/GLB-Dateien bereits enthalten
Das matlok/blender-ai-demos-Image wurde aus dem LinuxServer Blender-Image erstellt und enthält 3D-STL- und GLB-Dateien, die Sie in einem Browser anzeigen können. Das von blender-ai-demos extrahierte Container-Image ist >4,0 GB auf der Festplatte und benötigt etwa 3 GB RAM, um STL- oder glTF-Dateien >40 MB zu verarbeiten:
Die Demo-Visualisierungen finden Sie in diesem Verzeichnis im Container:
/config/bampe-visualizations
Docker
docker rm blender; docker-compose -f compose/blender-demos.yaml up -d
Podman
podman rm -t 0 -f blender; podman-compose -f compose/blender-demos.yaml up -d
Basis-LinuxServer-Image
Führen Sie das LinuxServer/docker-blender-Image (lscr.io/linuxserver/blender:latest) aus und generieren Sie neue STL/GLB-Dateien, die mithilfe eines bereits bereitgestellten Volumes zwischen dem Host und dem Blender-Container (Verzeichnis .blender ) angezeigt werden können. Das von Docker-Blender extrahierte Container-Image hat eine Größe von ca. 3 GB auf der Festplatte.
Docker
docker rm blender; docker-compose -f compose/blender-demos.yaml up -d
Podman
podman rm -t 0 -f blender; podman-compose -f compose/base.yaml up -d
Hinweis: Neu erstellte visuelle Artefakte (STL- und glTF-GLB-Dateien) werden erst angezeigt, wenn der Container in diesem Verzeichnis im Blender-Container neu gestartet wird:
/config/bampe
Öffnen Sie Blender in einem Browser
Blender lauscht unter dieser URL:
http://localhost:3000
Laden Sie eine 3D-Blender-KI-Visualisierung manuell
Sobald Blender im Browser ausgeführt wird, können Sie STL- oder glTF-Dateien importieren, indem Sie auf diese Menüs klicken:
Datei
Import
STL oder glTF
Die Dateien befinden sich je nach ausgeführter Containerversion entweder in /config/bampe oder /config/bampe-visualizations
Verwenden Sie Umschalt + `, um den Navigationsmodus mit der Maus zu aktivieren, und W, A, S, D für die Ego-Perspektive.
Wenn Sie die Umschalttaste gedrückt halten, bewegen Sie sich ebenfalls mit Turbogeschwindigkeit.
Öffnen Sie „Bearbeiten“ -> „Einstellungen“ -> „Navigation“ -> „Fliegen und gehen “ -> „Walk-Umschaltpfeil“.
Passen Sie die Mausempfindlichkeit an -> 0,1
Passen Sie die Gehgeschwindigkeit an -> 20 m/s
Dieses Repository dient der Erforschung alternativer Ansätze zum Aufbau von KI unter Verwendung vorab trainierter KI-Gewichte. Es ist noch in Arbeit. Weitere Informationen zum Ausführen über die Befehlszeile finden Sie im Abschnitt „Einrichten einer Entwicklungsumgebung“.
Wir können diese Formen mithilfe von Online-Tools teilen und anzeigen.
Dieses Repository wurde auf den folgenden Plattformen getestet: