Zum Inhalt springen →

Kategorie: Allgemein

300% Performance durch Batch-Textgenerierung

Durch die Bündelung mehrerer Texte in einem Batch und deren gleichzeitige Verarbeitung kann die Verarbeitungsgeschwindigkeit deutlich gesteigert und die Ressourcennutzung optimiert werden. Durch die die Parallelisierung auf einer GPU ist eine effizientere Auslastung der Hardware möglich, was insgesamt zu einer verbesserten Geschwindigkeit führt. Dieser Ansatz ist besonders vorteilhaft für Anwendungen, die große Mengen von Texten generieren müssen, wie beispielsweise bei der automatisierten Erstellung von synthetisch generierten Daten zum Trainieren von KI-Modellen. Die Parallelisierung der Batch-Textgenerierung auf einer GPU bietet folgende Vorteile: GPUs sind darauf ausgelegt, große Datenmengen parallel zu verarbeiten. Durch die Parallelisierung können mehrere Textgenerierungsaufgaben gleichzeitig ausgeführt werden, was zu einer erheblichen Beschleunigung führen kann. Ohne diese Parallelisierung könnten Teile der GPU während der Inferenz ungenutzt bleiben, da einige…

Kommentare sind geschlossen.

Welche Antwort bevorzugen Sie? Ihre Wahl hilft dabei, ChatGPT zu verbessern.

Das ist neu. ChatGPT erzeugt 2 Varianten einer Antwort und fragt: „Welche Antwort bevorzugen Sie?“. Ich habe das jedenfalls so noch nicht gesehen, obwohl ich ChatGPT mittlerweile durch mittlerweile recht häufig nutze. Welche Antwort bevorzugen Sie? Ihre Wahl hilft dabei, ChatGPT zu verbessern. ChatGPT Diese Form des RLFHF (Reinforcement learning from human feedback) ist neu. Aber keine schlechte Idee. Als Nutzer darf man den ChatCPT Dienst kostenlos nutzen aber hilft dabei, ChatGPT besser zu machen. In dem obigen Beispiel ist der Unterscheid zwar sehr minimal und eigentlich sind beide Lösungen nahezu identisch, aber ich wähle die rechte Version. Eigentlich eine gute Möglichkeit, etwas zurück zu geben, da OpenAI das Feedback in die nächste Version der KI einfließen lassen kann um…

Kommentare sind geschlossen.

babylon.js GUI-Editor offline verwenden

Um den Babylon.js GUI-Editor offline zu verwenden, zuerst sichergestellt werden, dass alle erforderlichen Komponenten lokal auf Ihrem Computer installiert sind. Anschließend kann man den Editor ohne Internetverbindung starten und damit arbeiten, ohne auf eine Online-Verbindung angewiesen zu sein. Wie das genau von Statten geht beschreibe ich in dieser kleinen Anleitung Was ist der Babylon.js GUI Editor? Babylon.js ist eine umfangreiche Open-Source-Bibliothek für die Entwicklung von 3D-Web-Anwendungen. Der GUI Editor ist eine Erweiterung dieser Bibliothek, die speziell darauf ausgerichtet ist, die Gestaltung und Implementierung von Benutzeroberflächen in Babylon.js-Projekten zu vereinfachen. Mit dem Babylon.js GUI Editor kann man 2D-Elemente wie Schaltflächen, Textfelder, Listen, Slider und mehr erstellen, positionieren und anpassen. Diese Elemente können in eine 3D-Szene integriert werden, um interaktive Benutzeroberflächen für…

Kommentare sind geschlossen.

Pytorch Speicherprobleme analysieren und beheben

CUDA out of memory. Tried to allocate 3.73 GiB. GPU 0 has a total capacty of 14.75 GiB of which 3.45 GiB is free. Process 9648 has 11.29 GiB memory in use. Of the allocated memory 11.18 GiB is allocated by PyTorch, and 1.91 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF Die Fehlermeldung „CUDA out of memory“ hat vermutlich Jeder schon mal gesehen, der versucht hat, größere LLMs auf einer Consumer-GPU laufen zu lassen. Der Fehler besagt, dass der Speicher auf der Grafikkarte knapp wird und keine weiteren Ressourcen für die aktuelle Operation zur Verfügung stehen. Moderne Grafikkarten von NVIDIA…

Kommentare sind geschlossen.

Die Macht der Parameter in der Huggingface Transformer-Textgenerierung

Die Huggingface Transformer-Methode „generate“ ist eine einfache Möglichkeit mit einem der aktuell 66.987 text-generation Modelle, automatisch Texte zu generieren. Dazu kann man z.B. folgenden einfachen Python code verwenden. Der Code lädt ein Model und den Tokenizer von Huggingface und führ die Inference auf einer CUDA kompatiblen NVIDIA GPU aus. Die Methode „model.generate()“ kann aber noch viel mehr. Die model.generate() Methode nimmt noch folgende optionale Parameter entgegen, mit denen man das Generieren der Antwort vom Text-Generation Model noch optimieren kann. Huggingface Transformer model.generate Parameter max_length: Die maximale Länge der zu generierenden Sequenz. Standardmäßig auf 20 gesetzt. Ein paar Beispiele Im Folgenden werde ich anhand von ein paar Beispielen einige der Parameter exemplarisch erläutern und ihre Funktionen im Kontext der Generierung von…

Kommentare sind geschlossen.

xLSTM von Sepp Hochreiter ist fast da

Im „INDUSTRIAL AI PODCAST“ #230 vom 05.02.2024 war Sepp Hochreiter zusammen mir Johannes Brandstetter zu Gast, um von einer neuen LLM-Alternative „xLSTM“ zu berichten an der Sepp Hochreiter mit seinem Team gerade arbeitet und das laut Sepp Hochreiter das Potential hat, OpenAI aus dem Markt zu werfen. Noch ist nicht viel bekannt, da die Intellectual Property Rights noch in der Luft hängen, Sepp Hochreiter die Rechte am xLSTM in Europa/Österreich halten möchte und die Technologie noch nicht patentiert ist. Trotzdem habe ich mal versucht, die vorhandenen Informationen und Spekulationen zusammenzutragen. Nehmt es mir also nicht übel, wenn hier etwas nicht ganz korrekt ist bzw. sich noch ändert. Vieles davon sind Halbwahrheiten bzw. Gerüchte. Aber was genau ist xLSTM? Das neue…

Kommentare sind geschlossen.

CodeFuse-DeepSeek-33b in 4bit auf dem Jetson Orin laufen lassen

Beim Surfen bin ich auf ein mir bisher unbekanntes Huggingface Leaderboard aufmerksam geworden, dass sich speziell auf „Big Code Models“ konzentriert und die Leistung Multi-Language Code-Generierungsmodellen anhand des HumanEval und des MultiPL-E Benchmarks vergleicht. https://huggingface.co/spaces/bigcode/bigcode-models-leaderboard Unter den Top-10 findet man die üblichen Verdächtigen. Aber auf Platz 1 steht CodeFuse-DeepSeek-33b. Davon habe ich bisher noch nichts gehört. Es erreicht 60.76 bei der Programmiersprache Java und übertrifft sogar DeepSeek-Coder-33b-instruct (52.03) und CodeLlama-70b (44.72). Grund genug sich CodeFuse-DeepSeek-33b mal genauer anzusehen. CodeFuse-DeepSeek-33b Unter https://huggingface.co/codefuse-ai/CodeFuse-DeepSeek-33B-4bits kann man lesen, dass CodeFuse-DeepSeek-33B ein 33B Code-LLM ist, das mit Hilfe von QLoRA anhand mehrerer codebezogenen Aufgaben auf dem Basismodell DeepSeek-Coder-33B feingetunt wurde. Das klingt vielversprechend. Die DeepSeek-Coder Familie benutze ich schon relativ lange und habe gute Erfahrungen…

Kommentare sind geschlossen.

Gradio Machine Learning Web Apps GDPR kompatibel

Gradio ist ein Open-Source Python Package, mit dem man schnell und einfach eine Webanwendung für ein Machine Learning Model erstellen kann. Die Idee ist es, die Komplexität von Machine-Learning-Modellen zu reduzieren und eine einfache Möglichkeit zu haben, eine interaktive Machine Learning Web-Anwendungen zu erstellen. Eine einfache einführung in Gradio gibt es z.B. hier: Gradio wird auch von einigen Anwendungen als Web-Interface genutzt, um z.B. schnell und einfach auf ein LLM zugreifen zu können. Ich nutze z.B. gerne FastChat (https://github.com/lm-sys/FastChat) um eine Web-GUI für ein LLM zu erstellen. Mit folgenden 3 Zeilen kann man eine einfache Web-GUI für ein LLMs starten. Dieser Aufruf startet einen Gradio Webserver, der dann eine Chat-GPT ähnlich Oberfläche unter http://localhost:8001/ erzeugt und einen Zugriff auf die…

Kommentare sind geschlossen.

SSHFS for Windows

Wer schon immer mal Dateien auf einem Server (z.B. Python, PHP, etc.) statt mit einem Vim in der Console in der lokalen IDE (z.B. IntelliJ, Eclipse oder Visual Studio Code) editieren wollte, hat mit „SSHFS-Win · SSHFS for Windows“ eine einfache Möglichkeit dies zu tun. Installation Die Installation erfolgt mit dem folgenden Kommando: winget install -h -e –id „WinFsp.WinFsp“ && winget install -h -e –id „SSHFS-Win.SSHFS-Win“ Dieses Command (Powerhell) startet den Download von „WinFsp.WinFsp“ und „SSHFS-Win.SSHFS-Win“ und führt direkt die Installation durch. Gefunden WinFsp 2023 [WinFsp.WinFsp] Version 2.0.23075 Diese Anwendung wird von ihrem Besitzer an Sie lizenziert. Microsoft ist nicht verantwortlich und erteilt keine Lizenzen für Pakete von Drittanbietern. Download läuft https://github.com/winfsp/winfsp/releases/download/v2.0/winfsp-2.0.23075.msi ██████████████████████████████ 2.10 MB / 2.10 MB Der Installer-Hash…

Kommentare sind geschlossen.

Mit dem Milk-V Duo einen PWM-Lüfter steuern

Mein Jetson Orin hat seit einigen Monaten seinen Platz bei mir gefunden und läuft aktuell quasi permanent auf 65W und macht das Finetuning für diverse LLMs dabei wird er in dem Schrank leider sehr warm und die Wärme muss irgendwie aus dem Schrank raus. Noctua NF-A6x25 5V PWM-Lüfter Also habe ich mir einen Noctua NF-A6x25 5V PWM-Lüfter bestellt, um die Luft im Schrank etwas abzukühlen. Das Ziel ist es, die RPM des Lüfters über das PWM-Signal des Milk-V Duo zu steuern. Lüfter Der Noctua NF-A6x25 5V PWM-Lüfter ist ein 5Volt Lüfter, der auch bei hohen Drehzahlen noch sehr leise ist (19,3 dB(A)) und relativ wenig Strom (260mA) benötigt. Laut des WhitePapers kann man die Drehzahl über ein PWM-Signal steuern und…

Kommentare sind geschlossen.