<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>LeaderGPU® | GPU-Lösungen für High Performance Computing</title>
    <link>https://www.leadergpu.de</link>
    <description>Ein Lösungskatalog mit den besten Bibliotheken, Programmen und Tools für High Performance Computing in verschiedenen Kategorien und Bereichen.</description>
    <language>de</language>
    <item>
      <title>Qwen3-Coder: Ein gebrochenes Paradigma</title>
      <link>https://www.leadergpu.de/catalog/628-qwen3-coder-ein-gebrochenes-paradigma</link>
      <description>&lt;p&gt;Wir sind daran gewöhnt, dass Open-Source-Modelle in ihrer Qualität immer hinter ihren kommerziellen Pendants zurückbleiben. Es mag den Anschein haben, dass sie ausschließlich von Enthusiasten entwickelt werden, die es sich nicht leisten können, große Summen in die Erstellung hochwertiger Datensätze und das Training von Modellen auf Zehntausenden moderner Grafikprozessoren zu investieren.&lt;/p&gt;
&lt;p&gt;Anders sieht es aus, wenn sich große Unternehmen wie OpenAI, Anthropic oder Meta dieser Aufgabe annehmen. Sie verfügen nicht nur über die nötigen Ressourcen, sondern auch über die weltweit besten Spezialisten für neuronale Netze. Leider sind die von ihnen erstellten Modelle, insbesondere die neuesten Versionen, Closed-Source. Die Entwickler begründen dies mit den Risiken einer unkontrollierten Nutzung und mit der Notwendigkeit, die Sicherheit der KI zu gewährleisten.&lt;/p&gt;
&lt;p&gt;Einerseits ist ihre Argumentation nachvollziehbar: Viele ethische Fragen sind nach wie vor ungelöst, und die Natur der Modelle neuronaler Netze erlaubt nur eine indirekte Einflussnahme auf das Endergebnis. Andererseits ist es auch ein solides Geschäftsmodell, die Modelle geschlossen zu halten und den Zugang nur über die eigene API anzubieten.&lt;/p&gt;
&lt;p&gt;Allerdings verhalten sich nicht alle Unternehmen auf diese Weise. Das französische Unternehmen Mistral AI beispielsweise bietet sowohl kommerzielle als auch Open-Source-Modelle an, die von Forschern und Enthusiasten für ihre Projekte genutzt werden können. Besonderes Augenmerk sollte jedoch auf die Leistungen chinesischer Unternehmen gelegt werden, von denen die meisten Modelle mit offenem Gewicht und offenem Quellcode entwickeln, die mit proprietären Lösungen ernsthaft konkurrieren können.&lt;/p&gt;
&lt;h2&gt;DeepSeek, Qwen3 und Kimi K2&lt;/h2&gt;
&lt;p&gt;Der erste große Durchbruch gelang mit DeepSeek-V3. Dieses multimodale Sprachmodell von DeepSeek AI wurde unter Verwendung des Mixture of Experts (MoE)-Ansatzes entwickelt und umfasst beeindruckende 671B Parameter, von denen 37B für jedes Token aktiviert sind. Am wichtigsten ist, dass alle Komponenten (Modellgewichte, Inferenzcode und Trainingspipelines) offengelegt wurden.&lt;/p&gt;
&lt;p&gt;Dies machte es sofort zu einem der attraktivsten LLMs für Entwickler von KI-Anwendungen und Forscher gleichermaßen. Der nächste Schlagzeilenmacher war DeepSeek-R1 - das erste quelloffene Reasoning-Modell. Am Tag seiner Veröffentlichung erschütterte es die US-Börse, nachdem seine Entwickler behauptet hatten, dass das Training eines so fortschrittlichen Modells nur 6 Millionen Dollar gekostet hatte.&lt;/p&gt;
&lt;p&gt;Während sich der Hype um DeepSeek schließlich abkühlte, waren die nächsten Veröffentlichungen nicht weniger wichtig für die globale KI-Branche. Die Rede ist natürlich von Qwen 3. Wir haben die Funktionen in unserem Bericht über &lt;a href=&quot;https://www.leadergpu.de/catalog/624-was-ist-neu-in-qwen-3&quot; target=&quot;_blank&quot;&gt;Was ist neu in Qwen 3&lt;/a&gt; ausführlich beschrieben, so dass wir hier nicht weiter darauf eingehen wollen. Kurz darauf tauchte ein weiterer Spieler auf: Kimi K2 von Moonshot AI.&lt;/p&gt;
&lt;p&gt;Mit seiner MoE-Architektur, 1T-Parametern (32B pro Token aktiviert) und Open-Source-Code zog Kimi K2 schnell die Aufmerksamkeit der Community auf sich. Moonshot AI konzentrierte sich nicht auf das logische Denken, sondern strebte nach Spitzenleistungen in Mathematik, Programmierung und tiefgreifendem interdisziplinärem Wissen.&lt;/p&gt;
&lt;p&gt;Das Ass im Ärmel von Kimi K2 war seine Optimierung für die Integration in KI-Agenten. Dieses Netzwerk wurde im wahrsten Sinne des Wortes so konzipiert, dass es alle verfügbaren Werkzeuge voll ausschöpfen kann. Es eignet sich hervorragend für Aufgaben, die nicht nur das Schreiben von Code, sondern auch iterative Tests in jeder Entwicklungsphase erfordern. Allerdings hat es auch Schwächen, auf die wir später noch eingehen werden.&lt;/p&gt;
&lt;p&gt;Kimi K2 ist in jeder Hinsicht ein großes Sprachmodell. Die Ausführung der Vollversion erfordert ~2 TB VRAM (FP8: ~1 TB). Aus offensichtlichen Gründen ist das nichts, was man zu Hause machen kann, und selbst viele GPU-Server werden das nicht schaffen. Das Modell benötigt mindestens 8 NVIDIA® H200 Beschleuniger. Quantisierte Versionen können Abhilfe schaffen, allerdings zu einem spürbaren Preis für die Genauigkeit.&lt;/p&gt;
&lt;h2&gt;Qwen3-Coder&lt;/h2&gt;
&lt;p&gt;Angesichts des Erfolgs von Moonshot AI hat Alibaba sein eigenes, Kimi K2-ähnliches Modell entwickelt, allerdings mit erheblichen Vorteilen, auf die wir gleich eingehen werden. Ursprünglich wurde es in zwei Versionen veröffentlicht:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct&quot; target=&quot;_blank&quot;&gt;Qwen3-Coder-480B-A35B-Instruct&lt;/a&gt; (~250 GB VRAM)&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8&quot; target=&quot;_blank&quot;&gt;Qwen3-Coder-480B-A35B-Instruct-FP8&lt;/a&gt; (~120 GB VRAM)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Einige Tage später erschienen kleinere Modelle ohne den Argumentationsmechanismus, die weit weniger VRAM benötigten:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct&quot; target=&quot;_blank&quot;&gt;Qwen3-Coder-30B-A3B-Instruct&lt;/a&gt; (~32 GB VRAM)&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct-FP8&quot; target=&quot;_blank&quot;&gt;Qwen3-Coder-30B-A3B-Instruct-FP8&lt;/a&gt; (~18 GB VRAM)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Qwen3-Coder wurde für die Integration mit Entwicklungswerkzeugen konzipiert. Es enthält einen speziellen Parser für Funktionsaufrufe (qwen3coder_tool_parser.py, analog zu OpenAIs Funktionsaufruf). Zusammen mit dem Modell wurde ein Konsolenprogramm veröffentlicht, das von der Codekompilierung bis zur Abfrage einer Wissensdatenbank reicht. Diese Idee ist nicht neu, im Wesentlichen handelt es sich um eine stark überarbeitete Erweiterung der Gemini-Code-App von Anthropic.&lt;/p&gt;
&lt;p&gt;Das Modell ist mit der OpenAI-API kompatibel, so dass es lokal oder auf einem entfernten Server eingesetzt und mit den meisten Systemen, die diese API unterstützen, verbunden werden kann. Dazu gehören sowohl vorgefertigte Client-Anwendungen als auch Bibliotheken für maschinelles Lernen. Damit ist es nicht nur für das B2C-, sondern auch für das B2B-Segment geeignet und bietet einen nahtlosen Ersatz für das Produkt von OpenAI, ohne dass die Anwendungslogik geändert werden muss.&lt;/p&gt;
&lt;p&gt;Eine der am meisten nachgefragten Funktionen ist die erweiterte Kontextlänge. Standardmäßig unterstützt es 256k Token, kann aber mit dem Mechanismus &lt;b translate=&quot;no&quot;&gt;YaRN&lt;/b&gt; (Yet another RoPe extensioN) auf 1M erhöht werden. Moderne LLMs werden in der Regel auf kurzen Datensätzen (2k-8k Token) trainiert, und große Kontextlängen können dazu führen, dass sie den Überblick über frühere Inhalte verlieren.&lt;/p&gt;
&lt;p&gt;YaRN ist ein eleganter &quot;Trick&quot;, der dem Modell vorgaukelt, dass es mit seinen üblichen kurzen Sequenzen arbeitet, während es in Wirklichkeit viel längere Sequenzen verarbeitet. Die Schlüsselidee besteht darin, den Positionsraum zu &quot;strecken&quot; oder zu &quot;dehnen&quot;, während die mathematische Struktur, die das Modell erwartet, erhalten bleibt. Dies ermöglicht die effektive Verarbeitung von Sequenzen mit einer Länge von Zehntausenden von Token, ohne dass eine Umschulung oder ein zusätzlicher Speicher erforderlich ist, wie es bei herkömmlichen Kontexterweiterungsmethoden der Fall ist.&lt;/p&gt;
&lt;h2&gt;Herunterladen und Ausführen der Inferenz&lt;/h2&gt;
&lt;p&gt;Vergewissern Sie sich, dass Sie zuvor CUDA® installiert haben. Verwenden Sie dazu entweder die offiziellen Anweisungen von NVIDIA® oder die Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/615-cuda-toolkit-unter-linux-installieren&quot; target=&quot;_blank&quot;&gt;CUDA® Toolkit unter Linux installieren&lt;/a&gt;. Prüfen Sie, ob der erforderliche Compiler vorhanden ist:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nvcc --version&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erwartete Ausgabe:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Feb_27_16:19:38_PST_2024
Cuda compilation tools, release 12.4, V12.4.99
Build cuda_12.4.r12.4/compiler.33961263_0&lt;/pre&gt;
&lt;p&gt;Wenn Sie erhalten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;Command &#39;nvcc&#39; not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit&lt;/pre&gt;
&lt;p&gt;erhalten, müssen Sie die CUDA® Binärdateien zum $PATH Ihres Systems hinzufügen.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export PATH=/usr/local/cuda-12.4/bin:$PATH&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dies ist eine vorübergehende Lösung. Für eine dauerhafte Lösung editieren Sie &lt;b translate=&quot;no&quot;&gt;~/.bashrc&lt;/b&gt; und fügen Sie die gleichen zwei Zeilen am Ende hinzu.&lt;/p&gt;
&lt;p&gt;Bereiten Sie nun Ihr System für die Verwaltung virtueller Umgebungen vor. Sie können Pythons eingebautes venv oder das fortschrittlichere Miniforge verwenden. Angenommen, Miniforge ist installiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda create -n venv python=3.10&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda activate venv&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie PyTorch mit CUDA® Unterstützung passend zu Ihrem System:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie dann die wesentlichen Bibliotheken:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Transformers&lt;/b&gt; - Die Hauptmodellbibliothek von Hugging Face&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Accelerate&lt;/b&gt; - ermöglicht Multi-GPU-Inferenz&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;HuggingFace Hub&lt;/b&gt; - zum Herunter-/Hochladen von Modellen und Datensätzen&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Safetensors&lt;/b&gt; - sicheres Modellgewichtsformat&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;vLLM&lt;/b&gt; - empfohlene Inferenzbibliothek für Qwen&lt;/li&gt;
&lt;/ul&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip install transformers accelerate huggingface_hub safetensors vllm&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das Modell herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;hf download Qwen/Qwen3-Coder-30B-A3B-Instruct --local-dir ./Qwen3-30B&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Inferenz mit Tensor-Parallelität durchführen (Aufteilung der Schichttensoren auf GPUs, z. B. 8):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;python -m vllm.entrypoints.openai.api_server \
--model /home/usergpu/Qwen3-30B \
--tensor-parallel-size 8 \
--gpu-memory-utilization 0.9 \
--dtype auto \
--host 0.0.0.0 \
--port 8000&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dadurch wird der vLLM OpenAI API Server gestartet.&lt;/p&gt;
&lt;h2&gt;Testen und Integration&lt;/h2&gt;
&lt;h3&gt;cURL&lt;/h3&gt;
&lt;p&gt;Installieren Sie &lt;b translate=&quot;no&quot;&gt;jq&lt;/b&gt; für das Pretty-Printing von JSON:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;sudo apt -y install jq&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Testen Sie den Server:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;curl -s http://127.0.0.1:8000/v1/chat/completions -H &quot;Content-Type: application/json&quot; -d &#39;{
  &quot;model&quot;: &quot;/home/usergpu/Qwen3-30B&quot;,
  &quot;messages&quot;: [
    {&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: &quot;You are a helpful assistant.&quot;},
    {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Hello! What can you do?&quot;}
  ],
  &quot;max_tokens&quot;: 180
}&#39; | jq -r &#39;.choices[0].message.content&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;VSCode&lt;/h3&gt;
&lt;p&gt;Um &lt;b translate=&quot;no&quot;&gt;Visual Studio Code&lt;/b&gt; zu integrieren, installieren Sie die Erweiterung &lt;b translate=&quot;no&quot;&gt;Continue&lt;/b&gt; und fügen Sie sie zu &lt;b translate=&quot;no&quot;&gt;config.yaml&lt;/b&gt; hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;- name: Qwen3-Coder 30B
  provider: openai
  apiBase: http://[server_IP_address]:8000/v1
  apiKey: none
  model: /home/usergpu/Qwen3-30B
  roles:
    - chat
    - edit
    - apply&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/183/original/sh_qwen3_coder_a_broken_paradigm_1.png?1755000294&quot; alt=&quot;Continue extension&quot;&gt;
&lt;h3&gt;Qwen-Agent&lt;/h3&gt;
&lt;p&gt;Für eine GUI-basierte Einrichtung mit Qwen-Agent (einschließlich RAG, MCP und Code-Interpreter):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip install -U &quot;qwen-agent[gui,rag,code_interpreter,mcp]&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie den nano-Editor:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;nano script.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beispiel Python-Skript zum Starten von Qwen-Agent mit einer Gradio WebUI:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

llm_cfg = {
    &#39;model&#39;: &#39;/home/usergpu/Qwen3-30B&#39;,
    &#39;model_server&#39;: &#39;http://localhost:8000/v1&#39;,
    &#39;api_key&#39;: &#39;EMPTY&#39;,
    &#39;generate_cfg&#39;: {&#39;top_p&#39;: 0.8},
}

tools = [&#39;code_interpreter&#39;]

bot = Assistant(
    llm=llm_cfg,
    system_message=&quot;You are a helpful coding assistant.&quot;,
    function_list=tools
)

WebUI(bot).run()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;python script.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der Server wird verfügbar sein unter: http://127.0.0.1:7860&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/184/original/sh_qwen3_coder_a_broken_paradigm_2.png?1755000323&quot; alt=&quot;Qwen-Agent with tools&quot;&gt;
&lt;p&gt;Sie können Qwen3-Coder auch in Agenten-Frameworks wie CrewAI integrieren, um komplexe Aufgaben mit Toolsets wie Websuche oder Vektordatenbank-Speicher zu automatisieren.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/627-so-installieren-sie-crewai-mit-gui&quot;&gt;So installieren Sie CrewAI mit GUI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/602-wie-man-die-langflow-anwendung-berwacht&quot;&gt;Wie man die LangFlow-Anwendung überwacht&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/182/original/il_qwen3_coder_a_broken_paradigm.png?1755000263"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 12 Aug 2025 14:11:06 +0200</pubDate>
      <guid isPermaLink="false">628</guid>
      <dc:date>2025-08-12T14:11:06+02:00</dc:date>
    </item>
    <item>
      <title>So installieren Sie CrewAI mit GUI</title>
      <link>https://www.leadergpu.de/catalog/627-so-installieren-sie-crewai-mit-gui</link>
      <description>&lt;p&gt;Die Fähigkeiten von Modellen neuronaler Netze werden täglich erweitert. Forscher und kommerzielle Unternehmen investieren mehr und mehr in ihre Ausbildung. Aber allein können diese Modelle nicht autonom handeln. Um bestimmte Aufgaben zu lösen, brauchen sie Anleitung: Kontexterweiterung und Richtungsvorgabe. Dieser Ansatz ist nicht immer effizient, insbesondere bei komplexen Problemen.&lt;/p&gt;
&lt;p&gt;Was aber, wenn wir einem neuronalen Netz erlauben würden, autonom zu handeln? Und was wäre, wenn wir es mit vielen Werkzeugen ausstatten würden, um mit der Außenwelt zu interagieren? Man erhält einen KI-Agenten, der in der Lage ist, Aufgaben zu lösen, indem er selbständig entscheidet, welche Werkzeuge er verwendet. Klingt kompliziert, aber es funktioniert sehr gut. Doch selbst für einen fortgeschrittenen Benutzer kann die Erstellung eines KI-Agenten von Grund auf eine nicht triviale Aufgabe sein.&lt;/p&gt;
&lt;p&gt;Der Grund dafür ist, dass den meisten gängigen Bibliotheken eine grafische Benutzeroberfläche fehlt. Sie erfordern die Interaktion über eine Programmiersprache wie Python. Dies erhöht die Einstiegshürde drastisch und macht KI-Agenten zu komplex für eine eigenständige Implementierung. Genau das ist bei CrewAI der Fall.&lt;/p&gt;
&lt;h2&gt;Was ist CrewAI?&lt;/h2&gt;
&lt;p&gt;CrewAI ist eine sehr beliebte und praktische Bibliothek, die jedoch standardmäßig nicht mit einer grafischen Benutzeroberfläche ausgestattet ist. Dies veranlasste unabhängige Entwickler, eine inoffizielle Schnittstelle zu schaffen. Der Open-Source-Charakter von CrewAI machte die Aufgabe viel einfacher, und bald veröffentlichte die Community das Projekt CrewAI Studio.&lt;/p&gt;
&lt;p&gt;Entwickler und Enthusiasten erhielten einen tieferen Einblick in die Architektur des Systems und konnten Werkzeuge erstellen, die auf bestimmte Aufgaben zugeschnitten waren. Normale Benutzer konnten KI-Agenten erstellen, ohne eine einzige Zeile Code schreiben zu müssen. Es wurde einfacher, Aufgaben zuzuweisen und den Zugang zu neuronalen Netzen und Tools zu verwalten. Außerdem war es möglich, Agenten von Server zu Server zu exportieren und zu importieren und sie mit Freunden, Kollegen oder der Open-Source-Gemeinschaft zu teilen.&lt;/p&gt;
&lt;p&gt;Ein weiterer Vorteil von CrewAI Studio ist seine Flexibilität bei der Bereitstellung. Es kann als normale App oder als Docker-Container installiert werden - die bevorzugte Methode, da sie alle notwendigen Bibliotheken und Komponenten für den Betrieb des Systems enthält.&lt;/p&gt;
&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;Aktualisieren Sie Ihre Betriebssystem-Pakete und installierten Anwendungen auf die neuesten Versionen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Verwenden Sie das Skript zur automatischen Treiberinstallation oder folgen Sie unserer Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot; target=&quot;_blank&quot;&gt;Installieren Sie Nvidia-Treiber unter Linux&lt;/a&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Server neu, damit die Änderungen wirksam werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown - r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie nach der erneuten Verbindung über SSH die Apache 2-Webserver-Dienstprogramme, mit denen Sie Zugriff auf den &lt;b translate=&quot;no&quot;&gt;.htpasswd&lt;/b&gt; -Dateigenerator erhalten, der für die grundlegende Benutzerauthentifizierung verwendet wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install -y apache2-utils&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie die Docker-Engine mit dem offiziellen Shell-Skript:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -sSL https://get.docker.com/ | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie Docker Compose zum System hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install -y docker-compose&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Klonen Sie das Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/strnad/CrewAI-Studio.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Navigieren Sie zu dem heruntergeladenen Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd CrewAI-Studio&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine Datei &lt;b translate=&quot;no&quot;&gt;.htpasswd&lt;/b&gt; für den Benutzer &lt;b translate=&quot;no&quot;&gt;usergpu&lt;/b&gt;. Sie werden zweimal aufgefordert, ein Passwort einzugeben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;htpasswd -c .htpasswd usergpu&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bearbeiten Sie nun die Container-Bereitstellungsdatei. Standardmäßig gibt es zwei Container:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano docker-compose.yaml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Löschen Sie den Abschnitt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;ports:
  - &quot;5432:5432&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und fügen Sie den folgenden Dienst hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;
nginx:
  image: nginx:latest
  container_name: crewai_nginx
  ports:
    - &quot;80:80&quot;
  volumes:
    - ./nginx.conf:/etc/nginx/nginx.conf:ro
    - ./.htpasswd:/etc/nginx/.htpasswd:ro
  depends_on:
    - web&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nginx benötigt eine Konfigurationsdatei, erstellen Sie also eine:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano nginx.conf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie das Folgende ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;events {}

http {
  server {
    listen 80;

    location / {
      proxy_pass http://web:8501;

      # WebSocket headers
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection &quot;upgrade&quot;;

      # Forward headers
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;

      auth_basic &quot;Restricted Content&quot;;
      auth_basic_user_file /etc/nginx/.htpasswd;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Alle wichtigen Dienstvariablen für CrewAI sind in der Datei &lt;b translate=&quot;no&quot;&gt;.env&lt;/b&gt; definiert. Öffnen Sie die Datei &lt;b translate=&quot;no&quot;&gt;.env_example&lt;/b&gt; zur Bearbeitung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano .env_example&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie die folgenden Zeilen ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;OLLAMA_HOST=&quot;http://open-webui:11434&quot;
OLLAMA_MODELS=&quot;ollama/llama3.2:latest&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und fügen Sie Postgres config hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;POSTGRES_USER=&quot;admin&quot;
POSTGRES_PASSWORD=&quot;your_password&quot;
POSTGRES_DB=&quot;crewai_db&quot;
AGENTOPS_ENABLED=&quot;False&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie nun die Beispieldatei und benennen Sie sie in &lt;b translate=&quot;no&quot;&gt;.env&lt;/b&gt; um, damit das System sie während der Containerbereitstellung lesen kann:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cp .env_example .env&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In diesem Beispiel werden wir lokale Modelle verwenden, wobei die Inferenz von Ollama durchgeführt wird. Wir empfehlen unseren Leitfaden &lt;a href=&quot;https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem&quot; target=&quot;_blank&quot;&gt;Open WebUI: Alles in einem&lt;/a&gt;, und fügen Sie während des Deployments &lt;b translate=&quot;no&quot;&gt;-e OLLAMA_HOST=0.0.0.0&lt;/b&gt; hinzu, damit sich CrewAI direkt mit dem Ollama-Container verbinden kann. Laden Sie das gewünschte Modell (z. B. llama3.2:latest) über die WebUI oder durch Verbinden mit der Containerkonsole und Ausführen herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;ollama pull llama3.2:latest&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sobald alles eingerichtet ist, starten Sie das Deployment:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker-compose up -d --build&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie &lt;b translate=&quot;no&quot;&gt;http://[your_server_ip]/&lt;/b&gt; besuchen, werden Sie zur Eingabe Ihrer Anmeldedaten aufgefordert. Nach korrekter Eingabe erscheint die CrewAI-Oberfläche.&lt;/p&gt;
&lt;h2&gt;Funktionen&lt;/h2&gt;
&lt;p&gt;Schauen wir uns die wichtigsten Funktionen von CrewAI an. Dies wird Ihnen helfen zu verstehen, wie Sie Arbeitsabläufe konfigurieren können. Die zentrale Entität in der &lt;b translate=&quot;no&quot;&gt;Agent&lt;/b&gt;, ein autonomer Aufgabenausführer. Jeder Agent hat Attribute, die ihm helfen, seine Aufgaben zu erfüllen:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Role&lt;/b&gt;. Eine kurze, 2-3 Worte umfassende Aufgabenbeschreibung.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Backstory&lt;/b&gt;. Optional; hilft dem Sprachmodell zu verstehen, wie sich der Agent verhalten soll und auf welche Erfahrungen er sich stützen kann.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Goal&lt;/b&gt;. Das Ziel, das der Agent verfolgen soll.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Allow delegation&lt;/b&gt;. Ermöglicht es dem Agenten, Aufgaben (oder Teile davon) an andere zu delegieren.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Verbose&lt;/b&gt;. Weist den Agenten an, detaillierte Aktionen zu protokollieren.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;LLM Provider and Model&lt;/b&gt;. Legt das zu verwendende Modell und den Anbieter fest.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Temperature&lt;/b&gt;. Bestimmt die Kreativität der Antwort. Höher = kreativer.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Max iterations&lt;/b&gt;. Anzahl der Versuche, die der Agent hat, um erfolgreich zu sein; dient als Schutz (z. B. gegen Endlosschleifen).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Agenten arbeiten, indem sie iterativ Eingaben analysieren, Schlussfolgerungen ziehen und die verfügbaren Werkzeuge nutzen.&lt;/p&gt;
&lt;p&gt;Die Eingabe wird durch eine &lt;b translate=&quot;no&quot;&gt;Task&lt;/b&gt; Entität definiert. Jede Aufgabe enthält eine Beschreibung, einen zugewiesenen Agenten und optional ein erwartetes Ergebnis. Die Aufgaben werden standardmäßig sequentiell ausgeführt, können aber mit dem Flag &lt;b translate=&quot;no&quot;&gt;Async execution&lt;/b&gt; parallelisiert werden.&lt;/p&gt;
&lt;p&gt;Die autonome Arbeit der Agenten wird durch &lt;b translate=&quot;no&quot;&gt;Tools&lt;/b&gt; unterstützt, das die Interaktion mit der realen Welt ermöglicht. CrewAI enthält Werkzeuge für die Websuche, das Parsen von Websites, API-Aufrufe und die Handhabung von Dateien, die den Kontext verbessern und den Agenten helfen, ihre Ziele zu erreichen.&lt;/p&gt;
&lt;p&gt;Schließlich gibt es noch &lt;b translate=&quot;no&quot;&gt;Crew entity&lt;/b&gt;. Es vereint Agenten mit unterschiedlichen Rollen in einem Team, um komplexe Probleme zu lösen. Sie können miteinander kommunizieren, delegieren, überprüfen und korrigieren und bilden so eine kollektive Intelligenz.&lt;/p&gt;
&lt;h2&gt;Verwendung von&lt;/h2&gt;
&lt;p&gt;Nachdem Sie nun mit den Entitäten vertraut sind, lassen Sie uns einen minimalen CrewAI-Workflow erstellen und ausführen. In diesem Beispiel werden wir den globalen Fortschritt bei der Entwicklung von Krebsmedikamenten verfolgen.&lt;/p&gt;
&lt;p&gt;Wir werden drei Agenten verwenden:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Oncology Drug Pipeline Analyst&lt;/b&gt; - verfolgt neue Entwicklungen von der Frühphase bis zur klinischen Erprobung.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Regulatory and Approval Watchdog&lt;/b&gt; - überwacht neue Arzneimittelzulassungen und regulatorische Änderungen.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Scientific Literature and Innovation Scout&lt;/b&gt; - scannt wissenschaftliche Veröffentlichungen und Patente im Bereich der Onkologie.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Öffnen Sie den Bereich Wirkstoffe und erstellen Sie den ersten Wirkstoff:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/174/original/sh_how_to_install_crewai_with_gui_1.png?1753263006&quot; alt=&quot;Agent creation&quot;&gt;
&lt;p&gt;Im Moment verwenden wir das zuvor heruntergeladene Modell &lt;b translate=&quot;no&quot;&gt;llama3.2:latest&lt;/b&gt;, aber in einem realen Szenario sollten Sie das Modell wählen, das am besten zur Aufgabe passt. Wiederholen Sie den Vorgang für die übrigen Agenten und fahren Sie mit der Aufgabenerstellung fort.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/175/original/sh_how_to_install_crewai_with_gui_2.png?1753263034&quot; alt=&quot;Task creation&quot;&gt;
&lt;p&gt;Versammeln Sie alle Agenten zu einem Team und weisen Sie ihnen die vorbereitete Aufgabe zu:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/176/original/sh_how_to_install_crewai_with_gui_3.png?1753263057&quot; alt=&quot;Crew creation&quot;&gt;
&lt;p&gt;Aktivieren Sie die erforderlichen Werkzeuge aus der Liste:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/177/original/sh_how_to_install_crewai_with_gui_4.png?1753263096&quot; alt=&quot;Tools selection&quot;&gt;
&lt;p&gt;Gehen Sie schließlich auf die Seite &lt;b translate=&quot;no&quot;&gt;Kickoff!&lt;/b&gt; und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Run Crew!&lt;/b&gt;. Nach einigen Iterationen wird das System ein Ergebnis zurückgeben, z. B:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/178/original/sh_how_to_install_crewai_with_gui_5.png?1753263118&quot; alt=&quot;Example CrewAI result&quot;&gt;
&lt;p&gt;Bevor wir fertig sind, sehen wir uns noch den Bereich &lt;b translate=&quot;no&quot;&gt;Import/export&lt;/b&gt; an. Ihr Workflow oder Ihre Crew kann als JSON exportiert werden, um sie auf einen anderen CrewAI Server zu übertragen. Sie können auch eine Single-Page-Anwendung (SPA) mit einem einzigen Klick erstellen - perfekt für den Produktionseinsatz:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/179/original/sh_how_to_install_crewai_with_gui_6.png?1753263147&quot; alt=&quot;Import and export settings&quot;&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;CrewAI vereinfacht die Erstellung von KI-Agenten erheblich und ermöglicht die Integration in jede Anwendung oder die eigenständige Nutzung. Die Bibliothek basiert auf der Idee der verteilten Intelligenz, bei der jeder Agent ein Domänenexperte ist und das kombinierte Team einen einzelnen Generalisten-Agenten übertrifft.&lt;/p&gt;
&lt;p&gt;Da sie in Python geschrieben ist, lässt sich CrewAI leicht in ML-Plattformen und -Tools integrieren. Seine Open-Source-Natur ermöglicht die Erweiterung durch Module von Drittanbietern. Die Kommunikation zwischen den Agenten reduziert die Verwendung von Token durch die Verteilung der Kontextverarbeitung.&lt;/p&gt;
&lt;p&gt;Dadurch können komplexe Aufgaben schneller und effizienter erledigt werden. Die niedrigere Einstiegshürde, die CrewAI Studio bietet, vergrößert die Reichweite von KI-Agenten und Multi-Agenten-Systemen. Und die Unterstützung lokaler Modelle gewährleistet eine bessere Kontrolle über sensible Daten.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/622-wie-wird-n8n-installiert&quot;&gt;Wie wird N8N installiert?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/623-mcp-server-auf-der-grundlage-von-n8n&quot;&gt;MCP-Server auf der Grundlage von N8N&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/180/original/il_how_to_install_crewai_with_gui.png?1753275220"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 23 Jul 2025 15:05:43 +0200</pubDate>
      <guid isPermaLink="false">627</guid>
      <dc:date>2025-07-23T15:05:43+02:00</dc:date>
    </item>
    <item>
      <title>Was ist neu in Qwen 3</title>
      <link>https://www.leadergpu.de/catalog/624-was-ist-neu-in-qwen-3</link>
      <description>&lt;p&gt;Der globale KI-Wettlauf wird immer schneller. Forschungseinrichtungen, Privatunternehmen und sogar ganze Nationen konkurrieren jetzt um die Führung im Bereich der KI. Im Großen und Ganzen lässt sich dieser Wettlauf in mehrere Phasen unterteilen. In der ersten Phase ging es um die Entwicklung von KI im engeren Sinne. Bestehende neuronale Netzwerkmodelle wie GPT, MidJourney und AlphaFold zeigen, dass diese Phase erfolgreich abgeschlossen wurde.&lt;/p&gt;
&lt;p&gt;Der nächste Schritt sieht die Entwicklung von KI zu AGI (Artificial General Intelligence) vor. AGI sollte der menschlichen Intelligenz bei der Lösung eines breiten Spektrums von Aufgaben ebenbürtig sein, vom Schreiben von Geschichten über wissenschaftliche Berechnungen bis hin zum Verstehen sozialer Situationen und selbstständigem Lernen. Zum Zeitpunkt der Erstellung dieses Artikels ist diese Stufe noch nicht erreicht.&lt;/p&gt;
&lt;p&gt;Die letzte Stufe der KI-Entwicklung wird als ASI (Artificial Super Intelligence) bezeichnet. Sie würde die menschlichen Fähigkeiten in allen Bereichen weit übertreffen. Damit wäre es möglich, Technologien zu entwickeln, die wir uns heute noch nicht einmal vorstellen können, und globale Systeme mit einer Präzision zu steuern, die menschliche Fähigkeiten übersteigt. Dies könnte jedoch erst nach Jahrzehnten (oder sogar Jahrhunderten) kontinuierlicher Weiterentwicklung Realität werden.&lt;/p&gt;
&lt;p&gt;Daher konzentrieren sich die meisten Teilnehmer des KI-Wettlaufs darauf, die AGI zu erreichen und gleichzeitig die Kontrolle über sie zu behalten. Die Entwicklung von AGI ist eng mit einer Vielzahl komplexer technischer, ethischer und rechtlicher Herausforderungen verbunden. Dennoch überwiegen die potenziellen Vorteile bei weitem die Kosten, weshalb Unternehmen wie die Alibaba Group stark in diesen Bereich investieren.&lt;/p&gt;
&lt;p&gt;Die Veröffentlichung von &lt;a href=&quot;https://github.com/QwenLM/Qwen3&quot; target=&quot;_blank&quot;&gt;Qwen 3&lt;/a&gt; stellt nicht nur für die neuronalen Netze eines Unternehmens, sondern auch auf globaler Ebene einen wichtigen Meilenstein dar. Im Vergleich zu seinem Vorgänger führt das Modell mehrere wichtige Neuerungen ein.&lt;/p&gt;
&lt;h2&gt;Merkmale&lt;/h2&gt;
&lt;p&gt;Qwen 2.5 wurde mit einem Datensatz von 18 Milliarden Token trainiert, während das neue Modell diese Menge auf 36 Milliarden Token verdoppelt hat. Der größere Datensatz hat die Genauigkeit des Basismodells erheblich verbessert. Interessanterweise wurde das System zusätzlich zu den öffentlich zugänglichen Internetdaten, die durch Parsing gesammelt wurden, auch auf PDF-Dokumenten trainiert. Diese sind in der Regel gut strukturiert und weisen eine hohe Wissensdichte auf, was dem Modell hilft, genauere Antworten zu geben und komplexe Formulierungen besser zu verstehen.&lt;/p&gt;
&lt;p&gt;Eine der vielversprechendsten Richtungen in der KI-Entwicklung ist die Entwicklung von Modellen, die zu Schlussfolgerungen fähig sind und den Aufgabenkontext in einem iterativen Prozess erweitern können. Auf der einen Seite ermöglicht dies eine umfassendere Problemlösung, auf der anderen Seite verlangsamt das schlussfolgernde Denken den Prozess aber auch erheblich. Deshalb haben die Entwickler von Qwen 3 zwei Betriebsmodi eingeführt:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Thinking mode.&lt;/b&gt; Das Modell baut den Kontext schrittweise auf, bevor es eine endgültige Antwort liefert. Dies ermöglicht es, komplexe Probleme zu lösen, die ein tiefes Verständnis erfordern.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Non-thinking mode.&lt;/b&gt; Das Modell reagiert fast sofort, kann aber auch oberflächliche Antworten ohne tiefgreifende Analyse liefern.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Diese manuelle Kontrolle über das Verhalten des Modells verbessert die Benutzererfahrung bei der Bewältigung vieler Routineaufgaben. Die Verringerung der Verwendung des Denkmodus senkt auch die GPU-Belastung erheblich, so dass mehr Token im gleichen Zeitrahmen verarbeitet werden können.&lt;/p&gt;
&lt;p&gt;Zusätzlich zu dieser binären Auswahl gibt es auch einen Soft-Switching-Mechanismus. Dieses hybride Verhalten ermöglicht es dem Modell, sich mithilfe interner Gewichtungsmechanismen an den Kontext anzupassen. Wenn das Modell eine Aufgabe als schwierig einstuft, löst es automatisch Überlegungen oder sogar eine Selbstüberprüfung aus. Es kann auch auf Benutzerhinweise reagieren, wie z. B. &quot;Denken wir Schritt für Schritt&quot;.&lt;/p&gt;
&lt;p&gt;Eine weitere wichtige Verbesserung ist die erweiterte Unterstützung von Mehrsprachigkeit. Während Qwen 2.5 nur 29 Sprachen unterstützte, kann die Version 3 nun Text in 119 Sprachen und Dialekten verstehen und erzeugen. Dies hat das Verfolgen von Anweisungen und das Verständnis von Zusammenhängen erheblich verbessert. Dadurch kann Qwen 3 nun auch in nicht-englischen Umgebungen effektiv eingesetzt werden.&lt;/p&gt;
&lt;p&gt;Darüber hinaus ist Qwen 3 jetzt wesentlich besser mit MCP-Servern integriert, was dem Modell die Möglichkeit gibt, tiefer in Problemlösungen einzutauchen und Aktionen auszuführen. Es kann nun mit externen Quellen interagieren und komplexe Prozesse direkt verwalten.&lt;/p&gt;
&lt;h2&gt;Modell-Schulung&lt;/h2&gt;
&lt;h3&gt;Vorschulung&lt;/h3&gt;
&lt;p&gt;Ein solch großer Fortschritt wäre ohne ein mehrstufiges Trainingssystem nicht möglich gewesen. Zunächst wurde das Modell mit 30B Token und einer Kontextlänge von 4K trainiert, damit es allgemeines Wissen und grundlegende Sprachkenntnisse erwerben konnte.&lt;/p&gt;
&lt;p&gt;Danach folgte eine Verfeinerungsphase mit wissenschaftlicheren und besser strukturierten Daten. In dieser Phase erlangte das Modell auch die Fähigkeit, Anwendungen in mehreren Programmiersprachen effektiv zu schreiben.&lt;/p&gt;
&lt;p&gt;Schließlich wurde es auf einem hochwertigen Datensatz mit erweitertem Kontext trainiert. Als Ergebnis unterstützt Qwen 3 jetzt eine effektive Kontextlänge von 128K Token, was je nach Sprache etwa 350 Seiten getippten Textes entspricht. Kyrillisch basierte Sprachen haben beispielsweise aufgrund der Morphologie und der Verwendung von Präfixen, Suffixen usw. oft kürzere Token.&lt;/p&gt;
&lt;h3&gt;Reasoning-Pipeline&lt;/h3&gt;
&lt;p&gt;Die Entwicklung von schlussfolgernden Modellen ist ein faszinierender, aber arbeitsintensiver Prozess, der verschiedene bestehende Techniken zur Simulation des menschlichen Denkens kombiniert. Ausgehend von den öffentlich zugänglichen Informationen können wir davon ausgehen, dass das Argumentationstraining von Qwen 3 vier Hauptphasen umfasste:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Cold start for long chains of thought.&lt;/b&gt; Das Modell wird darauf trainiert, Probleme ohne vorherige Anpassung in mehrere Schritte zu zerlegen. Auf diese Weise lernt es iteratives Denken und entwickelt eine grundlegende Ebene von Denkfähigkeiten.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Reinforcement learning based on reasoning.&lt;/b&gt; In dieser Phase hängt die Belohnung nicht nur von der endgültigen Antwort ab, sondern auch davon, wie gut das Modell logische, interpretierbare und strukturierte Argumentationsketten konstruiert. Auch das Ausbleiben von Fehlern und Halluzinationen wird bewertet.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Merging reasoning modes.&lt;/b&gt; Der Mensch arbeitet in der Regel mit zwei Denkstilen: schnell (intuitiv) und langsam (analytisch). Je nach Art der Aufgabe sollte das neuronale Modell lernen, zwischen diesen beiden Stilen zu wechseln und sie zu integrieren. Dies geschieht in der Regel anhand von Beispielen, die beide Stile kombinieren, oder durch spezielle Token, die angeben, welcher Stil anzuwenden ist.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;General reinforcement learning.&lt;/b&gt; Diese letzte Phase ähnelt einer Sandkastenumgebung, in der das Modell lernt, mit Werkzeugen zu interagieren, mehrstufige Aufgaben auszuführen und adaptives Verhalten zu entwickeln. Hier wird es auch auf die Benutzerpräferenzen eingestellt.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Qwen 3 ist ein wichtiger Meilenstein für die Alibaba Group. Seine Trainingsqualität und -methodik machen es zu einem ernsthaften Konkurrenten für etablierte Anbieter wie OpenAI und Anthropic. Die Verbesserungen gegenüber der Vorgängerversion sind beträchtlich.&lt;/p&gt;
&lt;p&gt;Ein zusätzlicher Vorteil ist der Open-Source-Charakter: Die Codebasis ist auf GitHub unter der Apache-2.0-Lizenz öffentlich zugänglich.&lt;/p&gt;
&lt;p&gt;Die Weiterentwicklung der Qwen-Modellfamilie wird dazu beitragen, ihre Position in der globalen KI-Arena zu stärken und die Lücke zu kommerziellen Closed-Source-Modellen zu schließen. Und alle aktuellen Errungenschaften sind auf die eine oder andere Weise ein Schritt in Richtung Fortschritt der Menschheit bei der Entwicklung von AGI.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf&quot;&gt;Ihr eigenes Qwen mit HF&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/579-qwen-2-gegen-llama-3&quot;&gt;Qwen 2 gegen Llama 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/168/original/il_whats_new_in_qwen_3.png?1752240562"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 14 Jul 2025 08:05:08 +0200</pubDate>
      <guid isPermaLink="false">624</guid>
      <dc:date>2025-07-14T08:05:08+02:00</dc:date>
    </item>
    <item>
      <title>MCP-Server auf der Grundlage von N8N</title>
      <link>https://www.leadergpu.de/catalog/623-mcp-server-auf-der-grundlage-von-n8n</link>
      <description>&lt;p&gt;Die Entwicklung von generativen neuronalen Netzen hat sich in den letzten Jahren erheblich beschleunigt. Sie sind merklich schneller und genauer in ihren Antworten geworden und haben gelernt, logisch zu denken. Ihre Fähigkeiten sind jedoch nach wie vor grundsätzlich durch ihre Architektur begrenzt. Zum Beispiel hat jedes bestehende LLM zum Zeitpunkt der Abfassung dieses Artikels ein Wissensstoppdatum. Das bedeutet, dass mit jedem Tag, der verstreicht, die Wahrscheinlichkeit steigt, dass ein solches LLM falsche Antworten liefert, einfach weil ihm Informationen über Ereignisse fehlen, die nach diesem Datum eingetreten sind.&lt;/p&gt;
&lt;p&gt;Diese Einschränkung macht es erforderlich, das Modell anhand neuerer Daten komplett neu zu trainieren, was teuer und zeitaufwändig ist. Es gibt jedoch eine andere Möglichkeit. Wenn Sie das Modell in die Lage versetzen, mit der Außenwelt zu interagieren, kann es die während einer Benutzerunterhaltung angeforderten Informationen selbständig finden und aktualisieren, ohne dass ein erneutes Training erforderlich ist.&lt;/p&gt;
&lt;p&gt;So ungefähr funktioniert der RAG-Mechanismus (Retrieval Augmented Generation). Bei der Beantwortung einer Frage fragt das Modell zunächst eine vorbereitete Vektordatenbank ab, und wenn es relevante Informationen findet, fügt es diese in die Eingabeaufforderung ein. Durch die Erläuterung und Aktualisierung der Vektor-Datenbank kann die Qualität der LLM-Antworten also erheblich verbessert werden.&lt;/p&gt;
&lt;p&gt;Es gibt aber noch eine andere, noch interessantere Möglichkeit, aktuellen Kontext in die Prompts einzubauen. Sie heißt MCP, was für Model Context Protocol steht. Es wurde ursprünglich von Anthropic für sein Claude-Modell entwickelt. Der Schlüsselmoment war, als der Quellcode für MCP als Open Source zur Verfügung gestellt wurde, was es Tausenden von KI-Forschern ermöglichte, benutzerdefinierte Server für verschiedene Zwecke zu erstellen.&lt;/p&gt;
&lt;p&gt;Das Wesen von MCP besteht darin, einem neuronalen Netzmodell Zugang zu Werkzeugen zu verschaffen, mit denen es selbstständig sein Wissen aktualisieren und verschiedene Aktionen durchführen kann, um gegebene Aufgaben effizient zu lösen. Das Modell entscheidet selbst, welches Werkzeug es verwendet und ob es in der jeweiligen Situation angemessen ist.&lt;/p&gt;
&lt;p&gt;Die Unterstützung für MCP tauchte bald in verschiedenen IDEs wie Cursor sowie in Automatisierungsplattformen wie N8N auf. Letztere ist besonders intuitiv, da Workflows visuell erstellt werden, was sie leichter verständlich macht. Innerhalb von N8N können Sie entweder eine Verbindung zu einem bestehenden MCP-Server herstellen oder einen eigenen erstellen. Darüber hinaus können Sie sogar eine direkte Verbindung innerhalb eines einzigen Workflows organisieren. Aber gehen wir Schritt für Schritt vor.&lt;/p&gt;
&lt;h2&gt;Erstellen eines einfachen KI-Agenten&lt;/h2&gt;
&lt;p&gt;Bevor Sie beginnen, stellen Sie sicher, dass die wichtigste Voraussetzung erfüllt ist: Sie haben ein LLM, das für Verbindungen bereit ist. Dies kann ein lokal laufendes Modell mit Ollama oder ein externer Dienst wie ChatGPT von OpenAI sein. Im ersten Fall müssen Sie die lokale Ollama-API-Adresse (und optional deren Authentifizierung) kennen, und im zweiten Fall benötigen Sie ein aktives OpenAI-Konto mit ausreichend Guthaben.&lt;/p&gt;
&lt;p&gt;Der Aufbau eines Agenten beginnt mit dem Schlüsselknoten AI Agent. Er muss mindestens mit zwei anderen Knoten verbunden sein, von denen einer als Auslöser fungiert und der andere eine Verbindung zum LLM herstellt. Wenn Sie keinen Auslöser angeben, wird das System automatisch einen erstellen und den Agenten bei Erhalt einer Nachricht im internen Chat auslösen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/158/original/sh_mcp_server_based_on_n8n_1.png?1751458377&quot; alt=&quot;AI Agent only&quot;&gt;
&lt;p&gt;Das einzige fehlende Element ist das LLM. Sie können zum Beispiel unser &lt;a href=&quot;https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem&quot;&gt;Open WebUI: Alles in einem&lt;/a&gt; guide verwenden, um Ollama mit einer Weboberfläche einzurichten. Die einzige erforderliche Änderung ist, dass sich die Container für N8N und Open WebUI im selben Netzwerk befinden müssen. Wenn sich der N8N-Container beispielsweise in einem Netzwerk mit dem Namen &lt;b translate=&quot;no&quot;&gt;web&lt;/b&gt; befindet, dann ersetzen Sie im Bereitstellungsbefehl für Open WebUI &lt;b translate=&quot;no&quot;&gt;--network=host&lt;/b&gt; durch &lt;b translate=&quot;no&quot;&gt;--network=web&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;In einigen Fällen müssen Sie auch die Umgebungsvariable &lt;b translate=&quot;no&quot;&gt;OLLAMA_HOST&lt;/b&gt; manuell setzen, z. B. &lt;b translate=&quot;no&quot;&gt;-e OLLAMA_HOST=0.0.0.0&lt;/b&gt;. Dies ermöglicht Verbindungen zur Ollama-API nicht nur von localhost, sondern auch von anderen Containern aus. Angenommen, Ollama wird in einem Container namens &lt;b translate=&quot;no&quot;&gt;ollama-webui&lt;/b&gt; bereitgestellt. Dann wäre die Basis-URL für eine Verbindung von N8N aus wie folgt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;http://open-webui:11434&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bevor Sie den Ollama Chat Model Knoten verbinden, vergessen Sie nicht, mindestens ein Modell herunterzuladen. Sie können dies entweder über die Weboberfläche oder über die Container-CLI tun. Mit dem folgenden Befehl wird das Llama 3.1-Modell mit 8 Milliarden Parametern heruntergeladen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;ollama pull llama3.1:8b&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sobald das Modell heruntergeladen und installiert ist, wird es automatisch in der Liste der verfügbaren Modelle angezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/159/original/sh_mcp_server_based_on_n8n_2.png?1751458416&quot; alt=&quot;Model select&quot;&gt;
&lt;p&gt;Ein minimaler Arbeitsablauf für einen KI-Agenten sieht wie folgt aus:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/160/original/sh_mcp_server_based_on_n8n_3.png?1751458451&quot; alt=&quot;Minimal working AI Agent&quot;&gt;
&lt;p&gt;In dieser Form kann der Agent nur ein Modell verwenden und speichert keine Eingabedaten oder verbessert Eingabeaufforderungen mithilfe externer Tools. Daher ist es sinnvoll, zumindest den Knoten &lt;b translate=&quot;no&quot;&gt;Simple Memory&lt;/b&gt; hinzuzufügen. Für leichte Lasten reicht es aus, Anfragen und Antworten zu speichern.&lt;/p&gt;
&lt;p&gt;Aber zurück zu MCP. Erstellen Sie zunächst einen Server unter Verwendung des speziellen Knotens &lt;b translate=&quot;no&quot;&gt;MCP Server Trigger&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/161/original/sh_mcp_server_based_on_n8n_4.png?1751458483&quot; alt=&quot;MCP Server Trigger only&quot;&gt;
&lt;p&gt;Dieser Knoten ist völlig eigenständig und muss nicht von außen aktiviert werden. Er wird ausschließlich durch eine eingehende externe Anfrage an seine Webhook-Adresse ausgelöst. Standardmäßig gibt es zwei URLs: &lt;b translate=&quot;no&quot;&gt;Test URL&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;Production URL&lt;/b&gt;. Die erste wird während der Entwicklung verwendet, während die zweite nur funktioniert, wenn der Workflow gespeichert und aktiviert wird.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/162/original/sh_mcp_server_based_on_n8n_5.png?1751458569&quot; alt=&quot;MCP Server Trigger settings&quot;&gt;
&lt;p&gt;Der Auslöser ist für sich allein nutzlos, er benötigt angeschlossene Tools. Schließen wir zum Beispiel eines der einfachsten Werkzeuge an: einen Taschenrechner. Er erwartet einen mathematischen Ausdruck als Eingabe. Die Knoten kommunizieren über einfaches JSON. Damit der Taschenrechner 2 + 2 berechnen kann, muss die Eingabe also lauten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;[
  {
    &quot;query&quot;: {
      &quot;input&quot;: &quot;2 + 2&quot;
    }
  }
]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;LLMs können solche JSON leicht aus reinen Textaufgabenbeschreibungen generieren und sie an den Knoten senden, der die Berechnungen durchführt und das Ergebnis zurückgibt. Verbinden wir nun den MCP-Client mit dem Agenten:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/163/original/sh_mcp_server_based_on_n8n_6.png?1751458623&quot; alt=&quot;AI Agent with tools&quot;&gt;
&lt;p&gt;Es ist erwähnenswert, dass dieser Knoten keine zusätzlichen Verbindungen benötigt. In seinen Einstellungen muss lediglich die Endpunktadresse angegeben werden, an die er Daten vom KI-Agenten senden wird. In unserem Beispiel verweist diese Adresse auf den Container namens &lt;b translate=&quot;no&quot;&gt;n8n&lt;/b&gt;.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/164/original/sh_mcp_server_based_on_n8n_7.png?1751458735&quot; alt=&quot;MCP Client Settings&quot;&gt;
&lt;p&gt;Natürlich können Sie an dieser Stelle jede beliebige externe MCP-Serveradresse angeben, die Ihnen zur Verfügung steht. Für diesen Artikel verwenden wir jedoch eine lokale Instanz, die innerhalb von N8N läuft. Schauen wir uns an, wie sich der Client und der Server verhalten, wenn der KI-Agent aufgefordert wird, eine einfache Rechenoperation auszuführen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/165/original/sh_mcp_server_based_on_n8n_8.png?1751458808&quot; alt=&quot;MCP Client calculations example&quot;&gt;
&lt;p&gt;Nach Erhalt der Anfrage wird der KI-Agent:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Suche im einfachen Speicher, um zu sehen, ob der Benutzer diese Frage schon einmal gestellt hat oder ob irgendein Kontext wiederverwendet werden kann.&lt;/li&gt;
    &lt;li&gt;Er sendet die Aufforderung an den LLM, der den mathematischen Ausdruck korrekt aufschlüsselt und das entsprechende JSON vorbereitet.&lt;/li&gt;
    &lt;li&gt;Senden Sie das JSON an das Tool Calculator und erhalten Sie das Ergebnis.&lt;/li&gt;
    &lt;li&gt;Verwenden Sie den LLM, um die endgültige Antwort zu generieren und das Ergebnis in die Antwort einzufügen.&lt;/li&gt;
    &lt;li&gt;Speichern Sie das Ergebnis im Simple Memory.&lt;/li&gt;
    &lt;li&gt;Geben Sie die Nachricht im Chat aus.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/166/original/sh_mcp_server_based_on_n8n_9.png?1751458859&quot; alt=&quot;MCP Client calculations JSON&quot;&gt;
&lt;p&gt;Auf ähnliche Weise können Agenten mit anderen Tools auf dem MCP-Server arbeiten. Anstelle von Simple Memory können Sie auch fortschrittlichere Optionen wie MongoDB, Postgres, Redis oder sogar etwas wie Zep verwenden. Diese erfordern natürlich eine minimale Datenbankwartung, aber die Gesamtleistung wird erheblich gesteigert.&lt;/p&gt;
&lt;p&gt;Auch bei der Auswahl der Tools gibt es weitaus mehr Möglichkeiten. Der Knoten &lt;b translate=&quot;no&quot;&gt;MCP Server Trigger&lt;/b&gt; unterstützt von Haus aus über 200 Tools. Dabei kann es sich um alles Mögliche handeln, von einfachen HTTP-Anfragen bis hin zu vorgefertigten Integrationen mit öffentlichen Internetdiensten. Innerhalb eines einzigen Workflows können Sie sowohl einen Server als auch einen Client erstellen. Ein wichtiger Hinweis: Diese Knoten können im Editor nicht visuell verbunden werden, und das ist das erwartete Verhalten:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/167/original/sh_mcp_server_based_on_n8n_10.png?1751458939&quot; alt=&quot;MCP Server and Client with tools&quot;&gt;
&lt;p&gt;Anstelle des Standardauslösers können Sie auch andere Optionen verwenden, z. B. den Empfang einer Nachricht über einen Messenger, die Übermittlung eines Website-Formulars oder die Ausführung nach einem Zeitplan. So können Sie Workflows einrichten, die auf Ereignisse reagieren oder Routinevorgänge wie den täglichen Datenexport aus Google Ads durchführen.&lt;/p&gt;
&lt;p&gt;Und das ist noch nicht alles, was mit KI-Agenten möglich ist. Sie können Multi-Agenten-Systeme mit verschiedenen neuronalen Netzwerkmodellen erstellen, die zusammenarbeiten, um Aufgaben mit größerer Genauigkeit zu lösen und dabei viele weitere Einflussfaktoren zu berücksichtigen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/622-wie-wird-n8n-installiert&quot;&gt;Wie wird N8N installiert&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/602-wie-man-die-langflow-anwendung-berwacht&quot;&gt;Wie man die LangFlow-Anwendung überwacht&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/157/original/il_mcp_server_based_on_n8n.png?1751457996"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 02 Jul 2025 15:28:18 +0200</pubDate>
      <guid isPermaLink="false">623</guid>
      <dc:date>2025-07-02T15:28:18+02:00</dc:date>
    </item>
    <item>
      <title>Wie wird N8N installiert?</title>
      <link>https://www.leadergpu.de/catalog/622-wie-wird-n8n-installiert</link>
      <description>&lt;p&gt;KI-Agenten sind im Jahr 2025 nach wie vor einer der vielversprechendsten Ansätze für die Lösung komplexer Aufgaben unter Verwendung großer Sprachmodelle. Diese Agenten sind autonom und in der Lage, selbständig verschiedene Werkzeuge auszuwählen, um die ihnen zugewiesenen Aufgaben zu erfüllen. Mit diesem Ansatz lassen sich Ergebnisse mit weniger menschlicher Beteiligung und höherer Qualität erzielen. Er eröffnet auch die Möglichkeit, originellere und effizientere Wege zur Lösung von Problemen zu finden.&lt;/p&gt;
&lt;p&gt;Anstatt nur eine Aufgabe zu formulieren, weisen Sie das neuronale Netz an, sie auf der Grundlage der ihm zugewiesenen Ressourcen selbständig zu lösen. Damit dieses System funktioniert, muss es jedoch einen Mechanismus geben, der die Schnittstellen des neuronalen Netzes mit verschiedenen Werkzeugen verbindet, sei es eine Websuche oder eine Vektordatenbank zur Speicherung von Zwischenergebnissen.&lt;/p&gt;
&lt;p&gt;n8n ist eine Automatisierungsplattform, die die Integration mit verschiedenen neuronalen Netzen und öffentlichen Diensten unterstützt. Die Benutzer können visuell entwerfen, wie die Daten verarbeitet werden und welches Endergebnis erzielt werden soll. Im Gegensatz zu klassischen No-Code-Lösungen kann bei n8n in jeder Phase des Prozesses beliebiger Code eingefügt werden, was besonders dann nützlich ist, wenn die integrierten Funktionen nicht ausreichen.&lt;/p&gt;
&lt;p&gt;Das Ergebnis ist ein System, das die Einfachheit von No-Code mit der Flexibilität der traditionellen Programmierung verbindet. Um es vollständig zu verstehen, müssen Sie jedoch einige Zeit damit verbringen, Workflow-Beispiele zu erforschen und zu überprüfen, um es besser zu verstehen. In diesem Artikel zeigen wir Ihnen, wie Sie n8n auf LeaderGPU-Servern einsetzen können.&lt;/p&gt;
&lt;h2&gt;Vorbereiten des Servers&lt;/h2&gt;
&lt;h3&gt;Aktualisieren des Systems&lt;/h3&gt;
&lt;p&gt;Aktualisieren Sie die Paketliste und aktualisieren Sie alle installierten Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie automatisch den empfohlenen NVIDIA®-Treiber (proprietär) oder verwenden Sie unsere Schritt-für-Schritt-Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot; target=&quot;_blank&quot;&gt;Installieren Sie Nvidia-Treiber unter Linux&lt;/a&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie nun den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Docker installieren&lt;/h3&gt;
&lt;p&gt;Sie können das offizielle Installationsskript verwenden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -sSL https://get.docker.com/ | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen wir den NVIDIA® Container Toolkit GPG-Schlüssel und das Repository für die Docker-Integration hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&amp;&amp; curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed &#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&#39; | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie die Paketliste und installieren Sie das NVIDIA®-Container-Toolkit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y install nvidia-container-toolkit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie Docker neu, um die Änderungen zu übernehmen und das installierte Toolkit zu aktivieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl restart docker&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;n8n installieren&lt;/h3&gt;
&lt;p&gt;Damit das System Daten speichern kann, müssen Sie ein Volume erstellen, bevor Sie den Container starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker volume create n8n_data&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten wir nun einen Container, der den Port 5678 für externe Verbindungen öffnet und das erstellte Volume &lt;b translate=&quot;no&quot;&gt;n8n_data&lt;/b&gt; in das Verzeichnis &lt;b translate=&quot;no&quot;&gt;/home/node/.n8n&lt;/b&gt; innerhalb des Containers mounten wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run -d --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie die Anwendung zum ersten Mal starten, werden Sie vielleicht durch die folgende Fehlermeldung verwirrt sein:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/152/original/sh_how_to_install_n8n_1.png?1750667132&quot; alt=&quot;TLS-error N8N&quot;&gt;
&lt;p&gt;Dabei handelt es sich nicht um einen Fehler, sondern eher um eine Warnung, wie Sie das System für den Zugriff richtig konfigurieren müssen. Das Problem ist, dass das System standardmäßig kein TLS/HTTPS-Zertifikat hat. Ohne dieses ist die Verbindung nicht sicher. Sie haben also drei Möglichkeiten:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Connect your own certificate&lt;/b&gt;. Sie können dies tun, indem Sie die Pfade zu den Zertifikatsdateien über Umgebungsvariablen angeben oder einen Reverse-Proxy-Server konfigurieren.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Create an SSH tunnel and forward port 5678&lt;/b&gt; auf localhost auf dem Computer, von dem aus Sie sich verbinden. Auf diese Weise erhalten Sie sofort eine sichere persönliche Verbindung. Allerdings kann niemand sonst von außen auf den Server zugreifen.&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;Bypass the warning&lt;/b&gt;. Wenn es sich um einen Testserver handelt, der nicht für den produktiven Einsatz gedacht ist, und Sie sich nicht um die Sicherheit kümmern, können Sie die Warnung deaktivieren, indem Sie die Umgebungsvariable &lt;b translate=&quot;no&quot;&gt;N8N_SECURE_COOKIE&lt;/b&gt; auf &lt;b translate=&quot;no&quot;&gt;FALSE&lt;/b&gt; setzen. Dennoch kann dies in bestimmten Szenarien akzeptabel sein.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In diesem Artikel werden die einzelnen Optionen im Detail erläutert, damit Sie die richtige wählen können.&lt;/p&gt;
&lt;h2&gt;Verbindung zum Server herstellen&lt;/h2&gt;
&lt;p&gt;Wenn Sie noch kein SSL-Zertifikat haben, empfehlen wir Ihnen, eines bei &lt;a href=&quot;https://www.leaderssl.com/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;LeaderSSL zu bestellen. Es kann für jede Website, jeden Online-Shop oder zur Überprüfung der Authentizität einer E-Mail verwendet werden.&lt;/p&gt;
&lt;h3&gt;Umgebungsvariablen verwenden&lt;/h3&gt;
&lt;p&gt;Der einfachste Weg, HTTPS zu konfigurieren, besteht darin, Ihr Zertifikat auf den Server hochzuladen und es über Docker-Umgebungsvariablen anzugeben. Beginnen Sie damit, ein Verzeichnis für die Zertifikatsdateien zu erstellen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir ~/n8n-certs&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sie können diese Dateien (normalerweise cert.crt und privkey.key) mit einer beliebigen Methode in dieses Verzeichnis hochladen. Ausführlichere Informationen finden Sie unter:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/495-dateiaustausch-von-windows&quot;&gt;Dateiaustausch von Windows&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/494-dateiaustausch-von-linux&quot;&gt;Dateiaustausch von Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/496-dateiaustausch-von-macos&quot;&gt;Dateiaustausch von macOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Starten wir nun den Container mit einem vollständigen Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run -d \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-v ~/n8n-certs:/certs \
-e N8N_PROTOCOL=https \
-e N8N_SSL_CERT=&quot;/certs/cert.crt&quot; \
-e N8N_SSL_KEY=&quot;/certs/privkey.key&quot; \
docker.n8n.io/n8nio/n8n&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hier ist eine Aufschlüsselung der einzelnen Argumente:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;sudo docker run -d&lt;/b&gt; Startet den Docker-Container im Daemon-Modus (im Hintergrund)&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--name n8n&lt;/b&gt; weist dem Container den Namen zu &lt;b translate=&quot;no&quot;&gt;n8n&lt;/b&gt;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-p 5678:5678&lt;/b&gt; leitet den Port &lt;b translate=&quot;no&quot;&gt;5678&lt;/b&gt; an den Container weiter&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-v n8n_data:/home/node/.n8n&lt;/b&gt; erstellt ein Volume mit dem Namen &lt;b translate=&quot;no&quot;&gt;n8n_data&lt;/b&gt; und hängt es in das versteckte Verzeichnis &lt;b translate=&quot;no&quot;&gt;/home/node/.n8n&lt;/b&gt; innerhalb des Containers ein&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-v ~/n8n-certs:/certs&lt;/b&gt; mountet das Zertifikatsverzeichnis&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-e N8N_PROTOCOL=https&lt;/b&gt; zwingt N8N zur Verwendung des HTTPS-Protokolls&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-e N8N_SSL_CERT=&quot;/certs/cert.crt&quot;&lt;/b&gt; legt den Pfad zur Zertifikatsdatei fest&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-e N8N_SSL_KEY=&quot;/certs/privkey.key&quot;&lt;/b&gt; legt den Pfad zum Zertifikatsschlüssel fest&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;docker.n8n.io/n8nio/n8n&lt;/b&gt; Container-Image-Quelle&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Traefik&lt;/h3&gt;
&lt;p&gt;Eine etwas kompliziertere, aber flexible Einrichtung beinhaltet die Verwendung des Traefik-Reverse-Proxy-Servers zur Sicherung der Verbindung zu N8N. Die Konfigurationsdatei basiert auf der offiziellen Methode, die in der Dokumentation beschrieben ist. Installieren Sie zunächst das Tool &lt;b translate=&quot;no&quot;&gt;docker-compose&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install docker-compose&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wir werden Traefik und N8N gemeinsam einrichten, und sie müssen sich im selben Netzwerk befinden. Erstellen Sie ein Netzwerk mit dem Namen &lt;b translate=&quot;no&quot;&gt;web&lt;/b&gt;.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker network create web&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie nun eine &lt;b translate=&quot;no&quot;&gt;docker-compose.yml&lt;/b&gt; Datei, um beide Container zu definieren und auszuführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano docker-compose.yml&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;services:
  traefik:
    image: &quot;traefik&quot;
    container_name: &quot;proxy&quot;
    restart: always
    command:
      - &quot;--api.insecure=true&quot;
      - &quot;--providers.docker=true&quot;
      - &quot;--providers.docker.exposedbydefault=false&quot;
      - &quot;--entrypoints.web.address=:80&quot;
      - &quot;--entrypoints.web.http.redirections.entryPoint.to=websecure&quot;
      - &quot;--entrypoints.web.http.redirections.entrypoint.scheme=https&quot;
      - &quot;--entrypoints.websecure.address=:443&quot;
      - &quot;--certificatesresolvers.mytlschallenge.acme.tlschallenge=true&quot;
      - &quot;--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}&quot;
      - &quot;--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json&quot;
    ports:
      - &quot;80:80&quot;
      - &quot;443:443&quot;
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - web

  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: &quot;n8n&quot;
    restart: always
    ports:
      - &quot;127.0.0.1:5678:5678&quot;
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
      - traefik.http.routers.n8n.middlewares=n8n@docker
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files
    networks:
      - web

volumes:
  n8n_data:
  traefik_data:

networks:
  web:
    name: web&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zusätzlich zur Datei &lt;b translate=&quot;no&quot;&gt;docker-compose.yml&lt;/b&gt; erstellen wir eine weitere Datei namens &lt;b translate=&quot;no&quot;&gt;.env&lt;/b&gt;. Diese Datei enthält Variablen wie den Domainnamen und die E-Mail-Adresse, die für die Anforderung eines SSL-Zertifikats bei Let&#39;s Encrypt verwendet werden. Wenn wir etwas ändern müssen, z. B. den Domänennamen, brauchen wir ihn nur in dieser Datei zu aktualisieren und dann den Container neu zu erstellen.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano .env&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Amsterdam
SSL_EMAIL=user@example.com&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zum Schluss stellen Sie beide Container bereit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker-compose up -d&lt;/code&gt;&lt;/pre&gt;
Jetzt ist N8N hier verfügbar: &lt;b translate=&quot;no&quot;&gt;https://n8n.example.com&lt;/b&gt;.&lt;h3&gt;Nginx Proxy Manager&lt;/h3&gt;
&lt;p&gt;Im Gegensatz zu Traefik, das über Dateien konfiguriert wird, bietet der Nginx Proxy Manager ein benutzerfreundliches Web-Interface. Allerdings werden die Dienste nicht dynamisch erkannt, sondern Sie müssen sie manuell hinzufügen. Dennoch funktioniert er gut für statische Dienste wie N8N.&lt;/p&gt;
&lt;p&gt;Erstellen Sie eine weitere Datei &lt;b translate=&quot;no&quot;&gt;docker-compose.yml&lt;/b&gt; in einem separaten Verzeichnis mit dem folgenden Inhalt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;services:
  app:
    image: &#39;jc21/nginx-proxy-manager:latest&#39;
    container_name: proxy
    restart: unless-stopped
    ports:
      - &#39;80:80&#39;
      - &#39;443:443&#39;
      - &#39;81:81&#39;
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - web

  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - WEBHOOK_URL=https://n8n.example.com/
      - N8N_PROTOCOL=http
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - web

volumes:
  n8n_data:

networks:
  web:
    external: true&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bereitstellen mit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker-compose up -d&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dann öffnen Sie das Web-Interface unter: &lt;b translate=&quot;no&quot;&gt;http://your_hostname_or_ip:81&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Benutzername: &lt;b translate=&quot;no&quot;&gt;admin@example.com&lt;/b&gt;&lt;/li&gt;
    &lt;li&gt;Kennwort: &lt;b translate=&quot;no&quot;&gt;changeme&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sie werden aufgefordert, Ihre Anmeldedaten zu aktualisieren. Öffnen Sie anschließend &lt;b translate=&quot;no&quot;&gt;Hosts → Proxy Hosts → Add Proxy Host&lt;/b&gt; und geben Sie Ihren Domänennamen ein (z. B. &lt;b translate=&quot;no&quot;&gt;n8n.example.com&lt;/b&gt;):&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/153/original/sh_how_to_install_n8n_2.png?1750667229&quot; alt=&quot;Add domain N8N&quot;&gt;
&lt;p&gt;Füllen Sie die erforderlichen Felder aus:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Setzen Sie &lt;b translate=&quot;no&quot;&gt;Destination/IP&lt;/b&gt; auf &lt;b translate=&quot;no&quot;&gt;n8n&lt;/b&gt;.&lt;/li&gt;
    &lt;li&gt;Setzen Sie &lt;b translate=&quot;no&quot;&gt;Port&lt;/b&gt; auf &lt;b translate=&quot;no&quot;&gt;5678&lt;/b&gt;.&lt;/li&gt;
    &lt;li&gt;Wählen Sie unter der Registerkarte &lt;b translate=&quot;no&quot;&gt;SSL&lt;/b&gt; die Option &lt;b translate=&quot;no&quot;&gt;Request a new SSL certificate with Let’s Encrypt&lt;/b&gt;.&lt;/li&gt;
    &lt;li&gt;Geben Sie Ihre E-Mail-Adresse ein und stimmen Sie den Bedingungen zu.&lt;/li&gt;
    &lt;li&gt;Klicken Sie auf &lt;b&gt;Websockets support&lt;/b&gt;.&lt;/li&gt;
    &lt;li&gt;Klicken Sie optional auf &lt;b translate=&quot;no&quot;&gt;Force SSL&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nachdem Sie auf &lt;b translate=&quot;no&quot;&gt;Save&lt;/b&gt; geklickt haben, wird das Zertifikat angefordert und installiert:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/154/original/sh_how_to_install_n8n_3.png?1750667362&quot; alt=&quot;Nginx Proxy Manager ready&quot;&gt;
&lt;p&gt;Wenn Sie Ihre Domain öffnen, gelangen Sie zur N8N-Schnittstelle.&lt;/p&gt;
&lt;h3&gt;SSH-Tunnel&lt;/h3&gt;
&lt;p&gt;Wenn Sie die N8N-Erreichbarkeit von außen nicht benötigen, können Sie Port 5678 über SSH weiterleiten. Dadurch wird der gesamte Datenverkehr verschlüsselt, und N8N wird unter &lt;b translate=&quot;no&quot;&gt;http://localhost:5678/&lt;/b&gt; verfügbar sein.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Hinweis: Diese Einrichtung funktioniert nicht für Integrationen mit externen Diensten wie Messengern, die einen öffentlichen HTTPS-Zugang benötigen.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Der einfachste Weg, den Port weiterzuleiten, ist mit dem beliebten SSH-Client &lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&quot; target=&quot;_blank&quot;&gt;PuTTY&lt;/a&gt;. Öffnen Sie nach der Installation &lt;b translate=&quot;no&quot;&gt;SSH → Tunnels&lt;/b&gt; und setzen Sie &lt;b translate=&quot;no&quot;&gt;Source port - 5678&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;Destination&lt;/b&gt; - &lt;b translate=&quot;no&quot;&gt;localhost:5678&lt;/b&gt;. Klicken Sie dann auf &lt;b translate=&quot;no&quot;&gt;Add&lt;/b&gt;.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/155/original/sh_how_to_install_n8n_4.png?1750667446&quot; alt=&quot;PuTTY port forwarding&quot;&gt;
&lt;p&gt;Gehen Sie zurück zu &lt;b translate=&quot;no&quot;&gt;Session&lt;/b&gt;, geben Sie die IP Ihres Servers ein und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Open&lt;/b&gt;. Sobald die Authentifizierung erfolgt ist, ist der Tunnel aktiv. Öffnen Sie &lt;b translate=&quot;no&quot;&gt;http://localhost:5678&lt;/b&gt; in einem Browser, um auf N8N zuzugreifen.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Hinweis: Die Verbindung funktioniert nur, solange die SSH-Sitzung aktiv ist. Wenn Sie PuTTY schließen, wird der Tunnel beendet.&lt;/i&gt;&lt;/p&gt;
&lt;h3&gt;Umgehung von&lt;/h3&gt;
&lt;p&gt;Diese Methode wird für den Einsatz in öffentlichen Netzwerken nicht empfohlen. Wenn Sie den Container mit der Umgebungsvariablen &lt;b translate=&quot;no&quot;&gt;N8N_SECURE_COOKIE=false&lt;/b&gt; starten, verschwindet die Warnung, und Sie erhalten Zugang über HTTP:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run -d --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Warning:&lt;/b&gt; Dadurch wird das N8N-Administrationspanel über unverschlüsseltes HTTP zugänglich gemacht, was es anfällig für MITM-Angriffe (Man-In-The-Middle) macht und es einem Angreifer ermöglicht, Ihren Server vollständig zu übernehmen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem&quot;&gt;Open WebUI: Alles in einem&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/602-wie-man-die-langflow-anwendung-berwacht&quot;&gt;Wie man die LangFlow-Anwendung überwacht&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/151/original/il_how_to_install_n8n.png?1750667003"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 23 Jun 2025 14:30:26 +0200</pubDate>
      <guid isPermaLink="false">622</guid>
      <dc:date>2025-06-23T14:30:26+02:00</dc:date>
    </item>
    <item>
      <title>Triton™ Inference Server</title>
      <link>https://www.leadergpu.de/catalog/614-triton-inference-server</link>
      <description>&lt;p&gt;Die Anforderungen der Unternehmen mögen unterschiedlich sein, aber sie alle haben ein gemeinsames Grundprinzip: Die Systeme müssen schnell arbeiten und die höchstmögliche Qualität liefern. Bei der Inferenz neuronaler Netze ist die effiziente Nutzung von Rechenressourcen entscheidend. Jede unzureichende Nutzung der GPU oder Leerlaufzeit führt direkt zu finanziellen Verlusten.&lt;/p&gt;
&lt;p&gt;Nehmen wir als Beispiel einen Marktplatz. Auf diesen Plattformen werden zahlreiche Produkte angeboten, die jeweils mehrere Attribute aufweisen: Textbeschreibungen, technische Spezifikationen, Kategorien und Multimedia-Inhalte wie Fotos und Videos. Alle Inhalte müssen moderiert werden, um faire Bedingungen für Verkäufer zu gewährleisten und zu verhindern, dass verbotene Waren oder illegale Inhalte auf der Plattform erscheinen.&lt;/p&gt;
&lt;p&gt;Eine manuelle Moderation ist zwar möglich, aber sie ist langsam und ineffizient. Im heutigen Wettbewerbsumfeld müssen Verkäufer ihre Produktpalette schnell erweitern: Je schneller die Artikel auf dem Marktplatz erscheinen, desto größer sind die Chancen, entdeckt und gekauft zu werden. Die manuelle Moderation ist außerdem kostspielig und anfällig für menschliche Fehler, die dazu führen können, dass ungeeignete Inhalte durchgelassen werden.&lt;/p&gt;
&lt;p&gt;Die automatische Moderation mit Hilfe speziell trainierter neuronaler Netze bietet eine Lösung. Dieser Ansatz bringt mehrere Vorteile mit sich: Er senkt die Moderationskosten erheblich und verbessert in der Regel die Qualität. Neuronale Netze verarbeiten Inhalte viel schneller als Menschen, so dass die Verkäufer die Moderationsphase schneller durchlaufen können, insbesondere bei großen Produktmengen.&lt;/p&gt;
&lt;p&gt;Der Ansatz hat aber auch seine Tücken. Die Implementierung einer automatisierten Moderation erfordert die Entwicklung und das Training von neuronalen Netzwerkmodellen, was sowohl qualifiziertes Personal als auch umfangreiche Computerressourcen erfordert. Die Vorteile werden jedoch schnell nach der ersten Implementierung deutlich. Die Einführung einer automatischen Modellbereitstellung kann den laufenden Betrieb erheblich rationalisieren.&lt;/p&gt;
&lt;h2&gt;Schlussfolgerung&lt;/h2&gt;
&lt;p&gt;Nehmen wir an, wir haben die Verfahren des maschinellen Lernens herausgefunden. Der nächste Schritt ist die Festlegung, wie die Modellinferenz auf einem gemieteten Server ausgeführt werden soll. Für ein einzelnes Modell wählen Sie in der Regel ein Tool, das gut mit dem spezifischen Framework funktioniert, auf dem es erstellt wurde. Bei mehreren Modellen, die in verschiedenen Frameworks erstellt wurden, haben Sie jedoch zwei Möglichkeiten.&lt;/p&gt;
&lt;p&gt;Sie können entweder alle Modelle in ein einziges Format konvertieren oder ein Tool wählen, das mehrere Frameworks unterstützt. Der Triton™ Inference Server eignet sich perfekt für den zweiten Ansatz. Er unterstützt die folgenden Backends:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;TensorRT™&lt;/li&gt;
    &lt;li&gt;TensorRT-LLM&lt;/li&gt;
    &lt;li&gt;vLLM&lt;/li&gt;
    &lt;li&gt;Python&lt;/li&gt;
    &lt;li&gt;PyTorch (LibTorch)&lt;/li&gt;
    &lt;li&gt;ONNX Laufzeit&lt;/li&gt;
    &lt;li&gt;Tensorflow&lt;/li&gt;
    &lt;li&gt;FIL&lt;/li&gt;
    &lt;li&gt;DALI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Zusätzlich können Sie jede Anwendung als Backend verwenden. Wenn Sie zum Beispiel Post-Processing mit einer C/C++ Anwendung benötigen, können Sie diese nahtlos integrieren.&lt;/p&gt;
&lt;h2&gt;Skalierung&lt;/h2&gt;
&lt;p&gt;Der Triton™ Inference Server verwaltet die Rechenressourcen auf einem einzigen Server effizient, indem er mehrere Modelle gleichzeitig ausführt und die Arbeitslast auf die GPUs verteilt.&lt;/p&gt;
&lt;p&gt;Die Installation erfolgt über einen Docker-Container. DevOps-Ingenieure können die GPU-Zuweisung beim Start steuern und entscheiden, ob sie alle GPUs nutzen oder deren Anzahl begrenzen möchten. Die Software ermöglicht zwar keine direkte horizontale Skalierung, aber Sie können zu diesem Zweck herkömmliche Load Balancer wie HAproxy verwenden oder Anwendungen in einem Kubernetes-Cluster bereitstellen.&lt;/p&gt;
&lt;h2&gt;Vorbereiten des Systems&lt;/h2&gt;
&lt;p&gt;Um Triton™ auf einem LeaderGPU-Server unter Ubuntu 22.04 einzurichten, aktualisieren Sie das System zunächst mit diesem Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie zunächst die Nvidia-Treiber mit Hilfe des Auto-Installer-Skripts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Server neu, um die Änderungen zu übernehmen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sobald der Server wieder online ist, installieren Sie Docker mit dem folgenden Installationsskript:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -sSL https://get.docker.com/ | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Da Docker standardmäßig keine GPUs an Container weitergeben kann, benötigen Sie das NVIDIA® Container Toolkit. Fügen Sie das Nvidia-Repository hinzu, indem Sie seinen GPG-Schlüssel herunterladen und registrieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&amp;&amp; curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed &#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&#39; | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie den Paket-Cache und installieren Sie das Toolkit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y install nvidia-container-toolkit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie Docker neu, um die neuen Funktionen zu aktivieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl restart docker&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das Betriebssystem ist nun einsatzbereit.&lt;/p&gt;
&lt;h2&gt;Installation von Triton™ Inference Server&lt;/h2&gt;
&lt;p&gt;Laden wir das Projekt-Repository herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/triton-inference-server/server&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dieses Repository enthält vorkonfigurierte Beispiele für neuronale Netze und ein Modell-Download-Skript. Navigieren Sie zum Verzeichnis examples:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd server/docs/examples&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie die Modelle herunter, indem Sie das folgende Skript ausführen, das sie unter &lt;b translate=&quot;no&quot;&gt;~/server/docs/examples/model_repository&lt;/b&gt; speichert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./fetch_models.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die Architektur des Triton™ Inference Servers erfordert, dass die Modelle separat gespeichert werden. Sie können sie entweder lokal in einem beliebigen Serververzeichnis oder auf einem Netzwerkspeicher ablegen. Wenn Sie den Server starten, müssen Sie dieses Verzeichnis in den Container unter dem Einhängepunkt /models einhängen. Dies dient als Repository für alle Modellversionen.&lt;/p&gt;
&lt;p&gt;Starten Sie den Container mit folgendem Befehl&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run --gpus=all --rm -p8000:8000 -p8001:8001 -p8002:8002 -v ~/server/docs/examples/model_repository:/models nvcr.io/nvidia/tritonserver:25.01-py3 tritonserver --model-repository=/models&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die einzelnen Parameter sind wie folgt zu verstehen:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--gpus=all&lt;/b&gt; legt fest, dass alle verfügbaren GPUs im Server verwendet werden;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--rm&lt;/b&gt; zerstört den Container, nachdem der Prozess abgeschlossen oder angehalten wurde;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-p8000:8000&lt;/b&gt; leitet Port 8000 weiter, um HTTP-Anfragen zu empfangen;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-p8001:8001&lt;/b&gt; leitet Port 8001 weiter, um gRPC-Anfragen zu empfangen;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-p8002:8002&lt;/b&gt; leitet Port 8002 weiter, um Metriken anzufordern;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-v ~/server/docs/examples/model_repository:/models&lt;/b&gt; leitet das Verzeichnis mit den Modellen weiter;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;nvcr.io/nvidia/tritonserver:25.01-py3&lt;/b&gt; Adresse des Containers aus dem NGC-Katalog;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;tritonserver --model-repository=/models&lt;/b&gt; startet den Triton™ Inference Server mit dem Speicherort des Models Repository unter /models.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die Befehlsausgabe zeigt alle verfügbaren Modelle im Repository an, die alle bereit sind, Anfragen zu akzeptieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;+----------------------+---------+--------+
| Model                | Version | Status |
+----------------------+---------+--------+
| densenet_onnx        | 1       | READY  |
| inception_graphdef   | 1       | READY  |
| simple               | 1       | READY  |
| simple_dyna_sequence | 1       | READY  |
| simple_identity      | 1       | READY  |
| simple_int8          | 1       | READY  |
| simple_sequence      | 1       | READY  |
| simple_string        | 1       | READY  |
+----------------------+---------+--------+&lt;/pre&gt;
&lt;p&gt;Die drei Dienste wurden erfolgreich auf den Ports 8000, 8001 und 8002 gestartet:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;I0217 08:00:34.930188 1 grpc_server.cc:2466] Started GRPCInferenceService at 0.0.0.0:8001
I0217 08:00:34.930393 1 http_server.cc:4636] Started HTTPService at 0.0.0.0:8000
I0217 08:00:34.972340 1 http_server.cc:320] Started Metrics Service at 0.0.0.0:8002&lt;/pre&gt;
&lt;p&gt;Mit dem Dienstprogramm nvtop können wir überprüfen, ob alle GPUs bereit sind, die Last aufzunehmen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/132/original/sh_triton_inference_server_1.png?1740580538&quot; alt=&quot;8 x A6000 Triton Inference Server examples&quot;&gt;
&lt;h2&gt;Installieren des Clients&lt;/h2&gt;
&lt;p&gt;Um auf unseren Server zuzugreifen, müssen wir eine entsprechende Anfrage mit dem im SDK enthaltenen Client erstellen. Wir können dieses SDK als Docker-Container herunterladen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker pull nvcr.io/nvidia/tritonserver:25.01-py3-sdk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Container im interaktiven Modus, um auf die Konsole zuzugreifen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run -it --gpus=all --rm --net=host nvcr.io/nvidia/tritonserver:25.01-py3-sdk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Testen wir dies mit dem DenseNet-Modell im ONNX-Format, indem wir die INCEPTION-Methode zur Vorverarbeitung und Analyse von Bildern verwenden &lt;b translate=&quot;no&quot;&gt;mug.jpg&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;/workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der Client kontaktiert den Server, der einen Stapel erstellt und ihn mit den verfügbaren GPUs des Containers verarbeitet. Hier ist die Ausgabe:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;Request 0, batch size 1
Image &#39;/workspace/images/mug.jpg&#39;:
   15.349562 (504) = COFFEE MUG
   13.227461 (968) = CUP
   10.424891 (505) = COFFEEPOT&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Vorbereiten des Repositorys&lt;/h2&gt;
&lt;p&gt;Damit Triton™ die Modelle korrekt verwalten kann, müssen Sie das Repository auf eine bestimmte Weise vorbereiten. Hier ist die Verzeichnisstruktur:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;model_repository/ 
        └── your_model/ 
                ├── config.pbtxt 
                └── 1/
                    └── model.*&lt;/pre&gt;
&lt;p&gt;Jedes Modell benötigt ein eigenes Verzeichnis, das eine &lt;b translate=&quot;no&quot;&gt;config.pbtxt&lt;/b&gt; Konfigurationsdatei mit der Beschreibung des Modells enthält. Hier ist ein Beispiel:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;name: &quot;Test&quot;
platform: &quot;pytorch_libtorch&quot;
max_batch_size: 8
input [
  {
    name: &quot;INPUT_0&quot;
    data_type: TYPE_FP32
    dims: [ 3, 224, 224 ]
  }
]
output [
  {
    name: &quot;OUTPUT_0&quot;
    data_type: TYPE_FP32
    dims: [ 1000 ]
  }
]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In diesem Beispiel wird ein Modell namens &lt;b translate=&quot;no&quot;&gt;Test&lt;/b&gt; auf dem PyTorch-Backend ausgeführt. Der Parameter &lt;b translate=&quot;no&quot;&gt;max_batch_size&lt;/b&gt; legt die maximale Anzahl von Elementen fest, die gleichzeitig verarbeitet werden können, um einen effizienten Lastausgleich zwischen den Ressourcen zu ermöglichen. Wenn dieser Wert auf Null gesetzt wird, wird die Stapelverarbeitung deaktiviert, so dass das Modell die Anfragen sequentiell verarbeitet.&lt;/p&gt;
&lt;p&gt;Das Modell akzeptiert eine Eingabe und erzeugt eine Ausgabe, die beide den Zahlentyp FP32 verwenden. Die Parameter müssen genau mit den Anforderungen des Modells übereinstimmen. Für die Bildverarbeitung ist eine typische Dimensionsangabe &lt;b translate=&quot;no&quot;&gt;dims: [ 3, 224, 224 ]&lt;/b&gt;, wobei:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;3&lt;/b&gt; - Anzahl der Farbkanäle (RGB);&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;224&lt;/b&gt; - Bildhöhe in Pixeln;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;224&lt;/b&gt; - Bildbreite in Pixeln.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die Ausgabe &lt;b translate=&quot;no&quot;&gt;dims: [ 1000 ]&lt;/b&gt; stellt einen eindimensionalen Vektor mit 1000 Elementen dar, der sich für Bildklassifizierungsaufgaben eignet. Um die richtige Dimensionalität für Ihr Modell zu bestimmen, konsultieren Sie die Dokumentation des Modells. Wenn die Konfigurationsdatei unvollständig ist, versucht Triton™, die fehlenden Parameter automatisch zu generieren.&lt;/p&gt;
&lt;h2&gt;Starten eines benutzerdefinierten Modells&lt;/h2&gt;
&lt;p&gt;Starten wir die Inferenz des destillierten DeepSeek-R1-Modells, das wir zuvor &lt;a href=&quot;https://www.leadergpu.de/catalog/613-deepseek-r1-zukunft-der-llms&quot;&gt;besprochen&lt;/a&gt; haben. Zunächst erstellen wir die erforderliche Verzeichnisstruktur:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir ~/model_repository &amp;&amp; mkdir ~/model_repository/deepseek &amp;&amp; mkdir ~/model_repository/deepseek/1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Navigieren Sie zum Modellverzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/model_repository/deepseek&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine Konfigurationsdatei &lt;b translate=&quot;no&quot;&gt;config.pbtxt&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano config.pbtxt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie das Folgende ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;# Copyright 2023, NVIDIA CORPORATION &amp; AFFILIATES. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#  * Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#  * Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#  * Neither the name of NVIDIA CORPORATION nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS&#39;&#39; AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
# Note: You do not need to change any fields in this configuration.
    
backend: &quot;vllm&quot;
    
# The usage of device is deferred to the vLLM engine
instance_group [
  {
    count: 1
    kind: KIND_MODEL
  }
]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei, indem Sie &lt;b translate=&quot;no&quot;&gt;Ctrl + O&lt;/b&gt; drücken, dann den Editor mit &lt;b translate=&quot;no&quot;&gt;Ctrl + X&lt;/b&gt;. Wechseln Sie in das Verzeichnis &lt;b translate=&quot;no&quot;&gt;1&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd 1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine Modellkonfigurationsdatei &lt;b translate=&quot;no&quot;&gt;model.json&lt;/b&gt; mit den folgenden Parametern:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;{
    &quot;model&quot;:&quot;deepseek-ai/DeepSeek-R1-Distill-Llama-8B&quot;,
    &quot;disable_log_requests&quot;: true,
    &quot;gpu_memory_utilization&quot;: 0.9,
    &quot;enforce_eager&quot;: true
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beachten Sie, dass der Wert &lt;b translate=&quot;no&quot;&gt;gpu_memory_utilization&lt;/b&gt; je nach GPU variiert und experimentell ermittelt werden sollte. Für diese Anleitung verwenden wir &lt;b translate=&quot;no&quot;&gt;0.9&lt;/b&gt;. Ihre Verzeichnisstruktur innerhalb von &lt;b translate=&quot;no&quot;&gt;~/model_repository&lt;/b&gt; sollte nun wie folgt aussehen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;└── deepseek
        ├── 1
        │   └── model.json
        └── config.pbtxt&lt;/pre&gt;
&lt;p&gt;Setzen Sie der Einfachheit halber die Variable &lt;b translate=&quot;no&quot;&gt;LOCAL_MODEL_REPOSITORY&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;LOCAL_MODEL_REPOSITORY=~/model_repository/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Inferenzserver mit diesem Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run --rm -it --net host --shm-size=2g  --ulimit memlock=-1 --ulimit stack=67108864 --gpus all -v $LOCAL_MODEL_REPOSITORY:/opt/tritonserver/model_repository  nvcr.io/nvidia/tritonserver:25.01-vllm-python-py3 tritonserver --model-repository=model_repository/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die Bedeutung der einzelnen Parameter ist wie folgt:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--rm&lt;/b&gt; Entfernt den Container nach dem Stoppen automatisch;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-it&lt;/b&gt; führt den Container im interaktiven Modus mit Terminalausgabe aus;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--net&lt;/b&gt; Host verwendet den Netzwerkstack des Hosts anstelle der Container-Isolation;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--shm-size=2g&lt;/b&gt; setzt den gemeinsamen Speicher auf 2 GB;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--ulimit memlock=-1&lt;/b&gt; hebt die Begrenzung der Speichersperre auf;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--ulimit stack=67108864&lt;/b&gt; setzt die Stack-Größe auf 64 MB;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--gpus all&lt;/b&gt; ermöglicht den Zugriff auf alle Server-GPUs;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;-v $LOCAL_MODEL_REPOSITORY:/opt/tritonserver/model_repository&lt;/b&gt; hängt das lokale Modellverzeichnis in den Container ein;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;nvcr.io/nvidia/tritonserver:25.01-vllm-python-py3&lt;/b&gt; spezifiziert den Container mit vLLM-Backend-Unterstützung;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;tritonserver --model-repository=model_repository/&lt;/b&gt; startet den Triton™ Inference Server mit dem Speicherort des Modell-Repository unter model_repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Testen Sie den Server, indem Sie eine Anfrage mit &lt;b translate=&quot;no&quot;&gt;curl&lt;/b&gt; senden, wobei Sie eine einfache Eingabeaufforderung und ein Antwortlimit von 4096 Token verwenden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -X POST localhost:8000/v2/models/deepseek/generate -d &#39;{&quot;text_input&quot;: &quot;Tell me about the Netherlands?&quot;, &quot;max_tokens&quot;: 4096}&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der Server empfängt und verarbeitet die Anfrage erfolgreich.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/133/original/sh_triton_inference_server_2.png?1740580601&quot; alt=&quot;Triton Inference Server processed the test request&quot;&gt;
&lt;p&gt;Der interne Triton-Aufgabenplaner bearbeitet alle eingehenden Anfragen, wenn der Server unter Last steht.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Der Triton™ Inference Server eignet sich hervorragend für den Einsatz von Machine-Learning-Modellen in der Produktion, indem er die Anfragen effizient auf die verfügbaren GPUs verteilt. Dies maximiert die Nutzung der gemieteten Serverressourcen und reduziert die Kosten für die Recheninfrastruktur. Die Software arbeitet mit verschiedenen Backends, einschließlich vLLM für große Sprachmodelle.&lt;/p&gt;
&lt;p&gt;Da sie als Docker-Container installiert wird, können Sie sie problemlos in jede moderne CI/CD-Pipeline integrieren. Probieren Sie es selbst aus und &lt;a href=&quot;https://www.leadergpu.de/de#chose-best&quot;&gt;mieten Sie einen Server&lt;/a&gt; von LeaderGPU.&lt;/p&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/134/original/il_triton_inference_server.png?1740583888"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 26 Feb 2025 16:40:21 +0100</pubDate>
      <guid isPermaLink="false">614</guid>
      <dc:date>2025-02-26T16:40:21+01:00</dc:date>
    </item>
    <item>
      <title>DeepSeek-R1: Zukunft der LLMs</title>
      <link>https://www.leadergpu.de/catalog/613-deepseek-r1-zukunft-der-llms</link>
      <description>&lt;p&gt;Generative neuronale Netze haben sich zwar rasant entwickelt, doch in den letzten Jahren waren ihre Fortschritte relativ konstant. Dies änderte sich mit DeepSeek, einem chinesischen neuronalen Netzwerk, das nicht nur die Börse beeinflusste, sondern auch die Aufmerksamkeit von Entwicklern und Forschern weltweit auf sich zog. Im Gegensatz zu anderen Großprojekten wurde der Code von DeepSeek unter der freizügigen MIT-Lizenz veröffentlicht. Dieser Schritt in Richtung Open Source wurde von der Community gelobt, die eifrig begann, die Fähigkeiten des neuen Modells zu erforschen.&lt;/p&gt;
&lt;p&gt;Der beeindruckendste Aspekt war, dass das Training dieses neuen neuronalen Netzwerks Berichten zufolge 20 Mal weniger kostete als das von Konkurrenten, die eine ähnliche Qualität bieten. Das Modell benötigte nur 55 Tage und 5,6 Millionen Dollar für das Training. Als DeepSeek veröffentlicht wurde, löste es einen der größten Tageseinbrüche in der Geschichte des US-Aktienmarktes aus. Obwohl sich die Märkte schließlich stabilisierten, waren die Auswirkungen erheblich.&lt;/p&gt;
&lt;p&gt;In diesem Artikel wird untersucht, wie genau die Schlagzeilen in den Medien die Realität widerspiegeln, und es wird erforscht, welche LeaderGPU-Konfigurationen geeignet sind, um dieses neuronale Netzwerk selbst zu installieren.&lt;/p&gt;
&lt;h2&gt;Architektonische Merkmale&lt;/h2&gt;
&lt;p&gt;DeepSeek hat einen Weg der maximalen Optimierung gewählt, was angesichts der Exportbeschränkungen Chinas in die USA nicht überrascht. Diese Beschränkungen hindern das Land daran, offiziell die fortschrittlichsten GPU-Modelle für die KI-Entwicklung zu nutzen.&lt;/p&gt;
&lt;p&gt;Das Modell nutzt die Multi Token Prediction (MTP)-Technologie, die mehrere Token in einem einzigen Inferenzschritt vorhersagt statt nur eines. Dies funktioniert durch parallele Token-Dekodierung in Kombination mit speziellen maskierten Schichten, die die Autoregressivität aufrechterhalten.&lt;/p&gt;
&lt;p&gt;MTP-Tests haben bemerkenswerte Ergebnisse gezeigt, die die Generierungsgeschwindigkeit im Vergleich zu herkömmlichen Methoden um das 2 bis 4-fache erhöhen. Die hervorragende Skalierbarkeit der Technologie macht sie für aktuelle und zukünftige Anwendungen der natürlichen Sprachverarbeitung wertvoll.&lt;/p&gt;
&lt;p&gt;Das Multi-Head Latent Attention (MLA) Modell verfügt über einen erweiterten Aufmerksamkeitsmechanismus. Während das Modell lange Ketten von Schlussfolgerungen aufbaut, behält es in jeder Phase die Aufmerksamkeit auf den Kontext. Diese Erweiterung verbessert den Umgang mit abstrakten Konzepten und Textabhängigkeiten.&lt;/p&gt;
&lt;p&gt;Das Hauptmerkmal von MLA ist die Fähigkeit, die Aufmerksamkeitsgewichtung auf verschiedenen Abstraktionsebenen dynamisch anzupassen. Bei der Verarbeitung komplexer Abfragen untersucht MLA die Daten aus mehreren Perspektiven: Wortbedeutungen, Satzstrukturen und Gesamtkontext. Diese Perspektiven bilden verschiedene Ebenen, die die endgültige Ausgabe beeinflussen. Um die Übersichtlichkeit zu wahren, gleicht MLA die Auswirkungen der einzelnen Ebenen sorgfältig aus und konzentriert sich dabei auf die Hauptaufgabe.&lt;/p&gt;
&lt;p&gt;Die Entwickler von DeepSeek haben die Mixture of Experts (MoE) Technologie in das Modell integriert. Es enthält 256 vortrainierte neuronale Expertennetzwerke, die jeweils auf unterschiedliche Aufgaben spezialisiert sind. Das System aktiviert 8 dieser Netze für jede Token-Eingabe und ermöglicht so eine effiziente Datenverarbeitung ohne Erhöhung der Rechenkosten.&lt;/p&gt;
&lt;p&gt;Im vollständigen Modell mit 671b Parametern werden nur 37b für jedes Token aktiviert. Das Modell wählt auf intelligente Weise die relevantesten Parameter für die Verarbeitung jedes eingehenden Tokens aus. Diese effiziente Optimierung spart Rechenressourcen bei gleichbleibend hoher Leistung.&lt;/p&gt;
&lt;p&gt;Ein entscheidendes Merkmal jedes Chatbots mit neuronalem Netzwerk ist die Länge des Kontextfensters. Llama 2 hat ein Kontextlimit von 4.096 Token, GPT-3.5 kann 16.284 Token verarbeiten, während GPT-4 und DeepSeek bis zu 128.000 Token verarbeiten können (etwa 100.000 Wörter, was 300 Seiten maschinengeschriebenen Textes entspricht).&lt;/p&gt;
&lt;h2&gt;R - steht für Reasoning&lt;/h2&gt;
&lt;p&gt;DeepSeek-R1 verfügt über einen Reasoning-Mechanismus ähnlich dem von OpenAI o1, der es ihm ermöglicht, komplexe Aufgaben effizienter und genauer zu bearbeiten. Anstatt sofortige Antworten zu geben, erweitert das Modell den Kontext, indem es schrittweise Schlussfolgerungen in kleinen Absätzen generiert. Dieser Ansatz verbessert die Fähigkeit des neuronalen Netzwerks, komplexe Datenbeziehungen zu erkennen, was zu umfassenderen und präziseren Antworten führt.&lt;/p&gt;
&lt;p&gt;Wenn DeepSeek mit einer komplexen Aufgabe konfrontiert wird, nutzt es seinen Argumentationsmechanismus, um das Problem in einzelne Komponenten zu zerlegen und jede einzelne zu analysieren. Das Modell fasst diese Erkenntnisse dann zusammen, um eine Antwort für den Benutzer zu generieren. Obwohl dies ein idealer Ansatz für neuronale Netze zu sein scheint, ist er mit erheblichen Herausforderungen verbunden.&lt;/p&gt;
&lt;p&gt;Alle modernen LLMs haben eine besorgniserregende Eigenschaft gemeinsam - künstliche Halluzinationen. Wenn eine Frage gestellt wird, die es nicht beantworten kann, kann es passieren, dass das Modell, anstatt seine Grenzen anzuerkennen, fiktive Antworten erzeugt, die durch erfundene Fakten gestützt werden.&lt;/p&gt;
&lt;p&gt;Bei der Anwendung auf ein logisch denkendes neuronales Netz könnten diese Halluzinationen den Denkprozess beeinträchtigen, da die Schlussfolgerungen eher auf fiktiven als auf faktischen Informationen beruhen. Dies könnte zu falschen Schlussfolgerungen führen - eine Herausforderung, der sich Forscher und Entwickler neuronaler Netze in Zukunft stellen müssen.&lt;/p&gt;
&lt;h2&gt;VRAM-Verbrauch&lt;/h2&gt;
&lt;p&gt;Untersuchen wir, wie DeepSeek R1 auf einem dedizierten Server ausgeführt und getestet werden kann, und konzentrieren wir uns dabei auf die Anforderungen an den GPU-Videospeicher.&lt;/p&gt;
&lt;table style=&quot;margin: auto;&quot; width=&quot;50%&quot;&gt;
    &lt;th&gt;Modell&lt;/th&gt;
    &lt;th&gt;VRAM (Mb)&lt;/th&gt;
    &lt;th&gt;Modellgröße (Gb)&lt;/th&gt;
    &lt;tr&gt;
        &lt;td&gt;deepseek-r1:1.5b&lt;/td&gt;
        &lt;td&gt;1,952&lt;/td&gt;
        &lt;td&gt;1.1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;deepseek-r1:7b&lt;/td&gt;
        &lt;td&gt;5,604&lt;/td&gt;
        &lt;td&gt;4.7&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Tiefensuche-r1:8b&lt;/td&gt;
        &lt;td&gt;6,482&lt;/td&gt;
        &lt;td&gt;4.9&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Tiefensuche-r1:14b&lt;/td&gt;
        &lt;td&gt;10,880&lt;/td&gt;
        &lt;td&gt;9&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Tiefensuche-r1:32b&lt;/td&gt;
        &lt;td&gt;21,758&lt;/td&gt;
        &lt;td&gt;20&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Tiefensuche-r1:70b&lt;/td&gt;
        &lt;td&gt;39,284&lt;/td&gt;
        &lt;td&gt;43&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Tiefensuche-r1:671b&lt;/td&gt;
        &lt;td&gt;470,091&lt;/td&gt;
        &lt;td&gt;404&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Die ersten drei Optionen (1.5b, 7b, 8b) sind Basismodelle, die die meisten Aufgaben effizient erledigen können. Diese Modelle laufen reibungslos auf jeder Consumer-GPU mit 6-8 GB Videospeicher. Die mittleren Versionen (14b und 32b) sind ideal für professionelle Aufgaben, benötigen aber mehr VRAM. Die größten Modelle (70b und 671b) erfordern spezielle Grafikprozessoren und werden vor allem in der Forschung und für industrielle Anwendungen eingesetzt.&lt;/p&gt;
&lt;h2&gt;Server-Auswahl&lt;/h2&gt;
&lt;p&gt;Um Ihnen die Auswahl eines Servers für DeepSeek-Inferenz zu erleichtern, finden Sie hier die idealen LeaderGPU-Konfigurationen für jede Modellgruppe:&lt;/p&gt;
&lt;h3&gt;1,5b / 7b / 8b / 14b / 32b / 70b&lt;/h3&gt;
&lt;p&gt;Für diese Gruppe ist jeder Server mit den folgenden GPU-Typen geeignet. Die meisten LeaderGPU-Server können diese neuronalen Netze ohne Probleme ausführen. Die Leistung hängt hauptsächlich von der Anzahl der CUDA-Kerne ab. Wir empfehlen Server mit mehreren GPUs, wie zum Beispiel:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/?fltr_type%5B%5D=a40#filter_block&quot;&gt;A40&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/?fltr_type%5B%5D=l20#filter_block&quot;&gt;L20&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;671b&lt;/h3&gt;
&lt;p&gt;Nun zum schwierigsten Fall: Wie können Sie Inferenzen für ein Modell mit einer Basisgröße von 404 GB durchführen? Das bedeutet, dass etwa 470 GB Videospeicher benötigt werden. LeaderGPU bietet mehrere Konfigurationen mit den folgenden GPUs, die diese Last bewältigen können:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/?fltr_type%5B%5D=a100#filter_block&quot;&gt;A100&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/?fltr_type%5B%5D=h100#filter_block&quot;&gt;H100&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beide Konfigurationen handhaben die Modelllast effizient und verteilen sie gleichmäßig auf mehrere GPUs. So sieht zum Beispiel ein Server mit 8xH100 nach dem Laden des Modells deepseek-r1:671b aus:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/126/original/sh_deepseek-r1_future_of_LLMs_1.png?1739199426&quot; alt=&quot;deepseek-r1:671b on 8xH100&quot;&gt;
&lt;p&gt;Die Rechenlast verteilt sich dynamisch auf die GPUs, während Hochgeschwindigkeits-NVLink-Verbindungen Engpässe beim Datenaustausch verhindern und so für maximale Leistung sorgen.&lt;/p&gt;
&lt;h2&gt;Schlussfolgerung&lt;/h2&gt;
&lt;p&gt;DeepSeek-R1 kombiniert viele innovative Technologien wie Multi Token Prediction, Multi-Head Latent Attention und Mixture of Experts in einem signifikanten Modell. Diese Open-Source-Software zeigt, dass LLMs mit weniger Rechenressourcen effizienter entwickelt werden können. Das Modell hat verschiedene Versionen, von kleineren 1,5b bis zu riesigen 671b, die spezielle Hardware mit mehreren parallel arbeitenden High-End-GPUs erfordern.&lt;/p&gt;
&lt;p&gt;Wenn Sie einen Server von LeaderGPU für DeepSeek-R1-Inferenz mieten, erhalten Sie eine breite Palette von Konfigurationen, Zuverlässigkeit und Fehlertoleranz. Unser technisches Support-Team hilft Ihnen bei allen Problemen oder Fragen, während die automatische Betriebssysteminstallation die Bereitstellungszeit reduziert.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.leadergpu.de/#chose-best&quot;&gt;Wählen Sie Ihren LeaderGPU-Server&lt;/a&gt; und entdecken Sie die Möglichkeiten, die sich bei der Verwendung moderner neuronaler Netzwerkmodelle eröffnen. Wenn Sie irgendwelche Fragen haben, zögern Sie nicht, sie in unserem Chat oder &lt;a href=&quot;mailto:info@leadergpu.com&quot;&gt;per E-Mail&lt;/a&gt; zu stellen.&lt;/p&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/125/original/il_deepseek-r1_future_of_LLMs.png?1739198303"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 19 Feb 2025 15:10:33 +0100</pubDate>
      <guid isPermaLink="false">613</guid>
      <dc:date>2025-02-19T15:10:33+01:00</dc:date>
    </item>
    <item>
      <title>Intel Habana Gaudi 2: installieren und testen</title>
      <link>https://www.leadergpu.de/catalog/611-intel-habana-gaudi-2-installieren-und-testen</link>
      <description>&lt;p&gt;Bevor Sie mit der Installation der Gaudi 2 Accelerators Software beginnen, sollten Sie eine wichtige Funktion erwähnen. Wir sind daran gewöhnt, dass das Training und die Inferenz von neuronalen Netzen mit GPUs durchgeführt werden können. Intel Habana Gaudi 2 unterscheidet sich jedoch stark von GPUs und stellt eine andere Klasse von Geräten dar, die ausschließlich für die Beschleunigung von KI-Aufgaben konzipiert sind.&lt;/p&gt;
&lt;p&gt;Viele bekannte Anwendungen und Frameworks funktionieren nicht ohne vorherige Vorbereitung des Betriebssystems und in einigen Fällen auch nicht ohne ein spezielles &lt;a href=&quot;https://docs.habana.ai/en/latest/PyTorch/PyTorch_Model_Porting/GPU_Migration_Toolkit/GPU_Migration_Toolkit.html&quot;&gt;GPU Migration Toolkit&lt;/a&gt;. Dies erklärt die große Anzahl von Vorbereitungsschritten, die wir in diesem Artikel beschreiben. Beginnen wir der Reihe nach.&lt;/p&gt;
&lt;h2&gt;Schritt 1. SynapseAI Software Stack installieren&lt;/h2&gt;
&lt;p&gt;Um mit Intel Habana Gaudi 2 Beschleunigern arbeiten zu können, müssen Sie den SynapseAI Stack installieren. Er umfasst einen speziellen Graphen-Compiler, der die Topologie des neuronalen Netzwerkmodells umwandelt, um die Ausführung auf der Gaudi-Architektur effektiv zu optimieren, API-Bibliotheken für die horizontale Skalierung sowie ein separates SDK für die Erstellung von Hochleistungsalgorithmen und maschinellen Lernmodellen.&lt;/p&gt;
&lt;p&gt;Unabhängig davon ist SynapseAI der Teil, der es Ihnen ermöglicht, eine Brücke zwischen beliebten Frameworks wie PyTorch/TensorFlow und den Gaudi 2 AI-Beschleunigern zu schlagen. Dadurch können Sie mit vertrauten Abstraktionen arbeiten, und Gaudi 2 optimiert unabhängig Berechnungen. Spezifische Operatoren, für die Beschleuniger keine Hardwareunterstützung haben, werden auf der CPU ausgeführt.&lt;/p&gt;
&lt;p&gt;Um die Installation der einzelnen SynapseAI-Komponenten zu vereinfachen, wurde ein praktisches Shell-Skript erstellt. Lassen Sie es uns herunterladen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget -nv https://vault.habana.ai/artifactory/gaudi-installer/latest/habanalabs-installer.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Machen Sie die Datei ausführbar:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;chmod +x habanalabs-installer.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./habanalabs-installer.sh install --type base&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Folgen Sie den Anweisungen des Systems während der Installation. Sie finden einen detaillierten Bericht in der Protokolldatei. Darin können Sie sehen, welche Pakete installiert wurden, und ob die Beschleuniger erfolgreich gefunden und initialisiert wurden.&lt;/p&gt;
&lt;p&gt;Protokolle hier: /var/log/habana_logs/install-YYYY-MM-DD-HH-MM-SS.log&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;[  +3.881647] habanalabs hl5: Found GAUDI2 device with 96GB DRAM
[  +0.008145] habanalabs hl0: Found GAUDI2 device with 96GB DRAM
[  +0.032034] habanalabs hl3: Found GAUDI2 device with 96GB DRAM
[  +0.002376] habanalabs hl4: Found GAUDI2 device with 96GB DRAM
[  +0.005174] habanalabs hl1: Found GAUDI2 device with 96GB DRAM
[  +0.000390] habanalabs hl2: Found GAUDI2 device with 96GB DRAM
[  +0.007065] habanalabs hl7: Found GAUDI2 device with 96GB DRAM
[  +0.006256] habanalabs hl6: Found GAUDI2 device with 96GB DRAM&lt;/pre&gt;
&lt;p&gt;Genauso wie das nvidia-smi-Dienstprogramm Informationen über installierte GPUs und laufende Rechenprozesse liefert, hat SynapseAI ein ähnliches Programm. Sie können es ausführen, um einen Bericht über den aktuellen Zustand der Gaudi 2 AI-Beschleuniger zu erhalten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;hl-smi&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/981/original/sh_intel_habana_gaudi_2_install_and_test_1.png?1714555709&quot; alt=&quot;hl-smi screenshot&quot;&gt;
&lt;h2&gt;Schritt 2. TensorFlow-Test&lt;/h2&gt;
&lt;p&gt;TensorFlow ist eine der beliebtesten Plattformen für maschinelles Lernen. Mit dem gleichen Installationsskript können Sie eine vorgefertigte Version von TensorFlow mit Unterstützung für Gaudi 2 Beschleuniger installieren. Lassen Sie uns mit der Installation der allgemeinen Abhängigkeiten beginnen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./habanalabs-installer.sh install -t dependencies&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Als nächstes werden wir die Abhängigkeiten für TensorFlow installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./habanalabs-installer.sh install -t dependencies-tensorflow&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie die TensorFlow Plattform innerhalb einer virtuellen Umgebung, die mit dem Python Virtual Environment (venv) Mechanismus implementiert wurde:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./habanalabs-installer.sh install --type tensorflow --venv&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns die erstellte virtuelle Umgebung aktivieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;source habanalabs-venv/bin/activate&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie ein einfaches Python-Codebeispiel, das die Fähigkeiten der Gaudi 2-Beschleuniger nutzt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;nano example.py&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
import torchvision
import torchvision.transforms as transforms
import os
# Import Habana Torch Library
import habana_frameworks.torch.core as htcore
class SimpleModel(nn.Module):
   def __init__(self):
       super(SimpleModel, self).__init__()
       self.fc1   = nn.Linear(784, 256)
       self.fc2   = nn.Linear(256, 64)
       self.fc3   = nn.Linear(64, 10)
   def forward(self, x):
       out = x.view(-1,28*28)
       out = F.relu(self.fc1(out))
       out = F.relu(self.fc2(out))
       out = self.fc3(out)
       return out
def train(net,criterion,optimizer,trainloader,device):
   net.train()
   train_loss = 0.0
   correct = 0
   total = 0
   for batch_idx, (data, targets) in enumerate(trainloader):
       data, targets = data.to(device), targets.to(device)
       optimizer.zero_grad()
       outputs = net(data)
       loss = criterion(outputs, targets)
       loss.backward()
       # API call to trigger execution
       htcore.mark_step()
       optimizer.step()
       # API call to trigger execution
       htcore.mark_step()
       train_loss += loss.item()
       _, predicted = outputs.max(1)
       total += targets.size(0)
       correct += predicted.eq(targets).sum().item()
   train_loss = train_loss/(batch_idx+1)
   train_acc = 100.0*(correct/total)
   print(&quot;Training loss is {} and training accuracy is {}&quot;.format(train_loss,train_acc))
def test(net,criterion,testloader,device):
   net.eval()
   test_loss = 0
   correct = 0
   total = 0
   with torch.no_grad():
       for batch_idx, (data, targets) in enumerate(testloader):
           data, targets = data.to(device), targets.to(device)
           outputs = net(data)
           loss = criterion(outputs, targets)
           # API call to trigger execution
           htcore.mark_step()
           test_loss += loss.item()
           _, predicted = outputs.max(1)
           total += targets.size(0)
           correct += predicted.eq(targets).sum().item()
   test_loss = test_loss/(batch_idx+1)
   test_acc = 100.0*(correct/total)
   print(&quot;Testing loss is {} and testing accuracy is {}&quot;.format(test_loss,test_acc))
def main():
   epochs = 20
   batch_size = 128
   lr = 0.01
   milestones = [10,15]
   load_path = &#39;./data&#39;
   save_path = &#39;./checkpoints&#39;
   if(not os.path.exists(save_path)):
       os.makedirs(save_path)
   # Target the Gaudi HPU device
   device = torch.device(&quot;hpu&quot;)
   # Data
   transform = transforms.Compose([
       transforms.ToTensor(),
   ])
   trainset = torchvision.datasets.MNIST(root=load_path, train=True,
                                           download=True, transform=transform)
   trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size,
                                           shuffle=True, num_workers=2)
   testset = torchvision.datasets.MNIST(root=load_path, train=False,
                                       download=True, transform=transform)
   testloader = torch.utils.data.DataLoader(testset, batch_size=batch_size,
                                           shuffle=False, num_workers=2)
   net = SimpleModel()
   net.to(device)
   criterion = nn.CrossEntropyLoss()
   optimizer = optim.SGD(net.parameters(), lr=lr,
                       momentum=0.9, weight_decay=5e-4)
   scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones=milestones, gamma=0.1)
   for epoch in range(1, epochs+1):
       print(&quot;=====================================================================&quot;)
       print(&quot;Epoch : {}&quot;.format(epoch))
       train(net,criterion,optimizer,trainloader,device)
       test(net,criterion,testloader,device)
       torch.save(net.state_dict(), os.path.join(save_path,&#39;epoch_{}.pth&#39;.format(epoch)))
       scheduler.step()
if __name__ == &#39;__main__&#39;:
   main()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie schließlich die Anwendung aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;python3 example.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Um die virtuelle Umgebung zu beenden, führen Sie den folgenden Befehl aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;deactivate&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 3. Trainings-Repository klonen&lt;/h2&gt;
&lt;p&gt;Klonen Sie das Repository mit dem MLperf-Code:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/mlcommons/training_results_v3.0&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie ein separates Verzeichnis, das vom Docker-Container mit MLperf verwendet werden soll:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir -p mlperf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wechseln Sie das Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd mlperf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns einige Umgebungsvariablen exportieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export MLPERF_DIR=/home/usergpu/mlperf&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export SCRATCH_DIR=/home/usergpu/mlperf/scratch&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export DATASETS_DIR=/home/usergpu/mlperf/datasets&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie neue Verzeichnisse unter Verwendung der erstellten Variablen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir -p $MLPERF_DIR/Habana&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir -p $SCRATCH_DIR&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir -p $DATASETS_DIR&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie die Benchmark-Anwendung nach $MLPERF_DIR/Habana:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cp -R training_results_v3.0/Intel-HabanaLabs/benchmarks/ $MLPERF_DIR/Habana&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Exportieren Sie eine weitere Variable, in der ein Link zum Herunterladen der gewünschten Version des Docker-Containers gespeichert wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export MLPERF_DOCKER_IMAGE=vault.habana.ai/gaudi-docker-mlperf/ver3.1/pytorch-installer-2.0.1:1.13.99-41&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 4. Docker installieren&lt;/h2&gt;
&lt;p&gt;Unsere Instanz läuft unter Ubuntu Linux 22.04 LTS und unterstützt Docker standardmäßig nicht. Bevor Sie also Container herunterladen und ausführen können, müssen Sie die Docker-Unterstützung installieren. Aktualisieren Sie den Paket-Cache und installieren Sie einige grundlegende Pakete, die Sie später benötigen werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y install apt-transport-https ca-certificates curl software-properties-common&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Um Docker zu installieren, müssen Sie ein digital signiertes Projekt-Repository hinzufügen. Laden Sie den Schlüssel für die digitale Signatur herunter und fügen Sie ihn dem Schlüsselspeicher des Betriebssystems hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Docker kann auf Plattformen mit verschiedenen Architekturen ausgeführt werden. Der folgende Befehl erkennt die Architektur Ihres Servers und fügt die entsprechende Repository-Zeile in die Liste des APT-Paketmanagers ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;echo &quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie den Paket-Cache und die Richtlinien und installieren Sie docker-ce (Docker Community Edition):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; apt-cache policy docker-ce &amp;&amp; sudo apt install docker-ce&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Prüfen Sie abschließend, ob der Docker-Daemon läuft und funktioniert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl status docker&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 5. Docker-Container starten&lt;/h2&gt;
&lt;p&gt;Starten wir den Container im privilegierten Modus unter Verwendung der zuvor angegebenen Variablen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run --privileged --security-opt seccomp=unconfined \
  --name mlperf3.0 -td                    \
  -v /dev:/dev                            \
  --device=/dev:/dev                      \
  -e LOG_LEVEL_ALL=6                      \
  -v /sys/kernel/debug:/sys/kernel/debug  \
  -v /tmp:/tmp                            \
  -v $MLPERF_DIR:/root/MLPERF             \
  -v $SCRATCH_DIR:/root/scratch           \
  -v $DATASETS_DIR:/root/datasets/        \
  --cap-add=sys_nice --cap-add=SYS_PTRACE \
  --user root --workdir=/root --net=host  \
  --ulimit memlock=-1:-1 $MLPERF_DOCKER_IMAGE&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der Einfachheit halber können Sie über SSH auf das Terminal innerhalb des Containers zugreifen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker exec mlperf3.0 bash -c &quot;service ssh start&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Um eine Befehlsshell (bash) in der aktuellen Sitzung zu öffnen, führen Sie den folgenden Befehl aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker exec -it mlperf3.0 bash&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 6. Vorbereiten eines Datensatzes&lt;/h2&gt;
&lt;p&gt;Um Bert-Implementierungstests mit MLperf durchzuführen, benötigen Sie einen vorbereiteten Datensatz. Die optimale Methode ist die Erzeugung eines Datensatzes aus vorgeladenen Daten. Das MLperf-Repository enthält ein spezielles Skript, prepare_data.sh, das eine bestimmte Anzahl von Paketen benötigt, um zu funktionieren. Wechseln wir in das folgende Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /root/MLPERF/Habana/benchmarks/bert/implementations/PyTorch&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie alle erforderlichen Pakete mit Hilfe der vorbereiteten Liste und dem pip-Paketmanager:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -r requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Setzen Sie die Variable PYTORCH_BERT_DATA, um dem Skript mitzuteilen, wo es Daten speichern soll:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export PYTORCH_BERT_DATA=/root/datasets/pytorch_bert&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;bash input_preprocessing/prepare_data.sh -o $PYTORCH_BERT_DATA&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das Generierungsverfahren ist recht langwierig und kann mehrere Stunden dauern. Bitte haben Sie Geduld und unterbrechen Sie den Vorgang nicht. Wenn Sie vorhaben, die SSH-Sitzung zu beenden, empfiehlt es sich, das &lt;a href=&quot;https://www.geeksforgeeks.org/screen-command-in-linux-with-examples/&quot;&gt;Bildschirmdienstprogramm&lt;/a&gt; unmittelbar vor dem Start des Docker-Containers zu verwenden.&lt;/p&gt;
&lt;h2&gt;Schritt 7. Packen des Datensatzes&lt;/h2&gt;
&lt;p&gt;Der nächste Schritt besteht darin, den Datensatz für den anschließenden Start von MLperf in gleiche Teile zu &quot;schneiden&quot;. Erstellen wir ein separates Verzeichnis für die gepackten Daten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir $PYTORCH_BERT_DATA/packed&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Packing-Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 pack_pretraining_data_pytorch.py \
  --input_dir=$PYTORCH_BERT_DATA/hdf5/training-4320/hdf5_4320_shards_uncompressed \
  --output_dir=$PYTORCH_BERT_DATA/packed \
  --max_predictions_per_seq=76&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 8. Einen Test durchführen&lt;/h2&gt;
&lt;p&gt;Nun, da der Datensatz vorbereitet ist, ist es an der Zeit, den Test durchzuführen. Dies ist jedoch ohne vorherige Vorbereitung nicht möglich. Die Autoren des Bert-Tests haben einige fest kodierte Werte im Skript hinterlassen, die die Ausführung des Tests beeinträchtigen werden. Benennen Sie zunächst das folgende Verzeichnis um:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mv $PYTORCH_BERT_DATA/packed $PYTORCH_BERT_DATA/packed_data_500_pt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ändern Sie das Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /root/MLPERF/Habana/benchmarks/bert/implementations/HLS-Gaudi2-PT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Da der GNU Nano-Editor nicht im Container installiert ist, muss er separat installiert werden. Alternativ können Sie auch den eingebauten Vi-Editor verwenden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;apt update &amp;&amp; apt -y install nano&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bearbeiten Sie nun das Teststartskript:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano launch_bert_pytorch.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Suchen Sie die erste Zeile:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;DATA_ROOT=/mnt/weka/data/pytorch/bert_mlperf/packed_data&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ersetzen Sie sie durch die folgende:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;DATA_ROOT=/root/datasets/pytorch_bert&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Suchen Sie die zweite Zeile:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;INPUT_DIR=$DATA_ROOT/packed&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ersetzen Sie sie durch die folgende:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;INPUT_DIR=$DATA_ROOT/packed_data_500_pt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und beenden Sie sie.&lt;/p&gt;
&lt;p&gt;Der Testcode enthält eine Begrenzerfunktion, die den Gradienten daran hindert, bestimmte Werte zu überschreiten, um ein mögliches exponentielles Wachstum zu verhindern. Aus uns unbekannten Gründen fehlt diese Funktion in der im Container verwendeten PyTorch-Version, was dazu führt, dass der Test während der Aufwärmphase abnormal beendet wird.&lt;/p&gt;
&lt;p&gt;Eine mögliche Abhilfe könnte darin bestehen, diese Funktion vorübergehend aus dem Code in der Datei fastddp.py zu entfernen. Dazu öffnen Sie die Datei:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano ../PyTorch/fastddp.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Suchen Sie die folgenden drei Codezeilen und kommentieren Sie sie mit dem Symbol # (shebang) aus, so dass sie wie folgt aussehen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;#from habana_frameworks.torch import _hpex_C
#    clip_global_grad_norm = _hpex_C.fused_lamb_norm(grads, 1.0)
#    _fusion_buffer.div_((clip_global_grad_norm * _all_reduce_group_size).to(_fusion_buffer.dtype))&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie außerdem die Datei und beenden Sie sie. Wechseln Sie das Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ../HLS-Gaudi2-PT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie schließlich das Skript aus. Die Ausführung wird etwa 20 Minuten dauern:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./launch_bert_pytorch.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/606-was-ist-wissensdestillation&quot;&gt;Was ist Wissensdestillation?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/607-vor-und-nachteile-der-gemeinsamen-nutzung-von-gpus&quot;&gt;Vor- und Nachteile der gemeinsamen Nutzung von GPUs&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/609-nvidia-rtx-50-erwartungen-und-realit-t&quot;&gt;NVIDIA® RTX™ 50: Erwartungen und Realität&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/980/original/il_intel_habana_gaudi_2_install_and_test.png?1714555676"
        length="0"
        type="image/jpeg"/>
      <pubDate>Thu, 23 Jan 2025 13:41:09 +0100</pubDate>
      <guid isPermaLink="false">611</guid>
      <dc:date>2025-01-23T13:41:09+01:00</dc:date>
    </item>
    <item>
      <title>NVIDIA® RTX™ 50: Erwartungen und Realität</title>
      <link>https://www.leadergpu.de/catalog/609-nvidia-rtx-50-erwartungen-und-realit-t</link>
      <description>&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;The highlight of CES 2025 was NVIDIA® CEO Jensen Huang’s speech. The revelation of new GPU specifications within minutes caught many off guard. In this article, we’ll examine how expert predictions matched the actual announcements.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Werfen wir zunächst einen Blick auf die Produktpalette. Die RTX™ 40-Serie wurde mit 6 Modellen eingeführt, die von der RTX™ 4060 bis zur RTX™ 4090 reichen. Während viele eine ähnliche Palette für die RTX™ 50-Serie erwartet haben, ist das nicht passiert. Stattdessen umfasst die RTX™ 50-Familie nur 4 Modelle: RTX™ 5070, RTX™ 5070 Ti, RTX™ 5080 und RTX™ 5090. Möglicherweise werden wir in Zukunft sowohl die RTX™ 5050 als auch die RTX™ 5060 sehen, aber es gibt noch keine offiziellen Quellen, die diese Grafikkarten bestätigt haben.&lt;/p&gt;
&lt;h2&gt;Technologischer Prozess&lt;/h2&gt;
&lt;p&gt;Das Mooresche Gesetz, die empirische Beobachtung, dass sich die Anzahl der Transistoren in einem integrierten Schaltkreis etwa alle zwei Jahre verdoppelt&quot;, wird oft als nicht mehr relevant für die Chipleistung bezeichnet. Seit 2022 hat Jensen Huang das Mooresche Gesetz wiederholt für tot erklärt. Stattdessen schlug er ein neues Konzept vor, das die gleichzeitige Entwicklung von Architektur, Mikrochips, Softwarebibliotheken und Algorithmen betont.&lt;/p&gt;
&lt;p&gt;Diese Verlagerung ermöglicht es uns, uns auf die Gesamtleistung des Systems zu konzentrieren und nicht nur auf die Anzahl der Transistoren. Das Konzept der Computereffizienz hat in der Tech-Community immer wieder Diskussionen ausgelöst. Die Meinungen zu diesem Thema gehen zwar auseinander, doch steht die Branche eindeutig vor physischen und wirtschaftlichen Hindernissen für eine weitere Miniaturisierung.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/098/original/sh_nvidia_rtx_50_expectation_and_reality_1.png?1736938750&quot; alt=&quot;RTX 5090 vs RTX 4090 - Core clock and boost clock&quot;&gt;
&lt;p&gt;Werfen wir einen Blick auf die neue Generation der GPU-Prozesstechnologie. In der Präsentation wurde dies nicht ausdrücklich erwähnt, aber alle Karten der vorherigen Generation wurden mit dem 4N-Prozess hergestellt. &lt;b translate=&quot;no&quot;&gt;The RTX™ 50 series uses a different 4NP process technology&lt;/b&gt;. Gleichzeitig ist es wichtig zu verstehen, dass 4N und 4NP nur Marketingbezeichnungen sind. Die Transistoren selbst sind weiterhin 5 nm groß.&lt;/p&gt;
&lt;p&gt;Die verbesserte 4NP-Prozesstechnologie ermöglicht in erster Linie eine höhere Transistordichte auf dem Chip und höhere Taktfrequenzen. Während Experten vorhersagten, dass der RTX™ 50 die gleiche Prozesstechnologie wie der RTX™ 40 verwenden würde, lagen sie technisch gesehen falsch, wenn auch nicht wesentlich, da die Transistorgröße unverändert bleibt und TSMC weiterhin als Hersteller fungiert.&lt;/p&gt;
&lt;h2&gt;Anzahl der Kerne&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/099/original/sh_nvidia_rtx_50_expectation_and_reality_2.png?1736938790&quot; alt=&quot;RTX 5090 vs RTX 4090 - CUDA cores count&quot;&gt;
&lt;p&gt;Vor der Veröffentlichung der RTX™ 50-Serie enthüllten zahlreiche Datenlecks die grundlegenden Eigenschaften der GPU. Erste Insiderberichte vom Juli 2024 besagten, dass das Flaggschiff über 24.576 Kerne, 192 Ray-Tracing-Kerne und 768 Tensor-Kerne verfügen würde. Spätere Leaks passten diese Zahlen jedoch an realistischere Werte an.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/100/original/sh_nvidia_rtx_50_expectation_and_reality_3.png?1736938814&quot; alt=&quot;RTX 5090 vs RTX 4090 - AI cores count&quot;&gt;
&lt;p&gt;Die endgültige RTX™ 5090 wurde mit &lt;b translate=&quot;no&quot;&gt;21,760 CUDA® cores&lt;/b&gt; (gegenüber 16.384 bei der RTX™ 4090), &lt;b translate=&quot;no&quot;&gt;170 Ray-tracing cores&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;680 Tensor cores&lt;/b&gt; ausgeliefert. Dies steht im Einklang mit der jüngsten Strategie des Unternehmens, die Leistung nicht nur durch eine erhöhte Transistoranzahl, sondern durch eine umfassende Optimierung der Architektur zu steigern.&lt;/p&gt;
&lt;h2&gt;Speicher&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/101/original/sh_nvidia_rtx_50_expectation_and_reality_4.png?1736938865&quot; alt=&quot;RTX 5090 vs RTX 4090 - Memory capacity&quot;&gt;
&lt;p&gt;Die Verwendung von GDDR7-Speicher in den neuen GPUs kam nicht überraschend. Branchenexperten hatten diesen Schritt im Jahr 2024 vorausgesagt, nachdem die drei großen Hersteller (Samsung, Micron und SK hynix) nacheinander ihre GDDR7-Prototypen vorgestellt hatten. Bei der Speicherverteilung war NVIDIA® großzügig: Das Basismodell &lt;b translate=&quot;no&quot;&gt;RTX™ 5070&lt;/b&gt; verfügt über &lt;b translate=&quot;no&quot;&gt;12 GB GDDR7&lt;/b&gt; auf einem &lt;b translate=&quot;no&quot;&gt;192-bit&lt;/b&gt; -Bus, während die beiden &lt;b translate=&quot;no&quot;&gt;RTX™ 5070 Ti and RTX™ 5080&lt;/b&gt; über &lt;b translate=&quot;no&quot;&gt;16 GB GDDR7&lt;/b&gt; auf einem &lt;b translate=&quot;no&quot;&gt;256-bit&lt;/b&gt; -Bus verfügen. Am oberen Ende kommt das Flaggschiff &lt;b translate=&quot;no&quot;&gt;RTX™ 5090&lt;/b&gt; mit einem massiven &lt;b translate=&quot;no&quot;&gt;32 GB GDDR7&lt;/b&gt; auf einem &lt;b translate=&quot;no&quot;&gt;512-bit&lt;/b&gt; -Bus.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/102/original/sh_nvidia_rtx_50_expectation_and_reality_5.png?1736938884&quot; alt=&quot;RTX 5090 vs RTX 4090 - Memory throughput&quot;&gt;
&lt;p&gt;Experten sagten ursprünglich voraus, dass der maximale Durchsatz dieser Speicherkonfiguration 1,5 Tbps betragen würde. Die Realität hat diese Erwartungen jedoch übertroffen, &lt;b translate=&quot;no&quot;&gt;achieving a throughput of 1,7 Tbps&lt;/b&gt;. Diese dramatische Verbesserung kommt in erster Linie den KI-Verarbeitungsfähigkeiten des Grafikprozessors zugute und weniger der Spieleleistung. Die Kombination aus hoher Kapazität und schnellem Speicher der neuen Generation ist besonders wertvoll für große Sprachmodelle und generative neuronale Netze.&lt;/p&gt;
&lt;h2&gt;Technologien&lt;/h2&gt;
&lt;h3&gt;Für Gamer&lt;/h3&gt;
&lt;p&gt;Echtzeit-Raytracing hat sich zu einer der revolutionärsten GPU-Technologien entwickelt und markiert den Beginn der RTX-Reihe. Für viele Verbraucher war diese Funktion ein Schlüsselfaktor für ihre Kaufentscheidung. Bei den Karten der RTX™ 50-Serie könnte DLSS (Deep Learning Super Sampling) Version 4 eine ebenso wichtige Rolle spielen. Diese Technologie steigert die GPU-Leistung in Spielen durch ihren Hybrid-Frame-Rendering-Ansatz erheblich.&lt;/p&gt;
&lt;p&gt;Wenn DLSS aktiviert ist, werden einige Frames in Echtzeit mithilfe von KI generiert, anstatt jedes Frame auf herkömmliche Weise zu rendern. Während frühe Versionen dieser Technologie lediglich Frames auf höhere Auflösungen hochskalieren konnten, wurde mit DLSS 3 eine fortschrittlichere Fähigkeit eingeführt: Für jedes konventionell gerenderte Frame kann ein zusätzliches, von der KI erstelltes Frame generiert werden.&lt;/p&gt;
&lt;p&gt;DLSS 4 erzeugt drei KI-gesteuerte Frames für jedes herkömmlich gerenderte Frame. &lt;b translate=&quot;no&quot;&gt;This significantly increases the frame per second (FPS) without putting heavy load on the GPU.&lt;/b&gt; Die KI analysiert die Objekt- und Szenenbewegungen, um sicherzustellen, dass die generierten Frames den konventionell gerenderten Frames sehr nahe kommen.&lt;/p&gt;
&lt;p&gt;Dies wirft eine wichtige Frage auf: Wie gehen wir mit der Eingabeverzögerung um? Da die Frame-Generierung Zeit in Anspruch nimmt, verlängert jede Iteration die Reaktionszeit. Ein flüssiges Bild mit langsamer Reaktion auf Spieleraktionen kann das Spielerlebnis stark beeinträchtigen. &lt;b translate=&quot;no&quot;&gt;To address this, NVIDIA® has improved their Reflex 2 technology alongside DLSS to minimize latency.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Deshalb wurde Frame Warp in das System integriert. Diese Technologie reduziert die Latenzzeit im Spiel, indem die gerenderten Bilder kurz vor der Anzeige mit den neuesten Mauseingaben aktualisiert werden. Sie verbessert sowohl den Multiplayer-Wettbewerb als auch die Reaktionsfähigkeit im Einzelspielermodus.&lt;/p&gt;
&lt;h3&gt;Für die Ersteller von Inhalten&lt;/h3&gt;
&lt;p&gt;Die RTX™ 50-Serie ist nicht nur für Spiele geeignet. Ersteller von Videoinhalten werden in diesen neuen GPUs einen erheblichen Nutzen sehen. Das Flaggschiff RTX™ 5090 ist mit 3 Encodern und 2 Decodern ausgestattet, im Vergleich zu 2 Encodern und 1 Decoder bei der RTX™ 4090. Diese Komponenten wurden durch die Zusammenarbeit mit führenden Unternehmen der Branche verbessert: Adobe, Blackmagic Design, ByteDance und Wondershare. &lt;b translate=&quot;no&quot;&gt;As a result, the RTX™ 5090 renders video 60% faster than the RTX™ 4090 and four times faster than the RTX™ 3090.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Neben den reinen Geschwindigkeitsverbesserungen wurde auch die Qualität verbessert. &lt;b translate=&quot;no&quot;&gt;The 9th generation NVENC encoder delivers 5% better quality in HEVC and AV1 tasks. The AV1 Ultra Quality mode achieves better data compression while maintaining image quality, reducing file sizes by 5%.&lt;/b&gt; Dies bedeutet eine schnellere Videowiedergabe auf der RTX™ 5090 und eine Verkürzung der Zeit zwischen Bearbeitung und Produktion.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Rückblickend auf sechs Monate erwiesen sich die Vorhersagen und Erwartungen der Experten als zu optimistisch. Je näher der Veröffentlichungstermin rückte, desto deutlicher wurde, dass die neuen GPUs mehr als nur zusätzliche Recheneinheiten bieten würden. &lt;b translate=&quot;no&quot;&gt;The key innovation would be new optimization and AI technologies enhancing existing frame rendering systems.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Auf der CES 2025 wurde während der Präsentation der GPU 50-Serie eine neue KI-Ära vorgestellt. Diese Vision beschreibt eine Welt, in der digitale Assistenten und Roboter komplexe Aufgaben übernehmen. Den Kern bildet ein Ökosystem aus Supercomputern für das KI-Training, erschwinglichen Inferenzbeschleunigern für Verbrauchergeräte und vielseitiger Software, die sowohl lokal als auch in der Cloud arbeitet. Auch wenn das volle Ausmaß dieser Zukunft noch ungewiss ist, so ist doch eines klar: Wir stehen an der Schwelle von der Science-Fiction zur Realität.&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;LeaderGPU remains committed to providing reliable access to these cutting-edge technologies. Order your first GPU server today and begin transforming your ideas into reality.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/606-was-ist-wissensdestillation&quot;&gt;Was ist Wissensdestillation?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/607-vor-und-nachteile-der-gemeinsamen-nutzung-von-gpus&quot;&gt;Vor- und Nachteile der gemeinsamen Nutzung von GPUs&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/611-intel-habana-gaudi-2-installieren-und-testen&quot;&gt;Intel Habana Gaudi 2: installieren und testen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/098/original/sh_nvidia_rtx_50_expectation_and_reality_1.png?1736938750"
        length="0"
        type="image/jpeg"/>
      <pubDate>Thu, 23 Jan 2025 13:34:30 +0100</pubDate>
      <guid isPermaLink="false">609</guid>
      <dc:date>2025-01-23T13:34:30+01:00</dc:date>
    </item>
    <item>
      <title>Vor- und Nachteile der gemeinsamen Nutzung von GPUs</title>
      <link>https://www.leadergpu.de/catalog/607-vor-und-nachteile-der-gemeinsamen-nutzung-von-gpus</link>
      <description>&lt;p&gt;Das Mooresche Gesetz hat seit fast einem halben Jahrhundert seine Gültigkeit behalten. In Prozessorchips werden immer mehr Transistoren verbaut, und die Technologien werden täglich weiterentwickelt. So wie sich die Technologie weiterentwickelt, so entwickelt sich auch unsere Herangehensweise an die Datenverarbeitung. Das Aufkommen bestimmter Computeraufgaben hat die Hardwareentwicklung erheblich beeinflusst. So sind beispielsweise Geräte, die ursprünglich für die Grafikverarbeitung entwickelt wurden, heute wichtige und erschwingliche Werkzeuge für moderne neuronale Netze.&lt;/p&gt;
&lt;p&gt;Auch die Verwaltung von Computerressourcen hat sich verändert. Massendienste verwenden heute nur noch selten Großrechner, wie sie es in den 1970er und 80er Jahren taten. Stattdessen bevorzugen sie Cloud-Dienste oder bauen ihre eigene Infrastruktur auf. Diese Verschiebung hat die Kundenanforderungen verändert, wobei der Schwerpunkt auf einer schnellen, bedarfsgerechten Skalierung und einer maximalen Nutzung der zugewiesenen Computerressourcen liegt.&lt;/p&gt;
&lt;p&gt;Virtualisierungs- und Containerisierungstechnologien sind als Lösungen entstanden. Anwendungen werden nun in Containern mit allen erforderlichen Bibliotheken verpackt, was die Bereitstellung und Skalierung vereinfacht. Die manuelle Verwaltung wurde jedoch unpraktisch, als die Zahl der Container in die Tausende stieg. Spezialisierte Orchestratoren wie Kubernetes sorgen nun für eine effektive Verwaltung und Skalierung. Diese Tools sind ein wesentlicher Bestandteil jeder modernen IT-Infrastruktur geworden.&lt;/p&gt;
&lt;h2&gt;Server-Virtualisierung&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/075/original/sh_advantages_and_disadvantages_of_gpu_sharing_1.png?1731504150&quot; alt=&quot;Server virtualization&quot;&gt;
&lt;p&gt;Gleichzeitig wurden Virtualisierungstechnologien entwickelt, die die Schaffung von isolierten Umgebungen innerhalb eines einzigen physischen Servers ermöglichen. Virtuelle Maschinen verhalten sich identisch zu normalen physischen Servern und ermöglichen die Verwendung von Standard-Verwaltungstools. Je nach Hypervisor ist oft eine spezielle API enthalten, die die Automatisierung von Routineabläufen erleichtert.&lt;/p&gt;
&lt;p&gt;Diese Flexibilität geht jedoch mit einer geringeren Sicherheit einher. Angreifer konzentrieren sich nicht mehr auf einzelne virtuelle Maschinen, sondern nutzen die Schwachstellen von Hypervisoren aus. Wenn sie die Kontrolle über einen Hypervisor erlangen, können Angreifer nach Belieben auf alle zugehörigen virtuellen Maschinen zugreifen. Trotz laufender Sicherheitsverbesserungen bleiben moderne Hypervisoren attraktive Ziele.&lt;/p&gt;
&lt;p&gt;Die herkömmliche Virtualisierung befasst sich mit zwei Hauptproblemen. Erstens: Sie gewährleistet die Isolierung der virtuellen Maschinen voneinander. Bare-Metal-Lösungen umgehen dieses Problem, da die Kunden ganze physische Server unter ihrer Kontrolle mieten. Bei virtuellen Maschinen erfolgt die Isolierung jedoch softwarebasiert auf der Hypervisor-Ebene. Ein Code-Fehler oder ein zufälliger Bug kann diese Isolierung beeinträchtigen, so dass die Gefahr besteht, dass Daten verloren gehen oder beschädigt werden.&lt;/p&gt;
&lt;p&gt;Das zweite Problem betrifft die Ressourcenverwaltung. Es ist zwar möglich, die Ressourcenzuweisung für bestimmte virtuelle Maschinen zu garantieren, aber die Verwaltung zahlreicher Maschinen stellt ein Dilemma dar. Die Ressourcen können unzureichend genutzt werden, was zu einer geringeren Anzahl virtueller Maschinen pro physischem Server führt. Dieses Szenario ist für die Infrastruktur unrentabel und führt unweigerlich zu Preissteigerungen.&lt;/p&gt;
&lt;p&gt;Alternativ dazu können Sie automatische Ressourcenverwaltungsmechanismen nutzen. Obwohl einer virtuellen Maschine bestimmte deklarierte Eigenschaften zugewiesen werden, wird in Wirklichkeit nur das erforderliche Minimum innerhalb dieser Grenzen bereitgestellt. Benötigt die Maschine mehr Prozessorzeit oder Arbeitsspeicher, versucht der Hypervisor, dies bereitzustellen, kann es aber nicht garantieren. Diese Situation ist vergleichbar mit der Überbuchung von Flugzeugen, bei der die Fluggesellschaften mehr Tickets verkaufen, als Plätze vorhanden sind.&lt;/p&gt;
&lt;p&gt;Die Logik ist identisch. Wenn die Statistik zeigt, dass etwa 10 % der Passagiere nicht pünktlich zu ihrem Flug erscheinen, können die Fluggesellschaften mit minimalem Risiko 10 % mehr Tickets verkaufen. Wenn alle Passagiere kommen, werden einige nicht an Bord passen. Die Fluggesellschaft wird mit geringfügigen Konsequenzen in Form von Ausgleichszahlungen rechnen müssen, aber wahrscheinlich wird sie diese Praxis fortsetzen.&lt;/p&gt;
&lt;p&gt;Viele Infrastrukturanbieter wenden eine ähnliche Strategie an. Einige sind transparent und geben an, dass sie die ständige Verfügbarkeit von Rechenressourcen nicht garantieren können, aber deutlich niedrigere Preise anbieten. Andere setzen ähnliche Mechanismen ein, ohne dies bekannt zu geben. Sie setzen darauf, dass nicht alle Kunden ihre Serverressourcen ständig zu 100 % ausnutzen werden, und selbst wenn es einige tun, werden sie in der Minderheit sein. In der Zwischenzeit erwirtschaften die ungenutzten Ressourcen Gewinn.&lt;/p&gt;
&lt;p&gt;In diesem Zusammenhang haben Bare-Metal-Lösungen einen Vorteil. Sie garantieren, dass die zugewiesenen Ressourcen vollständig vom Kunden verwaltet und nicht mit anderen Nutzern des Infrastrukturanbieters geteilt werden. Dadurch werden Szenarien vermieden, in denen eine hohe Belastung durch den Benutzer eines benachbarten Servers die Leistung negativ beeinflusst.&lt;/p&gt;
&lt;h2&gt;GPU-Virtualisierung&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/076/original/sh_advantages_and_disadvantages_of_gpu_sharing_2.png?1731504219&quot; alt=&quot;GPU virtualization&quot;&gt;
&lt;p&gt;Die klassische Virtualisierung steht unweigerlich vor der Herausforderung, physische Geräte zu emulieren. Um die Overhead-Kosten zu senken, wurden spezielle Technologien entwickelt, die es virtuellen Maschinen ermöglichen, direkt auf die physischen Geräte des Servers zuzugreifen. Dieser Ansatz funktioniert in vielen Fällen gut, aber bei der Anwendung auf Grafikprozessoren stößt er sofort an seine Grenzen. Wenn ein Server beispielsweise 8 Grafikprozessoren installiert hat, können nur 8 virtuelle Maschinen darauf zugreifen.&lt;/p&gt;
&lt;p&gt;Um diese Einschränkung zu überwinden, wurde die vGPU-Technologie erfunden. Sie unterteilt eine GPU in mehrere logische GPUs, die dann virtuellen Maschinen zugewiesen werden können. Auf diese Weise kann jede virtuelle Maschine ihr &quot;Stück vom Kuchen&quot; bekommen, und ihre Gesamtzahl ist nicht mehr durch die Anzahl der im Server installierten Grafikkarten begrenzt.&lt;/p&gt;
&lt;p&gt;Virtuelle GPUs werden am häufigsten beim Aufbau von VDI (Virtual Desktop Infrastructure) in Bereichen eingesetzt, in denen virtuelle Maschinen 3D-Beschleunigung benötigen. Ein virtueller Arbeitsplatz für einen Designer oder Planer beinhaltet beispielsweise typischerweise Grafikverarbeitung. Die meisten Anwendungen in diesen Bereichen führen Berechnungen sowohl auf dem zentralen Prozessor als auch auf dem Grafikprozessor durch. Dieser hybride Ansatz erhöht die Produktivität erheblich und gewährleistet eine optimale Nutzung der verfügbaren Rechenressourcen.&lt;/p&gt;
&lt;p&gt;Diese Technologie hat jedoch mehrere Nachteile. Sie wird nicht von allen GPUs unterstützt und ist nur im Serverbereich verfügbar. Die Unterstützung hängt auch von der installierten Version des Betriebssystems und des GPU-Treibers ab. vGPU hat einen separaten Lizenzierungsmechanismus, der die Betriebskosten erheblich erhöht. Außerdem können die Softwarekomponenten potenziell als Angriffsvektoren dienen.&lt;/p&gt;
&lt;p&gt;Vor kurzem wurden Informationen über acht Schwachstellen &lt;a href=&quot;https://www.tomshardware.com/pc-components/gpu-drivers/nvidia-gpu-driver-addresses-eight-major-high-severity-vulnerabilities-nvidia-gpu-owners-should-update-asap&quot;&gt;veröffentlicht&lt;/a&gt;, die alle Benutzer von Nvidia-GPUs betreffen. Sechs Schwachstellen wurden in GPU-Treibern und zwei in der vGPU-Software gefunden. Diese Probleme wurden schnell behoben, aber sie erinnern daran, dass die Isolationsmechanismen in solchen Systemen nicht fehlerfrei sind. Ständige Überwachung und die rechtzeitige Installation von Updates bleiben die wichtigsten Maßnahmen zur Gewährleistung der Sicherheit.&lt;/p&gt;
&lt;p&gt;Beim Aufbau einer Infrastruktur zur Verarbeitung vertraulicher und sensibler Benutzerdaten wird jede Virtualisierung zu einem potenziellen Risikofaktor. In solchen Fällen kann ein Bare-Metal-Ansatz bessere Qualität und Sicherheit bieten.&lt;/p&gt;
&lt;h2&gt;Schlussfolgerung&lt;/h2&gt;
&lt;p&gt;Der Aufbau einer Computerinfrastruktur erfordert immer eine Risikobewertung. Zu den wichtigsten Fragen, die dabei zu berücksichtigen sind, gehören: Sind die Kundendaten sicher geschützt? Schaffen die gewählten Technologien zusätzliche Angriffsvektoren? Wie können potenzielle Schwachstellen isoliert und beseitigt werden? Die Beantwortung dieser Fragen hilft dabei, fundierte Entscheidungen zu treffen und sich vor künftigen Problemen zu schützen.&lt;/p&gt;
&lt;p&gt;Bei LeaderGPU sind wir zu einer klaren Schlussfolgerung gelangt: Derzeit ist die Bare-Metal-Technologie überlegen, wenn es darum geht, die Sicherheit der Benutzerdaten zu gewährleisten und gleichzeitig eine hervorragende Grundlage für den Aufbau einer Bare-Metal-Cloud zu bieten. Mit diesem Ansatz können unsere Kunden ihre Flexibilität beibehalten, ohne die mit der GPU-Virtualisierung verbundenen zusätzlichen Risiken auf sich zu nehmen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/606-was-ist-wissensdestillation&quot;&gt;Was ist Wissensdestillation?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/609-nvidia-rtx-50-erwartungen-und-realit-t&quot;&gt;NVIDIA® RTX™ 50: Erwartungen und Realität&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/611-intel-habana-gaudi-2-installieren-und-testen&quot;&gt;Intel Habana Gaudi 2: installieren und testen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/076/original/sh_advantages_and_disadvantages_of_gpu_sharing_2.png?1731504219"
        length="0"
        type="image/jpeg"/>
      <pubDate>Thu, 23 Jan 2025 13:24:12 +0100</pubDate>
      <guid isPermaLink="false">607</guid>
      <dc:date>2025-01-23T13:24:12+01:00</dc:date>
    </item>
    <item>
      <title>Was ist Wissensdestillation?</title>
      <link>https://www.leadergpu.de/catalog/606-was-ist-wissensdestillation</link>
      <description>&lt;p&gt;Große Sprachmodelle (Large Language Models, LLMs) sind durch ihre einzigartigen Fähigkeiten zu einem festen Bestandteil unseres Lebens geworden. Sie verstehen den Kontext und erstellen darauf aufbauend kohärente, umfassende Texte. Sie können jede Sprache verarbeiten und in jeder Sprache reagieren und dabei die kulturellen Nuancen jeder Sprache berücksichtigen.&lt;/p&gt;
&lt;p&gt;LLMs sind hervorragend in der Lage, komplexe Probleme zu lösen, zu programmieren, Konversationen zu führen und vieles mehr. Diese Vielseitigkeit ergibt sich aus der Verarbeitung großer Mengen von Trainingsdaten, daher der Begriff &quot;groß&quot;. Diese Modelle können Dutzende oder Hunderte von Milliarden von Parametern enthalten, was sie für den täglichen Gebrauch sehr ressourcenintensiv macht.&lt;/p&gt;
&lt;p&gt;Das Training ist der anspruchsvollste Prozess. Neuronale Netzmodelle lernen, indem sie riesige Datensätze verarbeiten und ihre internen &quot;Gewichte&quot; anpassen, um stabile Verbindungen zwischen den Neuronen zu bilden. Diese Verbindungen speichern Wissen, das das trainierte neuronale Netz später auf Endgeräten verwenden kann.&lt;/p&gt;
&lt;p&gt;Den meisten Endgeräten fehlt jedoch die nötige Rechenleistung, um diese Modelle auszuführen. Um beispielsweise die Vollversion von Llama 2 (70B Parameter) auszuführen, ist ein Grafikprozessor mit 48 GB Videospeicher erforderlich - Hardware, die nur wenige Nutzer zu Hause haben, geschweige denn auf mobilen Geräten.&lt;/p&gt;
&lt;p&gt;Daher arbeiten die meisten modernen neuronalen Netze in einer Cloud-Infrastruktur und nicht auf tragbaren Geräten, die über APIs auf sie zugreifen. Dennoch machen die Gerätehersteller in zweierlei Hinsicht Fortschritte: Sie statten ihre Geräte mit spezialisierten Recheneinheiten wie NPUs aus und entwickeln Methoden zur Verbesserung der Leistung kompakter neuronaler Netzwerkmodelle.&lt;/p&gt;
&lt;h2&gt;Verkleinerung der Größe&lt;/h2&gt;
&lt;h3&gt;Überflüssiges abschneiden&lt;/h3&gt;
&lt;p&gt;Die Quantisierung ist die erste und wirksamste Methode zur Reduzierung der Größe eines neuronalen Netzes. Die Gewichte neuronaler Netze verwenden normalerweise 32-Bit-Gleitkommazahlen, aber wir können sie verkleinern, indem wir dieses Format ändern. Die Verwendung von 8-Bit-Werten (oder in manchen Fällen sogar von binären Einsen) kann die Größe des Netzwerks um das Zehnfache reduzieren, was jedoch die Genauigkeit der Antworten erheblich verringert.&lt;/p&gt;
&lt;p&gt;Pruning ist ein weiterer Ansatz, bei dem unwichtige Verbindungen im neuronalen Netz entfernt werden. Dieser Prozess funktioniert sowohl während des Trainings als auch bei abgeschlossenen Netzen. Beim Pruning können nicht nur Verbindungen, sondern auch Neuronen oder ganze Schichten entfernt werden. Diese Reduzierung der Parameter und Verbindungen führt zu einem geringeren Speicherbedarf.&lt;/p&gt;
&lt;p&gt;Die Matrix- oder Tensorzerlegung ist die dritte gängige Technik zur Größenreduzierung. Durch die Zerlegung einer großen Matrix in ein Produkt aus drei kleineren Matrizen werden die Gesamtparameter bei gleichbleibender Qualität reduziert. Dadurch kann die Größe des Netzes um das Dutzendfache verringert werden. Die Tensoredekomposition bietet sogar noch bessere Ergebnisse, erfordert jedoch mehr Hyperparameter.&lt;/p&gt;
&lt;p&gt;Während diese Methoden die Größe effektiv reduzieren, stehen sie alle vor dem Problem des Qualitätsverlustes. Große komprimierte Modelle übertreffen ihre kleineren, nicht komprimierten Gegenstücke, aber jede Komprimierung birgt das Risiko, die Genauigkeit der Antworten zu verringern. Die Wissensdestillation stellt einen interessanten Versuch dar, Qualität und Größe in Einklang zu bringen.&lt;/p&gt;
&lt;h3&gt;Lassen Sie es uns gemeinsam versuchen&lt;/h3&gt;
&lt;p&gt;Die Wissensdestillation lässt sich am besten durch die Analogie zwischen einem Schüler und einem Lehrer erklären. Während die Schüler lernen, lehren die Lehrer und aktualisieren auch ständig ihr vorhandenes Wissen. Wenn beide mit neuem Wissen konfrontiert werden, hat der Lehrer einen Vorteil: Er kann auf sein breites Wissen aus anderen Bereichen zurückgreifen, während dem Schüler diese Grundlage noch fehlt.&lt;/p&gt;
&lt;p&gt;Dieses Prinzip gilt auch für neuronale Netze. Wenn zwei neuronale Netze desselben Typs, aber unterschiedlicher Größe, mit identischen Daten trainiert werden, schneidet das größere Netz in der Regel besser ab. Seine größere Kapazität an &quot;Wissen&quot; ermöglicht genauere Antworten als sein kleineres Gegenstück. Daraus ergibt sich eine interessante Möglichkeit: Warum trainiert man das kleinere Netz nicht nur mit dem Datensatz, sondern auch mit den genaueren Ergebnissen des größeren Netzes?&lt;/p&gt;
&lt;p&gt;Dieser Prozess ist die Wissensdestillation: eine Form des überwachten Lernens, bei der ein kleineres Modell lernt, die Vorhersagen eines größeren Modells zu replizieren. Diese Technik hilft zwar, den Qualitätsverlust auszugleichen, der durch die Verkleinerung des neuronalen Netzes entsteht, erfordert aber zusätzliche Rechenressourcen und Trainingszeit.&lt;/p&gt;
&lt;h2&gt;Software und Logik&lt;/h2&gt;
&lt;p&gt;Nachdem nun die theoretischen Grundlagen geklärt sind, wollen wir den Prozess aus technischer Sicht untersuchen. Wir beginnen mit Software-Tools, die Sie durch die Phasen des Trainings und der Wissensdestillation führen können.&lt;/p&gt;
&lt;p&gt;Python bietet zusammen mit der &lt;a href=&quot;https://pytorch.org/torchtune/stable/index.html&quot;&gt;TorchTune-Bibliothek&lt;/a&gt; aus dem &lt;a href=&quot;https://pytorch.org/&quot;&gt;PyTorch-Ökosystem&lt;/a&gt; den einfachsten Ansatz für die Untersuchung und Feinabstimmung großer Sprachmodelle. So funktioniert die Anwendung:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/092/original/il_what_is_knowledge_distillation.png?1733302736&quot; alt=&quot;What is Knowledge Distillation main illustration&quot;&gt;
&lt;p&gt;Es werden zwei Modelle geladen: ein vollständiges Modell (Lehrer) und ein reduziertes Modell (Schüler). Während jeder Trainingsiteration erzeugt das Lehrermodell Hochtemperaturvorhersagen, während das Schülermodell den Datensatz verarbeitet, um seine eigenen Vorhersagen zu treffen.&lt;/p&gt;
&lt;p&gt;Die rohen Ausgabewerte (Logits) beider Modelle werden anhand einer Verlustfunktion (ein numerisches Maß dafür, wie stark eine Vorhersage vom richtigen Wert abweicht) bewertet. Die Gewichtungsanpassungen werden dann durch Backpropagation auf das Studentenmodell angewendet. Dadurch kann das kleinere Modell lernen und die Vorhersagen des Lehrermodells replizieren.&lt;/p&gt;
&lt;p&gt;Die wichtigste Konfigurationsdatei im Anwendungscode wird als Rezept bezeichnet. In dieser Datei werden alle Destillationsparameter und -einstellungen gespeichert, so dass die Experimente reproduzierbar sind und die Forscher verfolgen können, wie die verschiedenen Parameter das Endergebnis beeinflussen.&lt;/p&gt;
&lt;p&gt;Bei der Auswahl der Parameterwerte und der Anzahl der Iterationen ist die Wahrung des Gleichgewichts entscheidend. Ein Modell, das zu stark destilliert wurde, kann seine Fähigkeit verlieren, subtile Details und den Kontext zu erkennen, und zu schablonenhaften Antworten übergehen. Auch wenn ein perfektes Gleichgewicht kaum zu erreichen ist, kann eine sorgfältige Überwachung des Destillationsprozesses die Vorhersagequalität selbst bescheidener neuronaler Netzwerkmodelle erheblich verbessern.&lt;/p&gt;
&lt;p&gt;Auch während des Trainingsprozesses lohnt es sich, auf die Überwachung zu achten. So können Probleme rechtzeitig erkannt und umgehend korrigiert werden. Hierfür können Sie das &lt;a href=&quot;https://www.tensorflow.org/tensorboard&quot;&gt;TensorBoard-Tool&lt;/a&gt; verwenden. Es lässt sich nahtlos in PyTorch-Projekte integrieren und ermöglicht die visuelle Auswertung vieler Metriken, wie Genauigkeit und Verluste. Außerdem können Sie damit einen Modellgraphen erstellen, die Speichernutzung und die Ausführungszeit von Operationen verfolgen.&lt;/p&gt;
&lt;h2&gt;Schlussfolgerung&lt;/h2&gt;
&lt;p&gt;Wissensdestillation ist eine effektive Methode zur Optimierung neuronaler Netze, um kompakte Modelle zu verbessern. Sie funktioniert am besten, wenn ein Gleichgewicht zwischen Leistung und Antwortqualität wichtig ist.&lt;/p&gt;
&lt;p&gt;Obwohl die Wissensdestillation eine sorgfältige Überwachung erfordert, können ihre Ergebnisse bemerkenswert sein. Die Modelle werden bei gleichbleibender Vorhersagequalität wesentlich kleiner und erzielen mit weniger Rechenressourcen eine bessere Leistung.&lt;/p&gt;
&lt;p&gt;Bei einer guten Planung mit geeigneten Parametern ist die Wissensdestillation ein wichtiges Instrument zur Erstellung kompakter neuronaler Netze ohne Qualitätseinbußen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/607-vor-und-nachteile-der-gemeinsamen-nutzung-von-gpus&quot;&gt;Vor- und Nachteile der gemeinsamen Nutzung von GPUs&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/609-nvidia-rtx-50-erwartungen-und-realit-t&quot;&gt;NVIDIA® RTX™ 50: Erwartungen und Realität&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/611-intel-habana-gaudi-2-installieren-und-testen&quot;&gt;Intel Habana Gaudi 2: installieren und testen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/092/original/il_what_is_knowledge_distillation.png?1733302736"
        length="0"
        type="image/jpeg"/>
      <pubDate>Thu, 23 Jan 2025 13:21:29 +0100</pubDate>
      <guid isPermaLink="false">606</guid>
      <dc:date>2025-01-23T13:21:29+01:00</dc:date>
    </item>
    <item>
      <title>AudioCraft von MetaAI: Musik nach Beschreibung erstellen</title>
      <link>https://www.leadergpu.de/catalog/604-audiocraft-von-metaai-musik-nach-beschreibung-erstellen</link>
      <description>&lt;p&gt;Moderne generative neuronale Netze werden immer intelligenter. Sie schreiben Geschichten, führen Gespräche mit Menschen und erstellen ultra-realistische Bilder. Jetzt können sie auch einfache Musiktitel produzieren, ohne dass dafür professionelle Künstler benötigt werden. Diese Zukunft ist heute schon Realität. Das war zu erwarten, denn musikalische Harmonien und Rhythmen beruhen auf mathematischen Prinzipien.&lt;/p&gt;
&lt;p&gt;Meta hat sein Engagement für die Welt der Open-Source-Software unter Beweis gestellt. Sie haben drei neuronale Netzwerkmodelle veröffentlicht, die die Erstellung von Klängen und Musik aus Textbeschreibungen ermöglichen:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://musicgen.com/&quot;&gt;MusicGen&lt;/a&gt; - erzeugt Musik aus Text.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://audiocraft.metademolab.com/audiogen.html&quot;&gt;AudioGen&lt;/a&gt; - erzeugt Audio aus Text.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/facebookresearch/encodec&quot;&gt;EnCodec&lt;/a&gt; - Hochwertiger neuronaler Audiokompressor.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;MusicGen wurde auf 20.000 Stunden Musik trainiert. Sie können es lokal über dedizierte LeaderGPU-Server als Plattform nutzen.&lt;/p&gt;
&lt;h2&gt;Standard-Installation&lt;/h2&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie den Python-Paketmanager, pip, und die ffmpeg-Bibliotheken:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install python3-pip ffmpeg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie Torch 2.0 oder eine neuere Version mit pip:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install &#39;torch&gt;=2.0&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mit dem folgenden Befehl werden &lt;b translate=&quot;no&quot;&gt;audiocraft&lt;/b&gt; und alle erforderlichen Abhängigkeiten automatisch installiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -U audiocraft&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns eine einfache Python-Anwendung schreiben, die das &lt;a href=&quot;https://huggingface.co/facebook/musicgen-large&quot;&gt;große vortrainierte MusicGen-Modell&lt;/a&gt; mit 3,3B Parametern verwendet:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano generate.py&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write
model = MusicGen.get_pretrained(&quot;facebook/musicgen-large&quot;)
model.set_generation_params(duration=30)  # generate a 30 seconds sample.
descriptions = [&quot;rock solo&quot;]
wav = model.generate(descriptions)  # generates sample.
for idx, one_wav in enumerate(wav):
    # Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
    audio_write(f&#39;{idx}&#39;, one_wav.cpu(), model.sample_rate, strategy=&quot;loudness&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie die erstellte Anwendung aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 generate.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nach ein paar Sekunden erscheint die erzeugte Datei (0.wav) im Verzeichnis.&lt;/p&gt;
&lt;h2&gt;Kaffee Vampir 3&lt;/h2&gt;
&lt;p&gt;Klonen Sie ein Projekt-Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/CoffeeVampir3/audiocraft-webui.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das geklonte Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd audiocraft-webui&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie den Befehl aus, der Ihr System vorbereitet und alle erforderlichen Pakete installiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -r requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie dann den Coffee Vampire 3 Server mit dem folgenden Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 webui.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Coffee Vampire 3 verwendet Flask als Framework. Standardmäßig läuft es auf localhost mit Port 5000. Wenn Sie einen Fernzugriff wünschen, verwenden Sie bitte die Portweiterleitung in Ihrem SSH-Client. Ansonsten können Sie eine VPN-Verbindung zum Server organisieren.&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;red&quot;&gt;&lt;i&gt;Aber Achtung! Dies ist eine potenziell gefährliche Aktion; die Verwendung erfolgt auf eigene Gefahr:&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano webui.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Scrollen Sie bis zum Ende und ersetzen Sie &lt;b translate=&quot;no&quot;&gt;socketio.run(app)&lt;/b&gt; durch &lt;b translate=&quot;no&quot;&gt;socketio.run(app, host=’0.0.0.0’, port=5000)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Speichern Sie die Datei und starten Sie den Server mit dem obigen Befehl. Dies ermöglicht den Zugriff auf den Server aus dem öffentlichen Internet ohne jegliche Authentifizierung.&lt;/p&gt;
&lt;p&gt;Vergessen Sie nicht &lt;b translate=&quot;no&quot;&gt;disable AdBlock software&lt;/b&gt;, da dies den Musik-Player auf der rechten Seite der Webseite blockieren kann. Sie können beginnen, indem Sie die Eingabeaufforderung eingeben und mit der Schaltfläche &lt;b translate=&quot;no&quot;&gt;Submit&lt;/b&gt; bestätigen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/902/original/sh_audiocraft_by_metaai_create_music_by_description_1.png?1713360831&quot; alt=&quot;Main page Audiocraft WebUI&quot;&gt;
&lt;h2&gt;TTS Generation WebUI&lt;/h2&gt;
&lt;h3&gt;Schritt 1. Treiber&lt;/h3&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie Nvidia-Treiber mit dem automatischen Installationsprogramm oder mit unserer Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot;&gt;Nvidia-Treiber unter Linux installieren&lt;/a&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Schritt 2. Docker&lt;/h3&gt;
&lt;p&gt;Der nächste Schritt ist die Installation von Docker. Lassen Sie uns einige Pakete installieren, die dem Docker-Repository hinzugefügt werden müssen: &lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install apt-transport-https curl gnupg-agent ca-certificates software-properties-common&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie den Docker-GPG-Schlüssel herunter und speichern Sie ihn:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie das Repository hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo add-apt-repository &quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie &lt;b translate=&quot;no&quot;&gt;Docker CE&lt;/b&gt; (Community Edition) mit CLI und die &lt;b translate=&quot;no&quot;&gt;containerd&lt;/b&gt; Laufzeitumgebung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install docker-ce docker-ce-cli containerd.io&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie den aktuellen Benutzer zur Docker-Gruppe hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo usermod -aG docker $USER&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Übernehmen Sie die Änderungen ohne das Ab- und Anmeldeverfahren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;newgrp docker&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Schritt 3. GPU-Passthrough&lt;/h3&gt;
&lt;p&gt;Aktivieren wir NVIDIA® GPUs Passthrough in Docker. Der folgende Befehl liest die aktuelle Betriebssystemversion in die Distributionsvariable, die wir im nächsten Schritt verwenden können:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;distribution=$(. /etc/os-release;echo $ID$VERSION_ID)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie den GPG-Schlüssel des Nvidia-Repositorys herunter und speichern Sie ihn:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie die Liste der Nvidia-Repos herunter und speichern Sie sie zur Verwendung im Standard-APT-Paketmanager:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository und installieren Sie das GPU-Passthrough-Toolkit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get update &amp;&amp; sudo apt-get install -y nvidia-container-toolkit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Docker-Daemon neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl restart docker&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Schritt 4. WebUI&lt;/h3&gt;
&lt;p&gt;Laden Sie das Repository-Archiv herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://github.com/rsxdalv/tts-generation-webui/archive/refs/heads/main.zip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Entpacken Sie es:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;unzip main.zip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das Verzeichnis des Projekts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd tts-generation-webui-main&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beginnen Sie mit der Erstellung des Images:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;docker build -t rsxdalv/tts-generation-webui .&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie den erstellten Container aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;docker compose up -d&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie nun &lt;b translate=&quot;no&quot;&gt;http://[server_ip]:7860&lt;/b&gt;, geben Sie Ihre Eingabeaufforderung ein, wählen Sie das gewünschte Modell aus und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Generate&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/903/original/sh_audiocraft_by_metaai_create_music_by_description_2.png?1713360865
&quot; alt=&quot;Audiocraft generated sound&quot;&gt;
&lt;p&gt;Das System lädt das ausgewählte Modell automatisch während der ersten Generation herunter. Viel Spaß!&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/594-stable-diffusion-riffusion&quot;&gt;Stable Diffusion: Riffusion
    &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/597-stable-video-diffusion&quot;&gt;Stable Video Diffusion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/598-easy-diffusion-ui&quot;&gt;Easy Diffusion UI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/117/original/il_audiocraft_by_metaai_create_music_by_description.png?1737557205"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 15:51:35 +0100</pubDate>
      <guid isPermaLink="false">604</guid>
      <dc:date>2025-01-22T15:51:35+01:00</dc:date>
    </item>
    <item>
      <title>Wie man die LangFlow-Anwendung überwacht</title>
      <link>https://www.leadergpu.de/catalog/602-wie-man-die-langflow-anwendung-berwacht</link>
      <description>&lt;p&gt;In unserem Artikel &lt;a href=&quot;https://www.leadergpu.de/articles/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;Low-Code-KI-App-Builder Langflow&lt;/a&gt; haben wir untersucht, wie man mit der visuellen Programmierumgebung dieses Low-Code-KI-App-Builders loslegen kann. Damit kann jeder, auch ohne Programmierkenntnisse, Anwendungen erstellen, die auf großen neuronalen Netzwerkmodellen basieren. Dabei kann es sich um KI-Chatbots oder Anwendungen zur Dokumentenverarbeitung handeln, die Inhalte analysieren und zusammenfassen können.&lt;/p&gt;
&lt;p&gt;Langflow verwendet einen Bausteinansatz, bei dem die Benutzer vorgefertigte Komponenten miteinander verbinden, um ihre gewünschte Anwendung zu erstellen. Dabei treten jedoch häufig zwei zentrale Herausforderungen auf: die Fehlerbehebung bei unerwartetem Verhalten neuronaler Netze und das Kostenmanagement. Neuronale Netze erfordern beträchtliche Rechenressourcen, so dass es wichtig ist, die Infrastrukturkosten zu überwachen und vorherzusagen.&lt;/p&gt;
&lt;p&gt;LangWatch geht beide Herausforderungen an. Dieses spezielle Tool hilft den Entwicklern von Langflow bei der Überwachung von Benutzeranfragen, der Verfolgung von Kosten und der Erkennung von Anomalien, z. B. wenn Anwendungen auf unbeabsichtigte Weise verwendet werden.&lt;/p&gt;
&lt;p&gt;Dieses Tool wurde ursprünglich als Dienst entwickelt, kann aber auf jedem Server, auch lokal, eingesetzt werden. Es lässt sich mit den meisten LLM-Anbietern integrieren, egal ob Cloud-basiert oder vor Ort. Da LangWatch ein Open-Source-Tool ist, kann es an fast jedes Projekt angepasst werden, indem neue Funktionen hinzugefügt oder mit internen Systemen verbunden werden.&lt;/p&gt;
&lt;p&gt;Mit LangWatch können Sie Warnungen einrichten, wenn bestimmte Metriken definierte Schwellenwerte überschreiten. So können Sie unerwartete Kostensteigerungen bei Anfragen oder ungewöhnliche Verzögerungen bei der Beantwortung schnell erkennen. Eine frühzeitige Erkennung hilft, ungeplante Ausgaben und potenzielle Service-Angriffe zu verhindern.&lt;/p&gt;
&lt;p&gt;Für Forscher, die sich mit neuronalen Netzen beschäftigen, ermöglicht diese Anwendung sowohl die Überwachung als auch die Optimierung gängiger Benutzeranfragen. Außerdem bietet sie Werkzeuge zur Bewertung der Antwortqualität des Modells und zur Vornahme von Anpassungen, wenn dies erforderlich ist.&lt;/p&gt;
&lt;h2&gt;Schnellstart&lt;/h2&gt;
&lt;h3&gt;System vorbereiten&lt;/h3&gt;
&lt;p&gt;Wie bei Langflow ist der einfachste Weg, die Anwendung in einem Docker-Container auszuführen. Bevor Sie LangWatch installieren, müssen Sie die Docker Engine auf Ihrem Server installieren. Aktualisieren Sie zunächst Ihren Paket-Cache und die Pakete auf ihre neuesten Versionen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie zusätzliche Pakete, die von Docker benötigt werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install apt-transport-https ca-certificates curl software-properties-common&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie den GPG-Schlüssel herunter, um das offizielle Docker-Repository hinzuzufügen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie das Repository zur APT hinzu, indem Sie den Schlüssel verwenden, den Sie zuvor heruntergeladen und installiert haben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;echo &quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie die Paketliste:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Um sicherzustellen, dass Docker aus dem neu hinzugefügten Repository und nicht aus dem System-Repository installiert wird, können Sie den folgenden Befehl ausführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;apt-cache policy docker-ce&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Docker-Engine installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install docker-ce&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen Sie, ob Docker erfolgreich installiert wurde und der entsprechende Daemon läuft und den Status &lt;b translate=&quot;no&quot;&gt;active (running)&lt;/b&gt; hat:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl status docker&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset&gt;
    Active: active (running) since Mon 2024-11-18 08:26:35 UTC; 3h 27min ago
TriggeredBy: ● docker.socket
      Docs: https://docs.docker.com
  Main PID: 1842 (dockerd)
     Tasks: 29
    Memory: 1.8G
       CPU: 3min 15.715s
    CGroup: /system.slice/docker.service&lt;/pre&gt;
&lt;h3&gt;Erstellen und Ausführen&lt;/h3&gt;
&lt;p&gt;Wenn die Docker-Engine installiert ist und läuft, können Sie das LangWatch-Anwendungs-Repository herunterladen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/langwatch/langwatch&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die Anwendung enthält eine Beispielkonfigurationsdatei mit Umgebungsvariablen. Kopieren Sie diese Datei, damit das Image-Build-Dienstprogramm sie verarbeiten kann:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cp langwatch/.env.example langwatch/.env&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jetzt sind Sie bereit für den ersten Start:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker compose up --build&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das System wird einen Moment brauchen, um alle notwendigen Containerschichten für LangWatch herunterzuladen. Sobald dies abgeschlossen ist, wird eine Konsolenmeldung angezeigt, die besagt, dass die Anwendung unter folgender Adresse verfügbar ist:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;http://[LeaderGPU_IP_address]:3000&lt;/pre&gt;
&lt;p&gt;Navigieren Sie zu dieser Seite in Ihrem Browser, wo Sie aufgefordert werden, ein Benutzerkonto zu erstellen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/089/original/sh_how_to_monitor_langflow_application_1.png?1732712766&quot; alt=&quot;LangWatch login screen&quot;&gt;
&lt;p&gt;Im Gegensatz zu Langflow ist bei diesem System die Authentifizierung standardmäßig aktiviert. Nachdem Sie sich angemeldet haben, müssen Sie das System so konfigurieren, dass es Daten von Ihrem Langflow-Server sammelt.&lt;/p&gt;
&lt;h2&gt;Langflow-Integration&lt;/h2&gt;
&lt;p&gt;LangWatch benötigt eine Datenquelle, um zu funktionieren. Der Server lauscht auf Port 3000 und verwendet eine RESTful API, die eingehende Daten durch einen automatisch generierten API-Schlüssel authentifiziert.&lt;/p&gt;
&lt;p&gt;Um die Datenübertragung zu ermöglichen, müssen Sie zwei Variablen in den Langflow-Konfigurationsdateien setzen: &lt;b translate=&quot;no&quot;&gt;LANGWATCH_ENDPOINT&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;LANGWATCH_API_KEY&lt;/b&gt;. Stellen Sie zunächst eine SSH-Verbindung zu Ihrem Langflow-Server her (der während dieses Vorgangs offline sein sollte).&lt;/p&gt;
&lt;p&gt;Wechseln Sie in das Verzeichnis mit der Beispielkonfiguration für Docker:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd langflow/docker_example&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie die Konfigurationsdatei zur Bearbeitung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano docker-compose.yml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie im Abschnitt &quot;Umgebung:&quot; die folgenden Variablen hinzu (ohne Klammern [] oder Anführungszeichen):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;- LANGWATCH_API_KEY= [YOUR_API_KEY]
- LANGWATCH_ENDPOINT=http://[IP_ADDRESS]:3000&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die YML-Datei erfordert eine bestimmte Formatierung. Befolgen Sie diese beiden wichtigen Regeln:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Verwenden Sie Leerzeichen (2 oder 4) für die Einrückung, niemals Tabulatoren.&lt;/li&gt;
    &lt;li&gt;Behalten Sie die richtige hierarchische Struktur mit konsistenter Einrückung bei.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Speichern Sie die Datei mit &lt;b translate=&quot;no&quot;&gt;Ctrl + O&lt;/b&gt; und beenden Sie den Editor mit &lt;b translate=&quot;no&quot;&gt;Ctrl + X&lt;/b&gt;. Langflow ist nun startbereit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker compose up&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen Sie nach dem Start, ob alles ordnungsgemäß funktioniert. Erstellen Sie ein neues Projekt oder öffnen Sie ein bestehendes und starten Sie einen Dialog über Playground. Langflow sendet automatisch Daten zur Überwachung an LangWatch, die Sie in der Weboberfläche einsehen können.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/090/original/sh_how_to_monitor_langflow_application_2.png?1732712788&quot; alt=&quot;LangWatch integration checks&quot;&gt;
&lt;p&gt;Im Abschnitt zur Überprüfung der Integration erscheint ein Häkchen auf dem Punkt &quot;Sync your first message&quot;. Dies zeigt an, dass die Daten aus Langflow erfolgreich in LangWatch fließen und bestätigt, dass Ihre Einrichtung korrekt ist. Schauen wir uns an, was im Abschnitt &lt;b translate=&quot;no&quot;&gt;Messages&lt;/b&gt; erscheint:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/091/original/sh_how_to_monitor_langflow_application_3.png?1732712853&quot; alt=&quot;LangWatch messages lookup&quot;&gt;
&lt;p&gt;Der Abschnitt Nachrichten zeigt die in die Anwendung eingegebenen Daten, die für die Antwortgenerierung verwendeten Parameter und die Antwort des neuronalen Netzes selbst an. Sie können die Antwortqualität bewerten und verschiedene Filter verwenden, um die Daten zu sortieren, selbst bei Hunderten oder Tausenden von Nachrichten.&lt;/p&gt;
&lt;p&gt;Nach dieser Ersteinrichtung sollten Sie die Funktionen der Anwendung systematisch erkunden. Im Bereich &lt;b translate=&quot;no&quot;&gt;Evaluations&lt;/b&gt; können Sie Algorithmen zur Dialogüberprüfung entweder für die Dialogmoderation oder für die Datenerkennung einrichten, z. B. &lt;b translate=&quot;no&quot;&gt;PII Detection&lt;/b&gt;. Diese Funktion prüft Eingaben auf sensible Informationen wie Sozialversicherungsnummern oder Telefonnummern.&lt;/p&gt;
&lt;p&gt;Die Anwendung bietet sowohl lokale als auch cloudbasierte Optionen über Anbieter wie Azure oder Cloudflare. Um Cloud-Funktionen zu nutzen, benötigen Sie Konten bei diesen Diensten sowie deren Endpunktadressen und API-Schlüssel. Beachten Sie, dass es sich dabei um Drittanbieter handelt, informieren Sie sich also direkt über deren Servicekosten.&lt;/p&gt;
&lt;p&gt;Für lokale Optionen bietet die Anwendung ausgefeilte RAG-Funktionen (Retrieval-augmented generation). Sie können die Genauigkeit und Relevanz der von RAG generierten Inhalte messen und die gesammelten Statistiken nutzen, um das RAG-System für genauere Antworten des neuronalen Netzes zu optimieren.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/586-photogrammetrie-mit-meshroom&quot;&gt;Photogrammetrie mit Meshroom&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/588-blender-remote-rendering-mit-flamenco&quot;&gt;Blender Remote-Rendering mit Flamenco&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/088/original/il_how_to_monitor_langflow_application.png?1732712732"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 15:14:55 +0100</pubDate>
      <guid isPermaLink="false">602</guid>
      <dc:date>2025-01-22T15:14:55+01:00</dc:date>
    </item>
    <item>
      <title>KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand</title>
      <link>https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand</link>
      <description>&lt;p&gt;Die Softwareentwicklung hat sich in den letzten Jahren dramatisch weiterentwickelt. Moderne Programmierer haben jetzt Zugang zu Hunderten von Programmiersprachen und Frameworks. Neben den traditionellen imperativen und deklarativen Ansätzen hat sich eine neue und aufregende Methode zur Erstellung von Anwendungen entwickelt. Dieser innovative Ansatz macht sich die Leistungsfähigkeit neuronaler Netze zunutze und eröffnet den Entwicklern fantastische Möglichkeiten.&lt;/p&gt;
&lt;p&gt;Die Menschen haben sich an KI-Assistenten in IDEs gewöhnt, die bei der automatischen Vervollständigung von Code helfen, und an moderne neuronale Netze, die problemlos Code für einfache Python-Spiele erzeugen. Es entstehen jedoch neue hybride Tools, die die Entwicklungslandschaft revolutionieren könnten. Ein solches Werkzeug ist Langflow.&lt;/p&gt;
&lt;p&gt;Langflow dient mehreren Zwecken. Für professionelle Entwickler bietet es eine bessere Kontrolle über komplexe Systeme wie neuronale Netze. Für diejenigen, die mit der Programmierung nicht vertraut sind, ermöglicht es die Erstellung einfacher, aber praktischer Anwendungen. Diese Ziele werden mit verschiedenen Mitteln erreicht, auf die wir im Folgenden näher eingehen werden.&lt;/p&gt;
&lt;h2&gt;Neuronale Netze&lt;/h2&gt;
&lt;p&gt;Das Konzept eines neuronalen Netzes lässt sich für Benutzer vereinfachen. Stellen Sie sich eine Blackbox vor, die Eingabedaten und Parameter empfängt, die das Endergebnis beeinflussen. Diese Box verarbeitet die Eingaben mit Hilfe komplexer Algorithmen, die oft als &quot;Magie&quot; bezeichnet werden, und erzeugt Ausgabedaten, die dem Benutzer präsentiert werden können.&lt;/p&gt;
&lt;p&gt;Das Innenleben dieser Blackbox hängt vom Design des neuronalen Netzes und den Trainingsdaten ab. Man muss sich darüber im Klaren sein, dass Entwickler und Benutzer nie eine 100-prozentige Sicherheit der Ergebnisse erreichen können. Im Gegensatz zur traditionellen Programmierung, bei der 2 + 2 immer gleich 4 ist, kann ein neuronales Netz diese Antwort mit 99 %iger Sicherheit geben, wobei immer eine Fehlerspanne bleibt.&lt;/p&gt;
&lt;p&gt;Die Kontrolle über den &quot;Denk&quot;-Prozess eines neuronalen Netzes ist indirekt. Wir können nur bestimmte Parameter einstellen, z. B. die &quot;Temperatur&quot;. Dieser Parameter bestimmt, wie kreativ oder eingeschränkt das neuronale Netz bei seinem Ansatz sein kann. Ein niedriger Temperaturwert schränkt das Netz auf einen eher formalen, strukturierten Ansatz für Aufgaben und Lösungen ein. Umgekehrt gewähren hohe Temperaturwerte dem Netz mehr Freiheit, was dazu führen kann, dass es sich auf weniger zuverlässige Fakten stützt oder sogar fiktive Informationen erstellt.&lt;/p&gt;
&lt;p&gt;Dieses Beispiel verdeutlicht, wie die Benutzer das Endergebnis beeinflussen können. Für die traditionelle Programmierung stellt diese Ungewissheit eine große Herausforderung dar - Fehler können unerwartet auftreten, und bestimmte Ergebnisse werden unvorhersehbar. Diese Unvorhersehbarkeit ist jedoch in erster Linie ein Problem für Computer und nicht für Menschen, die sich auf unterschiedliche Ergebnisse einstellen und diese interpretieren können.&lt;/p&gt;
&lt;p&gt;Wenn die Ausgabe eines neuronalen Netzes für einen Menschen bestimmt ist, ist die spezifische Formulierung, mit der sie beschrieben wird, im Allgemeinen weniger wichtig. Wenn der Kontext gegeben ist, kann der Mensch verschiedene Ergebnisse aus der Sicht der Maschine richtig interpretieren. Während Begriffe wie &quot;positiver Wert&quot;, &quot;erzieltes Ergebnis&quot; oder &quot;positive Entscheidung&quot; für einen Menschen in etwa das Gleiche bedeuten könnten, hätte die herkömmliche Programmierung mit dieser Flexibilität ihre Schwierigkeiten. Sie müsste alle möglichen Antwortvarianten berücksichtigen, was nahezu unmöglich ist.&lt;/p&gt;
&lt;p&gt;Wird die weitere Verarbeitung hingegen an ein anderes neuronales Netz übergeben, kann dieses das erhaltene Ergebnis richtig verstehen und verarbeiten. Auf dieser Grundlage kann es dann, wie bereits erwähnt, mit einem gewissen Maß an Sicherheit seine eigene Schlussfolgerung ziehen.&lt;/p&gt;
&lt;h2&gt;Niedriger Code&lt;/h2&gt;
&lt;p&gt;Die meisten Programmiersprachen erfordern das Schreiben von Code. Programmierer erstellen die Logik für jeden Teil einer Anwendung in ihren Köpfen und beschreiben sie dann mit sprachspezifischen Ausdrücken. Dieser Prozess bildet einen Algorithmus: eine klare Abfolge von Aktionen, die zu einem bestimmten, vorher festgelegten Ergebnis führen. Dies ist eine komplexe Aufgabe, die erhebliche geistige Anstrengung und ein tiefes Verständnis für die Möglichkeiten der Sprache erfordert.&lt;/p&gt;
&lt;p&gt;Es besteht jedoch keine Notwendigkeit, das Rad neu zu erfinden. Viele Probleme, mit denen moderne Entwickler konfrontiert sind, wurden bereits auf verschiedene Weise gelöst. Einschlägige Codeschnipsel sind oft auf StackOverflow &lt;a href=&quot;https://stackoverflow.com/&quot;&gt;zu finden&lt;/a&gt;. Modernes Programmieren lässt sich mit dem Zusammensetzen eines Ganzen aus Teilen verschiedener Baukästen vergleichen. Das Lego-System bietet ein erfolgreiches Modell, da es verschiedene Teilesätze standardisiert hat, um Kompatibilität zu gewährleisten.&lt;/p&gt;
&lt;p&gt;Die Methode der Low-Code-Programmierung folgt einem ähnlichen Prinzip. Verschiedene Codeteile werden so modifiziert, dass sie nahtlos zusammenpassen, und werden den Entwicklern als fertige Blöcke präsentiert. Jeder Block kann Dateneingaben und -ausgaben haben. Die Dokumentation gibt an, welche Aufgabe jeder Blocktyp löst und in welchem Format er Daten annimmt oder ausgibt.&lt;/p&gt;
&lt;p&gt;Durch die Verknüpfung dieser Blöcke in einer bestimmten Reihenfolge können Entwickler den Algorithmus einer Anwendung bilden und ihre Funktionslogik klar darstellen. Das vielleicht bekannteste Beispiel für diese Programmiermethode ist die Schildkrötengrafikmethode, die häufig in der Ausbildung verwendet wird, um Programmierkonzepte einzuführen und algorithmisches Denken zu entwickeln.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/078/original/sh_low-code_ai_app_builder_langflow_1.png?1732099423&quot; alt=&quot;Turtle graphics&quot;&gt;
&lt;p&gt;Das Wesen dieser Methode ist einfach: Sie zeichnet Bilder auf dem Bildschirm mit Hilfe einer virtuellen Schildkröte, die eine Spur hinterlässt, während sie über die Leinwand krabbelt. Mithilfe von vorgefertigten Blöcken, wie z. B. dem Bewegen einer bestimmten Anzahl von Pixeln, dem Drehen in bestimmten Winkeln oder dem Heben und Senken des Stifts, können Entwickler Programme erstellen, die ihre gewünschten Bilder zeichnen. Die Erstellung von Anwendungen mit einem Low-Code-Konstruktor ähnelt der Schildkrötengrafik, ermöglicht es den Benutzern jedoch, eine Vielzahl von Problemen zu lösen, die sich nicht auf das Zeichnen auf einer Leinwand beschränken.&lt;/p&gt;
&lt;p&gt;Diese Methode wurde am besten in IBMs Programmierwerkzeug Node-RED umgesetzt. Es wurde als universelles Mittel entwickelt, um den gemeinsamen Betrieb verschiedener Geräte, Online-Dienste und APIs zu gewährleisten. Das Äquivalent zu Codeschnipseln waren Knoten aus der Standardbibliothek (Palette).&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/079/original/sh_low-code_ai_app_builder_langflow_2.png?1732099465&quot; alt=&quot;Node-RED canvas&quot;&gt;
&lt;p&gt;Die Fähigkeiten von Node-RED können durch die Installation von Add-Ons oder die Erstellung benutzerdefinierter Knoten, die bestimmte Datenaktionen ausführen, erweitert werden. Die Entwickler platzieren Knoten aus der Palette auf dem Desktop und bauen Beziehungen zwischen ihnen auf. Durch diesen Prozess entsteht die Logik der Anwendung, wobei die Visualisierung dazu beiträgt, die Übersichtlichkeit zu wahren.&lt;/p&gt;
&lt;p&gt;Wenn man diesem Konzept neuronale Netze hinzufügt, entsteht ein faszinierendes System. Anstatt Daten mit bestimmten mathematischen Formeln zu verarbeiten, können Sie sie in ein neuronales Netz einspeisen und die gewünschte Ausgabe festlegen. Obwohl die Eingabedaten jedes Mal leicht variieren können, bleiben die Ergebnisse für die Interpretation durch Menschen oder andere neuronale Netze geeignet.&lt;/p&gt;
&lt;h2&gt;Retrieval Augmented Generation (RAG)&lt;/h2&gt;
&lt;p&gt;Die Genauigkeit der Daten in großen Sprachmodellen ist ein dringendes Problem. Diese Modelle stützen sich ausschließlich auf das beim Training gewonnene Wissen, das von der Relevanz der verwendeten Datensätze abhängt. Folglich kann es bei großen Sprachmodellen an ausreichend relevanten Daten mangeln, was zu falschen Ergebnissen führen kann.&lt;/p&gt;
&lt;p&gt;Um dieses Problem zu lösen, sind Methoden zur Datenaktualisierung erforderlich. Wenn es neuronalen Netzen ermöglicht wird, Kontext aus zusätzlichen Quellen, wie z. B. Websites, zu extrahieren, kann die Qualität der Antworten erheblich verbessert werden. Genau auf diese Weise funktioniert RAG (Retrieval-Augmented Generation). Zusätzliche Daten werden in Vektordarstellungen umgewandelt und in einer Datenbank gespeichert.&lt;/p&gt;
&lt;p&gt;Im Betrieb können neuronale Netzmodelle Benutzeranfragen in Vektordarstellungen umwandeln und diese mit den in der Datenbank gespeicherten vergleichen. Wenn ähnliche Vektoren gefunden werden, werden die Daten extrahiert und für die Erstellung einer Antwort verwendet. Vektordatenbanken sind schnell genug, um dieses Verfahren in Echtzeit zu unterstützen.&lt;/p&gt;
&lt;p&gt;Damit dieses System korrekt funktioniert, muss eine Interaktion zwischen dem Benutzer, dem neuronalen Netzmodell, externen Datenquellen und der Vektordatenbank hergestellt werden. Langflow vereinfacht diese Einrichtung durch seine visuelle Komponente - der Benutzer baut einfach Standardblöcke und &quot;verknüpft&quot; sie, wodurch ein Pfad für den Datenfluss entsteht.&lt;/p&gt;
&lt;p&gt;Der erste Schritt besteht darin, die Vektordatenbank mit relevanten Quellen zu füllen. Dazu können Dateien von einem lokalen Computer oder Webseiten aus dem Internet gehören. Hier ist ein einfaches Beispiel für das Laden von Daten in die Datenbank:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/080/original/sh_low-code_ai_app_builder_langflow_3.png?1732099495&quot; alt=&quot;RAG data load&quot;&gt;
&lt;p&gt;Nun, da wir neben dem trainierten LLM auch eine Vektordatenbank haben, können wir sie in das allgemeine Schema einbinden. Wenn ein Benutzer eine Anfrage im Chat stellt, wird gleichzeitig eine Eingabeaufforderung erstellt und die Vektordatenbank abgefragt. Wenn ähnliche Vektoren gefunden werden, werden die extrahierten Daten geparst und als Kontext zu dem gebildeten Prompt hinzugefügt. Das System sendet dann eine Anfrage an das neuronale Netz und gibt die erhaltene Antwort an den Nutzer im Chat aus.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/081/original/sh_low-code_ai_app_builder_langflow_4.png?1732099527&quot; alt=&quot;RAG scheme&quot;&gt;
&lt;p&gt;Während im Beispiel Cloud-Dienste wie OpenAI und AstraDB erwähnt werden, können Sie alle kompatiblen Dienste verwenden, einschließlich derer, die lokal auf LeaderGPU-Servern bereitgestellt werden. Wenn Sie die von Ihnen benötigte Integration in der Liste der verfügbaren Blöcke nicht finden können, können Sie sie entweder selbst schreiben oder eine von jemand anderem erstellte hinzufügen.&lt;/p&gt;
&lt;h2&gt;Schnellstart&lt;/h2&gt;
&lt;h3&gt;System vorbereiten&lt;/h3&gt;
&lt;p&gt;Die einfachste Art, Langflow einzusetzen, ist in einem Docker-Container. Um den Server einzurichten, installieren Sie zunächst die Docker Engine. Aktualisieren Sie dann sowohl den Paket-Cache als auch die Pakete auf ihre neuesten Versionen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie zusätzliche Pakete, die von Docker benötigt werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install apt-transport-https ca-certificates curl software-properties-common&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie den GPG-Schlüssel herunter, um das offizielle Docker-Repository hinzuzufügen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie das Repository zur APT hinzu, indem Sie den Schlüssel verwenden, den Sie zuvor heruntergeladen und installiert haben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;echo &quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie die Paketliste:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Um sicherzustellen, dass Docker aus dem neu hinzugefügten Repository und nicht aus dem System-Repository installiert wird, können Sie den folgenden Befehl ausführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;apt-cache policy docker-ce&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Docker-Engine installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install docker-ce&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen Sie, ob Docker erfolgreich installiert wurde und der entsprechende Daemon läuft und den Status &lt;b translate=&quot;no&quot;&gt;active (running)&lt;/b&gt; hat:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl status docker&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;● docker.service - Docker Application Container Engine
  Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset&gt;
  Active: active (running) since Mon 2024-11-18 08:26:35 UTC; 3h 27min ago
TriggeredBy: ● docker.socket
    Docs: https://docs.docker.com
Main PID: 1842 (dockerd)
   Tasks: 29
  Memory: 1.8G
     CPU: 3min 15.715s
  CGroup: /system.slice/docker.service
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Erstellen und Ausführen&lt;/h3&gt;
&lt;p&gt;Alles ist bereit, um einen Docker-Container mit Langflow zu erstellen und auszuführen. Es gibt jedoch eine Einschränkung: Zum Zeitpunkt der Erstellung dieses Leitfadens hat die neueste Version (mit dem Tag v1.1.0) einen Fehler und lässt sich nicht starten. Um dieses Problem zu vermeiden, verwenden wir die vorherige Version, v1.0.19.post2, die direkt nach dem Herunterladen einwandfrei funktioniert.&lt;/p&gt;
&lt;p&gt;Der einfachste Ansatz ist der Download des Projekt-Repositorys von GitHub:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/langflow-ai/langflow&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Navigieren Sie zu dem Verzeichnis, das die Beispielkonfiguration für die Bereitstellung enthält:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd langflow/docker_example&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun müssen Sie zwei Dinge tun. Erstens ändern Sie das Release-Tag, so dass eine funktionierende Version (zum Zeitpunkt der Erstellung dieser Anleitung) erstellt wird. Zweitens fügen Sie eine einfache Autorisierung hinzu, damit niemand das System benutzen kann, ohne Login und Passwort zu kennen.&lt;/p&gt;
&lt;p&gt;Öffnen Sie die Konfigurationsdatei:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano docker-compose.yml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;anstelle der folgenden Zeile:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;image: langflowai/langflow:latest&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie die Version anstelle des Tags &lt;b translate=&quot;no&quot;&gt;latest&lt;/b&gt; an:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;image: langflowai/langflow:v1.0.19.post2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sie müssen auch drei Variablen in den Abschnitt &lt;b translate=&quot;no&quot;&gt;environment&lt;/b&gt; aufnehmen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;  - LANGFLOW_AUTO_LOGIN=false
  - LANGFLOW_SUPERUSER=admin
  - LANGFLOW_SUPERUSER_PASSWORD=your_secure_password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die erste Variable deaktiviert den Zugriff auf die Webschnittstelle ohne Autorisierung. Die zweite fügt den Benutzernamen hinzu, der Systemadministratorrechte erhalten soll. Die dritte fügt das entsprechende Passwort hinzu.&lt;/p&gt;
&lt;p&gt;Wenn Sie vorhaben, die Datei &lt;b translate=&quot;no&quot;&gt;docker-compose.yml&lt;/b&gt; in einem Versionskontrollsystem zu speichern, sollten Sie das Passwort nicht direkt in diese Datei schreiben. Erstellen Sie stattdessen eine separate Datei mit der Erweiterung &lt;b translate=&quot;no&quot;&gt;.env&lt;/b&gt; im selben Verzeichnis und speichern Sie den Variablenwert dort.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;LANGFLOW_SUPERUSER_PASSWORD=your_secure_password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In der Datei &lt;b translate=&quot;no&quot;&gt;docker-compose.yml&lt;/b&gt; können Sie nun auf eine Variable verweisen, anstatt direkt ein Kennwort anzugeben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;LANGFLOW_SUPERUSER_PASSWORD=${LANGFLOW_SUPERUSER_PASSWORD}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Um zu verhindern, dass die Datei &lt;b translate=&quot;no&quot;&gt;*.env&lt;/b&gt; versehentlich auf GitHub veröffentlicht wird, denken Sie daran, sie zu &lt;b translate=&quot;no&quot;&gt;.gitignore&lt;/b&gt; hinzuzufügen. So ist Ihr Passwort vor unerwünschtem Zugriff einigermaßen sicher.&lt;/p&gt;
&lt;p&gt;Jetzt müssen wir nur noch unseren Container bauen und ihn ausführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker compose up&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie die Webseite &lt;b translate=&quot;no&quot;&gt;http://[LeaderGPU_IP_address]:7860&lt;/b&gt;, und Sie werden das Autorisierungsformular sehen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/082/original/sh_low-code_ai_app_builder_langflow_5.png?1732099559&quot; alt=&quot;Login screen&quot;&gt;
&lt;p&gt;Nach Eingabe Ihres Logins und Passworts gewährt Ihnen das System Zugriff auf die Weboberfläche, auf der Sie Ihre eigenen Anwendungen erstellen können. Für eine ausführlichere Anleitung empfehlen wir, &lt;a href=&quot;https://docs.langflow.org/&quot;&gt;die offizielle Dokumentation&lt;/a&gt; zu konsultieren. Sie enthält Einzelheiten zu verschiedenen Umgebungsvariablen, die eine einfache Anpassung des Systems an Ihre Bedürfnisse ermöglichen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/602-wie-man-die-langflow-anwendung-berwacht&quot;&gt;Wie man die LangFlow-Anwendung überwacht&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/586-photogrammetrie-mit-meshroom&quot;&gt;Photogrammetrie mit Meshroom&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/588-blender-remote-rendering-mit-flamenco&quot;&gt;Blender Remote-Rendering mit Flamenco&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/077/original/il_low-code_ai_app_builder_langflow.png?1732099387"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 15:11:30 +0100</pubDate>
      <guid isPermaLink="false">601</guid>
      <dc:date>2025-01-22T15:11:30+01:00</dc:date>
    </item>
    <item>
      <title>Easy Diffusion UI</title>
      <link>https://www.leadergpu.de/catalog/598-easy-diffusion-ui</link>
      <description>&lt;p&gt;Easy Diffusion UI ist eine Open-Source-Software, die auf GitHub zum Download bereitsteht. Hier erfahren Sie, wie Sie sie auf Ubuntu 22.04 LTS installieren. Wenn Sie gerade einen Server gemietet haben, installieren Sie die GPU-Treiber und erweitern Sie Ihr Home-Verzeichnis. Laden Sie dann die neueste Version von Easy Diffusion UI herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://github.com/cmdr2/stable-diffusion-ui/releases/latest/download/Easy-Diffusion-Linux.zip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Entpacken Sie das heruntergeladene ZIP-Archiv:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;unzip Easy-Diffusion-Linux.zip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wechseln Sie in das Verzeichnis easy-diffusion:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd easy-diffusion&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie die Installation:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./start.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dies ist eine Skriptsammlung, die automatisch alle erforderlichen Komponenten herunterlädt und installiert. Sie lädt auch das Standard-Stable-Diffusion-Modell im SafeTensors-Format herunter. Sobald alle Downloads und Installationen abgeschlossen sind, wird die Easy Diffusion-Benutzeroberfläche automatisch gestartet.&lt;/p&gt;
&lt;h2&gt;Verwendung von&lt;/h2&gt;
&lt;p&gt;Der vorherige Artikel, &lt;a href=&quot;https://www.leadergpu.de/catalog/565-stable-diffusion-webui&quot;&gt;Stable Diffusion WebUI&lt;/a&gt;, beschreibt eine Methode zur Annahme von Verbindungen aus dem öffentlichen Internet und bietet eine einfache Anmeldung und Passwortautorisierung. In diesem Fall wollen wir eine andere universelle Methode zur Weiterleitung von Ports über eine SSH-Verbindung demonstrieren. Wir verwenden PuTTY, um eine sichere Verbindung zum Remote-Server herzustellen. Weitere Informationen dazu finden Sie in unserem Leitfaden &lt;a href=&quot;https://www.leadergpu.de/articles/488-stellen-sie-eine-verbindung-zu-einem-linux-server-her&quot;&gt;Connect to a Linux server&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Um auszuwählen, welche Ports weitergeleitet werden sollen, öffnen Sie bitte &lt;b translate=&quot;no&quot;&gt;Connection &gt; SSH &gt; Tunnels&lt;/b&gt; im linken Optionsbaum. Geben Sie &lt;b translate=&quot;no&quot;&gt;9000&lt;/b&gt; in das Feld &lt;b translate=&quot;no&quot;&gt;Source Port&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;127.0.0.1:9000&lt;/b&gt; in das Feld &lt;b translate=&quot;no&quot;&gt;Destination&lt;/b&gt; ein. Klicken Sie dann auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Add&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/823/original/sh_easy_diffusion_ui_1.png?1712299445&quot; alt=&quot;Port forwarding in PuTTY&quot;&gt;
&lt;p&gt;Danach können Sie zu &lt;b translate=&quot;no&quot;&gt;Session&lt;/b&gt; zurückkehren und es zur späteren Verwendung speichern. Verbinden Sie sich wie gewohnt mit dem entfernten Server. Nun werden alle Daten, die Sie über Port 9000 an der Loopback-Adresse 127.0.0.1 senden oder empfangen, an den Remote-Server umgeleitet. Mit dieser Methode wird ein virtueller sicherer Tunnel geschaffen, der so lange besteht, wie die Verbindung besteht.&lt;/p&gt;
&lt;p&gt;Sobald Easy Diffusion UI startet und die Portweiterleitung aktiviert ist, können Sie einen Webbrowser öffnen und zur Adresse &lt;a href=&quot;http://127.0.0.1:9000&quot;&gt;http://127.0.0.1:9000&lt;/a&gt; navigieren. Wir empfehlen Ihnen, benutzerdefinierte Modelle, wie in diesem Artikel beschrieben, herunterzuladen und zu installieren, anstatt sich ausschließlich auf das Standardmodell zu verlassen, um Bilder zu erzeugen. Vergessen Sie nicht, die Anzahl der Inferenzschritte zu erhöhen und die gewünschte Bildauflösung einzustellen (mit Sternchen gekennzeichnet).&lt;/p&gt;
&lt;p&gt;Einer der größten Vorteile der Easy Diffusion UI ist die Unterstützung für mehrere GPUs. Wenn Sie einen Stapel von Bildern erstellen möchten, können Sie wählen, wie viele Bilder parallel erstellt werden sollen. Zum Beispiel, wenn Sie eine Konfiguration mit zwei GPUs haben:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/824/original/sh_easy_diffusion_ui_2.png?1712299546&quot; alt=&quot;Easy Diffusion UI change threads number&quot;&gt;
&lt;p&gt;Sie können die Auslastung der GPUs während der Bilderstellung anzeigen. Stellen Sie eine weitere SSH-Verbindung her und führen Sie einen einzigen Befehl aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;watch -n 1 nvidia-smi&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/825/original/sh_easy_diffusion_ui_3.png?1712299806&quot; alt=&quot;nvidia-smi two threads&quot;&gt;
&lt;p&gt;Außerdem vereinfacht Easy Diffusion UI die Erstellung von Prompts, da es zahlreiche Beispiele für Bildmodifikatoren bietet. Sie können diese mischen, um genauere Ergebnisse zu erzielen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/826/original/sh_easy_diffusion_ui_4.png?1712299873&quot; alt=&quot;Image modifiers&quot;&gt;
&lt;p&gt;Es ist eine gute Idee, &lt;a href=&quot;https://openart.ai/promptbook&quot;&gt;PromptBook von OpenArt&lt;/a&gt; zu entdecken. Diese Anleitung kann Ihre Fähigkeiten bei der Erstellung von Prompts erheblich verbessern. Mit der Easy Diffusion UI können Sie ein einmal erstelltes Bild herunterladen, als Beispiel für die Erstellung des nächsten Bildes verwenden oder mit nur einem Klick Änderungen vornehmen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/827/original/sh_easy_diffusion_ui_5.png?1712299912&quot; alt=&quot;Control elements&quot;&gt;
&lt;p&gt;Am häufigsten wird die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Upscale&lt;/b&gt; verwendet, um die Auflösung eines Bildes zu erhöhen. Das generative neuronale Netzwerk verwendet das Originalbild als Grundlage und fügt zusätzliche Pixel hinzu, wodurch das Quellbild auf die gewünschte Größe interpoliert wird.&lt;/p&gt;
&lt;p&gt;Bei der Generierung von Gesichtern können Probleme auftreten, z. B. falsch ausgerichtete Augen, unproportionierte Größen oder missgebildete Teile. Glücklicherweise können diese Probleme mit der Schaltfläche &lt;b translate=&quot;no&quot;&gt;Fix Faces&lt;/b&gt; behoben werden. Außerdem können negative Eingabeaufforderungen verwendet werden, um zu verhindern, dass falsche Gesichter erzeugt werden.&lt;/p&gt;
&lt;h2&gt;Deinstallieren&lt;/h2&gt;
&lt;p&gt;Alle Dateien, Skripte, Bibliotheken und Modelle werden in einem einzigen Verzeichnis gespeichert. Wenn Sie Easy Diffusion UI von Ihrem Server entfernen möchten, löschen Sie einfach dieses Verzeichnis zusammen mit dem gesamten Inhalt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo rm -rf easy-diffusion&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/565-stable-diffusion-webui&quot;&gt;Stable Diffusion WebUI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem&quot;&gt;Open WebUI: Alles in einem&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/590-fooocus-berdenken-von-sd-und-mj&quot;&gt;Fooocus: Überdenken von SD und MJ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/822/original/il_easy_diffusion_ui.jpg?1712299313"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 12:13:37 +0100</pubDate>
      <guid isPermaLink="false">598</guid>
      <dc:date>2025-01-22T12:13:37+01:00</dc:date>
    </item>
    <item>
      <title>Stable Video Diffusion</title>
      <link>https://www.leadergpu.de/catalog/597-stable-video-diffusion</link>
      <description>&lt;p&gt;Generative neuronale Netze können verschiedene Arten von Inhalten erstellen. Stable Diffusion wurde entwickelt, um Bilder aus Textbeschreibungen zu erzeugen. Es kann jedoch auch zur Erstellung von Musik, Sounds und sogar Videos verwendet werden. Heute zeigen wir Ihnen, wie Sie mit Stable Diffusion mit WebUI und ComfyUI kurze Videos aus einem einzigen Bild erstellen können.&lt;/p&gt;
&lt;h2&gt;Installieren Sie Stable Diffusion&lt;/h2&gt;
&lt;p&gt;Beginnen wir mit der Installation von Stable Diffusion anhand unserer &lt;a href=&quot;https://www.leadergpu.com/articles/506-stable-diffusion-webui&quot;&gt;Schritt-für-Schritt-Anleitung&lt;/a&gt;. Nach der Installation unterbrechen Sie bitte die Ausführung des Skripts &lt;b translate=&quot;no&quot;&gt;webui.sh&lt;/b&gt; durch Drücken der Tastenkombination Strg + C und schließen Sie die SSH-Verbindung. Das System erlaubt es nicht, Erweiterungen mit der aktivierten Option --listen (--share) zu installieren. Das bedeutet, dass Sie eine Portweiterleitung (7860 und 8189) von Ihrem lokalen Rechner zum Remote-Server einrichten müssen. Der erste Port wird für WebUI und der zweite für ComfyUI benötigt.&lt;/p&gt;
&lt;p&gt;In PuTTY müssen Sie zum Beispiel &lt;b translate=&quot;no&quot;&gt;Connection &gt;&gt; SSH &gt;&gt; Tunnels&lt;/b&gt; öffnen und zwei neue weitergeleitete Ports hinzufügen, wie im folgenden Screenshot gezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/954/original/sh_stable_video_diffusion_1.png?1714024360&quot; alt=&quot;PuTTY port forwarding&quot;&gt;
&lt;p&gt;Nun können Sie sich erneut mit dem Remote-Server verbinden und ./webui.sh erneut ausführen.&lt;/p&gt;
&lt;p&gt;Öffnen Sie diese URL in Ihrem Browser:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;http://127.0.0.1:7860&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Navigieren Sie zu &lt;b translate=&quot;no&quot;&gt;Extensions &gt;&gt; Available&lt;/b&gt; und klicken Sie dann auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Load from:&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/955/original/sh_stable_video_diffusion_2.png?1714024393&quot; alt=&quot;Load available extensions&quot;&gt;
&lt;p&gt;Das System wird die JSON-Datei mit allen verfügbaren Erweiterungen herunterladen. Geben Sie &lt;b translate=&quot;no&quot;&gt;ComfyUI&lt;/b&gt; in das Sucheingabefeld ein und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Install&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/956/original/sh_stable_video_diffusion_3.png?1714024430&quot; alt=&quot;Download ComfyUI&quot;&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/957/original/sh_stable_video_diffusion_4.png?1714024463&quot; alt=&quot;Reload UI&quot;&gt;
&lt;p&gt;Die Webseite wird neu geladen und Sie erhalten eine neue Registerkarte &lt;b translate=&quot;no&quot;&gt;ComfyUI&lt;/b&gt; im Hauptfenster. Wechseln Sie dorthin und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Install ComfyUI&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/958/original/sh_stable_video_diffusion_5.png?1714024493&quot; alt=&quot;Install ComfyUI&quot;&gt;
&lt;p&gt;Wenn die Installation abgeschlossen ist, unterbrechen Sie die Ausführung des Skripts webui.sh erneut, indem Sie &lt;b translate=&quot;no&quot;&gt;Ctrl + C&lt;/b&gt; drücken.&lt;/p&gt;
&lt;h2&gt;Stable Video Diffusion Modell installieren&lt;/h2&gt;
&lt;p&gt;Öffnen Sie das Verzeichnis des Modells:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd stable-diffusion-webui/models/Stable-diffusion/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das vollständige Stable Video Diffusion-Modell herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -L https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt/resolve/main/svd_xt.safetensors?download=true --output svd_xt.safetensors&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zurück zum Home-Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie den Stable Diffusion-Dienst erneut aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./webui.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das &lt;a href=&quot;https://github.com/enikolair/comfyui-workflow-svd/blob/main/workflow.json&quot;&gt;Beispiel&lt;/a&gt; für den Stable Video Diffusion Workflow im JSON-Format herunter. Löschen Sie den ComfyUI-Standard-Workflow, indem Sie auf &lt;b translate=&quot;no&quot;&gt;Clear&lt;/b&gt; drücken und dann &lt;b translate=&quot;no&quot;&gt;Load&lt;/b&gt; das heruntergeladene Beispiel:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/959/original/sh_stable_video_diffusion_6.png?1714024532&quot; alt=&quot;ComfyUI workflow example&quot;&gt;
&lt;p&gt;Vergewissern Sie sich, dass Sie das richtige Modell im Knoten &lt;b translate=&quot;no&quot;&gt;Image Only Checkpoint Loader (img2vid model)&lt;/b&gt; ausgewählt haben:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/960/original/sh_stable_video_diffusion_7.png?1714024570&quot; alt=&quot;Select CKPT model&quot;&gt;
&lt;p&gt;Klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;choose file to upload&lt;/b&gt; im Knoten &lt;b translate=&quot;no&quot;&gt;Load Image&lt;/b&gt; und wählen Sie ein beliebiges Einzelbild aus, das das generative neuronale Netzwerk in ein Video umwandeln soll:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/961/original/sh_stable_video_diffusion_8.png?1714024606&quot; alt=&quot;Upload an image to ComfyUI&quot;&gt;
&lt;p&gt;Versuchen Sie, ein Video mit allen Standardparametern zu erzeugen, indem Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Queue Prompt&lt;/b&gt; klicken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/962/original/sh_stable_video_diffusion_9.png?1714024638&quot; alt=&quot;Send task to queue&quot;&gt;
&lt;p&gt;Nachdem der Prozess abgeschlossen ist, erhalten Sie Ihr Video im WEBP-Format im Knoten &lt;b translate=&quot;no&quot;&gt;SaveAnimatedWEBP&lt;/b&gt;. Klicken Sie mit der rechten Maustaste auf das generierte Video und wählen Sie &lt;b translate=&quot;no&quot;&gt;Save Image&lt;/b&gt;:&lt;/p&gt;
&lt;p&gt;Hier sehen Sie das &lt;a href=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/963/original/sh_stable_video_diffusion_10.gif?1714024668&quot;&gt;Endergebnis als GIF&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Fehlersuche&lt;/h2&gt;
&lt;p&gt;Wenn Sie eine Fehlermeldung erhalten: &lt;b translate=&quot;no&quot;&gt;ModuleNotFoundError: No module named &#39;utils.json_util&#39;; &#39;utils&#39; is not a package&lt;/b&gt; führen Sie bitte die folgenden Schritte aus:&lt;/p&gt;
&lt;p&gt;Benennen Sie das Verzeichnis utils in utilities um:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mv /home/usergpu/stable-diffusion-webui/extensions/sd-webui-comfyui/ComfyUI/utils /home/usergpu/stable-diffusion-webui/extensions/sd-webui-comfyui/ComfyUI/utilities&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bearbeiten Sie &lt;b translate=&quot;no&quot;&gt;custom_node_manager.py&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano /home/usergpu/stable-diffusion-webui/extensions/sd-webui-comfyui/ComfyUI/app/custom_node_manager.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ersetzen Sie diese Zeile:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;from utils.json_util import merge_json_recursive&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;mit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;from utilities.json_util import merge_json_recursive&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei (&lt;b translate=&quot;no&quot;&gt;Ctrl + O&lt;/b&gt;) und beenden Sie den Editor (&lt;b translate=&quot;no&quot;&gt;Ctrl + X&lt;/b&gt;). Bearbeiten Sie dann &lt;b translate=&quot;no&quot;&gt;main.py&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano /home/usergpu/stable-diffusion-webui/extensions/sd-webui-comfyui/ComfyUI/main.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ersetzen Sie diese Zeile:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;import utils.extra_config&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;mit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot;&gt;import utilities.extra_config&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei, beenden Sie den Editor, und führen Sie den Stable Diffusion-Dienst erneut aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./webui.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/594-stable-diffusion-riffusion&quot;&gt;Stable Diffusion: Riffusion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/598-easy-diffusion-ui&quot;&gt;Easy Diffusion UI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/604-audiocraft-von-metaai-musik-nach-beschreibung-erstellen&quot;&gt;AudioCraft von MetaAI: Musik nach Beschreibung erstellen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/953/original/il_stable_video_diffusion.png?1714024295"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 11:53:04 +0100</pubDate>
      <guid isPermaLink="false">597</guid>
      <dc:date>2025-01-22T11:53:04+01:00</dc:date>
    </item>
    <item>
      <title>PyTorch für Windows</title>
      <link>https://www.leadergpu.de/catalog/596-pytorch-f-r-windows</link>
      <description>&lt;p&gt;Bevor Sie mit der Installation von PyTorch beginnen, müssen Sie den Python-Interpreter und Microsoft Visual C++ Redistributable installieren. Öffnen Sie einen Web-Browser und navigieren Sie zur &lt;a href=&quot;https://www.python.org/downloads/windows/&quot;&gt;Download-Seite&lt;/a&gt; von Python. Suchen Sie die neueste Python 3 Version und klicken Sie auf den Link:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/828/original/sh_pytorch_for_windows_1.png?1712305722&quot; alt=&quot;Download Python release&quot;&gt;
&lt;p&gt;Scrollen Sie dann auf der Seite nach unten und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Windows Installer (64-bit)&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/829/original/sh_pytorch_for_windows_2.png?1712305818&quot; alt=&quot;Select binary&quot;&gt;
&lt;p&gt;Öffnen Sie die heruntergeladene Datei, um mit der Installation fortzufahren:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/830/original/sh_pytorch_for_windows_3.png?1712306001&quot; alt=&quot;Run the installer&quot;&gt;
&lt;p&gt;Aktivieren Sie das Kontrollkästchen für &lt;b translate=&quot;no&quot;&gt;Add python.exe to PATH&lt;/b&gt; und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Install Now&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/831/original/sh_pytorch_for_windows_4.png?1712306095&quot; alt=&quot;Select Install Now and Add to PATH&quot;&gt;
&lt;p&gt;Warten Sie eine Minute, bis der Installationsvorgang abgeschlossen ist:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/832/original/sh_pytorch_for_windows_5.png?1712314249&quot; alt=&quot;Python setup process&quot;&gt;
&lt;p&gt;Sie können optional &lt;b translate=&quot;no&quot;&gt;Disable path length limit&lt;/b&gt; wählen, wenn Sie lange Namen verwenden möchten, die die Grenzen von &lt;b translate=&quot;no&quot;&gt;MAX_PATH&lt;/b&gt; überschreiten könnten:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/833/original/sh_pytorch_for_windows_6.png?1712314332&quot; alt=&quot;Python setup complete&quot;&gt;
&lt;h2&gt;MS Visual C++ installieren&lt;/h2&gt;
&lt;p&gt;Als nächstes laden Sie Microsoft Visual C++ Redistributable über &lt;a href=&quot;https://aka.ms/vs/16/release/vc_redist.x64.exe&quot;&gt;diesen Link&lt;/a&gt; herunter und klicken auf das Installationsprogramm:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/834/original/sh_pytorch_for_windows_7.png?1712314944&quot; alt=&quot;Run Microsoft visual C++ redistributable installer&quot;&gt;
&lt;p&gt;Sie müssen das Kästchen &lt;b translate=&quot;no&quot;&gt;I agree to the license terms and conditions&lt;/b&gt; ankreuzen und auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Install&lt;/b&gt; klicken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/835/original/sh_pytorch_for_windows_8.png?1712315044&quot; alt=&quot;Visual C++ accept EULA&quot;&gt;
&lt;p&gt;Nach ein paar Sekunden wird die Software installiert und Sie können das Installationsprogramm unter &lt;b translate=&quot;no&quot;&gt;Close&lt;/b&gt; aufrufen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/836/original/sh_pytorch_for_windows_9.png?1712315122&quot; alt=&quot;Visual C++ installation complete&quot;&gt;
&lt;p&gt;Jetzt ist alles bereit für die Installation von PyTorch. Klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Start&lt;/b&gt; und geben Sie &lt;b translate=&quot;no&quot;&gt;cmd&lt;/b&gt; auf der Tastatur ein. Klicken Sie mit der rechten Maustaste auf &lt;b translate=&quot;no&quot;&gt;Command Prompt&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Run as administrator&lt;/b&gt; aus dem Kontextmenü:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/837/original/sh_pytorch_for_windows_10.png?1712315294&quot; alt=&quot;PyTorch install using PIP&quot;&gt;
&lt;h2&gt;PyTorch installieren&lt;/h2&gt;
&lt;p&gt;Führen Sie den folgenden Befehl aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;pip install torch torchvision&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie eine bestimmte Version von PyTorch installieren möchten, können Sie diese während der Installation angeben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;pip install torch==1.9.0 torchvision==0.10.0&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn die Installation abgeschlossen ist, lassen Sie uns überprüfen, ob PyTorch richtig funktioniert. Führen Sie den folgenden Befehl aus, um den Python-Interpreter zu öffnen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;python&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie diese beiden Zeichenfolgen ein und beenden Sie Ihre Eingabe mit der Taste &lt;b translate=&quot;no&quot;&gt;Enter&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;import torch
print(torch.__version__)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie ein solches Ergebnis erhalten, bedeutet dies, dass PyTorch korrekt installiert wurde:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;2.0.1+cu117&lt;/pre&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/595-pytorch-f-r-linux&quot;&gt;PyTorch für Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/581-privategpt-ai-f-r-dokumente&quot;&gt;PrivateGPT: AI für Dokumente&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem&quot;&gt;Open WebUI: Alles in einem&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/114/original/il_pytorch_for_windows.png?1737541812"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 11:35:30 +0100</pubDate>
      <guid isPermaLink="false">596</guid>
      <dc:date>2025-01-22T11:35:30+01:00</dc:date>
    </item>
    <item>
      <title>PyTorch für Linux</title>
      <link>https://www.leadergpu.de/catalog/595-pytorch-f-r-linux</link>
      <description>&lt;p&gt;Moderne Linux-Distributionen sind in hohem Maße von der installierten Version von Python abhängig. Daher empfehlen wir, vor der Installation von PyTorch eine virtuelle Umgebung mit Hilfe unserer Schritt-für-Schritt-Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/510-linux-systemdienstprogramme&quot;&gt;Linux System Utilities&lt;/a&gt; zu erstellen.&lt;/p&gt;
&lt;p&gt;Aktivieren Sie die erstellte venv und fahren Sie mit dem pip3-Upgrade fort:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip3 install --upgrade pip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie die PyTorch-Installation:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip3 install torch torchvision&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie eine bestimmte Version von PyTorch installieren möchten, geben Sie einfach die gewünschte Versionsnummer ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip3 install torch==1.9.0 torchvision==0.10.0&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn die Installation abgeschlossen ist, lassen Sie uns überprüfen, ob PyTorch korrekt installiert wurde. Öffnen Sie den Python-Interpreter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;python3&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie diese beiden Zeichenfolgen ein und beenden Sie Ihre Eingabe mit der Eingabetaste:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;import torch
print(torch.__version__)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie ein Ergebnis wie dieses erhalten, bedeutet dies, dass PyTorch korrekt installiert wurde:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;2.0.1+cu117&lt;/pre&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/596-pytorch-f-r-windows&quot;&gt;PyTorch für Windows&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/601-ki-anwendungsentwickler-langflow-mit-geringem-programmieraufwand&quot;&gt;KI-Anwendungsentwickler Langflow mit geringem Programmieraufwand
    &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/604-audiocraft-von-metaai-musik-nach-beschreibung-erstellen&quot;&gt;AudioCraft von MetaAI: Musik nach Beschreibung erstellen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/113/original/il_pytorch_for_linux.png?1737536957"
        length="0"
        type="image/jpeg"/>
      <pubDate>Wed, 22 Jan 2025 10:14:16 +0100</pubDate>
      <guid isPermaLink="false">595</guid>
      <dc:date>2025-01-22T10:14:16+01:00</dc:date>
    </item>
    <item>
      <title>Stable Diffusion: Riffusion</title>
      <link>https://www.leadergpu.de/catalog/594-stable-diffusion-riffusion</link>
      <description>&lt;p&gt;In unseren vorangegangenen Artikeln haben wir die faszinierenden Möglichkeiten von Stable Diffusion zur Erzeugung fesselnder Bilder erkundet. Es ist jedoch wichtig zu wissen, dass dieses leistungsstarke generative neuronale Netzwerk noch mehr zu bieten hat.&lt;/p&gt;
&lt;p&gt;Riffusion ist ein Stable Diffusion-Modell für die Erstellung und Bearbeitung von Musik. Mit Riffusion können Sie ein Spektrogramm eines gewünschten musikalischen Segments erzeugen und es mühelos in einen musikalischen Ausschnitt verwandeln. Lassen Sie uns Riffusion auf einem LeaderGPU-Server installieren und in Aktion ausprobieren.&lt;/p&gt;
&lt;h2&gt;Voraussetzungen&lt;/h2&gt;
&lt;p&gt;Aktualisieren Sie zunächst das Paket-Cache-Repository und die installierten Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vergessen Sie nicht, die Nvidia-Treiber mit dem Befehl &lt;b translate=&quot;no&quot;&gt;autoinstall&lt;/b&gt; oder manuell mit Hilfe unserer &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot;&gt;Schritt-für-Schritt-Anleitung&lt;/a&gt; zu installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Für die Erstellung einer virtuellen Umgebung empfehlen die Entwickler ein Tool namens Anaconda. Sie können auch venv verwenden, das wir in der Anleitung zu den Linux-Systemdienstprogrammen besprochen haben. Laden Sie das Anaconda-Installationsskript mit curl herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl --output anaconda.sh https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Machen Sie es ausführbar:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;chmod +x anaconda.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und ausführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./anaconda.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beantworten Sie alle Fragen mit JA, außer der letzten (Microsoft VSCode installieren). Melden Sie sich dann erneut an der SSH-Konsole an und erstellen Sie eine neue virtuelle Umgebung mit Python v3.9:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda create --name riffusion python=3.9&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktivieren Sie die neue virtuelle Umgebung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda activate riffusion&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie andere Musikformate als wav verwenden möchten, müssen Sie auch das FFmpeg-Bibliotheksset installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda install -c conda-forge ffmpeg&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Riffusion installieren&lt;/h2&gt;
&lt;p&gt;Klonen Sie das Riffusion-Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/riffusion/riffusion.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd riffusion&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns einige Änderungen in der Anforderungsdatei vornehmen. Dies verhindert Fehler bei der Kompatibilität der Taschenlampe:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Paketversionen finden und korrigieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;diffusers==0.9.0
torchaudio==2.0.1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Änderungen und fahren Sie mit der Vorbereitung einer virtuellen Umgebung fort. Mit dem folgenden Befehl werden alle erforderlichen Pakete installiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python -m pip install -r requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Schließlich können Sie eine &quot;Spielwiese&quot; öffnen. Dies ist eine einfache Weboberfläche, die Ihnen hilft, mehr über die Funktionen von Riffusion zu erfahren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python -m riffusion.streamlit.playground&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie Ihren Lieblingsbrowser und geben Sie die Adresse &lt;b translate=&quot;no&quot;&gt;http://[SERVER_IP]:8501/&lt;/b&gt;&lt;/p&gt;
&lt;h2&gt;Testen Sie einen Spielplatz&lt;/h2&gt;
&lt;p&gt;Jetzt können Sie mit Hilfe von Textaufforderungen und durch Ändern der anderen Parameter Musik erzeugen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/913/original/sh_stable_diffusion_riffusion_1.png?1713769543&quot; alt=&quot;Text to audio prompt line&quot;&gt;
&lt;p&gt;Außerdem können Sie einige knifflige Dinge tun, wie z. B. das Aufteilen von Audio in einzelne Komponenten. Zum Beispiel können Sie die Stimme aus Bohemian Rhapsody von Queen extrahieren:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/914/original/sh_stable_diffusion_riffusion_2.png?1713769583&quot; alt=&quot;Generated results&quot;&gt;
&lt;p&gt;Denken Sie daran, dass dies nur ein einziges Beispiel dafür ist, wie Riffusion genutzt werden kann. Wenn Sie Ihre eigene Anwendung erstellen, können Sie wesentlich fesselndere Ergebnisse erzielen. Leistungsstarke Server von LeaderGPU kümmern sich um die Berechnungen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/597-stable-video-diffusion&quot;&gt;Stable Video Diffusion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/598-easy-diffusion-ui&quot;&gt;Easy Diffusion UI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/604-audiocraft-von-metaai-musik-nach-beschreibung-erstellen&quot;&gt;AudioCraft von MetaAI: Musik nach Beschreibung erstellen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/912/original/il_stable_diffusion_riffusion.png?1713769486"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 14:12:29 +0100</pubDate>
      <guid isPermaLink="false">594</guid>
      <dc:date>2025-01-21T14:12:29+01:00</dc:date>
    </item>
    <item>
      <title>Stable Diffusion: Wiederholbare Gesichter generieren</title>
      <link>https://www.leadergpu.de/catalog/593-stable-diffusion-wiederholbare-gesichter-generieren</link>
      <description>&lt;p&gt;Wiederholbarkeit ist der wichtigste Aspekt bei der Erstellung grafischer Inhalte mit generativen neuronalen Netzen. Dies gilt unabhängig von der Art des Inhalts, den Sie erstellen, sei es eine Film- oder Spielfigur, eine Landschaft oder eine Szenenumgebung. Das Hauptproblem kann folgendermaßen formuliert werden: &quot;Wie kann ich mein Ergebnis wiederholen?&quot;. Jedes Mal, wenn Sie beginnen, Bilder mit denselben positiven und negativen Vorgaben zu erstellen, werden Sie unterschiedliche Ergebnisse erhalten. Manchmal sind die Unterschiede gering und akzeptabel, aber in den meisten Fällen können sie ein Problem darstellen.&lt;/p&gt;
&lt;p&gt;Stable Diffusion wurde anhand eines großen Datensatzes aus der realen Welt erlernt, was erklärt, warum die Wiederholbarkeit keine Stärke dieses neuronalen Netzwerkmodells ist. Diese Regel gilt jedoch nicht für Fotos von Prominenten. Diese Fotos kommen in der realen Welt viel häufiger vor und sind daher auch in dem Datensatz enthalten, mit dem Stable Diffusion trainiert wurde. Sie können diese Fotos als &quot;Konstante&quot; oder als &quot;Ausgangspunkt&quot; für den Generierungsprozess verwenden.&lt;/p&gt;
&lt;h2&gt;Methode 1. &quot;Geschüttelt, nicht gerührt&quot;&lt;/h2&gt;
&lt;p&gt;Natürlich müssen Sie nicht nur Bilder von Prominenten erstellen, sondern können mehrere relevante Aufforderungen verwenden, um mehr oder weniger konsistente Ergebnisse zu erhalten. Nehmen wir zum Beispiel zwei berühmte griechische Sängerinnen: Elena Paparizou und Marina Satti, und erhalten wiederholbare Ergebnisse:&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Model&lt;/b&gt;: &lt;a href=&quot;https://civitai.com/models/4201/realistic-vision-v60-b1&quot;&gt;Realistic Vision v6.0 beta 1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Positive prompts:&lt;/b&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;Elena Paparizou, Marina Satti, fashion portrait, alone, solo, greek woman in beautiful clothes, natural skin, 8k uhd, high quality, film grain, Canon EOS&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Negative prompts:&lt;/b&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;bad anatomy, bad hands, three hands, three legs, bad arms, missing legs, missing arms, poorly drawn face, bad face, fused face, cloned face, worst face, three crus, extra crus, fused crus, worst feet, three feet, fused feet, fused thigh, three thigh, fused thigh, extra thigh, worst thigh, missing fingers, extra fingers, ugly fingers, long fingers, horn, extra eyes, huge eyes, 2girl, amputation, disconnected limbs, cartoon, cg, 3d, unreal, animate, nsfw, nude, censored&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/934/original/sh_stable_diffusion_generate_repeatable_faces_1.png?1713873195&quot; alt=&quot;Greek singer generated&quot;&gt;
&lt;p&gt;Es funktioniert mit allen Berühmtheiten, da Stable Diffusion versucht, die markantesten Gesichtszüge zu reproduzieren. Hier verwenden wir dasselbe Modell und &quot;schütteln&quot; zwei Hollywood-Stars (Dwayne Johnson und Danny Trejo) in eine neue synthetische Figur.&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Positive prompts:&lt;/b&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;Dwayne Johnson, Danny Trejo, fashion portrait, alone, solo, 8k uhd, high quality, film grain, Canon EOS&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Negative prompts:&lt;/b&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;bad anatomy, bad hands, three hands, three legs, bad arms, missing legs, missing arms, poorly drawn face, bad face, fused face, cloned face, worst face, three crus, extra crus, fused crus, worst feet, three feet, fused feet, fused thigh, three thigh, fused thigh, extra thigh, worst thigh, missing fingers, extra fingers, ugly fingers, long fingers, horn, extra eyes, huge eyes, amputation, disconnected limbs, cartoon, cg, 3d, unreal, animate, nsfw, nude, censored&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/935/original/sh_stable_diffusion_generate_repeatable_faces_2.png?1713873232&quot; alt=&quot;Hollywood stars generated&quot;&gt;
&lt;p&gt;Jedes Mal, wenn Sie die gleichen Prominenten mischen, erhalten Sie ähnliche Ergebnisse. Schauen wir uns eine andere Methode an, um wiederholbare Zeichen zu erzeugen.&lt;/p&gt;
&lt;h2&gt;Methode 2. Namensanker&lt;/h2&gt;
&lt;p&gt;Berühmte Persönlichkeiten sind ein guter Anfang, aber lassen Sie uns andere Methoden in Betracht ziehen, um wiederholbare Ergebnisse zu erzielen. Die Antwort ist ganz einfach: Wir können mehrere menschliche Namen verwenden. Jede Nation hat einzigartige Namen, die mit sprachlichen Merkmalen verbunden sind. Der griechische Name Kostas zum Beispiel kann mit &quot;Arbeit&quot; oder &quot;Mühe&quot; übersetzt werden, während Nikos &quot;Sieg des Volkes&quot; bedeutet. Diese beiden Namen schaffen ein einzigartiges Bild einer generierten Person und helfen den Modellen des neuronalen Netzes, unsere Erstellungsziele zu verstehen.&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Positive prompts:&lt;/b&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;Portrait of [Kostas | Nikos] on a white background, greek man, short haircut, beard&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;Negative prompts:&lt;/b&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;woman, bad anatomy, bad hands, three hands, three legs, bad arms, missing legs, missing arms, poorly drawn face, bad face, fused face, cloned face, worst face, three crus, extra crus, fused crus, worst feet, three feet, fused feet, fused thigh, three thigh, fused thigh, extra thigh, worst thigh, missing fingers, extra fingers, ugly fingers, long fingers, horn, extra eyes, huge eyes, 2girl, amputation, disconnected limbs, cartoon, cg, 3d, unreal, animate, nsfw, nude, censored&lt;/code&gt;&lt;/pre&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/936/original/sh_stable_diffusion_generate_repeatable_faces_3.png?1713873262&quot; alt=&quot;Greek person generated&quot;&gt;
&lt;p&gt;Lassen Sie uns zahlreiche Bilder (80-100) für die weitere Erstellung von Datensätzen erzeugen. Die Hauptaufforderung wurde so gewählt, dass sie praktische Bilder liefert, die leicht vom Hintergrund entfernt werden können. Negative Prompts schützen uns davor, zufällige Bilder mit Verzerrungen in den Datensatz aufzunehmen, ebenso wie Bilder von Frauen.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Tipp: Wenn Sie sehr unterschiedliche Bilder erhalten, versuchen Sie, den Parameter CFG Scale von 7,5 auf 15 zu ändern. Dadurch wird das neuronale Netz gezwungen, den Aufforderungen formaler zu folgen.&lt;/i&gt;&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/937/original/sh_stable_diffusion_generate_repeatable_faces_4.png?1713873299&quot; alt=&quot;Greek person dataset&quot;&gt;
&lt;p&gt;Sie können Ihre eigenen Namen mit einem einfachen Namensgenerator wie &lt;a href=&quot;https://www.behindthename.com/names/list&quot;&gt;Behind the Name&lt;/a&gt; auswählen. Außerdem können Sie die ControlNet-Funktion verwenden, um mehr Kontrolle zu erhalten.&lt;/p&gt;
&lt;h2&gt;Methode 3. Aussehen beibringen&lt;/h2&gt;
&lt;p&gt;Wir können das Endergebnis nicht direkt beeinflussen, aber wir beobachten, dass einige Token (z. B. Token mit Prominentenbildern) mehr Gewicht haben als andere. Das bedeutet, dass wir unser bedingtes &quot;Prominenten&quot;-Token erstellen können, indem wir eine geeignete Eingabeaufforderung für es erstellen und das Modell damit weiter trainieren. Das ist die Funktionsweise von LoRA (Low-Rank Adaptation of Large Language Models). Sie können &lt;a href=&quot;https://www.leadergpu.de/articles/592-stable-diffusion-lora-selfie&quot;&gt;unsere Schritt-für-Schritt-Anleitung&lt;/a&gt; verwenden, um Ihr eigenes LoRA-Modell auf der Grundlage eines selbst erstellten Datensatzes zu trainieren.&lt;/p&gt;
&lt;p&gt;Nachdem wir den Hintergrund entfernt haben, erhalten wir klare Porträts und verwenden diese, um ein spezifisches LoRA-Modell zu erstellen. Dieses Modell hilft dabei, ein Gesicht mit ein paar kleinen Änderungen nachzubilden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/938/original/sh_stable_diffusion_generate_repeatable_faces_5.png?1713873334
&quot; alt=&quot;Dataset without background&quot;&gt;
&lt;p&gt;Nun können wir diese Figur an verschiedenen Orten generieren, Geschichten erstellen und sie in verschiedene Rollen versetzen: vom Gärtner bis zum Geschäftsmann. Sein Gesicht wird stets erkennbar und wiederholbar sein:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/939/original/sh_stable_diffusion_generate_repeatable_faces_6.png?1713873384&quot; alt=&quot;Greek person with various backgrounds&quot;&gt;
&lt;p&gt;Diese Methode ist nicht ideal, aber sie funktioniert in einer Vielzahl von Situationen perfekt. Sie müssen keinen Datensatz von einer realen Person vorbereiten, und er kann aus der Ferne erstellt werden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/940/original/sh_stable_diffusion_generate_repeatable_faces_7.jpg?1713873419&quot; alt=&quot;Greek person generated result&quot;&gt;
&lt;p&gt;Sie können versuchen, eine solche virtuelle Figur selbst zu erstellen, ohne die Hilfe eines professionellen Designers oder 3D-Modellierungsspezialisten. Alles, was Sie brauchen, sind schnelle GPUs, die Sie in den dedizierten Servern von &lt;a href=&quot;https://www.leadergpu.de/&quot;&gt;LeaderGPU&lt;/a&gt; finden können.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/594-stable-diffusion-riffusion&quot;&gt;Stable Diffusion: Riffusion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/597-stable-video-diffusion&quot;&gt;Stable Video Diffusion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/598-easy-diffusion-ui&quot;&gt;Easy Diffusion UI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/933/original/il_stable_diffusion_generate_repeatable_faces.jpg?1713873147"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 13:51:05 +0100</pubDate>
      <guid isPermaLink="false">593</guid>
      <dc:date>2025-01-21T13:51:05+01:00</dc:date>
    </item>
    <item>
      <title>Stable Diffusion: LoRA-Selfie</title>
      <link>https://www.leadergpu.de/catalog/592-stable-diffusion-lora-selfie</link>
      <description>&lt;p&gt;Sie können Ihren ersten Datensatz mit einer einfachen Kamera und einem relativ einheitlichen Hintergrund erstellen, z. B. einer weißen Wand oder einem einfarbigen Verdunkelungsvorhang. Für einen Beispieldatensatz habe ich eine spiegellose Kamera Olympus OM-D EM5 Mark II mit 14-42 Kit-Objektiven verwendet. Diese Kamera unterstützt die Fernsteuerung von jedem Smartphone aus und verfügt über einen sehr schnellen Serienbildmodus.&lt;/p&gt;
&lt;p&gt;Ich habe die Kamera auf einem Stativ befestigt und die Fokuspriorität auf Gesicht eingestellt. Danach wählte ich den Modus, in dem die Kamera alle 3 Sekunden 10 Bilder hintereinander aufnimmt, und startete den Vorgang. Während der Aufnahme drehte ich meinen Kopf langsam in die ausgewählte Richtung und änderte die Richtung nach jeweils 10 Bildern:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/916/original/sh_stable_diffusion_lora_selfie_1.jpg?1713785705&quot; alt=&quot;Face directions&quot;&gt;
&lt;p&gt;Das Ergebnis waren etwa 100 Bilder mit einem eintönigen Hintergrund:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/917/original/sh_stable_diffusion_lora_selfie_2.png?1713785735&quot; alt=&quot;Photos with background&quot;&gt;
&lt;p&gt;Der nächste Schritt besteht darin, den Hintergrund zu entfernen und das Porträt auf einem weißen Hintergrund zu belassen.&lt;/p&gt;
&lt;h2&gt;Hintergrund löschen&lt;/h2&gt;
&lt;p&gt;Sie können die Standardfunktion von Adobe Photoshop &lt;b translate=&quot;no&quot;&gt;Remove background&lt;/b&gt; und die Stapelverarbeitung verwenden. Lassen Sie uns Aktionen speichern, die wir auf jedes Bild in einem Datensatz anwenden wollen. Öffnen Sie ein beliebiges Bild, klicken Sie auf das Dreieckssymbol und dann auf das Symbol &lt;b translate=&quot;no&quot;&gt;+&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/918/original/sh_stable_diffusion_lora_selfie_3.png?1713785770&quot; alt=&quot;Create new PS action&quot;&gt;
&lt;p&gt;Geben Sie den Namen der neuen Aktion ein, z. B. &lt;b translate=&quot;no&quot;&gt;Remove Background&lt;/b&gt;, und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Record&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/919/original/sh_stable_diffusion_lora_selfie_4.png?1713785802&quot; alt=&quot;Type the name of action&quot;&gt;
&lt;p&gt;Suchen Sie auf der Registerkarte &lt;b translate=&quot;no&quot;&gt;Layers&lt;/b&gt; das Schlosssymbol und klicken Sie es an:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/920/original/sh_stable_diffusion_lora_selfie_5.png?1713785831&quot; alt=&quot;Lock the layer&quot;&gt;
&lt;p&gt;Klicken Sie anschließend auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Remove background&lt;/b&gt; auf dem schwebenden Bedienfeld:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/921/original/sh_stable_diffusion_lora_selfie_6.png?1713785977&quot; alt=&quot;Click remove background&quot;&gt;
&lt;p&gt;Klicken Sie mit der rechten Maustaste auf &lt;b translate=&quot;no&quot;&gt;Layer 0&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Flatten Image&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/922/original/sh_stable_diffusion_lora_selfie_7.png?1713786013&quot; alt=&quot;Select Flatten Image&quot;&gt;
&lt;p&gt;Alle unsere Aktionen sind aufgezeichnet worden. Lassen Sie uns diesen Prozess beenden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/923/original/sh_stable_diffusion_lora_selfie_8.png?1713786077&quot; alt=&quot;Stop action recording&quot;&gt;
&lt;p&gt;Jetzt können Sie die geöffnete Datei schließen, ohne die Änderungen zu speichern, und wählen Sie &lt;b translate=&quot;no&quot;&gt;File &gt;&gt; Scripts &gt;&gt; Image Processor…&lt;/b&gt;&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/924/original/sh_stable_diffusion_lora_selfie_9.png?1713786112&quot; alt=&quot;Multiple image processor&quot;&gt;
&lt;p&gt;Wählen Sie die Eingabe- und Ausgabeverzeichnisse aus, wählen Sie die in Schritt 4 erstellte Aktion &lt;b translate=&quot;no&quot;&gt;Remove Background&lt;/b&gt; und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Run&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/925/original/sh_stable_diffusion_lora_selfie_10.png?1713786144&quot; alt=&quot;Image processor options&quot;&gt;
&lt;p&gt;Bitte haben Sie etwas Geduld. Adobe Photoshop wird jedes Bild im ausgewählten Verzeichnis öffnen, die aufgezeichneten Aktionen wiederholen (Ebenensperre ausschalten, Hintergrund löschen, Bild reduzieren) und es in einem anderen ausgewählten Verzeichnis speichern. Dieser Vorgang kann einige Minuten dauern, je nach Anzahl der Bilder.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/926/original/sh_stable_diffusion_lora_selfie_11.png?1713786182&quot; alt=&quot;Photos without background&quot;&gt;
&lt;p&gt;Wenn der Vorgang abgeschlossen ist, können Sie zum nächsten Schritt übergehen.&lt;/p&gt;
&lt;h2&gt;Hochladen auf den Server&lt;/h2&gt;
&lt;p&gt;Verwenden Sie eine der folgenden Anleitungen (zugeschnitten auf Ihr PC-Betriebssystem), um das Verzeichnis &lt;b translate=&quot;no&quot;&gt;dataset&lt;/b&gt; auf den Remote-Server hochzuladen. Legen Sie es zum Beispiel im Home-Verzeichnis des Standardbenutzers &lt;b translate=&quot;no&quot;&gt;/home/usergpu&lt;/b&gt; ab:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/494-dateiaustausch-von-linux&quot;&gt;Dateiaustausch von Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/495-dateiaustausch-von-windows&quot;&gt;Dateiaustausch von Windows aus&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/496-dateiaustausch-von-macos&quot;&gt;Dateiaustausch von macOS aus&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Vor-Installation&lt;/h2&gt;
&lt;p&gt;Aktualisieren Sie vorhandene Systempakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie zwei zusätzliche Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install -y python3-tk python3.10-venv&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren wir das CUDA® Toolkit Version 11.8. Laden wir die spezifische Pin-Datei herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der folgende Befehl legt die heruntergeladene Datei im Systemverzeichnis ab, das vom &lt;b translate=&quot;no&quot;&gt;apt&lt;/b&gt; Paketmanager kontrolliert wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der nächste Schritt ist das Herunterladen des CUDA-Hauptrepositorys:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Danach fahren Sie mit der Installation des Pakets mit dem Standardprogramm &lt;b translate=&quot;no&quot;&gt;dpkg&lt;/b&gt; fort:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie den GPG-Schlüsselring in das Systemverzeichnis. Dadurch wird er für die Verwendung durch die Dienstprogramme des Betriebssystems, einschließlich des apt-Paketmanagers, verfügbar:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie die System-Cache-Repositories:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get update&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie das CUDA® Toolkit mit apt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get -y install cuda&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie CUDA® zu PATH hinzu. Öffnen Sie die Bash-Shell-Konfiguration:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64\
                         ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und starten Sie den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Trainer installieren&lt;/h2&gt;
&lt;p&gt;Kopieren Sie das Repository des Kohya-Projekts auf den Server:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/bmaltais/kohya_ss.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd kohya_ss&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Machen Sie das Setup-Skript ausführbar:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;chmod +x ./setup.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./setup.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sie erhalten eine Warnmeldung vom Beschleunigungsprogramm. Lassen Sie uns das Problem lösen. Aktivieren Sie die virtuelle Umgebung des Projekts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;source venv/bin/activate&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie das fehlende Paket:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip install scipy&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und konfigurieren Sie das Beschleunigungsprogramm manuell:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;accelerate config&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Seien Sie vorsichtig, denn die Aktivierung einer ungeraden Anzahl von CPUs wird einen Fehler verursachen. Wenn ich zum Beispiel 5 GPUs habe, können nur 4 mit dieser Software verwendet werden. Andernfalls wird beim Start des Prozesses ein Fehler auftreten. Sie können die neue Konfiguration des Dienstprogramms sofort überprüfen, indem Sie einen Standardtest aufrufen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;accelerate test&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn alles in Ordnung ist, erhalten Sie eine Meldung wie diese:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;Test is a success! You are ready for your distributed training!&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;deactivate&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jetzt können Sie den öffentlichen Server des Trainers mit der &lt;a href=&quot;https://www.gradio.app/&quot;&gt;Gradio-GUI&lt;/a&gt; und einer einfachen Login/Passwort-Authentifizierung starten (ändern Sie den Benutzer/das Passwort in Ihr eigenes):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./gui.sh --share --username user --password password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sie werden zwei Zeichenfolgen erhalten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;Running on local URL: http://127.0.0.1:7860
Running on public URL: https://&lt;random_numbers_and_letters&gt;.gradio.live&lt;/pre&gt;
&lt;p&gt;Öffnen Sie Ihren Webbrowser und geben Sie die öffentliche URL in die Adressleiste ein. Geben Sie Ihren Benutzernamen und Ihr Passwort in die entsprechenden Felder ein und klicken Sie dann auf Anmelden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/927/original/sh_stable_diffusion_lora_selfie_12.png?1713786225&quot; alt=&quot;Login screen&quot;&gt;
&lt;h2&gt;Vorbereiten des Datensatzes&lt;/h2&gt;
&lt;p&gt;Beginnen Sie damit, einen neuen Ordner zu erstellen, in dem Sie das trainierte LoRA-Modell speichern werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;mkdir /home/usergpu/myloramodel&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie die folgenden Registerkarten: &lt;b translate=&quot;no&quot;&gt;Utilities &gt;&gt; Captioning &gt;&gt; BLIP captioning&lt;/b&gt;. Füllen Sie die Lücken wie in der Abbildung gezeigt aus und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Caption images&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/928/original/sh_stable_diffusion_lora_selfie_13.png?1713786286&quot; alt=&quot;Set folders&quot;&gt;
&lt;p&gt;Trainer lädt ein spezielles neuronales Netzwerkmodell (1,6 GB) herunter und führt es aus, das für jede Bilddatei im ausgewählten Verzeichnis Textaufforderungen erstellt. Der Vorgang wird auf einem einzelnen Grafikprozessor ausgeführt und dauert etwa eine Minute.&lt;/p&gt;
&lt;p&gt;Wechseln Sie zur Registerkarte &lt;b translate=&quot;no&quot;&gt;LoRA &gt;&gt; Tools &gt;&gt; Dataset preparation &gt;&gt; Dreambooth/LoRA folder preparation&lt;/b&gt;, füllen Sie die Lücken aus und drücken Sie nacheinander &lt;b translate=&quot;no&quot;&gt;Prepare training data&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;Copy info to Folders Tab&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/929/original/sh_stable_diffusion_lora_selfie_14.png?1713786320&quot; alt=&quot;Set options&quot;&gt;
&lt;p&gt;In diesem Beispiel verwenden wir den Namen &lt;b translate=&quot;no&quot;&gt;nikolai&lt;/b&gt; als &lt;b translate=&quot;no&quot;&gt;Instance prompt&lt;/b&gt; und &quot;Person&quot; als &lt;b translate=&quot;no&quot;&gt;Class prompt&lt;/b&gt;. Wir setzen auch &lt;b translate=&quot;no&quot;&gt;/home/usergpu/dataset&lt;/b&gt; als &lt;b translate=&quot;no&quot;&gt;Training Images&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;/home/usergpu/myloramodel&lt;/b&gt; als &lt;b translate=&quot;no&quot;&gt;Destination training directory&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Wechseln Sie erneut auf die Registerkarte &lt;b translate=&quot;no&quot;&gt;LoRA &gt;&gt; Training &gt;&gt; Folders&lt;/b&gt;. Vergewissern Sie sich, dass die Felder &lt;b translate=&quot;no&quot;&gt;Image folder&lt;/b&gt;, &lt;b translate=&quot;no&quot;&gt;Output folder&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;Logging folder&lt;/b&gt; korrekt ausgefüllt sind. Falls gewünscht, können Sie &lt;b translate=&quot;no&quot;&gt;Model output name&lt;/b&gt; durch Ihre eigene Adresse ersetzen. Klicken Sie abschließend auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Start training&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/930/original/sh_stable_diffusion_lora_selfie_15.png?1713786423&quot; alt=&quot;Start training&quot;&gt;
&lt;p&gt;Das System beginnt mit dem Herunterladen von zusätzlichen Dateien und Modellen (~10 GB). Danach beginnt der Trainingsprozess. Je nach der Menge der Bilder und den vorgenommenen Einstellungen kann dies mehrere Stunden dauern. Sobald das Training abgeschlossen ist, können Sie das Verzeichnis &lt;b translate=&quot;no&quot;&gt;/home/usergpu/myloramodel&lt;/b&gt; zur weiteren Verwendung auf Ihren Computer herunterladen.&lt;/p&gt;
&lt;h2&gt;Testen Sie Ihren LoRA&lt;/h2&gt;
&lt;p&gt;Wir haben einige Artikel über Stable Diffusion und seine Forks vorbereitet. Sie können versuchen, Easy Diffusion mit unserer Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/598-easy-diffusion-ui&quot;&gt;Easy Diffusion UI&lt;/a&gt; zu installieren. Nachdem das System installiert wurde und läuft, können Sie Ihr LoRA-Modell im SafeTensors-Format direkt hochladen auf &lt;b translate=&quot;no&quot;&gt;/home/usergpu/easy-diffusion/models/lora&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Aktualisieren Sie die Easy Diffusion-Webseite und wählen Sie Ihr Modell aus der Dropdown-Liste:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/931/original/sh_stable_diffusion_lora_selfie_16.png?1713786465&quot; alt=&quot;Select LoRA model&quot;&gt;
&lt;p&gt;Lassen Sie uns eine einfache Eingabeaufforderung schreiben, &lt;b translate=&quot;no&quot;&gt;portrait of &amp;lt;nikolai&amp;gt; wearing a cowboy hat&lt;/b&gt;, und unsere ersten Bilder erzeugen. Hier haben wir ein &lt;a href=&quot;https://www.leadergpu.de/articles/566-stable-diffusion-modelle-anpassungen-und-optionen&quot;&gt;benutzerdefiniertes Stable Diffusion-Modell&lt;/a&gt; verwendet, das wir von &lt;a href=&quot;https://civitai.com/&quot;&gt;civitai.com&lt;/a&gt; heruntergeladen haben: &lt;a href=&quot;https://civitai.com/models/4201/realistic-vision-v51&quot;&gt;Realistic Vision v6.0 B1&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/932/original/sh_stable_diffusion_lora_selfie_17.png?1713786492&quot; alt=&quot;Generate the image&quot;&gt;
&lt;p&gt;Sie können mit Prompts und Modellen, die auf Stable Diffusion basieren, experimentieren, um bessere Ergebnisse zu erzielen. Viel Spaß!&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/593-stable-diffusion-wiederholbare-gesichter-generieren&quot;&gt;Stable Diffusion: Wiederholbare Gesichter generieren&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/594-stable-diffusion-riffusion&quot;&gt;Stable Diffusion: Riffusion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/597-stable-video-diffusion&quot;&gt;Stable Video Diffusion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/915/original/il_stable_diffusion_lora_selfie.jpg?1713785674"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 13:44:25 +0100</pubDate>
      <guid isPermaLink="false">592</guid>
      <dc:date>2025-01-21T13:44:25+01:00</dc:date>
    </item>
    <item>
      <title>Stable Diffusion: Was ist ControlNet?</title>
      <link>https://www.leadergpu.de/catalog/591-stable-diffusion-was-ist-controlnet</link>
      <description>&lt;p&gt;Ein weit verbreitetes Missverständnis unter denjenigen, die zum ersten Mal mit generativen neuronalen Netzen in Berührung kommen, ist, dass die Kontrolle der endgültigen Ausgabe eine enorme Herausforderung darstellt, insbesondere wenn man versucht, die Ausgabe durch unterschiedliche Eingabeaufforderungen zu verändern. Derzeit gibt es eine Reihe von Tools, die unter dem Namen ControlNet bekannt sind und eine relativ unkomplizierte und effektive Kontrolle der Generierungsergebnisse ermöglichen.&lt;/p&gt;
&lt;p&gt;In diesem Artikel zeigen wir, wie man mit Hilfe eines solchen Tools, &lt;a href=&quot;https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main&quot;&gt;OpenPose&lt;/a&gt;, die Pose der generierten Charaktere mit Hilfe von bereits existierenden Bildern und benutzerdefinierten &quot;Skeletten&quot; leicht manipulieren kann.&lt;/p&gt;
&lt;h2&gt;Schritt 1. Stabile Diffusion installieren&lt;/h2&gt;
&lt;p&gt;Bitte verwenden Sie &lt;a href=&quot;https://www.leadergpu.de/articles/565-stable-diffusion-webui&quot;&gt;unsere Schritt-für-Schritt-Anleitung&lt;/a&gt;, um Stable Diffusion mit dem Grundmodell und der WebUI zu installieren. Diese Anleitung basiert auf dem AUTOMATIC1111-Skript.&lt;/p&gt;
&lt;h2&gt;Schritt 2. ControlNet-Erweiterung installieren&lt;/h2&gt;
&lt;p&gt;Wir raten dringend davon ab, die ControlNet-Erweiterung (sd-webui-controlnet) aus dem &lt;a href=&quot;https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json&quot;&gt;Standard-Repository&lt;/a&gt; zu installieren, da es zu Problemen mit der Funktionalität kommen kann. Ein wichtiges Problem, auf das wir bei der Erstellung dieses Leitfadens gestoßen sind, war das Einfrieren der Weboberfläche. Obwohl das Image zunächst erfolgreich erstellt wird, reagiert die WebUI nicht mehr, wenn das Image ein zweites Mal erstellt wird. Eine alternative Lösung wäre die Installation der gleichen Erweiterung aus einer externen Quelle.&lt;/p&gt;
&lt;p&gt;Öffnen Sie WebUI und folgen Sie den Registerkarten: &lt;b translate=&quot;no&quot;&gt;Extensions &gt; Install from URL&lt;/b&gt;. Fügen Sie diese URL in das entsprechende Feld ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;https://github.com/Mikubill/sd-webui-controlnet&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Klicken Sie dann auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Install&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/942/original/sh_stable_diffusion_what_is_controlnet_1.png?1713962546&quot; alt=&quot;Install sd-webui-controlnet&quot;&gt;
&lt;p&gt;Wenn der Vorgang erfolgreich abgeschlossen ist, sollte die folgende Meldung erscheinen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;Installed into /home/usergpu/stable-diffusion-webui/extensions/sd-webui-controlnet. Use Installed tab to restart.&lt;/pre&gt;
&lt;p&gt;Starten wir die URL neu, indem wir auf der Registerkarte Installiert auf die Schaltfläche Anwenden und UI neu starten klicken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/943/original/sh_stable_diffusion_what_is_controlnet_2.png?1713962703&quot; alt=&quot;ControlNet Restart UI&quot;&gt;
&lt;p&gt;Nach dem Neustart der Schnittstelle wird das neue ControlNet-Element mit vielen zusätzlichen Optionen angezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/944/original/sh_stable_diffusion_what_is_controlnet_3.png?1713962785&quot; alt=&quot;ControlNet enabled&quot;&gt;
&lt;h2&gt;Schritt 3. OpenPose herunterladen&lt;/h2&gt;
&lt;h3&gt;HF-Schlüssel hinzufügen&lt;/h3&gt;
&lt;p&gt;Lassen Sie uns einen SSH-Schlüssel generieren und hinzufügen, den Sie in Hugging Face verwenden können:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/.ssh &amp;&amp; ssh-keygen&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn das Schlüsselpaar generiert ist, können Sie den öffentlichen Schlüssel im Terminalemulator anzeigen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cat id_rsa.pub&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie alle Informationen, die mit ssh-rsa beginnen und mit usergpu@gpuserver enden, wie im folgenden Screenshot gezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/907/original/sh_llama3_quick_start_3.png?1713533169&quot; alt=&quot;Copy RSA key&quot;&gt;
&lt;p&gt;Öffnen Sie einen Webbrowser, geben Sie &lt;a href=&quot;https://huggingface.co/&quot;&gt;https://huggingface.co/&lt;/a&gt; in die Adresszeile ein, und drücken Sie &lt;b translate=&quot;no&quot;&gt;Enter&lt;/b&gt;. Melden Sie sich bei Ihrem HF-Konto an und öffnen Sie die &lt;a href=&quot;https://huggingface.co/settings/profile&quot;&gt;Profileinstellungen&lt;/a&gt;. Wählen Sie dann &lt;b translate=&quot;no&quot;&gt;SSH and GPG Keys&lt;/b&gt; und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Add SSH Key&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/908/original/sh_llama3_quick_start_4.png?1713533229&quot; alt=&quot;Add SSH key&quot;&gt;
&lt;p&gt;Füllen Sie &lt;b translate=&quot;no&quot;&gt;Key name&lt;/b&gt; aus und fügen Sie den kopierten &lt;b translate=&quot;no&quot;&gt;SSH Public key&lt;/b&gt; aus dem Terminal ein. Speichern Sie den Schlüssel, indem Sie &lt;b translate=&quot;no&quot;&gt;Add key&lt;/b&gt; drücken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/909/original/sh_llama3_quick_start_5.png?1713533267&quot; alt=&quot;Paste the key&quot;&gt;
&lt;p&gt;Jetzt ist Ihr HF-Konto mit dem öffentlichen SSH-Schlüssel verknüpft. Der zweite Teil (privater Schlüssel) ist auf dem Server gespeichert. Der nächste Schritt ist die Installation einer speziellen Git-LFS-Erweiterung (Large File Storage), die für das Herunterladen großer Dateien wie Modelle neuronaler Netze verwendet wird.&lt;/p&gt;
&lt;h3&gt;Git LFS installieren&lt;/h3&gt;
&lt;p&gt;Als Nächstes müssen Sie eine spezielle Git LFS-Erweiterung (Large File Storage) installieren, die für das Herunterladen großer Dateien, wie z. B. Modelle neuronaler Netze, verwendet wird. Öffnen Sie Ihr Home-Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das Shell-Skript herunter und führen Sie es aus. Dieses Skript installiert ein neues Drittanbieter-Repository mit git-lfs:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun können Sie es mit dem Standard-Paketmanager installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get install git-lfs&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns git so konfigurieren, dass es unseren HF-Nickname verwendet:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.name &quot;John&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und mit dem HF-E-Mail-Konto verknüpft:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.email &quot;john.doe@example.com&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Download des Repositorys&lt;/h3&gt;
&lt;p&gt;Wir empfehlen, wenn möglich, eine lokale Festplatte zum Herunterladen und Speichern von Modellen zu verwenden. Mehr dazu erfahren Sie in unserem Leitfaden &lt;a href=&quot;https://www.leadergpu.de/articles/492-festplattenpartitionierung-unter-linux&quot;&gt;Festplattenpartitionierung in Linux&lt;/a&gt;. Für dieses Beispiel haben wir ein SSD-Laufwerk mit dem Mountpoint /mnt/fastdisk verbunden. Wir machen es zum Eigentum des Standardbenutzers:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo chown usergpu:usergpu /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Klonen Sie das ControlNet-Repository von HuggingFace. Zuvor installiertes Git-LFS ersetzt automatisch Zeiger durch echte Dateien:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone git@hf.co:lllyasviel/ControlNet-v1-1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In diesem Beispiel fügen wir der Stable Diffusion WebUI nur ein Modell hinzu. Sie können jedoch alle verfügbaren Modelle aus dem Repository (~18 GB) kopieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cp /mnt/fastdisk/ControlNet-v1-1/control_v11p_sd15_openpose.pth /home/usergpu/stable-diffusion-webui/models/ControlNet/&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 4. Generierungsprozess starten&lt;/h2&gt;
&lt;p&gt;Das derzeitige Modell ist recht einfach und liefert möglicherweise keine zufriedenstellenden Ergebnisse. Wir schlagen daher vor, es durch ein eigenes Modell zu ersetzen. Eine Anleitung dazu finden Sie in diesem Artikel: &lt;a href=&quot;https://www.leadergpu.de/articles/566-stable-diffusion-modelle-anpassungen-und-optionen&quot;&gt;Stabile Diffusionsmodelle: Anpassung und Optionen&lt;/a&gt;. Für dieses Beispiel haben wir &lt;a href=&quot;https://civitai.com/api/download/models/130072&quot;&gt;RealisticVision v6.0 B1&lt;/a&gt; heruntergeladen.&lt;/p&gt;
&lt;p&gt;Wenn Sie Ihr erstes Bild mit OpenPose erstellen möchten, öffnen Sie die Registerkarte &lt;b translate=&quot;no&quot;&gt;ControlNet&lt;/b&gt;, wählen Sie &lt;b translate=&quot;no&quot;&gt;OpenPose&lt;/b&gt;, markieren Sie &lt;b translate=&quot;no&quot;&gt;Enable&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;Allow Preview&lt;/b&gt;. Klicken Sie dann auf &lt;b translate=&quot;no&quot;&gt;Upload&lt;/b&gt;, um ein Bild mit der gewünschten Pose hinzuzufügen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/945/original/sh_stable_diffusion_what_is_controlnet_4.png?1713962881&quot; alt=&quot;Enable OpenPose and Preview&quot;&gt;
&lt;p&gt;Sie können das System auffordern, eine Posenvorschau zu erstellen, indem Sie auf die Schaltfläche mit dem Explosionssymbol klicken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/946/original/sh_stable_diffusion_what_is_controlnet_5.png?1713963007&quot; alt=&quot;Show preview&quot;&gt;
&lt;p&gt;Auf der linken Seite wird das Originalbild angezeigt. Rechts sehen Sie das &quot;Skelett&quot;, das die vom neuronalen Netzmodell erkannte Pose darstellt:&lt;/p&gt;
&lt;table border=&quot;0&quot;&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/947/original/sh_stable_diffusion_what_is_controlnet_6.png?1713963067&quot; alt=&quot;Dancing woman&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/948/original/sh_stable_diffusion_what_is_controlnet_7.png?1713963111&quot; alt=&quot;OpenPose skeleton&quot;&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Jetzt können Sie die Haupteingabeaufforderung eingeben, zum Beispiel &quot;&lt;b translate=&quot;no&quot;&gt;dancing bear, by Pixar&lt;/b&gt;&quot; oder &quot;&lt;b translate=&quot;no&quot;&gt;dancing fox, by Pixar&lt;/b&gt;&quot;, und auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Generate&lt;/b&gt; klicken. Nach ein paar Sekunden erhalten Sie ein Ergebnis wie dieses:&lt;/p&gt;
&lt;table border=&quot;0&quot;&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/949/original/sh_stable_diffusion_what_is_controlnet_8.png?1713963180&quot; alt=&quot;Dancing bear&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/950/original/sh_stable_diffusion_what_is_controlnet_9.png?1713963213&quot; alt=&quot;Dancing fox&quot;&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Das System versucht, anhand des &quot;Skeletts&quot; aus dem Originalbild ein neues Bild zu erstellen. In manchen Fällen ist die Pose nicht genau, aber das lässt sich leicht durch manuelle Bearbeitung des &quot;Skeletts&quot; korrigieren.&lt;/p&gt;
&lt;h2&gt;Schritt 5. Ändern der Pose&lt;/h2&gt;
&lt;p&gt;Auch wenn es wie Zauberei aussieht, ist das Modell nicht perfekt, und gelegentliche Fehler können sich auf das endgültige Bild auswirken. Um Probleme bei der Bilderstellung zu vermeiden, haben Sie die Möglichkeit, das &quot;Skelett&quot; manuell anzupassen, indem Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Edit&lt;/b&gt; klicken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/951/original/sh_stable_diffusion_what_is_controlnet_10.png?1713963246&quot; alt=&quot;Edit the skeleton&quot;&gt;
&lt;p&gt;Im mitgelieferten Editor können Sie die Pose einfach durch Ziehen und Ablegen anpassen oder unerwünschte Punkte mit einem Rechtsklick entfernen. Danach klicken Sie einfach auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Send pose to ControlNet&lt;/b&gt; und die neue Pose wird übernommen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/952/original/sh_stable_diffusion_what_is_controlnet_11.png?1713963279&quot; alt=&quot;Send pose to ControlNet&quot;&gt;
&lt;p&gt;Über OpenPose hinaus bietet ControlNet eine Vielzahl von Tools zur Anpassung und Perfektionierung Ihrer Ergebnisse. Darüber hinaus gewährleisten die von LeaderGPU bereitgestellten dedizierten Server einen schnellen und bequemen Prozess.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/592-stable-diffusion-lora-selfie&quot;&gt;Stable Diffusion: LoRA-Selfie
    &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/593-stable-diffusion-wiederholbare-gesichter-generieren&quot;&gt;Stable Diffusion: Wiederholbare Gesichter generieren&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/594-stable-diffusion-riffusion&quot;&gt;Stable Diffusion: Riffusion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/941/original/il_stable_diffusion_what_is_controlnet.png?1713962506"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 10:42:39 +0100</pubDate>
      <guid isPermaLink="false">591</guid>
      <dc:date>2025-01-21T10:42:39+01:00</dc:date>
    </item>
    <item>
      <title>Fooocus: Überdenken von SD und MJ</title>
      <link>https://www.leadergpu.de/catalog/590-fooocus-berdenken-von-sd-und-mj</link>
      <description>&lt;p&gt;Das Aufkommen von Stable Diffusion und MidJourney hat unser Verständnis für das Potenzial generativer neuronaler Netze revolutioniert. Diese Werkzeuge haben uns eine neue Perspektive auf den Prozess der Bilderzeugung und das Ausmaß, in dem wir ihn manipulieren können, eröffnet. Der primäre Ansatz besteht darin, dem System Hinweise auf das gewünschte Ergebnis zu geben. Im Wesentlichen heben wir drei wichtige Aspekte hervor: Objekt, Stil und Umgebung.&lt;/p&gt;
&lt;p&gt;Zusätzliche Aufforderungen, die spezifischere Anweisungen geben, wie z. B. die gewünschte Komposition, die Art der Kamera/Objektiv und die Farbgebung, sind ebenfalls wichtig, aber nicht unerlässlich. Je umfassender die Anweisungen sind, desto einfacher ist es für das neuronale Netz, sie zu verarbeiten. Im professionellen Bereich hat sich sogar die Rolle eines Souffleurs herausgebildet. Diese Rolle kann jedoch leicht durch die gleichen generativen neuronalen Netze ersetzt werden. Durch die Kombination von Bild- und Texterstellungsfähigkeiten können wir zusätzliche Prompts generieren, um ein optimales Ergebnis zu erzielen.&lt;/p&gt;
&lt;p&gt;Dies ist das grundlegende Konzept von Fooocus. Es integriert das XL Stable Diffusion Modell und einen GPT2-basierten Prompt-Generator, der Ihren einfachen Prompt bereichert und detailliert. Darüber hinaus ist Fooocus mit verschiedenen Verbesserungen und Erweiterungen ausgestattet. Diese Funktionen erleichtern die Erzeugung spektakulärer Bilder über eine einfache Schnittstelle, die keine komplexen Tools enthält. Lassen Sie uns in seine Funktionalität eintauchen und Fooocus auf einem LeaderGPU Dedicated Server installieren.&lt;/p&gt;
&lt;h2&gt;Voraussetzungen&lt;/h2&gt;
&lt;p&gt;Beginnen Sie mit den Installationsvoraussetzungen und starten Sie danach neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade &amp;&amp; sudo ubuntu-drivers autoinstall &amp;&amp; sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das Shell-Skript herunter, das Anaconda für die Verwaltung virtueller Umgebungen installiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Setzen Sie das Ausführungskennzeichen und geben Sie den Datenzugriff frei:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;chmod a+x Anaconda3-2023.09-0-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Installationsskript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./Anaconda3-2023.09-0-Linux-x86_64.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nachdem der Prozess abgeschlossen ist, empfehlen wir, die SSH-Sitzung zu trennen und die Portweiterleitung vorzubereiten. Sie müssen Port 7865 vom entfernten Server an eine lokale Loopback-Adresse weiterleiten, 127.0.0.1:7865. Weitere Informationen finden Sie in einem unserer früheren Leitfäden: &lt;a href=&quot;https://www.leadergpu.de/articles/597-stable-video-diffusion&quot;&gt;Stabile Video-Diffusion&lt;/a&gt;. Stellen Sie dann die Verbindung wieder her und fahren Sie mit dem Klonen des Projekt-Repositorys auf GitHub fort.&lt;/p&gt;
&lt;h2&gt;Fooocus installieren&lt;/h2&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/lllyasviel/Fooocus.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wechseln Sie in das Verzeichnis Fooocus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd Fooocus&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine virtuelle Umgebung mit Anaconda und der vom Projektautor vorbereiteten YAML-Konfiguration:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda env create -f environment.yaml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns unsere Basisumgebung in eine neu erstellte Umgebung ändern:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda activate fooocus&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der nächste Schritt ist die Installation der Python-Bibliotheken:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip install -r requirements_versions.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun ist alles bereit für den Start:&lt;/p&gt;
&lt;h2&gt;Fooocus starten&lt;/h2&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;python entry_with_update.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der erste Start kann einige Zeit in Anspruch nehmen, da die Anwendung alle für den Betrieb erforderlichen Dateien prüft und herunterlädt. Sie sollten in der Zwischenzeit eine Tasse Kaffee trinken. Sobald der Vorgang abgeschlossen ist, öffnen Sie Ihren Browser und geben Sie die folgende URL in die Adressleiste ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;http://127.0.0.1:7865&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie Ihre einfache Eingabeaufforderung ein und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Generate&lt;/b&gt;. Wenn Sie mehr Kontrolle wünschen, kreuzen Sie &lt;b translate=&quot;no&quot;&gt;Advanced&lt;/b&gt; an und wählen Sie die erforderlichen Optionen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/976/original/sh_fooocus_rethinking_of_sd_and_mj_1.png?1714481840&quot; alt=&quot;Fooocus WebUI&quot;&gt;
&lt;p&gt;Der eigentliche Zauber spielt sich hinter den Kulissen ab. In dem Moment, in dem Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Generate&lt;/b&gt; klicken, wird Ihre Eingabeaufforderung an das GPT2-basierte Sprachmodell übertragen. Dieses Modell wandelt Ihre kurze Eingabeaufforderung in eine Mischung aus elaborativen positiven und negativen Aufforderungen um. Diese Mischung wird anschließend in das Stable Diffusion XL-Modell eingegeben, das auf die Nachahmung des MidJourney-Stils abgestimmt ist. Auf diese Weise kann selbst eine kurze Aufforderung beeindruckende Ergebnisse erzielen.&lt;/p&gt;
&lt;p&gt;Natürlich gibt es keine Beschränkung für das Schreiben eigener Prompts. Nach mehreren Durchläufen wird jedoch deutlich, dass die generierten Inhalte auch ohne diese Einschränkung faszinierend und vielfältig bleiben.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/598-easy-diffusion-ui&quot;&gt;Easy Diffusion UI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/565-stable-diffusion-webui&quot;&gt;Stable Diffusion WebUI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/597-stable-video-diffusion&quot;&gt;Stable Video Diffusion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/975/original/il_fooocus_rethinking_of_sd_and_mj.png?1714481802"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 10:36:52 +0100</pubDate>
      <guid isPermaLink="false">590</guid>
      <dc:date>2025-01-21T10:36:52+01:00</dc:date>
    </item>
    <item>
      <title>Blender Remote-Rendering mit Flamenco</title>
      <link>https://www.leadergpu.de/catalog/588-blender-remote-rendering-mit-flamenco</link>
      <description>&lt;p&gt;Wenn das Rendern umfangreicher Szenen in &lt;a href=&quot;https://www.blender.org/&quot;&gt;Blender&lt;/a&gt; zu viel Zeit Ihres Teams in Anspruch nimmt, haben Sie zwei Möglichkeiten: Entweder Sie rüsten den Computer jedes Teammitglieds auf oder Sie lagern das Rendering an eine spezielle Farm aus. Viele Unternehmen bieten fertige Rendering-Lösungen an, aber wenn Sie die volle Kontrolle über die Infrastruktur benötigen, sind diese Lösungen möglicherweise nicht die zuverlässigste Option.&lt;/p&gt;
&lt;p&gt;Ein alternativer Ansatz könnte der Aufbau einer hybriden Infrastruktur sein. In diesem Fall würden Sie die Datenspeicherung und die Verwaltung der Rendering-Farm innerhalb Ihrer bestehenden Infrastruktur belassen. Das einzige Element, das sich außerhalb befinden würde, wären die gemieteten &lt;a href=&quot;https://www.leadergpu.com/&quot;&gt;GPU-Server&lt;/a&gt;, auf denen das Rendering durchgeführt würde.&lt;/p&gt;
&lt;p&gt;Im Allgemeinen sieht die Rendering-Farm-Infrastruktur für Blender wie folgt aus:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/888/original/sh_blender_remote_rendering_with_flamenco_1.jpg?1713174084&quot; alt=&quot;Basic components scheme&quot;&gt;
&lt;p&gt;Hier haben wir einen zentralen &lt;b translate=&quot;no&quot;&gt;Manager&lt;/b&gt; Knoten, der alle Prozesse organisiert. Er erhält Rendering-Aufgaben von Benutzern über einen bestimmten &lt;b translate=&quot;no&quot;&gt;Blender Add-on&lt;/b&gt; und verschiebt alle notwendigen Dateien zu &lt;b translate=&quot;no&quot;&gt;Shared Storage&lt;/b&gt;. Dann verteilt &lt;b translate=&quot;no&quot;&gt;Manager&lt;/b&gt; die Aufgaben an &lt;b translate=&quot;no&quot;&gt;Worker nodes&lt;/b&gt;. Diese erhalten einen Auftrag, der alle Informationen darüber enthält, wo der Worker Dateien zum Rendern finden kann und was mit den erhaltenen Ergebnissen zu tun ist. Um dieses Schema zu implementieren, können Sie eine völlig freie und quelloffene Anwendung namens &lt;a href=&quot;https://flamenco.blender.org/&quot;&gt;Flamenco&lt;/a&gt; verwenden. In diesem Leitfaden zeigen wir, wie Sie alle Knoten vorbereiten, insbesondere &lt;b translate=&quot;no&quot;&gt;Manager&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;Worker&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Für den Knoten &lt;b translate=&quot;no&quot;&gt;Storage&lt;/b&gt; gibt es keine besonderen Anforderungen. Er kann mit jedem Betriebssystem verwendet werden, das SMB/CIFS- oder NFS-Protokolle unterstützt. Die einzige Voraussetzung ist, dass das Speicherverzeichnis eingehängt und für das Betriebssystem zugänglich sein muss. In Ihrer Infrastruktur kann dies ein beliebiger gemeinsamer Ordner sein, der für alle Knoten zugänglich ist.&lt;/p&gt;
&lt;p&gt;Jeder Knoten hat unterschiedliche IP-Adressen, und der &lt;b translate=&quot;no&quot;&gt;Wireguard VPN&lt;/b&gt; Server wird ein zentraler Punkt sein, der sie zu einem L2-Netzwerk zusammenführt. Dieser Server, der sich an der Außengrenze befindet, ermöglicht es Ihnen, ohne Änderungen an der bestehenden NAT-Richtlinie zu arbeiten.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/889/original/sh_blender_remote_rendering_with_flamenco_2.jpg?1713174131&quot; alt=&quot;Virtual components scheme&quot;&gt;
&lt;p&gt;Für dieses Beispiel erstellen wir die folgende gemischte Konfiguration:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;10.0.0.1 - Wireguard VPN server&lt;/b&gt; (virtueller Server eines beliebigen Infrastrukturanbieters) mit einer externen IP;&lt;/li&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;10.0.0.2 - Worker node&lt;/b&gt; (dedizierter Server von LeaderGPU) mit einer externen IP;&lt;/li&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;10.0.0.3 - Manager node&lt;/b&gt; (virtueller Server im Büronetzwerk), der sich hinter NAT befindet;&lt;/li&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;10.0.0.4 - Storage node&lt;/b&gt; (virtueller Server im Büronetzwerk), der sich hinter NAT befindet;&lt;/li&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;10.0.0.5 - User node&lt;/b&gt; (Verbraucher-Laptop im Büronetz) hinter NAT.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Schritt 1. Wireguard&lt;/h2&gt;
&lt;h3&gt;VPN-Server&lt;/h3&gt;
&lt;p&gt;Sie können Wireguard manuell installieren und konfigurieren, indem Sie eine offizielle Anleitung und Beispiele verwenden. Es gibt jedoch eine einfachere Alternative: ein inoffizielles Skript von einem Softwareentwickler aus Paris (Stanislas alias &lt;a href=&quot;https://github.com/angristan&quot;&gt;angristan&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Laden Sie das Skript von GitHub herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;wget https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Machen Sie es ausführbar:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;sudo chmod +x wireguard-install.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ausführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;sudo ./wireguard-install.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Folgen Sie den Anweisungen und legen Sie den IP-Adressbereich &lt;b translate=&quot;no&quot;&gt;10.0.0.1/24&lt;/b&gt; fest. Das System wird Sie auffordern, sofort eine Konfigurationsdatei für den ersten Client zu erstellen. Laut Plan wird dieser Client der Arbeitsknoten mit dem Namen &lt;b translate=&quot;no&quot;&gt;Worker&lt;/b&gt; und der Adresse &lt;b translate=&quot;no&quot;&gt;10.0.0.2&lt;/b&gt; sein. Wenn das Skript abgeschlossen ist, erscheint eine Konfigurationsdatei im Stammverzeichnis: &lt;b translate=&quot;no&quot;&gt;/root/wg0-client-Worker.conf&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Führen Sie den folgenden Befehl aus, um diese Konfiguration anzuzeigen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;cat /home/usergpu/wg0-client-Worker.conf&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Interface]
PrivateKey = [CLIENT_PRIVATE_KEY]
Address = 10.0.0.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = [SERVER_PRIVATE_KEY]
PresharedKey = [SERVER_PRESHARED_KEY]
Endpoint = [IP_ADDRESS:PORT]
AllowedIPs = 10.0.0.0/24,::/0&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Installationsskript erneut aus, um einen weiteren Client zu erstellen. Fügen Sie auf diese Weise alle künftigen Clients hinzu, und überprüfen Sie abschließend, ob alle Konfigurationsdateien erstellt wurden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;cd ~/&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;ls -l | grep wg0&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;-rw-r--r-- 1 root    root      529 Jul 14 12:59 wg0-client-Manager.conf
-rw-r--r-- 1 root    root      529 Jul 14 12:59 wg0-client-Storage.conf
-rw-r--r-- 1 root    root      529 Jul 14 12:59 wg0-client-User.conf
-rw-r--r-- 1 root    root      529 Jul 14 12:58 wg0-client-Worker.conf&lt;/pre&gt;
&lt;h3&gt;VPN-Klienten&lt;/h3&gt;
&lt;p&gt;VPN-Clients umfassen alle Knoten, die mit einem einzigen Netzwerk verbunden sein müssen. In unserer Anleitung bezieht sich dies auf den Manager-Knoten, den Storage-Knoten, den Client-Knoten (bei Verwendung von Linux) und die Worker-Knoten. Wenn der VPN-Server auf einem Worker-Knoten läuft, muss er nicht als Client konfiguriert werden (dieser Schritt kann übersprungen werden).&lt;/p&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository und installieren Sie dann die Pakete Wireguard und CIFS-Unterstützung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y install wireguard cifs-utils&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erhöhen Sie die Rechte auf Superuser:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo -i&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das Wireguard-Konfigurationsverzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;cd /etc/wireguard&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie den Befehl &lt;b translate=&quot;no&quot;&gt;umask&lt;/b&gt; aus, so dass nur der Superuser Zugriff auf die Dateien in diesem Verzeichnis hat:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;umask 077&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erzeugen Sie einen privaten Schlüssel und speichern Sie ihn in einer Datei:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;wg genkey &gt; private-key&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erzeugen Sie einen öffentlichen Schlüssel mit dem privaten Schlüssel:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;wg pubkey &gt; public-key &lt; private-key&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine Konfigurationsdatei:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;nano /etc/wireguard/wg0.conf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie Ihre eigene, für diesen Client erstellte Konfiguration ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Interface]
PrivateKey = [CLIENT_PRIVATE_KEY]
Address = 10.0.0.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = [SERVER_PRIVATE_KEY]
PresharedKey = [SERVER_PRESHARED_KEY]
Endpoint = [SERVER_IP_ADDRESS:PORT]
AllowedIPs = 10.0.0.0/24,::/0
PersistentKeepalive = 1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vergessen Sie nicht, auf jedem Knoten, der sich hinter NAT befindet, die Option &lt;b translate=&quot;no&quot;&gt;PersistentKeepalive = 1&lt;/b&gt; hinzuzufügen (wobei 1 für 1 Sekunde steht). Sie können diesen Zeitraum experimentell wählen. Der von den Autoren von Wireguard empfohlene Wert ist 25. Speichern Sie die Datei und beenden Sie sie mit der Tastenkombination &lt;b translate=&quot;no&quot;&gt;CTRL + X&lt;/b&gt; und der Taste &lt;b translate=&quot;no&quot;&gt;Y&lt;/b&gt; zur Bestätigung.&lt;/p&gt;
&lt;p&gt;Wenn Sie den Internetverkehr durchleiten möchten, setzen Sie &lt;b translate=&quot;no&quot;&gt;AllowedIPs&lt;/b&gt; auf &lt;b translate=&quot;no&quot;&gt;0.0.0.0/0,::/0&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Melden Sie sich dann mit dem Root-Konto ab:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;exit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie die Verbindung mit systemctl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl start wg-quick@wg0.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Prüfen Sie, ob alles in Ordnung ist und der Dienst erfolgreich gestartet wurde:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl status wg-quick@wg0.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2023-10-23 09:47:53 UTC; 1h 45min ago
  Docs: man:wg-quick(8)
        man:wg(8)
        https://www.wireguard.com/
        https://www.wireguard.com/quickstart/
        https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
        https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
Process: 4128 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
Main PID: 4128 (code=exited, status=0/SUCCESS)
  CPU: 76ms&lt;/pre&gt;
&lt;p&gt;Wenn Sie unter Ubuntu 22.04 eine Fehlermeldung wie &quot;resolvconf: command not found&quot; erhalten, erstellen Sie einfach einen Symbol-Link:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktivieren Sie den neuen Dienst, damit er sich beim Booten des Betriebssystems automatisch verbindet:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl enable wg-quick@wg0.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jetzt können Sie die Konnektivität überprüfen, indem Sie Echo-Pakete senden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;ping 10.0.0.1&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=145 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=72.0 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=72.0 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=72.2 ms
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 71.981/90.230/144.750/31.476 ms&lt;/pre&gt;
&lt;h2&gt;Schritt 2. NAS-Knoten&lt;/h2&gt;
&lt;p&gt;Verbinden Sie sich mit dem VPN-Server unter Verwendung der Anleitung aus Schritt 1. Installieren Sie dann die Server- und Client-Samba-Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install samba samba-client&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sichern Sie Ihre Standardkonfiguration:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie ein Verzeichnis, das als Freigabe verwendet werden soll:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo mkdir /mnt/share&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine neue Benutzergruppe, die Zugriff auf die neue Freigabe erhalten soll:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo groupadd smbusers&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie einen bestehenden Benutzer zu der erstellten Gruppe hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo usermod -aG smbusers user&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Legen Sie ein Passwort für diesen Benutzer fest. Dieser Schritt ist notwendig, da das Systempasswort und das Samba-Passwort unterschiedliche Entitäten sind:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo smbpasswd -a $USER&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Entfernen Sie die Standardkonfiguration:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo rm /etc/samba/smb.conf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und erstellen Sie eine neue:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/samba/smb.conf&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[private]
path = /mnt/share
valid users = @smbusers
guest ok = no
browsable = yes
writable = yes&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und testen Sie die neuen Parameter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;testparm -s&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie beide Samba-Dienste neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo service smbd restart&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo service nmbd restart&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie schließlich die Erlaubnis, den Ordner freizugeben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo chown user:smbusers /mnt/share&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 3. Verbindung mit dem Samba-Client&lt;/h2&gt;
&lt;p&gt;Alle Knoten in Flamenco verwenden ein gemeinsames Verzeichnis, das sich unter /mnt/flamenco befindet. Sie müssen dieses Verzeichnis auf jedem Knoten einhängen, bevor Sie die Skripte flamenco-client oder flamenco-manager ausführen. In diesem Beispiel verwenden wir einen auf LeaderGPU gehosteten Arbeitsknoten mit dem Benutzernamen &lt;b translate=&quot;no&quot;&gt;usergpu&lt;/b&gt;. Bitte ersetzen Sie diese Angaben durch Ihre eigenen, falls sie abweichen.&lt;/p&gt;
&lt;p&gt;Erstellen Sie eine versteckte Datei, in der Sie die Anmeldeinformationen für die SMB-Freigabe speichern können:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano /home/usergpu/.smbcredentials&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie diese beiden Zeichenfolgen ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;username=user # your Samba username
password=password # your Samba password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie diese Datei und beenden Sie sie. Sichern Sie dann diese Datei, indem Sie die Zugriffsrechte ändern:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo chmod 600 /home/usergpu/.smbcredentials&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie ein neues Verzeichnis, das als Einhängepunkt für den entfernten Speicher verwendet werden kann:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo mkdir /mnt/flamenco&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und machen Sie den Benutzer zum Eigentümer dieses Verzeichnisses:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo chown usergpu:users /mnt/flamenco&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das Einzige, was noch fehlt, ist, dass das Netzwerkverzeichnis automatisch eingehängt wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/systemd/system/mnt-flamenco.mount&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Unit]
Description=Mount Remote Storage
[Mount]
What=//10.0.0.4/private
Where=/mnt/flamenco
Type=cifs
Options=mfsymlinks,credentials=/home/usergpu/.smbcredentials,uid=usergpu,gid=users
[Install]
WantedBy=multi-user.target&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie Ihrer VPN-Konfiguration im Abschnitt &lt;b translate=&quot;no&quot;&gt;[Interface]&lt;/b&gt; zwei Zeilen hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo -i&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-root&quot;&gt;nano /etc/wireguard/wg0.conf
&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;…
PostUp = ping 10.0.0.4 -c 4 &amp;&amp; systemctl start mnt-flamenco.mount
PostDown = systemctl stop mnt-flamenco.mount
…&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen Sie, ob die Dienste geladen sind und das gemeinsame Verzeichnis erfolgreich gemountet wurde:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;df -h&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;Filesystem          Size  Used Avail Use% Mounted on
tmpfs                35G  3.3M   35G   1% /run
/dev/sda2            99G   18G   77G  19% /
tmpfs               174G     0  174G   0% /dev/shm
tmpfs               5.0M     0  5.0M   0% /run/lock
tmpfs                35G  8.0K   35G   1% /run/user/1000
//10.0.0.4/private   40G  9.0G   31G  23% /mnt/flamenco&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 4. Manager-Knoten&lt;/h2&gt;
&lt;p&gt;Richten Sie eine VPN-Verbindung anhand der Anleitung aus Schritt 1 ein. Beenden Sie den VPN-Dienst, bevor Sie fortfahren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl stop wg-quick@wg0.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bereiten Sie sich vor. Automatisches Einbinden der für das CIFS-Protokoll erforderlichen Dienstprogramme:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install cifs-utils&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der nächste wichtige Schritt ist die Installation von Blender. Sie können dazu den standardmäßigen APT-Paketmanager verwenden, aber damit wird höchstwahrscheinlich eine der älteren Versionen installiert (weniger als v3.6.4). Lassen Sie uns Snap verwenden, um die neueste Version zu installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo snap install blender --classic&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen Sie die installierte Version mit dem folgenden Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;blender --version&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;Blender 4.4.3
build date: 2025-04-29
build time: 15:12:13
build commit date: 2025-04-29
build commit time: 14:09
build hash: 802179c51ccc
build branch: blender-v4.4-release
build platform: Linux
build type: Release
…&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie eine Fehlermeldung erhalten, die auf fehlende Bibliotheken hinweist, installieren Sie diese einfach. Alle diese Bibliotheken sind im XOrg-Paket enthalten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install xorg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie die Anwendung herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://flamenco.blender.org/downloads/flamenco-3.7-linux-amd64.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Entpacken Sie das heruntergeladene Archiv:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;tar xvfz flamenco-3.7-linux-amd64.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wechseln Sie in das erstellte Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd flamenco-3.7-linux-amd64/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und starten Sie Flamenco zum ersten Mal:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./flamenco-manager&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie die folgende Adresse in Ihrem Web-Browser: &lt;a href=&quot;http://10.0.0.3:8080/&quot;&gt;http://10.0.0.3:8080/&lt;/a&gt;. Klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Let&#39;s go&lt;/b&gt;. Geben Sie &lt;b translate=&quot;no&quot;&gt;/mnt/flamenco&lt;/b&gt; in das entsprechende Feld ein, und klicken Sie dann auf &lt;b translate=&quot;no&quot;&gt;Next&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/890/original/sh_blender_remote_rendering_with_flamenco_3.png?1713174175&quot; alt=&quot;Shared storage setup&quot;&gt;
&lt;p&gt;Flamenco wird versuchen, die ausführbare Datei von Blender zu finden. Wenn Sie Blender von Snap aus installiert haben, wird der Pfad &lt;b translate=&quot;no&quot;&gt;/snap/bin/blender&lt;/b&gt; sein. Überprüfen Sie diesen Punkt und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Next&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/891/original/sh_blender_remote_rendering_with_flamenco_4.png?1713174210&quot; alt=&quot;PATH environment setup&quot;&gt;
&lt;p&gt;Überprüfen Sie die Zusammenfassung und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Confirm&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/892/original/sh_blender_remote_rendering_with_flamenco_5.png?1713174240&quot; alt=&quot;Check summary settings&quot;&gt;
&lt;p&gt;Kehren Sie zur SSH-Sitzung zurück und verwenden Sie die Tastenkombination &lt;b translate=&quot;no&quot;&gt;Ctrl + C&lt;/b&gt;, um die Anwendung zu unterbrechen. Beim ersten Start wird die Konfigurationsdatei &lt;b translate=&quot;no&quot;&gt;flamenco-manager.yaml&lt;/b&gt; erzeugt. Fügen wir einige Optionen in den Abschnitten &lt;b translate=&quot;no&quot;&gt;variables&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;blenderArgs&lt;/b&gt; hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano flamenco-manager.yaml&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;# Configuration file for Flamenco.
# For an explanation of the fields, refer to flamenco-manager-example.yaml
#
# NOTE: this file will be overwritten by Flamenco Manager&#39;s web-based configuration system.
#
# This file was written on 2023-10-17 12:41:28 +00:00 by Flamenco 3.7
_meta:
  version: 3
manager_name: Flamenco Manager
database: flamenco-manager.sqlite
listen: :8080
autodiscoverable: true
local_manager_storage_path: ./flamenco-manager-storage
shared_storage_path: /mnt/flamenco
shaman:
  enabled: true
  garbageCollect:
    period: 24h0m0s
    maxAge: 744h0m0s
    extraCheckoutPaths: []
task_timeout: 10m0s
worker_timeout: 1m0s
blocklist_threshold: 3
task_fail_after_softfail_count: 3
variables:
  blender:
    values:
    - platform: linux
      value: blender
    - platform: windows
      value: blender
    - platform: darwin
      value: blender
  storage:
    values:
    is_twoway: true
    values:
    - platform: linux
      value: /mnt/flamenco
    - platform: windows
      value: Z:\
    - platform: darwin
      value: /Volumes/shared/flamenco
  blenderArgs:
    values:
    - platform: all
      value: -b -y -E CYCLES -P gpurender.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der erste zusätzliche Block beschreibt zusätzliche &lt;a href=&quot;https://flamenco.blender.org/usage/variables/multi-platform/&quot;&gt;Two-way-Variablen&lt;/a&gt;, die für Multiplattform-Farmen benötigt werden. Damit wird das Hauptproblem mit Schrägstrichen und Pfaden gelöst. Unter Linux verwenden wir das Schrägstrich-Symbol (/) als Trennzeichen, aber unter Windows verwenden wir das Backslash-Symbol (\). Hier erstellen wir die Ersetzungsregel für alle verfügbaren Alternativen: Linux, Windows und macOS (&lt;a href=&quot;https://en.wikipedia.org/wiki/Darwin_(operating_system)&quot;&gt;Darwin&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Wenn Sie eine Netzwerkfreigabe unter Windows einbinden, müssen Sie einen Laufwerksbuchstaben auswählen. Zum Beispiel wird unser &lt;b translate=&quot;no&quot;&gt;Storage&lt;/b&gt; mit dem Buchstaben &lt;b translate=&quot;no&quot;&gt;Z:&lt;/b&gt; gemountet. Die Ersetzungsregel teilt dem System mit, dass für die Windows-Plattform der Pfad &lt;b translate=&quot;no&quot;&gt;/mnt/flamenco&lt;/b&gt; unter &lt;b translate=&quot;no&quot;&gt;Z:\&lt;/b&gt; zu finden sein wird. Für macOS lautet dieser Pfad &lt;b translate=&quot;no&quot;&gt;/Volumes/shared/flamenco&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Sehen Sie sich den zweiten hinzugefügten Block an. Dieser weist Blender an, die &lt;a href=&quot;https://www.cycles-renderer.org/&quot;&gt;Cycles-Rendering-Engine&lt;/a&gt; zu verwenden und ruft ein einfaches Python-Skript, &lt;b translate=&quot;no&quot;&gt;gpurender.py&lt;/b&gt;, auf, wenn Blender ausgeführt wird. Dies ist ein einfacher Trick, um die GPU anstelle der CPU zu verwenden. Es gibt keine Standardoption, um dies direkt zu tun. Sie können nicht &lt;b translate=&quot;no&quot;&gt;blender --use-gpu&lt;/b&gt; oder etwas Ähnliches aufrufen. Sie können jedoch jedes externe Python-Skript mit der Option &lt;b translate=&quot;no&quot;&gt;-P&lt;/b&gt; aufrufen. Dieser Befehl weist &lt;b translate=&quot;no&quot;&gt;Worker&lt;/b&gt; an, ein Skript im lokalen Verzeichnis zu suchen und es auszuführen, wenn der zugewiesene Job die ausführbare Datei von Blender aufruft.&lt;/p&gt;
&lt;p&gt;Jetzt können wir die Kontrolle über die Anwendung an das &lt;a href=&quot;https://systemd.io/&quot;&gt;systemd&lt;/a&gt; init-Subsystem delegieren. Informieren wir das System über den Ort des Arbeitsverzeichnisses, die ausführbare Datei und die zum Starten erforderlichen Benutzerrechte. Erstellen Sie eine neue Datei:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/systemd/system/flamenco-manager.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Füllen Sie sie mit den folgenden Zeichenketten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Unit]
Description=Flamenco Manager service
[Service]
User=user
WorkingDirectory=/home/user/flamenco-3.7-linux-amd64
ExecStart=/home/user/flamenco-3.7-linux-amd64/flamenco-manager
Restart=always
[Install]
WantedBy=multi-user.target&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und beenden Sie den nano-Texteditor.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl daemon-reload&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl start flamenco-manager.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl status flamenco-manager.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;● flamenco-manager.service - Flamenco Manager service
Loaded: loaded (/etc/systemd/system/flamenco-manager.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-17 11:03:50 UTC; 7s ago
Main PID: 3059 (flamenco-manage)
 Tasks: 7 (limit: 4558)
  Memory: 28.6M
     CPU: 240ms
CGroup: /system.slice/flamenco-manager.service
        └─3059 /home/user/flamenco-3.7-linux-amd64/flamenco-manager&lt;/pre&gt;
&lt;p&gt;Aktivieren Sie den automatischen Start beim Hochfahren des Systems:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl enable flamenco-manager.service&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 5. Arbeiterknoten&lt;/h2&gt;
&lt;p&gt;Stellen Sie eine Verbindung zum VPN-Server her, indem Sie die Anleitung aus Schritt 1 verwenden und die Freigabe aus Schritt 3 einhängen. Beenden Sie den VPN-Dienst, bevor Sie fortfahren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo snap install blender --classic&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Moderne *.blend-Dateien werden mit dem Zstandard-Algorithmus komprimiert. Um Fehler zu vermeiden, ist es wichtig, diesen Algorithmus zu unterstützen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install python3-zstd&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie die Anwendung herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://flamenco.blender.org/downloads/flamenco-3.7-linux-amd64.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Entpacken Sie das heruntergeladene Archiv:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;tar xvfz flamenco-3.7-linux-amd64.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Navigieren Sie zu dem erstellten Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd flamenco-3.7-linux-amd64/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie ein zusätzliches Skript, das das GPU-Rendering aktiviert, wenn Flamenco-Jobs ausgeführt werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano gpurender.py&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;import bpy
def enable_gpus(device_type, use_cpus=False):
    preferences = bpy.context.preferences
    cycles_preferences = preferences.addons[&quot;cycles&quot;].preferences
    cycles_preferences.refresh_devices()
    devices = cycles_preferences.devices
    if not devices:
        raise RuntimeError(&quot;Unsupported device type&quot;)
    activated_gpus = []
    for device in devices:
        if device.type == &quot;CPU&quot;:
            device.use = use_cpus
        else:
            device.use = True
            activated_gpus.append(device.name)
            print(&#39;activated gpu&#39;, device.name)
    cycles_preferences.compute_device_type = device_type
    bpy.context.scene.cycles.device = &quot;GPU&quot;
    return activated_gpus
enable_gpus(&quot;CUDA&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und beenden Sie sie. Erstellen Sie dann einen separaten Dienst, um Flamenco über systemd auszuführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/systemd/system/flamenco-worker.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Unit]
Description=Flamenco Worker service
[Service]
User=usergpu
WorkingDirectory=/home/usergpu/flamenco-3.7-linux-amd64
ExecStart=/home/usergpu/flamenco-3.7-linux-amd64/flamenco-worker
Restart=always
[Install]
WantedBy=multi-user.target&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie die Konfiguration neu und starten Sie den neuen Dienst:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl daemon-reload&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl start flamenco-worker.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl status flamenco-worker.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;● flamenco-worker.service - Flamenco Worker service
Loaded: loaded (/etc/systemd/system/flamenco-worker.service; enabled; preset: enabled)
Active: active (running) since Tue 2023-10-17 13:56:18 EEST; 47s ago
Main PID: 636 (flamenco-worker)
 Tasks: 5 (limit: 23678)
Memory: 173.9M
   CPU: 302ms
CGroup: /system.slice/flamenco-worker.service
        └─636 /home/user/flamenco-3.7-linux-amd64/flamenco-worker&lt;/pre&gt;
&lt;p&gt;Aktivieren Sie den automatischen Start beim Hochfahren des Systems:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl enable flamenco-worker.service&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 6. Benutzerknoten&lt;/h2&gt;
&lt;p&gt;Der Benutzerknoten kann mit jedem Betriebssystem verwaltet werden. In dieser Anleitung zeigen wir, wie man einen Knoten mit Windows 11 und 4 notwendigen Komponenten einrichtet:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;VPN-Verbindung&lt;/li&gt;
  &lt;li&gt;Gemountetes Remote-Verzeichnis&lt;/li&gt;
  &lt;li&gt;Blender installiert&lt;/li&gt;
  &lt;li&gt;Flamenco-Zusatzmodul&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Laden Sie Wireguard von der &lt;a href=&quot;https://download.wireguard.com/windows-client/wireguard-installer.exe&quot;&gt;offiziellen Website&lt;/a&gt; herunter und installieren Sie es. Erstellen Sie eine neue Textdatei und fügen Sie die Konfiguration ein, die in Schritt 1 für den Client erstellt wurde. Benennen Sie die Datei in &lt;b translate=&quot;no&quot;&gt;flamenco.conf&lt;/b&gt; um und fügen Sie sie in Wireguard über die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Add tunnel&lt;/b&gt; hinzu:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/893/original/sh_blender_remote_rendering_with_flamenco_6.png?1713174282&quot; alt=&quot;Wireguard Add Tunnel&quot;&gt;
&lt;p&gt;Stellen Sie eine Verbindung zu Ihrem Server her, indem Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Activate&lt;/b&gt; klicken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/894/original/sh_blender_remote_rendering_with_flamenco_7.png?1713174312&quot; alt=&quot;Activate the tunnel&quot;&gt;
&lt;p&gt;Mounten wir ein entferntes Verzeichnis. Klicken Sie mit der rechten Maustaste auf &lt;b translate=&quot;no&quot;&gt;This PC&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Map network drive…&lt;/b&gt;&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/895/original/sh_blender_remote_rendering_with_flamenco_8.png?1713174340&quot; alt=&quot;Mount the remote directory&quot;&gt;
&lt;p&gt;Wählen Sie &lt;b translate=&quot;no&quot;&gt;Z:&lt;/b&gt; als Laufwerksbuchstaben, geben Sie die Adresse der Samba-Freigabe &lt;b translate=&quot;no&quot;&gt;\\10.0.0.4\private&lt;/b&gt; ein und vergessen Sie nicht, &lt;b translate=&quot;no&quot;&gt;Connect using different credentials&lt;/b&gt; anzukreuzen. Klicken Sie dann auf &lt;b translate=&quot;no&quot;&gt;Finish&lt;/b&gt;. Das System fordert Sie auf, einen Benutzernamen und ein Passwort für die Freigabe einzugeben. Daraufhin wird das Netzwerkverzeichnis als Laufwerk Z: eingebunden.&lt;/p&gt;
&lt;p&gt;Laden Sie Blender von der &lt;a href=&quot;https://www.blender.org/download/&quot;&gt;offiziellen Website&lt;/a&gt; herunter und installieren Sie es. Öffnen Sie dann die URL &lt;a href=&quot;http://10.0.0.3:8080/flamenco3-addon.zip&quot;&gt;http://10.0.0.3:8080/flamenco3-addon.zip&lt;/a&gt; und installieren Sie das Flamenco Add-on. Aktivieren Sie es in den Einstellungen: &lt;b translate=&quot;no&quot;&gt;Edit &gt; Preferences &gt; Add-ons&lt;/b&gt;. Markieren Sie &lt;b translate=&quot;no&quot;&gt;System: Flamenco 3&lt;/b&gt;, geben Sie die Manager-URL &lt;a href=&quot;http://10.0.0.3:8080&quot;&gt;http://10.0.0.3:8080&lt;/a&gt; ein und klicken Sie auf die Schaltfläche Aktualisieren. Das System wird sich mit dem Manager-Knoten verbinden und die Speichereinstellungen automatisch laden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/896/original/sh_blender_remote_rendering_with_flamenco_9.png?1713174378&quot; alt=&quot;Enable Flamenco add-on&quot;&gt;
&lt;p&gt;Öffnen Sie die Datei, die Sie rendern möchten. Wählen Sie auf der Registerkarte &lt;b translate=&quot;no&quot;&gt;Scene&lt;/b&gt; die Option &lt;b translate=&quot;no&quot;&gt;Cycles&lt;/b&gt; aus der Dropdown-Liste Render &lt;b translate=&quot;no&quot;&gt;Engine&lt;/b&gt;. Vergessen Sie nicht, die Datei zu speichern, da diese Einstellungen direkt in der *.blend-Datei gespeichert werden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/897/original/sh_blender_remote_rendering_with_flamenco_10.png?1713174408&quot; alt=&quot;Select Render Engine&quot;&gt;
&lt;p&gt;Scrollen Sie nach unten und suchen Sie den Abschnitt &lt;b translate=&quot;no&quot;&gt;Flamenco 3&lt;/b&gt;. Klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Fetch job types&lt;/b&gt;, um eine Liste der verfügbaren Typen anzuzeigen. Wählen Sie &lt;b translate=&quot;no&quot;&gt;Simple Blender Render&lt;/b&gt; aus der Dropdown-Liste und legen Sie weitere Optionen fest, z. B. die Anzahl der Frames, die Chunk-Größe und den Ausgabeordner. Klicken Sie schließlich auf &lt;b translate=&quot;no&quot;&gt;Submit to Flamenco&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/898/original/sh_blender_remote_rendering_with_flamenco_11.png?1713174432
&quot; alt=&quot;Set rendering parameters&quot;&gt;
&lt;p&gt;Das Flamenco-Add-on erstellt einen neuen Auftrag und lädt eine Blend-Datei in den gemeinsamen Speicher hoch. Das System übergibt den Auftrag an einen verfügbaren Worker und startet den Rendering-Prozess:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/899/original/sh_blender_remote_rendering_with_flamenco_12.png?1713174462&quot; alt=&quot;Check added rendering job&quot;&gt;
&lt;p&gt;Wenn Sie die Auslastung der GPUs mit nvtop oder ähnlichen Programmen überprüfen, zeigt dies, dass alle GPUs Rechenaufgaben haben:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/900/original/sh_blender_remote_rendering_with_flamenco_13.png?1713174495&quot; alt=&quot;Check GPU load&quot;&gt;
&lt;p&gt;Sie finden das Ergebnis in einem Verzeichnis, das Sie im vorherigen Schritt ausgewählt haben. Beispiel &lt;a href=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/901/original/sh_blender_remote_rendering_with_flamenco_14.gif?1713175121&quot;&gt;hier&lt;/a&gt; (&lt;a href=&quot;https://www.blender.org/download/demo-files/&quot;&gt;Ripple Dreams&lt;/a&gt; von &lt;a href=&quot;https://twitter.com/redjam_9&quot;&gt;James Redmond&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/586-photogrammetrie-mit-meshroom&quot;&gt;Photogrammetrie mit Meshroom&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/590-fooocus-berdenken-von-sd-und-mj&quot;&gt;Fooocus: Überdenken von SD und MJ&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/565-stable-diffusion-webui&quot;&gt;Stable Diffusion WebUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/888/original/sh_blender_remote_rendering_with_flamenco_1.jpg?1713174084"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 09:47:24 +0100</pubDate>
      <guid isPermaLink="false">588</guid>
      <dc:date>2025-01-21T09:47:24+01:00</dc:date>
    </item>
    <item>
      <title>Photogrammetrie mit Meshroom</title>
      <link>https://www.leadergpu.de/catalog/586-photogrammetrie-mit-meshroom</link>
      <description>&lt;p&gt;Photogrammetrie ist eine Methode zur Umwandlung physischer Objekte in dreidimensionale digitale Modelle, die mit 3D-Software bearbeitet werden können. Für diesen Prozess werden in der Regel spezielle Geräte, so genannte 3D-Scanner, verwendet, die es in zwei Haupttypen gibt: optische und Laser-Scanner.&lt;/p&gt;
&lt;p&gt;Optische Scanner verwenden häufig eine oder mehrere Digitalkameras und eine spezielle Beleuchtung, um das Objekt während des Scannens gleichmäßig zu beleuchten. Dies ermöglicht die Erstellung eines 3D-Modells. Laserscanner hingegen verwenden Laserstrahlen. Diese Geräte senden mehrere Laserstrahlen aus und messen die Zeit, die jeder Strahl braucht, um vom Objekt zurück zu prallen. Anhand dieser Daten und der Informationen von Positionssensoren berechnet der Scanner die Entfernung zu jedem Punkt des Objekts. So entsteht eine &quot;Punktwolke&quot;, die die Grundlage für das 3D-Modell bildet.&lt;/p&gt;
&lt;h3&gt;Punktwolke&lt;/h3&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/050/original/sh_photogrammetry_with_meshroom_1.png?1724833519&quot; alt=&quot;Points cloud rabbit&quot;&gt;
&lt;p&gt;Um das zukünftige Gerüst eines Objekts zu erstellen, muss das System die Koordinaten jedes Scheitelpunkts im dreidimensionalen Raum kennen. Die Menge der Scheitelpunkte wird als Punktwolke bezeichnet. Je mehr Scheitelpunkte es gibt, desto detaillierter wird das Objekt sein. Die Erstellung einer Punktwolke ist der erste und einer der wichtigsten Schritte bei der Erstellung eines 3D-Modells aus Fotos.&lt;/p&gt;
&lt;p&gt;Es ist wichtig zu beachten, dass jeder Scheitelpunkt in der Punktwolke zunächst nicht mit anderen Scheitelpunkten verbunden ist. Dies ermöglicht eine einfache Filterung: die notwendigen Punkte werden beibehalten und der Rest wird entfernt, bevor das Netz des Objekts neu erstellt wird.&lt;/p&gt;
&lt;h3&gt;Mesh-Objekte&lt;/h3&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/051/original/sh_photogrammetry_with_meshroom_2.png?1724833553&quot; alt=&quot;Mesh object rabbit&quot;&gt;
&lt;p&gt;Ein Mesh-Objekt ist eine Art von 3D-Modell, das aus dreieckigen geometrischen Primitiven besteht, die oft als Meshes oder Polymeshes bezeichnet werden. Sobald Objektpunkte gebildet sind, kann die Anwendung unabhängig dreieckige Primitive aus ihnen zusammensetzen. Durch Verbinden dieser Primitive lässt sich ein 3D-Modell mit nahezu beliebiger Form erstellen. In diesem Stadium hat das Modell noch keine Farbe und bleibt unbemalt.&lt;/p&gt;
&lt;p&gt;Die anschließende Texturierungsphase behebt dieses Problem.&lt;/p&gt;
&lt;h3&gt;Texturierung&lt;/h3&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/052/original/sh_photogrammetry_with_meshroom_3.png?1724833589&quot; alt=&quot;Textured rabbit&quot;&gt;
&lt;p&gt;In der letzten Phase wird die aus den Fotos extrahierte Bildtextur auf das vorbereitete Netzobjekt aufgetragen. Die Qualität der aufgenommenen Fotos und ihre Auflösung spielen hier eine wichtige Rolle. Ist sie niedrig, wird das Endergebnis nicht optimal aussehen. Wenn jedoch eine ausreichende Anzahl von Fotos in guter Qualität aufgenommen wurde, erhalten Sie am Ende ein vollständig fertiges 3D-Modell eines realen Objekts. Im Folgenden geben wir einige nützliche Tipps zur Vorbereitung der Originalfotos.&lt;/p&gt;
&lt;h2&gt;Kameraeinstellungen&lt;/h2&gt;
&lt;p&gt;Um Enttäuschungen bei Ihren ersten Versuchen, ein 3D-Modell aus Fotos zu erstellen, zu vermeiden, sollten Sie diese einfachen Grundregeln beachten. Jede dieser Regeln hilft Ihnen, Probleme zu vermeiden, die normalerweise bei der Erstellung von Mesh-Objekten auftreten.&lt;/p&gt;
&lt;p&gt;Erstens: Verlassen Sie sich nicht auf die automatischen Einstellungen Ihrer Digitalkamera. Moderne Kameras versuchen, vier wichtige Parameter unabhängig voneinander auszugleichen:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;ISO,&lt;/li&gt;
    &lt;li&gt;Weißabgleich,    &lt;/li&gt;
    &lt;li&gt;Belichtungszeit,&lt;/li&gt;
    &lt;li&gt;Blende.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Im Automatikmodus können selbst geringfügige Änderungen der äußeren Bedingungen dazu führen, dass diese Einstellungen von Bild zu Bild variieren. Diese Abweichungen können zu spürbaren Unstimmigkeiten während der Texturierungsphase führen.&lt;/p&gt;
&lt;p&gt;Um die Parameter über alle Bilder hinweg konsistent zu halten, verwenden Sie den Modus &lt;b translate=&quot;no&quot;&gt;Manual&lt;/b&gt; (M). Die Blende ist hier eine entscheidende Einstellung. Je nach Objektiv sollten Sie eine Position anstreben, in der die Blende fast geschlossen ist. So erreichen Sie eine maximale Schärfentiefe: Je weniger offen die Blende ist, desto besser. Vermeiden Sie jedoch extreme Werte. Wenn Ihr Objektiv bis auf &lt;b translate=&quot;no&quot;&gt;f/22&lt;/b&gt; geschlossen werden kann, erzielen Sie gute Ergebnisse mit Werten zwischen &lt;b translate=&quot;no&quot;&gt;f/11&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;f/20&lt;/b&gt;.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/053/original/sh_photogrammetry_with_meshroom_4.png?1724833619&quot; alt=&quot;Makarios aperture difference&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;sup&gt;&lt;i&gt;Links f/11, rechts f/22&lt;/i&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Wenn Sie die Blende schließen, entsteht jedoch ein weiteres Problem: zu wenig Licht. Dem kann auf zwei Arten begegnet werden: durch Erhöhung der ISO-Empfindlichkeit oder durch Verlängerung der Belichtungszeit. Beide Methoden wirken sich auf das Endergebnis aus, wenn auch auf unterschiedliche Weise. Eine Erhöhung der ISO-Empfindlichkeit auf 6400 führt zu digitalem Rauschen im Bild, daher ist es am besten, die niedrigstmöglichen Werte zu verwenden. Für nahezu optimale Ergebnisse ist es sinnvoll, den ISO-Wert auf 100 einzustellen. Allerdings bleibt das Problem der unzureichenden Beleuchtung bestehen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/054/original/sh_photogrammetry_with_meshroom_5.png?1724833649&quot; alt=&quot;Makarios ISO difference&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;sup&gt;&lt;i&gt;Links ISO 100, rechts ISO 6400&lt;/i&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Die effektivste Methode, um die Lichtmenge zu erhöhen, die bei schlechten Lichtverhältnissen auf den Kamerasensor trifft, ist die Verlängerung der Verschlusszeit. Je länger die Blende geöffnet bleibt, desto mehr Photonen treffen auf den Sensor, was zu einer besseren Bildqualität führt. Dieser Ansatz birgt jedoch ein Problem: Ohne Stativ kann eine Verschlusszeit von 1/50 Sekunde oder länger das Bild verwackeln. Die Verwendung eines Stativs beseitigt dieses Problem.&lt;/p&gt;
&lt;p&gt;Der Weißabgleich ist der letzte entscheidende Parameter. Es ist wichtig, die automatische Einstellung zu deaktivieren und entweder ein voreingestelltes Profil (wie &quot;Sonnentag&quot;) oder einen benutzerdefinierten Wert in Kelvin zu wählen. Eine gängige Einstellung ist zum Beispiel 5200K. Niedrigere Werte verschieben den Farbton in Richtung Gelb, während höhere Werte in Richtung Blau tendieren. Um zeitaufwändige Farbkorrekturen in der Nachbearbeitung zu vermeiden, sollten Sie für alle Fotos einer Serie das gleiche Weißabgleichsprofil verwenden.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/055/original/sh_photogrammetry_with_meshroom_6.png?1724833681&quot; alt=&quot;Makarios white balance&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;sup&gt;&lt;i&gt;WB-Profile. Links &quot;Sonnentag&quot;, rechts &quot;Auto&quot;&lt;/i&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Zusammenfassend lässt sich sagen, dass Sie hochwertige Fotos für die Photogrammetrie aufnehmen sollten:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Verwenden Sie ein Stativ, wenn das Licht nicht ausreicht.&lt;/li&gt;
    &lt;li&gt;Schließen Sie die Blende fast auf ihr Minimum.&lt;/li&gt;
    &lt;li&gt;Stellen Sie den ISO-Wert auf das Minimum ein.&lt;/li&gt;
    &lt;li&gt;Wählen Sie eine Verschlusszeit, die das gewünschte Ergebnis liefert (oder verwenden Sie den integrierten Belichtungsmesser Ihrer Kamera).&lt;/li&gt;
    &lt;li&gt;Verwenden Sie die gleiche Voreinstellung für den Weißabgleich.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Aufnehmen von Fotos&lt;/h2&gt;
&lt;p&gt;Wir besprechen nun, wie viele Fotos Sie aus welchen Winkeln aufnehmen sollten. Die Art des Objekts und sein Hintergrund haben einen großen Einfluss auf das Endergebnis. Objekte ohne glänzende, transparente oder reflektierende Oberflächen sind ideal für die Photogrammetrie. In der Praxis müssen Objekte wie Fenster und Glas später oft in einem 3D-Editor korrigiert werden. Die allgemeine Aufnahmetechnik bleibt jedoch dieselbe.&lt;/p&gt;
&lt;p&gt;Bei kleinen Objekten auf einer Oberfläche stellen Sie sich eine Kugel um das Objekt herum vor. Machen Sie Fotos, als ob Ihre Kamera das Objekt dreimal umkreist: einmal von unten, einmal in der Mitte und einmal von oben.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/056/original/sh_photogrammetry_with_meshroom_7.png?1724833713&quot; alt=&quot;Rabbit camera positions&quot;&gt;
&lt;p&gt;Es ist wichtig, dass das Objekt mindestens die Hälfte, besser drei Viertel jedes Bildes einnimmt. Versuchen Sie, sich dem Objekt physisch zu nähern, anstatt es zu vergrößern. Bei der Erstellung eines Wolkenpunkts benötigt die Software so viele Pixel wie möglich.&lt;/p&gt;
&lt;p&gt;Denken Sie bei der Aufnahme daran, dass die Software die Einzelbilder zu einem einzigen Objekt kombiniert, um eine korrekte Geometrie zu erhalten. Nehmen Sie in der Regel mindestens drei Bilder aus jedem Winkel auf. Wenn Sie das Objekt im Bild zentriert haben, teilen Sie es gedanklich vertikal in drei gleiche Teile auf. Machen Sie drei Aufnahmen, die jeweils ein Drittel des Objekts abbilden. So entsteht die notwendige Überlappung, damit die Anwendung die Position jedes Punktes im 3D-Raum genau berechnen kann. Nachdem Sie das Objekt von allen möglichen Seiten und Winkeln fotografiert haben, können Sie mit der Vorbereitung der Software beginnen.&lt;/p&gt;
&lt;h2&gt;Meshroom installieren&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://alicevision.org/&quot;&gt;Meshroom&lt;/a&gt; ist eine kostenlose, plattformübergreifende Anwendung, die alle Verarbeitungsschritte sequentiell durchführt und dabei CPU- und GPU-Ressourcen nutzt. Es kann zwar auf einem Standard-Heimcomputer ausgeführt werden, aber jeder Schritt kann zeitaufwändig sein. Für groß angelegte Projekte, die die 3D-Rekonstruktion zahlreicher Objekte beinhalten, wie z. B. die Erstellung einer beeindruckenden 3D-Szene, könnte die Anmietung eines &lt;a href=&quot;https://www.leadergpu.de/&quot;&gt;dedizierten GPU-Servers&lt;/a&gt; eine praktische Lösung sein.&lt;/p&gt;
&lt;p&gt;Betrachten wir einen LeaderGPU-Server mit der folgenden Konfiguration: &lt;b translate=&quot;no&quot;&gt;2 x NVIDIA® RTX™ 3090, 2 x Intel® Xeon® Silver 4210 (3.20 GHz), 128GB RAM&lt;/b&gt;. Wir werden Windows Server 2022 als Betriebssystem verwenden. Bevor Sie Meshroom installieren, müssen Sie einige vorbereitende Schritte durchführen:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/489-stellen-sie-eine-verbindung-zu-einem-windows-server-her&quot;&gt;Verbinden Sie sich mit einem Windows-Server&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/500-installieren-sie-nvidia-treiber-unter-windows&quot;&gt;Installation der Nvidia-Treiber in Windows&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/513-gpu-rendering-in-rdp&quot;&gt;GPU-Rendering in RDP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Besuchen Sie die offizielle Website des Projekts, um &lt;a href=&quot;https://alicevision.org/#meshroom&quot;&gt;Meshroom herunterzuladen&lt;/a&gt;. Entpacken Sie das resultierende Archiv, um eine gebrauchsfertige Anwendung zu finden, die keine zusätzliche Installation erfordert. Starten Sie &lt;b translate=&quot;no&quot;&gt;Meshroom.exe&lt;/b&gt;, um zu beginnen.&lt;/p&gt;
&lt;h3&gt;Bilder hochladen&lt;/h3&gt;
&lt;p&gt;Das Hauptfenster der Anwendung ist in zwei Bereiche unterteilt: den oberen und den unteren. Der obere Bereich enthält die Bildgalerie, den Bildbetrachter und den 3D-Betrachter. Im unteren Bereich befinden sich der Grafik-Editor und der Task-Manager. Um zu beginnen, ziehen Sie Ihre aufgenommenen Fotos in den dafür vorgesehenen Bereich und legen Sie sie dort ab. Es werden sowohl komprimierte (z. B. JPG) als auch RAW-Dateiformate unterstützt. Es wird empfohlen, RAW-Dateien zu verwenden, da sie wesentlich mehr Daten für jedes Bild enthalten.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/057/original/sh_photogrammetry_with_meshroom_8.png?1724833779&quot; alt=&quot;Meshroom main window&quot;&gt;
&lt;p&gt;Bitte beachten Sie, dass Sie standardmäßig bereits über eine vorgefertigte Standard-Pipeline verfügen, die im Diagrammeditor schematisch dargestellt ist. Dies ist eines der wichtigsten Steuerelemente, mit dem Sie alle Aspekte der Bildverarbeitung in jeder Phase konfigurieren können. Sie können jeden Schritt manuell ausführen, indem Sie mit der rechten Maustaste klicken und &lt;b translate=&quot;no&quot;&gt;Compute&lt;/b&gt; aus dem Dropdown-Menü auswählen.&lt;/p&gt;
&lt;p&gt;Aber zum ersten Mal können Sie einfach auf die grüne Schaltfläche &lt;b translate=&quot;no&quot;&gt;Start&lt;/b&gt; klicken, und die Anwendung wird alles für Sie erledigen. Sie werden aufgefordert, das Projekt zu speichern, damit Sie die Ergebnisse der Berechnung nicht versehentlich verlieren. Klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Save&lt;/b&gt;, geben Sie einen Namen und ein Verzeichnis an und speichern Sie das Projekt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/058/original/sh_photogrammetry_with_meshroom_9.png?1724833809&quot; alt=&quot;Meshroom save project&quot;&gt;
&lt;p&gt;Anschließend überträgt die Anwendung alle Verarbeitungsschritte aus dem Diagrammeditor in den Task-Manager, der sie in einer bestimmten Reihenfolge abarbeitet. Um den Status jeder Stufe zu überprüfen, wählen Sie den entsprechenden Block im Diagrammeditor aus und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Log&lt;/b&gt; in der unteren rechten Ecke des Bildschirms. Sie können auch in Echtzeit sehen, welche Stufe gerade bearbeitet wird:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/059/original/sh_photogrammetry_with_meshroom_10.png?1724833857&quot; alt=&quot;Meshroom task manager&quot;&gt;
&lt;p&gt;Auf der rechten Seite sehen Sie die Punktwolke, die Sie erstellt haben. Das Endergebnis, das mit der Standard-Pipeline erstellt wurde, ist im Verzeichnis verfügbar:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Your_Project_Path]\MeshroomCache\Texturing\[Random_Symbols]\texturedMesh.obj&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie den Ausgabepfad im letzten Knoten der Pipeline vorher festlegen, wird das Objekt natürlich auf dem von Ihnen angegebenen Pfad landen. Anschließend können Sie es in einen beliebigen Texteditor importieren, um vor dem Rendern Oberflächen zu korrigieren, Lichtquellen hinzuzufügen und andere Effekte zu erzielen.&lt;/p&gt;
&lt;h2&gt;Integration&lt;/h2&gt;
&lt;p&gt;Auch wenn das ursprüngliche Ergebnis beeindruckend aussieht, muss es oft in einem 3D-Editor verfeinert werden. Meshroom vereinfacht diesen Prozess, indem es Ihnen ermöglicht, nicht nur das Modell, sondern auch die Punktewolke und die Kamerapositionen in Drittanbieter-Editoren wie &lt;a href=&quot;https://www.sidefx.com/&quot;&gt;Houdini&lt;/a&gt; oder &lt;a href=&quot;https://www.blender.org/&quot;&gt;Blender&lt;/a&gt; zu importieren. Im folgenden Abschnitt zeigen wir Ihnen, wie das geht.&lt;/p&gt;
&lt;h3&gt;Houdini&lt;/h3&gt;
&lt;p&gt;Eigentlich ist Meshroom eine benutzerfreundliche Schnittstelle für die AliceVision-Engine, die alle rechenrelevanten Operationen übernimmt. Diese Schnittstelle implementiert die entsprechende Pipeline und den Taskmanager. Wenn Sie Houdini verwenden, können Sie Ihre eigene Pipeline direkt in der Anwendung erstellen und sie zusammen mit anderen Tools verwenden, ohne Meshroom separat starten zu müssen.&lt;/p&gt;
&lt;p&gt;Um loszulegen, ist es am besten, einen speziellen Launcher &lt;a href=&quot;https://www.sidefx.com/download/download-houdini/120709/&quot;&gt;herunterzuladen&lt;/a&gt; und zu installieren, der Houdini-Updates und Plugins verwaltet. Als Nächstes fügen Sie das SideFX Labs-Plugin hinzu, das zahlreiche zusätzliche Tools bietet, darunter auch spezielle Nodes für AliceVision. Klicken Sie dazu auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;+&lt;/b&gt; und wählen Sie dann &lt;b translate=&quot;no&quot;&gt;Shelves&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/060/original/sh_photogrammetry_with_meshroom_11.png?1724833888&quot; alt=&quot;Houdini add Shelves Houdini add Shelves&quot;&gt;
&lt;p&gt;Blättern Sie in der Liste nach unten und wählen Sie &lt;b translate=&quot;no&quot;&gt;SideFX Labs&lt;/b&gt;, dann klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Update Toolset&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/061/original/sh_photogrammetry_with_meshroom_12.png?1724833916&quot; alt=&quot;Houdini SideFX Labs Update Toolset&quot;&gt;
&lt;p&gt;Um ein Plugin zu installieren, gehen Sie folgendermaßen vor: Klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Start Launcher&lt;/b&gt;, navigieren Sie zum Abschnitt &lt;b translate=&quot;no&quot;&gt;Labs/Packages&lt;/b&gt; im linken Menü und wählen Sie &lt;b translate=&quot;no&quot;&gt;Install packages&lt;/b&gt;. Daraufhin wird ein Fenster geöffnet, in dem Sie die zu installierenden Pakete auswählen können:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/062/original/sh_photogrammetry_with_meshroom_13.png?1724833946&quot; alt=&quot;Add Houdini plugin&quot;&gt;
&lt;p&gt;Wählen Sie das &lt;b translate=&quot;no&quot;&gt;Production Build&lt;/b&gt; für Ihre Version von Houdini und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Install&lt;/b&gt;. Starten Sie anschließend die Anwendung neu, um sicherzustellen, dass die neuen Effektsymbole am oberen Rand angezeigt werden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/063/original/sh_photogrammetry_with_meshroom_14.png?1724833974&quot; alt=&quot;Houdini new items&quot;&gt;
&lt;p&gt;Es ist wichtig zu beachten, dass Sie hier keine Erwähnung von AliceVision oder Meshlab finden werden. Das liegt daran, dass das entsprechende Plugin nur innerhalb der Geometriekontext-Pipeline funktioniert. Um dies zu überprüfen, klicken Sie auf das Symbol &lt;b translate=&quot;no&quot;&gt;+&lt;/b&gt;, dann auf &lt;b translate=&quot;no&quot;&gt;New Pane Tab Type&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Network View&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/064/original/sh_photogrammetry_with_meshroom_15.png?1724834004&quot; alt=&quot;Houdini Network View&quot;&gt;
&lt;p&gt;Drücken Sie die Taste &lt;b translate=&quot;no&quot;&gt;Tab&lt;/b&gt; und fügen Sie einen Knoten &lt;b translate=&quot;no&quot;&gt;Geometry&lt;/b&gt; hinzu:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/065/original/sh_photogrammetry_with_meshroom_16.png?1724834038&quot; alt=&quot;Houdini add Geometry&quot;&gt;
&lt;p&gt;Doppelklicken Sie, um den erstellten Knoten zu öffnen, und geben Sie &lt;b translate=&quot;no&quot;&gt;av&lt;/b&gt; auf Ihrer Tastatur ein. Das System zeigt sofort eine Liste der verfügbaren Knoten an, die mit den Symbolen Labs AV beginnen. Mit diesen Knoten können Sie die AliceVision-Engine steuern und sie in Ihre eigenen Pipelines integrieren:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/066/original/sh_photogrammetry_with_meshroom_17.png?1724834061&quot; alt=&quot;Houdini AliceVision nodes&quot;&gt;
&lt;p&gt;Um eine geeignete Pipeline zu erstellen, lesen Sie die &lt;a href=&quot;https://www.sidefx.com/tutorials/alicevision-plugin/&quot;&gt;offizielle Dokumentation&lt;/a&gt; für das Plugin. Außerdem sollten Sie das AliceVision-Verzeichnis in die Liste der Umgebungsvariablen in der Datei houdini.env aufnehmen. Bei einer Standardinstallation mit dem Launcher befindet sich diese Datei normalerweise im Verzeichnis &lt;b translate=&quot;no&quot;&gt;C:\Users\Administrator\Documents\houdini20.5\&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Öffnen Sie die Datei houdini.env mit einem beliebigen Texteditor und fügen Sie die folgende Zeile ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;ALICEVISION_PATH = [path to alicevision directory in Meshroom folder]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie zum Beispiel Meshroom im Stammverzeichnis des Laufwerks D: installiert haben, könnte Ihr Pfad wie folgt aussehen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;ALICEVISION_PATH = D:\Meshroom\aliceVision&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und starten Sie dann die Houdini-Anwendung neu.&lt;/p&gt;
&lt;h3&gt;Blender&lt;/h3&gt;
&lt;p&gt;Für Blender-Benutzer empfehlen wir das Plugin &lt;b translate=&quot;no&quot;&gt;Meshroom2Blender&lt;/b&gt;. Es funktioniert zwar anders als das Houdini-Plugin, ermöglicht aber den Export der von Meshroom berechneten Punktwolken und Kamerapositionen nach Blender. Um auf den Plugin-Code zuzugreifen, öffnen Sie den Link in Ihrem Browser:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;https://raw.githubusercontent.com/tibicen/meshroom2blender/master/view3d_point_cloud_visualizer.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie den Code als &lt;b translate=&quot;no&quot;&gt;view3d_point_cloud_visualizer.py&lt;/b&gt; in einem geeigneten Verzeichnis. Öffnen Sie dann Blender und navigieren Sie zu &lt;b translate=&quot;no&quot;&gt;Edit&lt;/b&gt; - &lt;b translate=&quot;no&quot;&gt;Preferences&lt;/b&gt;. Wählen Sie von dort aus die Registerkarte &lt;b translate=&quot;no&quot;&gt;Add-ons&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/067/original/sh_photogrammetry_with_meshroom_18.png?1724834088&quot; alt=&quot;Blender Preferences&quot;&gt;
&lt;p&gt;Klicken Sie auf den Pfeil nach unten und wählen Sie &lt;b translate=&quot;no&quot;&gt;Install from Disk&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/068/original/sh_photogrammetry_with_meshroom_19.png?1724834111&quot; alt=&quot;Blender install addons&quot;&gt;
&lt;p&gt;In dem neu geöffneten Fenster navigieren Sie zu dem Verzeichnis, in dem Sie das Plugin gespeichert haben. Wählen Sie die Plugin-Datei aus und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Install from Disk button&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/069/original/sh_photogrammetry_with_meshroom_20.png?1724834139&quot; alt=&quot;Blender choose plugin file&quot;&gt;
&lt;p&gt;Das Plugin ist nun installiert. Es wird empfohlen, die Anwendung neu zu starten. Nach dem Neustart sehen Sie das Element &lt;b translate=&quot;no&quot;&gt;Point Cloud Visualizer&lt;/b&gt; im Anzeigemodus. Für das Plugin müssen Sie den Pfad zu einer Datei mit der Erweiterung &lt;b translate=&quot;no&quot;&gt;.ply&lt;/b&gt; angeben:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/070/original/sh_photogrammetry_with_meshroom_21.png?1724834177&quot; alt=&quot;Blender new option&quot;&gt;
&lt;p&gt;Standardmäßig generiert Meshroom diese Art von Datei nicht. Um sie zu erstellen, öffnen Sie die Pipeline und fügen Sie den Knoten &lt;b translate=&quot;no&quot;&gt;ConvertSfMFormat&lt;/b&gt; hinzu. Verwenden Sie die &lt;b translate=&quot;no&quot;&gt;SfMData&lt;/b&gt; des Knotens &lt;b translate=&quot;no&quot;&gt;StructureFromMotion&lt;/b&gt; als Eingabe. Geben Sie für die Ausgabe die &lt;b translate=&quot;no&quot;&gt;Images Folder&lt;/b&gt; des Knotens &lt;b translate=&quot;no&quot;&gt;Texturing&lt;/b&gt; an.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/071/original/sh_photogrammetry_with_meshroom_22.png?1724834206&quot; alt=&quot;Meshroom add Convert node&quot;&gt;
&lt;p&gt;Der letzte Schritt besteht darin, das Format anzugeben. Klicken Sie auf &lt;b translate=&quot;no&quot;&gt;SfM File Format&lt;/b&gt; im Knoten &lt;b translate=&quot;no&quot;&gt;ConvertSfMFormat&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;ply&lt;/b&gt; aus der Dropdown-Liste:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/072/original/sh_photogrammetry_with_meshroom_23.png?1724834239&quot; alt=&quot;Meshroom Convert format&quot;&gt;
&lt;p&gt;Klicken Sie mit der rechten Maustaste auf den erstellten Knoten und wählen Sie &lt;b translate=&quot;no&quot;&gt;Compute&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/073/original/sh_photogrammetry_with_meshroom_24.png?1724834267&quot; alt=&quot;Meshroom compute task&quot;&gt;
&lt;p&gt;Sobald der Vorgang abgeschlossen ist, finden Sie die gewünschte Datei im Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Your_Project_Path]\MeshroomCache\ConvertSfMFormat\[Random_Symbols]\sfm.ply&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Du kannst sie auf zwei Arten in Blender laden: über das oben erwähnte Plugin oder über den Standard-Importprozess &lt;b translate=&quot;no&quot;&gt;File&lt;/b&gt; - &lt;b translate=&quot;no&quot;&gt;Import&lt;/b&gt; - &lt;b translate=&quot;no&quot;&gt;Stanford PLY (.ply)&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/074/original/sh_photogrammetry_with_meshroom_25.png?1724834291&quot; alt=&quot;Blender import points cloud&quot;&gt;
&lt;p&gt;Für weitere Informationen zur Verwendung dieses Plugins empfehlen wir, das &lt;a href=&quot;https://github.com/tibicen/meshroom2blender&quot;&gt;Projekt-Repository&lt;/a&gt; oder eine spezialisierte Web-Ressource zu konsultieren.&lt;/p&gt;
&lt;h2&gt;Schlussfolgerung&lt;/h2&gt;
&lt;p&gt;Photogrammetrie ist ein großes Wissensgebiet, in dem wir versucht haben, nur einige grundlegende Techniken zur Umwandlung von 2D-Bildern in ein 3D-Modell zu vermitteln. Dies wird in vielen Branchen eingesetzt, von der Architektur bis zur Erstellung von Computerspielen.&lt;/p&gt;
&lt;p&gt;Nachdem Sie die ersten Erfahrungen mit der Aufnahme eines Datensatzes und seiner konsistenten Umwandlung in ein 3D-Modell gesammelt haben, können Sie Ihre Fähigkeiten verbessern und physische Objekte in einen virtuellen 3D-Raum übertragen. Nun, LeaderGPU wird Ihnen mit Rechenleistung helfen, die Berechnungszeit zu reduzieren und Ihre Workstation für andere, oft höher priorisierte Aufgaben freizugeben.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/588-blender-remote-rendering-mit-flamenco&quot;&gt;Blender Remote-Rendering mit Flamenco&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/590-fooocus-berdenken-von-sd-und-mj&quot;&gt;Fooocus: Überdenken von SD und MJ&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/565-stable-diffusion-webui&quot;&gt;Stable Diffusion WebUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/049/original/il_photogrammetry_with_meshroom.png?1724833423"
        length="0"
        type="image/jpeg"/>
      <pubDate>Tue, 21 Jan 2025 09:38:44 +0100</pubDate>
      <guid isPermaLink="false">586</guid>
      <dc:date>2025-01-21T09:38:44+01:00</dc:date>
    </item>
    <item>
      <title>Open WebUI: Alles in einem</title>
      <link>https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem</link>
      <description>&lt;p&gt;Open WebUI wurde ursprünglich für Ollama entwickelt, über das wir in einem unserer Artikel berichtet haben. Zuvor hieß es Ollama WebUI, aber mit der Zeit verlagerte sich der Schwerpunkt auf die Universalität der Anwendung, und der Name wurde in Open WebUI geändert. Diese Software löst das Hauptproblem der bequemen Arbeit mit großen neuronalen Netzmodellen, die lokal oder auf benutzergesteuerten Servern platziert sind.&lt;/p&gt;
&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;Die wichtigste und am meisten bevorzugte Installationsmethode ist die Bereitstellung eines Docker-Containers. Dadurch müssen Sie sich keine Gedanken über das Vorhandensein von Abhängigkeiten oder anderen Komponenten machen, die den korrekten Betrieb der Software gewährleisten. Sie können Open WebUI jedoch auch installieren, indem Sie das Projekt-Repository von GitHub klonen und es aus dem Quellcode erstellen. In diesem Artikel werden wir beide Optionen betrachten.&lt;/p&gt;
&lt;p&gt;Bevor Sie beginnen, stellen Sie sicher, dass die GPU-Treiber auf dem Server installiert sind. Unsere Anleitung &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot;&gt;Nvidia-Treiber unter Linux installieren&lt;/a&gt; wird Ihnen dabei helfen.&lt;/p&gt;
&lt;h3&gt;Docker verwenden&lt;/h3&gt;
&lt;p&gt;Wenn Sie gerade einen Server bestellt haben, fehlen die Docker-Engine selbst und die notwendigen Tools, um GPUs an den Container zu übergeben. Wir raten davon ab, Docker aus dem Standard-Ubuntu-Repository zu installieren, da es möglicherweise veraltet ist und nicht alle modernen Optionen unterstützt. Es wäre besser, das Installationsskript zu verwenden, das auf der offiziellen Website bereitgestellt wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -sSL https://get.docker.com/ | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zusätzlich zu Docker müssen Sie das NVIDIA® Container Toolkit installieren, also aktivieren Sie das Nvidia-Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&amp;&amp; curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed &#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&#39; | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie Ihren Paket-Cache und installieren Sie NVIDIA® Container Toolkit:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y install nvidia-container-toolkit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Damit die Toolchain funktioniert, müssen Sie den Docker-Daemon neu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl restart docker&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun können Sie den gewünschten Container starten. Beachten Sie, dass der folgende Befehl die Container nicht vom Host-Netzwerk isoliert, da Sie später zusätzliche Optionen aktivieren können, z. B. die Erstellung von Images über die Stable Diffusion WebUI. Mit diesem Befehl werden automatisch alle Schichten des Images heruntergeladen und ausgeführt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run -d --network=host --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Git verwenden&lt;/h3&gt;
&lt;h4&gt;Ubuntu 22.04&lt;/h4&gt;
&lt;p&gt;Zuerst müssen Sie den Inhalt des Repositorys klonen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/open-webui/open-webui.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd open-webui/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie die Beispielkonfiguration (Sie können sie bei Bedarf ändern), die die Umgebungsvariablen für den Build setzt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cp -RPp .env.example .env&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie das NVM-Installationsprogramm, mit dem Sie die erforderliche Version von Node.js auf dem Server installieren können:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Danach müssen Sie die SSH-Sitzung schließen und erneut öffnen, damit der nächste Befehl korrekt funktioniert.&lt;/p&gt;
&lt;p&gt;Installieren Sie den Node Package Manager:&lt;/p&gt;  
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install npm&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Installieren Sie Node.js Version 22 (zum Zeitpunkt der Erstellung dieses Artikels aktuell):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;npm install 22&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie die für die weitere Montage erforderlichen Abhängigkeiten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;npm install&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten wir den Build. Bitte beachten Sie, dass mehr als 4 GB freier Arbeitsspeicher erforderlich sind:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;npm run build&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das Frontend ist fertig; jetzt ist es an der Zeit, das Backend vorzubereiten. Wechseln Sie in das Verzeichnis mit dem gleichen Namen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ./backend&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie die Pakete pip und ffmpeg:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install python3-pip ffmpeg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vor der Installation müssen Sie der Umgebungsvariablen einen neuen Pfad hinzufügen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen Sie die folgende Zeile am Ende der Datei ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;export PATH=&quot;/home/usergpu/.local/bin:$PATH&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren wir sie auf die neueste Version:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 -m pip install --upgrade pip&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jetzt können Sie die Abhängigkeiten installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -r requirements.txt -U&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie Ollama:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://ollama.com/install.sh | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Alles ist bereit, um die Anwendung zu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;bash start.sh&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Ubuntu 24.04 / 24.10&lt;/h4&gt;
&lt;p&gt;Bei der Installation von OpenWebUI auf Ubuntu 24.04/24.10 stehen Sie vor einer wichtigen Herausforderung: Das Betriebssystem verwendet standardmäßig Python 3.12, während OpenWebUI nur Version 3.11 unterstützt. Sie können Python nicht einfach downgraden, das würde das Betriebssystem zerstören. Da das Paket python3.11 nicht in den Standard-Repositories verfügbar ist, müssen Sie eine virtuelle Umgebung erstellen, um die richtige Python-Version zu verwenden.&lt;/p&gt;
&lt;p&gt;Die beste Lösung ist die Verwendung des Paketverwaltungssystems Conda. Conda funktioniert wie pip, unterstützt aber zusätzlich virtuelle Umgebungen, ähnlich wie venv. Da Sie nur grundlegende Funktionen benötigen, werden Sie Miniconda verwenden, eine leichtgewichtige Distribution. Laden Sie die neueste Version von GitHub herunter:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -L -O &quot;https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;bash Miniforge3-$(uname)-$(uname -m).sh&lt;/code&gt;&lt;/pre&gt;
Erstellen wir eine virtuelle Umgebung namens pyenv und geben wir die Python-Version 3.11 an:&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda create -n pyenv python=3.11&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktivieren Sie die erstellte Umgebung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;conda activate pyenv&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun können Sie mit den Standard-Installationsschritten für OpenWebUI unter Ubuntu 22.04 fortfahren. Die virtuelle Umgebung stellt sicher, dass alle Installationsskripte reibungslos und ohne Paketversionskonflikte ausgeführt werden.&lt;/p&gt;
&lt;h2&gt;Modelle&lt;/h2&gt;
&lt;h3&gt;Ollama-Bibliothek&lt;/h3&gt;
&lt;p&gt;Mit Open WebUI können Sie Modelle direkt von der Weboberfläche hochladen, wobei Sie nur den Namen im Format &lt;b translate=&quot;no&quot;&gt;model:size&lt;/b&gt; angeben müssen. Navigieren Sie dazu zu &lt;a href=&quot;http://192.168.88.20:8080/admin/settings&quot;&gt;http://192.168.88.20:8080/admin/settings&lt;/a&gt; und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Connections&lt;/b&gt;. Klicken Sie dann auf das Schraubenschlüssel-Symbol gegenüber der Zeichenfolge &lt;b translate=&quot;no&quot;&gt;http://localhost:11434&lt;/b&gt;. Nachdem Sie sich die Namen der Modelle in der &lt;a href=&quot;https://ollama.com/library&quot;&gt;Bibliothek&lt;/a&gt; angesehen haben, geben Sie den Namen ein und klicken auf das Symbol zum Hochladen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/027/original/sh_open_webui_all_in_one_1.png?1722870065&quot; alt=&quot;Open WebUI manage models&quot;&gt;
&lt;p&gt;Daraufhin lädt das System das gewünschte Modell automatisch herunter, und es steht sofort zur Verfügung. Je nach ausgewählter Größe kann der Download unterschiedlich lange dauern. Vergewissern Sie sich vor dem Herunterladen, dass genügend Speicherplatz auf der Festplatte vorhanden ist. Weitere Informationen finden Sie im Artikel &lt;a href=&quot;https://www.leadergpu.de/articles/492-festplattenpartitionierung-unter-linux&quot;&gt;Festplattenpartitionierung in Linux&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Benutzerdefinierte Modelle&lt;/h3&gt;
&lt;p&gt;Wenn Sie ein neuronales Netzwerkmodell integrieren möchten, das nicht in der Ollama-Bibliothek enthalten ist, können Sie die experimentelle Funktion verwenden und ein beliebiges Modell im GGUF-Format laden. Gehen Sie dazu auf &lt;b translate=&quot;no&quot;&gt;Settings - Admin Settings - Connections&lt;/b&gt; und klicken Sie auf das Schraubenschlüssel-Symbol gegenüber von &lt;b translate=&quot;no&quot;&gt;http://localhost:11434&lt;/b&gt;. Klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Show&lt;/b&gt; im Bereich &lt;b translate=&quot;no&quot;&gt;Experimental&lt;/b&gt;. Standardmäßig ist der Dateimodus aktiviert, der es Ihnen erlaubt, eine Datei von Ihrem lokalen Computer zu laden. Wenn Sie auf &lt;b translate=&quot;no&quot;&gt;File Mode&lt;/b&gt; klicken, wechselt der Modus zu &lt;b translate=&quot;no&quot;&gt;URL Mode&lt;/b&gt;, wo Sie die URL der Modelldatei angeben können, die dann automatisch vom Server heruntergeladen wird:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/028/original/sh_open_webui_all_in_one_2.png?1736411361&quot; alt=&quot;Open WebUI upload gguf model&quot;&gt;
&lt;h2&gt;RAG&lt;/h2&gt;
&lt;p&gt;Zusätzlich zu einer bequemen und funktionalen Webschnittstelle hilft Open WebUI, die Möglichkeiten verschiedener Modelle zu erweitern und ihre gemeinsame Nutzung zu gewährleisten. Zum Beispiel ist es einfach, Dokumente hochzuladen, um eine RAG (Retrieval-augmented generation) Vektordatenbank zu bilden. Bei der Generierung einer Antwort an den Benutzer kann sich LLM nicht nur auf Daten stützen, die direkt aus dem Training stammen, sondern auch auf Daten, die in einer ähnlichen Vektordatenbank gespeichert sind.&lt;/p&gt;
&lt;h3&gt;Dokumente&lt;/h3&gt;
&lt;p&gt;Standardmäßig durchsucht Open WebUI das Verzeichnis /data/docs nach Dateien, die im Vektorraum der Datenbank platziert werden können, und führt die Transformation mit dem eingebauten Modell &lt;a href=&quot;https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2&quot;&gt;all-MiniLM-L6-v2&lt;/a&gt; durch. Dies ist nicht das einzige Modell, das für diese Aufgabe geeignet ist, daher ist es sinnvoll, andere Optionen auszuprobieren, zum Beispiel aus dieser Liste.&lt;/p&gt;
&lt;p&gt;Textdokumente, die von Tags und anderen Sonderzeichen befreit sind, sind am besten für RAG geeignet. Natürlich können Sie Dokumente auch unverändert hochladen, doch kann dies die Genauigkeit der generierten Antworten stark beeinträchtigen. Wenn Sie z. B. eine Wissensdatenbank im Markdown-Format haben, können Sie diese zunächst von Formatierungen befreien und erst dann in /data/docs hochladen.&lt;/p&gt;
&lt;h3&gt;Web-Suche&lt;/h3&gt;
&lt;p&gt;Zusätzlich zu lokalen Dokumenten kann das neuronale Netzmodell angewiesen werden, beliebige Websites als Datenquelle zu verwenden. Auf diese Weise kann es Fragen nicht nur anhand der Daten beantworten, auf denen es trainiert wurde, sondern auch anhand von Daten, die sich auf vom Benutzer angegebenen Websites befinden.&lt;/p&gt;
&lt;p&gt;Es handelt sich dabei um eine Art RAG, das HTML-Seiten als Input erhält und diese dann auf besondere Weise umwandelt, indem es sie in eine Vektordatenbank aufnimmt. Die Suche in einer solchen Datenbank ist sehr schnell, so dass das neuronale Netzmodell in der Lage ist, auf der Grundlage seiner Ergebnisse schnell eine Antwort zu generieren. Open WebUI unterstützt verschiedene Suchmaschinen, kann aber jeweils nur mit einer arbeiten, die in den Einstellungen festgelegt ist.&lt;/p&gt;
&lt;p&gt;Um Websuchergebnisse in die Antworten des neuronalen Netzes einzubeziehen, klicken Sie auf &lt;b translate=&quot;no&quot;&gt;+&lt;/b&gt; (Plussymbol) und schieben Sie den Schalter Websuche:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/029/original/sh_open_webui_all_in_one_3.png?1722870140&quot; alt=&quot;Open WebUI enable Web Search&quot;&gt;
&lt;h2&gt;Bilderzeugung&lt;/h2&gt;
&lt;p&gt;Das Besondere an Open WebUI ist, dass diese Software es Ihnen ermöglicht, mehrere neuronale Netze mit unterschiedlichen Aufgaben zu kombinieren, um ein einziges Problem zu lösen. Zum Beispiel führt Llama 3.1 perfekt einen Dialog mit dem Benutzer in mehreren Sprachen, aber seine Antworten sind ausschließlich Text. Es kann keine Bilder erzeugen, so dass es keine Möglichkeit gibt, seine Antworten zu illustrieren.&lt;/p&gt;
&lt;p&gt;Stable Diffusion, über das wir schon oft geschrieben haben, ist das Gegenteil: Dieses neuronale Netz erzeugt perfekt Bilder, kann aber überhaupt nicht mit Texten arbeiten. Die Entwickler von Open WebUI haben versucht, die Stärken beider neuronaler Netze in einem Dialog zu vereinen und haben das folgende Arbeitsschema implementiert.&lt;/p&gt;
&lt;p&gt;Wenn Sie einen Dialog in Open WebUI führen, erscheint neben jeder Antwort des neuronalen Netzes eine spezielle Schaltfläche. Wenn Sie darauf klicken, erhalten Sie eine Illustration dieser Antwort direkt im Chat:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/030/original/sh_open_webui_all_in_one_4.png?1722870173&quot; alt=&quot;Open WebUI images in dialogue&quot;&gt;
&lt;p&gt;Dies wird durch den Aufruf der Stable Diffusion WebUI API erreicht, und derzeit ist eine Verbindung mit Versionen von Automatic1111 und eine Verbindung zu ComfyUI verfügbar. Sie können auch Bilder über das neuronale Netzwerk Dall-E generieren, aber es kann nicht lokal eingesetzt werden - dies ist ein kostenpflichtiger Bilderzeugungsdienst mit geschlossenem Quellcode.&lt;/p&gt;
&lt;p&gt;Diese Funktion funktioniert nur, wenn zusätzlich zu Open WebUI mit Ollama auch Stable Diffusion WebUI auf dem Server installiert ist. Die Installationsanweisungen finden Sie &lt;a href=&quot;https://www.leadergpu.de/articles/565-stable-diffusion-webui&quot;&gt;hier&lt;/a&gt;. Erwähnenswert ist lediglich, dass Sie beim Ausführen des Skripts ./webui.sh einen zusätzlichen Schlüssel angeben müssen, um die API zu aktivieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./webui.sh --listen --api --gradio-auth user:password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ein weiterer Fallstrick kann durch einen Mangel an Videospeicher entstehen. In diesem Fall können Sie zwei nützliche Schlüssel verwenden: &lt;b translate=&quot;no&quot;&gt;--medvram&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;--lowvram&lt;/b&gt;. Dadurch wird der Fehler &quot;Out-of-memory&quot; beim Starten der Generierung vermieden.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/583-wie-funktioniert-ollama&quot;&gt;Wie funktioniert Ollama?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux&quot;&gt;Ihr eigener LLaMa 2 unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face&quot;&gt;Llama 3 mit Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/026/original/il_open_webui_all_in_one.png?1722870022"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 15:21:46 +0100</pubDate>
      <guid isPermaLink="false">584</guid>
      <dc:date>2025-01-20T15:21:46+01:00</dc:date>
    </item>
    <item>
      <title>Wie funktioniert Ollama?</title>
      <link>https://www.leadergpu.de/catalog/583-wie-funktioniert-ollama</link>
      <description>&lt;p&gt;Ollama ist ein Werkzeug für die lokale Ausführung großer neuronaler Netzmodelle. Die Nutzung öffentlicher Dienste wird von Unternehmen oft als potenzielles Risiko für den Verlust vertraulicher und sensibler Daten wahrgenommen. Der Einsatz von LLM auf einem kontrollierten Server ermöglicht es Ihnen daher, die darauf abgelegten Daten unabhängig zu verwalten und gleichzeitig die Stärken von LLM zu nutzen.&lt;/p&gt;
&lt;p&gt;Dies hilft auch, die unangenehme Situation der Anbieterbindung zu vermeiden, bei der jeder öffentliche Dienst einseitig die Bereitstellung von Diensten einstellen kann. Natürlich besteht das ursprüngliche Ziel darin, die Nutzung generativer neuronaler Netze an Orten zu ermöglichen, an denen kein oder nur ein eingeschränkter Internetzugang besteht (z. B. in einem Flugzeug).&lt;/p&gt;
&lt;p&gt;Die Idee war, den Start, die Steuerung und die Feinabstimmung von LLMs zu vereinfachen. Anstelle komplexer mehrstufiger Anweisungen ermöglicht Ollama die Ausführung eines einfachen Befehls, und nach einiger Zeit erhält man das fertige Ergebnis. Es wird gleichzeitig in Form eines lokalen neuronalen Netzmodells präsentiert, mit dem Sie über eine Webschnittstelle und eine API zur einfachen Integration in andere Anwendungen kommunizieren können.&lt;/p&gt;
&lt;p&gt;Für viele Entwickler wurde dies zu einem sehr nützlichen Werkzeug, da es in den meisten Fällen möglich war, Ollama in die verwendete IDE zu integrieren und Empfehlungen oder vorgefertigten Code direkt während der Arbeit an der Anwendung zu erhalten.&lt;/p&gt;
&lt;p&gt;Ollama war ursprünglich nur für Computer mit dem Betriebssystem macOS gedacht, wurde aber später auf Linux und Windows portiert. Es wurde auch eine spezielle Version für die Arbeit in containerisierten Umgebungen wie Docker veröffentlicht. Derzeit funktioniert es sowohl auf Desktops als auch auf jedem dedizierten Server mit einer GPU gleichermaßen gut. Ollama unterstützt die Fähigkeit, zwischen verschiedenen Modellen umzuschalten, und maximiert alle verfügbaren Ressourcen. Natürlich sind diese Modelle auf einem normalen Desktop nicht ganz so leistungsfähig, aber sie funktionieren durchaus angemessen.&lt;/p&gt;
&lt;h2&gt;Wie installiert man Ollama?&lt;/h2&gt;
&lt;p&gt;Ollama kann auf zwei Arten installiert werden: ohne Containerisierung, mit einem Installationsskript, und als fertiger Docker-Container. Die erste Methode macht es einfacher, die Komponenten des installierten Systems und der Modelle zu verwalten, ist aber weniger fehlertolerant. Die zweite Methode ist fehlertoleranter, aber bei ihrer Verwendung müssen Sie alle Aspekte berücksichtigen, die mit Containern verbunden sind: eine etwas komplexere Verwaltung und ein anderer Ansatz für die Datenspeicherung.&lt;/p&gt;
&lt;p&gt;Unabhängig von der gewählten Methode sind mehrere zusätzliche Schritte zur Vorbereitung des Betriebssystems erforderlich.&lt;/p&gt;
&lt;h3&gt;Voraussetzungen&lt;/h3&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository und die installierten Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie alle erforderlichen GPU-Treiber mit der automatischen Installationsfunktion:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Installation über Skript&lt;/h3&gt;
&lt;p&gt;Das folgende Skript erkennt die aktuelle Architektur des Betriebssystems und installiert die entsprechende Version von Ollama:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://ollama.com/install.sh | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Während des Betriebs legt das Skript einen eigenen Benutzer &lt;b translate=&quot;no&quot;&gt;ollama&lt;/b&gt; an, unter dem der entsprechende Daemon gestartet wird. Das gleiche Skript funktioniert übrigens auch in WSL2 und ermöglicht die Installation der Linux-Version von Ollama auf Windows Server.&lt;/p&gt;
&lt;h3&gt;Installation über Docker&lt;/h3&gt;
&lt;p&gt;Es gibt verschiedene Methoden, die Docker-Engine auf einem Server zu installieren. Der einfachste Weg ist die Verwendung eines speziellen Skripts, das die aktuelle Docker-Version installiert. Dieser Ansatz ist für Ubuntu Linux ab Version 20.04 (LTS) bis zur neuesten Version, Ubuntu 24.04 (LTS), wirksam:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -sSL https://get.docker.com/ | sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Damit Docker-Container richtig mit der GPU interagieren können, muss ein zusätzliches Toolkit installiert werden. Da es nicht in den grundlegenden Ubuntu-Repositories verfügbar ist, müssen Sie zunächst ein Drittanbieter-Repository mit dem folgenden Befehl hinzufügen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&amp;&amp; curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed &#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&#39; | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und installieren Sie das Paket &lt;a href=&quot;https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html&quot;&gt;nvidia-container-toolkit&lt;/a&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install nvidia-container-toolkit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vergessen Sie nicht, den Docker-Daemon über systemctl neu zu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl restart docker&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Es ist an der Zeit, Ollama herunterzuladen und mit der Open-WebUI-Weboberfläche zu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie den Webbrowser und navigieren Sie zu &lt;b translate=&quot;no&quot;&gt;http://[server-ip]:3000&lt;/b&gt;:&lt;/p&gt;
&lt;h2&gt;Herunterladen und Ausführen der Modelle&lt;/h2&gt;
&lt;h3&gt;Über die Befehlszeile&lt;/h3&gt;
&lt;p&gt;Führen Sie einfach den folgenden Befehl aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;ollama run llama3&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Über die WebUI&lt;/h3&gt;
&lt;p&gt;Öffnen Sie &lt;b translate=&quot;no&quot;&gt;Settings &gt; Models&lt;/b&gt;, geben Sie den gewünschten Modellnamen ein, z. B. &lt;b translate=&quot;no&quot;&gt;llama3&lt;/b&gt; und klicken Sie auf die Schaltfläche mit dem Download-Symbol:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/990/original/sh_how_does_ollama_work_1.png?1717153168&quot; alt=&quot;Models download&quot;&gt;
&lt;p&gt;Das Modell wird automatisch heruntergeladen und installiert. Sobald die Installation abgeschlossen ist, schließen Sie das Einstellungsfenster und wählen das heruntergeladene Modell aus. Danach können Sie einen Dialog mit dem Modell beginnen:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/991/original/sh_how_does_ollama_work_2.png?1717153253&quot; alt=&quot;Start chatting&quot;&gt;
&lt;h2&gt;VSCode-Integration&lt;/h2&gt;
&lt;p&gt;Wenn Sie Ollama mit Hilfe des Installationsskripts installiert haben, können Sie jedes der unterstützten Modelle fast sofort starten. Im nächsten Beispiel werden wir das Standardmodell ausführen, das von der Ollama Autocoder-Erweiterung erwartet wird (&lt;b translate=&quot;no&quot;&gt;openhermes2.5-mistral:7b-q4_K_M&lt;/b&gt;):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;ollama run openhermes2.5-mistral:7b-q4_K_M&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Standardmäßig erlaubt Ollama die Arbeit über eine API, die nur Verbindungen vom lokalen Host zulässt. Daher ist vor der Installation und Verwendung der Erweiterung für Visual Studio Code eine Portweiterleitung erforderlich. Insbesondere müssen Sie den Remote-Port &lt;b translate=&quot;no&quot;&gt;11434&lt;/b&gt; an Ihren lokalen Computer weiterleiten. Ein Beispiel für die Weiterleitung finden Sie in unserem Artikel über &lt;a href=&quot;https://www.leadergpu.de/articles/598-easy-diffusion-ui&quot;&gt;Easy Diffusion WebUI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Geben Sie &lt;b translate=&quot;no&quot;&gt;Ollama Autocoder&lt;/b&gt; in ein Suchfeld ein, und klicken Sie dann auf &lt;b translate=&quot;no&quot;&gt;Install&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/992/original/sh_how_does_ollama_work_3.png?1717153306&quot; alt=&quot;Install Ollama Autocoder&quot;&gt;
&lt;p&gt;Nach der Installation der Erweiterung steht in der Befehlspalette ein neues Element mit dem Namen &lt;b translate=&quot;no&quot;&gt;Autocomplete with Ollama&lt;/b&gt; zur Verfügung. Beginnen Sie mit der Codierung und initiieren Sie diesen Befehl.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/993/original/sh_how_does_ollama_work_4.png?1717153542&quot; alt=&quot;Autocomplete with Ollama&quot;&gt;
&lt;p&gt;Die Erweiterung stellt eine Verbindung zum LeaderGPU-Server über Portweiterleitung her, und innerhalb weniger Sekunden wird der generierte Code auf Ihrem Bildschirm angezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/994/original/sh_how_does_ollama_work_5.png?1717153572&quot; alt=&quot;Test Python example&quot;&gt;
&lt;p&gt;Sie können diesen Befehl einem Hotkey zuweisen. Verwenden Sie ihn immer dann, wenn Sie Ihren Code durch ein generiertes Fragment ergänzen wollen. Dies ist nur ein Beispiel für die verfügbaren VSCode-Erweiterungen. Das Prinzip der Portweiterleitung von einem entfernten Server zu einem lokalen Computer ermöglicht es Ihnen, einen einzigen Server mit einem laufenden LLM für ein ganzes Entwicklerteam einzurichten. Diese Sicherheit verhindert, dass Drittfirmen oder Hacker den gesendeten Code verwenden.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/584-open-webui-alles-in-einem&quot;&gt;Open WebUI: Alles in einem&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux&quot;&gt;Ihr eigener LLaMa 2 unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face&quot;&gt;Llama 3 mit Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/989/original/il_how_does_ollama_work.png?1717153121"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 15:16:02 +0100</pubDate>
      <guid isPermaLink="false">583</guid>
      <dc:date>2025-01-20T15:16:02+01:00</dc:date>
    </item>
    <item>
      <title>PrivateGPT: AI für Dokumente</title>
      <link>https://www.leadergpu.de/catalog/581-privategpt-ai-f-r-dokumente</link>
      <description>&lt;p&gt;Große Sprachmodelle haben sich in den letzten Jahren stark weiterentwickelt und sind zu effektiven Werkzeugen für viele Aufgaben geworden. Das einzige Problem bei ihrer Verwendung ist, dass die meisten Produkte, die auf diesen Modellen basieren, vorgefertigte Dienste von Drittanbietern nutzen. Diese Nutzung birgt das Potenzial, sensible Daten preiszugeben, weshalb viele Unternehmen es vermeiden, interne Dokumente in öffentliche LLM-Dienste hochzuladen.&lt;/p&gt;
&lt;p&gt;Ein Projekt wie PrivateGPT könnte eine Lösung sein. Es ist zunächst ausschließlich für die lokale Nutzung konzipiert. Seine Stärke liegt darin, dass Sie verschiedene Dokumente als Input einreichen können, und das neuronale Netz wird sie für Sie lesen und seine eigenen Kommentare als Antwort auf Ihre Anfragen liefern. Sie können es z. B. mit umfangreichen Texten &quot;füttern&quot; und es auffordern, auf der Grundlage der Anfrage des Benutzers bestimmte Schlussfolgerungen zu ziehen. Auf diese Weise können Sie viel Zeit beim Korrekturlesen sparen.&lt;/p&gt;
&lt;p&gt;Dies gilt insbesondere für Fachgebiete wie die Medizin. Ein Arzt kann zum Beispiel eine Diagnose stellen und das neuronale Netz bitten, diese auf der Grundlage der hochgeladenen Dokumente zu bestätigen. Auf diese Weise kann eine zusätzliche unabhängige Meinung eingeholt werden, wodurch die Zahl der medizinischen Fehler verringert wird. Da die Anfragen und Dokumente den Server nicht verlassen, kann man sicher sein, dass die empfangenen Daten nicht in der Öffentlichkeit erscheinen.&lt;/p&gt;
&lt;p&gt;Heute zeigen wir Ihnen, wie Sie ein neuronales Netzwerk auf dedizierten LeaderGPU-Servern mit dem Betriebssystem Ubuntu 22.04 LTS in nur 20 Minuten einrichten können.&lt;/p&gt;
&lt;h2&gt;System vorbereiten&lt;/h2&gt;
&lt;p&gt;Beginnen Sie damit, Ihre Pakete auf die neueste Version zu aktualisieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie nun zusätzliche Pakete, Bibliotheken und den Nvidia-Grafiktreiber. All dies wird benötigt, um die Software erfolgreich zu erstellen und auf dem Grafikprozessor auszuführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install build-essential git gcc cmake make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev lzma liblzma-dev libbz2-dev&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;CUDA® 12.4 installieren&lt;/h2&gt;
&lt;p&gt;Neben dem Treiber müssen Sie auch das NVIDIA® CUDA® Toolkit installieren. Diese Anleitung wurde mit CUDA® 12.4 getestet, aber alles sollte auch mit CUDA® 12.2 funktionieren. Denken Sie jedoch daran, dass Sie die installierte Version angeben müssen, wenn Sie den Pfad zu den ausführbaren Dateien angeben.&lt;/p&gt;
&lt;p&gt;Führen Sie den folgenden Befehl sequentiell aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get update &amp;&amp; sudo apt-get -y install cuda-toolkit-12-4&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Weitere Informationen zur Installation von CUDA® &lt;a href=&quot;https://www.leadergpu.de/articles/615-cuda-toolkit-unter-linux-installieren&quot;&gt;finden&lt;/a&gt; Sie in unserer Knowledge Base. Starten Sie nun den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;PyEnv installieren&lt;/h2&gt;
&lt;p&gt;Es ist an der Zeit, ein einfaches Python-Versionskontrollprogramm namens PyEnv zu installieren. Es handelt sich dabei um einen deutlich verbesserten Fork des ähnlichen Projekts für Ruby (&lt;a href=&quot;https://github.com/rbenv/rbenv&quot;&gt;rbenv&lt;/a&gt;), der so konfiguriert wurde, dass er mit Python funktioniert. Es kann mit einem einzeiligen Skript installiert werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl https://pyenv.run | bash&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun müssen Sie am Ende der Skriptdatei, die bei der Anmeldung ausgeführt wird, einige Variablen hinzufügen. Die ersten drei Zeilen sind für den korrekten Betrieb von PyEnv verantwortlich, und die vierte wird für Poetry benötigt, das später installiert wird:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano .bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;export PYENV_ROOT=&quot;$HOME/.pyenv&quot;
[[ -d $PYENV_ROOT/bin ]] &amp;&amp; export PATH=&quot;$PYENV_ROOT/bin:$PATH&quot;
eval &quot;$(pyenv init -)&quot;
export PATH=&quot;/home/usergpu/.local/bin:$PATH&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Übernehmen Sie die Einstellungen, die Sie vorgenommen haben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;source .bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie Python Version 3.11:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pyenv install 3.11&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine virtuelle Umgebung für Python 3.11:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pyenv local 3.11&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Poesie installieren&lt;/h2&gt;
&lt;p&gt;Das nächste Teil des Puzzles ist Poetry. Dies ist ein Analogon von pip für die Verwaltung von Abhängigkeiten in Python-Projekten. Der Autor von Poetry war es leid, sich ständig mit verschiedenen Konfigurationsmethoden wie &lt;b translate=&quot;no&quot;&gt;setup.cfg&lt;/b&gt;, &lt;b translate=&quot;no&quot;&gt;requirements.txt&lt;/b&gt;, &lt;b translate=&quot;no&quot;&gt;MANIFEST.ini&lt;/b&gt; und anderen auseinanderzusetzen. Dies war der Auslöser für die Entwicklung eines neuen Werkzeugs, das eine &lt;b translate=&quot;no&quot;&gt;pyproject.toml&lt;/b&gt; Datei verwendet, die alle grundlegenden Informationen über ein Projekt speichert, nicht nur eine Liste von Abhängigkeiten.&lt;/p&gt;
&lt;p&gt;Poesie installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -sSL https://install.python-poetry.org | python3 -&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;PrivateGPT installieren&lt;/h2&gt;
&lt;p&gt;Nun, da alles bereit ist, können Sie das PrivateGPT-Repository klonen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/imartinez/privateGPT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rufen Sie das heruntergeladene Repository auf:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd privateGPT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie die Installation der Abhängigkeiten mit Poetry aus und aktivieren Sie dabei zusätzliche Komponenten:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;ui&lt;/b&gt; - fügt der Backend-Anwendung eine &lt;a href=&quot;https://www.gradio.app/&quot;&gt;Gradio-basierte&lt;/a&gt; Verwaltungsweboberfläche hinzu;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;embedding-huggingface&lt;/b&gt; - Unterstützung für die Einbettung von Modellen, die von &lt;a href=&quot;https://huggingface.co/&quot;&gt;HuggingFace&lt;/a&gt; heruntergeladen wurden;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;llms-llama-cpp&lt;/b&gt; - Unterstützung für die direkte Inferenz von Modellen im GGUF-Format hinzugefügt;&lt;/li&gt;
    &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;vector-stores-qdrant&lt;/b&gt; - Hinzufügen der qdrant-Vektordatenbank.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;poetry install --extras &quot;ui embeddings-huggingface llms-llama-cpp vector-stores-qdrant&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Setzen Sie Ihr HuggingFace-Zugangs-Token. Für zusätzliche Informationen lesen Sie bitte &lt;a href=&quot;https://huggingface.co/docs/hub/security-tokens&quot; target=&quot;_blank&quot;&gt;diesen Artikel&lt;/a&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export HF_TOKEN=&quot;YOUR_HUGGING_FACE_ACCESS_TOKEN&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie nun das Installationsskript aus, das automatisch das Modell und die Gewichte herunterlädt (Meta Llama 3.1 8B Instruct als Standard):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;poetry run python scripts/setup&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mit dem folgenden Befehl wird &lt;b translate=&quot;no&quot;&gt;llms-llama-cpp&lt;/b&gt; separat neu kompiliert, um die Unterstützung für NVIDIA® CUDA® zu aktivieren, damit die Arbeitslasten auf den Grafikprozessor verlagert werden können:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;CUDACXX=/usr/local/cuda-12/bin/nvcc CMAKE_ARGS=&quot;-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=native&quot; FORCE_CMAKE=1 pip install llama-cpp-python --no-cache-dir --force-reinstall --upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie eine Fehlermeldung wie &lt;b&gt;nvcc fatal : Unsupported gpu architecture &#39;compute_&#39;&lt;/b&gt; erhalten, geben Sie einfach die genaue Architektur der GPU an, die Sie verwenden. Zum Beispiel: &lt;b&gt;DCMAKE_CUDA_ARCHITECTURES=86&lt;/b&gt; für NVIDIA® RTX™ 3090.&lt;/p&gt;
&lt;p&gt;Der letzte Schritt vor dem Start ist die Installation der Unterstützung für asynchrone Aufrufe (async/await):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install asyncio&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;PrivateGPT ausführen&lt;/h2&gt;
&lt;p&gt;Starten Sie PrivateGPT mit einem einzigen Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;make run&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie Ihren Webbrowser und gehen Sie auf die Seite &lt;b translate=&quot;no&quot;&gt;http://[LeaderGPU_server_IP_address]:8001&lt;/b&gt;&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/984/original/sh_privategpt_ai_for_documents_1.png?1714731952&quot; alt=&quot;PrivateGPT WebUI&quot;&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/571-starcoder-ihr-lokaler-assistent-f-r-die-programmierung&quot;&gt;StarCoder: Ihr lokaler Assistent für die Programmierung&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/590-fooocus-berdenken-von-sd-und-mj&quot;&gt;Fooocus: Überdenken von SD und MJ&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/565-stable-diffusion-webui&quot;&gt;Stable Diffusion WebUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/983/original/il_privategpt_ai_for_documents.png?1714731899"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 12:01:00 +0100</pubDate>
      <guid isPermaLink="false">581</guid>
      <dc:date>2025-01-20T12:01:00+01:00</dc:date>
    </item>
    <item>
      <title> Qwen 2 gegen Llama 3</title>
      <link>https://www.leadergpu.de/catalog/579-qwen-2-gegen-llama-3</link>
      <description>&lt;p&gt;Große Sprachmodelle (Large Language Models, LLMs) haben unser Leben erheblich beeinflusst. Trotz des Verständnisses ihrer internen Struktur bleiben diese Modelle ein Brennpunkt für Wissenschaftler, die sie oft mit einer &quot;Black Box&quot; vergleichen. Das Endergebnis hängt nicht nur vom Design des LLM ab, sondern auch von seinem Training und den für das Training verwendeten Daten.&lt;/p&gt;
&lt;p&gt;Während Wissenschaftler nach Forschungsmöglichkeiten suchen, sind die Endnutzer vor allem an zwei Dingen interessiert: Geschwindigkeit und Qualität. Diese Kriterien spielen im Auswahlprozess eine entscheidende Rolle. Um zwei LLMs genau vergleichen zu können, müssen viele scheinbar unzusammenhängende Faktoren standardisiert werden.&lt;/p&gt;
&lt;p&gt;Den größten Einfluss haben die zur Störung verwendeten Geräte und die Softwareumgebung, einschließlich des Betriebssystems, der Treiberversionen und der Softwarepakete. Es ist wichtig, eine LLM-Version auszuwählen, die auf verschiedenen Geräten funktioniert, und eine Geschwindigkeitsmetrik zu wählen, die leicht zu verstehen ist.&lt;/p&gt;
&lt;p&gt;Wir haben uns für &quot;Token pro Sekunde&quot; (Token/s) als diese Metrik entschieden. Es ist wichtig zu wissen, dass ein Token ≠ ein Wort ist. Das LLM zerlegt Wörter in einfachere, für eine bestimmte Sprache typische Komponenten, die als Token bezeichnet werden.&lt;/p&gt;
&lt;p&gt;Die statistische Vorhersagbarkeit des nächsten Zeichens variiert von Sprache zu Sprache, so dass die Tokenisierung unterschiedlich ausfällt. Im Englischen zum Beispiel werden aus 75 Wörtern etwa 100 Token abgeleitet. In Sprachen, die das kyrillische Alphabet verwenden, kann die Anzahl der Token pro Wort höher sein. So könnten 75 Wörter in einer kyrillischen Sprache wie Russisch 120-150 Token entsprechen.&lt;/p&gt;
&lt;p&gt;Sie können dies mit dem &lt;a href=&quot;https://platform.openai.com/tokenizer&quot;&gt;Tokenizer-Tool&lt;/a&gt; von OpenAI überprüfen. Es zeigt, in wie viele Token ein Textfragment zerlegt wird, so dass &quot;Token pro Sekunde&quot; ein guter Indikator für die Geschwindigkeit und Leistung eines LLM bei der Verarbeitung natürlicher Sprache ist.&lt;/p&gt;
&lt;p&gt;Jeder Test wurde auf dem Betriebssystem Ubuntu 22.04 LTS mit den Nvidia-Treibern Version 535.183.01 und dem NVIDIA® CUDA® 12.5 Toolkit durchgeführt. Es wurden Fragen formuliert, um die Qualität und Geschwindigkeit des LLM zu bewerten. Die Verarbeitungsgeschwindigkeit jeder Antwort wurde aufgezeichnet und wird zum Durchschnittswert für jede getestete Konfiguration beitragen.&lt;/p&gt;
&lt;p&gt;Wir begannen mit dem Test verschiedener GPUs, von den neuesten Modellen bis hin zu den älteren. Eine entscheidende Bedingung für den Test war, dass wir die Leistung nur eines Grafikprozessors gemessen haben, auch wenn mehrere in der Serverkonfiguration vorhanden waren. Dies liegt daran, dass die Leistung einer Konfiguration mit mehreren Grafikprozessoren von zusätzlichen Faktoren wie dem Vorhandensein eines Hochgeschwindigkeits-Interconnects zwischen ihnen (NVLink) abhängt.&lt;/p&gt;
&lt;p&gt;Neben der Geschwindigkeit haben wir auch versucht, die Qualität der Antworten auf einer 5-Punkte-Skala zu bewerten, wobei 5 das beste Ergebnis darstellt. Diese Informationen werden hier nur zum allgemeinen Verständnis bereitgestellt. Wir werden dem neuronalen Netz jedes Mal dieselben Fragen stellen und versuchen zu erkennen, wie genau es versteht, was der Benutzer von ihm will.&lt;/p&gt;
&lt;h2&gt;Qwen 2&lt;/h2&gt;
&lt;p&gt;Vor kurzem hat ein Entwicklerteam der Alibaba Group die zweite Version ihres generativen neuronalen Netzes Qwen vorgestellt. Es versteht 27 Sprachen und ist für diese Sprachen gut optimiert. Qwen 2 gibt es in verschiedenen Größen, damit es auf jedem Gerät eingesetzt werden kann (von stark ressourcenbeschränkten eingebetteten Systemen bis hin zu einem dedizierten Server mit GPUs):&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;0.5B: geeignet für IoT und eingebettete Systeme;&lt;/li&gt;
    &lt;li&gt;1.5B: eine erweiterte Version für eingebettete Systeme, die eingesetzt wird, wenn die Fähigkeiten von 0.5B nicht ausreichen;&lt;/li&gt;
    &lt;li&gt;7B: mittelgroßes Modell, gut geeignet für die Verarbeitung natürlicher Sprache;&lt;/li&gt;
    &lt;li&gt;57B: leistungsstarkes großes Modell, das für anspruchsvolle Anwendungen geeignet ist;&lt;/li&gt;
    &lt;li&gt;72B: das ultimative Qwen-2-Modell, das für die Lösung der komplexesten Probleme und die Verarbeitung großer Datenmengen konzipiert ist.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die Versionen 0.5B und 1.5B wurden auf Datensätzen mit einer Kontextlänge von 32K trainiert. Die Versionen 7B und 72B wurden bereits auf den 128K-Kontext trainiert. Das Kompromissmodell 57B wurde auf Datensätzen mit einer Kontextlänge von 64K trainiert. Die Entwickler sehen Qwen 2 als Analogon zu Llama 3, das die gleichen Probleme lösen kann, aber viel schneller ist.&lt;/p&gt;
&lt;h2&gt;Llama 3&lt;/h2&gt;
&lt;p&gt;Die dritte Version des generativen neuronalen Netzes aus der MetaAI Llama-Familie wurde im April 2024 vorgestellt. Es wurde, anders als Qwen 2, in nur zwei Versionen veröffentlicht: 8B und 70B. Diese Modelle wurden als universelles Werkzeug für die Lösung vieler Probleme in verschiedenen Fällen positioniert. Es setzte den Trend zur Mehrsprachigkeit und Multimodalität fort und wurde gleichzeitig schneller als die Vorgängerversionen und unterstützt eine größere Kontextlänge.&lt;/p&gt;
&lt;p&gt;Die Entwickler von Llama 3 haben versucht, die Modelle zu verfeinern, um den Anteil der statistischen Halluzinationen zu verringern und die Vielfalt der Antworten zu erhöhen. So ist Llama 3 durchaus in der Lage, praktische Ratschläge zu geben, beim Verfassen eines Geschäftsbriefs zu helfen oder über ein vom Benutzer vorgegebenes Thema zu spekulieren. Die Datensätze, auf denen die Llama 3-Modelle trainiert wurden, hatten eine Kontextlänge von 128K und mehr als 5% enthielten Daten in 30 Sprachen. Wie es in der Pressemitteilung heißt, wird die Generierungsleistung in Englisch jedoch deutlich höher sein als in allen anderen Sprachen.&lt;/p&gt;
&lt;h2&gt;Vergleich&lt;/h2&gt;
&lt;h3&gt;NVIDIA® RTX™ A6000&lt;/h3&gt;
&lt;p&gt;Beginnen wir unsere Geschwindigkeitsmessungen mit der NVIDIA® RTX™ A6000 GPU, die auf der Ampere-Architektur basiert (nicht zu verwechseln mit der NVIDIA® RTX™ A6000 Ada). Diese Karte hat sehr bescheidene Eigenschaften, aber gleichzeitig verfügt sie über 48 GB VRAM, was es ihr ermöglicht, mit ziemlich großen neuronalen Netzwerkmodellen zu arbeiten. Leider sind die niedrige Taktrate und Bandbreite die Gründe für die geringe Inferenzgeschwindigkeit von Text-LLMs.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/995/original/il_qwen_2_vs_llama_3_1.png?1720184216&quot; alt=&quot;Nvidia A6000 chart qwen2-vs-llama3&quot;&gt;
&lt;p&gt;Unmittelbar nach dem Start begann das neuronale Netz Qwen 2, Llama 3 zu übertreffen. Bei der Beantwortung der gleichen Fragen betrug der durchschnittliche Geschwindigkeitsunterschied 24 % zugunsten von Qwen 2. Die Geschwindigkeit bei der Generierung von Antworten lag im Bereich von 11-16 Token pro Sekunde. Das ist 2-3 mal schneller als der Versuch, die Generierung selbst auf einer leistungsstarken CPU laufen zu lassen, aber in unserer Bewertung ist dies das bescheidenste Ergebnis.&lt;/p&gt;
&lt;h3&gt;NVIDIA® RTX™ 3090&lt;/h3&gt;
&lt;p&gt;Die nächste GPU basiert ebenfalls auf der Ampere-Architektur, hat 2 Mal weniger Videospeicher, arbeitet aber gleichzeitig mit einer höheren Frequenz (19500 MHz gegenüber 16000 Mhz). Auch die Bandbreite des Videospeichers ist höher (936,2 GB/s gegenüber 768 GB/s). Diese beiden Faktoren erhöhen die Leistung der RTX™ 3090 erheblich, selbst wenn man die Tatsache berücksichtigt, dass sie 256 CUDA-Kerne weniger hat.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/996/original/il_qwen_2_vs_llama_3_2.png?1720184259&quot; alt=&quot;Nvidia RTX 3090 chart qwen2-vs-llama3&quot;&gt;
&lt;p&gt;Hier kann man deutlich sehen, dass Qwen 2 bei der Ausführung der gleichen Aufgaben viel schneller ist (bis zu 23 %) als Llama 3. Was die Qualität der Generierung angeht, so ist die Mehrsprachenunterstützung von Qwen 3 wirklich lobenswert, und das Modell antwortet immer in der gleichen Sprache, in der die Frage gestellt wurde. Bei Llama 3 kommt es in dieser Hinsicht oft vor, dass das Modell zwar die Frage selbst versteht, es aber vorzieht, die Antworten auf Englisch zu formulieren.&lt;/p&gt;
&lt;h3&gt;NVIDIA® RTX™ 4090&lt;/h3&gt;
&lt;p&gt;Nun das Interessanteste: Schauen wir uns an, wie der NVIDIA® RTX™ 4090, der auf der Ada Lovelace Architektur basiert, benannt nach der englischen Mathematikerin Augusta Ada King, Countess of Lovelace, die gleiche Aufgabe bewältigt. Sie wurde berühmt, weil sie die erste Programmiererin in der Geschichte der Menschheit war, und als sie ihr erstes Programm schrieb, gab es noch keinen zusammengebauten Computer, der es ausführen konnte. Es wurde jedoch anerkannt, dass der von Ada beschriebene Algorithmus zur Berechnung der Bernoulli-Zahlen das erste Programm der Welt war, das für die Ausführung auf einem Computer geschrieben wurde.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/997/original/il_qwen_2_vs_llama_3_3.png?1720184288&quot; alt=&quot;Nvidia RTX 4090 chart qwen2-vs-llama3&quot;&gt;
&lt;p&gt;Die Grafik zeigt deutlich, dass der RTX™ 4090 die Inferenz beider Modelle fast doppelt so schnell bewältigte. Interessant ist, dass Llama 3 in einer der Iterationen die Leistung von Qwen 2 um 1,2 % übertreffen konnte. Berücksichtigt man jedoch die anderen Iterationen, so behielt Qwen 2 seine Führungsposition und blieb 7% schneller als Llama 3. In allen Iterationen war die Qualität der Antworten beider neuronaler Netze hoch, mit einer minimalen Anzahl von Halluzinationen. Der einzige Mangel ist, dass in seltenen Fällen ein oder zwei chinesische Zeichen in die Antworten gemischt wurden, was die Gesamtbedeutung in keiner Weise beeinträchtigte.&lt;/p&gt;
&lt;h3&gt;NVIDIA® RTX™ A40&lt;/h3&gt;
&lt;p&gt;Die nächste NVIDIA® RTX™ A40 Karte, mit der wir ähnliche Tests durchgeführt haben, basiert ebenfalls auf der Ampere-Architektur und verfügt über 48 GB Videospeicher auf dem Motherboard. Im Vergleich zur RTX™ 3090 ist dieser Speicher etwas schneller (20000 MHz vs. 19500 MHz), hat aber eine geringere Bandbreite (695,8 GB/s vs. 936,2 GB/s). Diese Situation wird durch die größere Anzahl an CUDA-Kernen (10752 gegenüber 10496) kompensiert, wodurch die RTX™ A40 insgesamt etwas schneller als die RTX™ 3090 arbeiten kann.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/998/original/il_qwen_2_vs_llama_3_4.png?1720184316&quot; alt=&quot;Nvidia A40 chart qwen2-vs-llama3&quot;&gt;
&lt;p&gt;Was den Vergleich der Geschwindigkeit der Modelle angeht, so liegt Qwen 2 auch hier in allen Iterationen vor Llama 3. Wenn es auf der RTX™ A40 läuft, beträgt der Geschwindigkeitsunterschied bei den gleichen Antworten etwa 15 %. Bei einigen Aufgaben gab Qwen 2 etwas mehr wichtige Informationen, während Llama 3 so spezifisch wie möglich war und Beispiele gab. Trotzdem muss alles doppelt geprüft werden, da beide Modelle manchmal zu widersprüchlichen Antworten kommen.&lt;/p&gt;
&lt;h3&gt;NVIDIA® L20&lt;/h3&gt;
&lt;p&gt;Der letzte Teilnehmer in unserem Test war die NVIDIA® L20. Diese GPU ist wie die RTX™ 4090 auf der Ada Lovelace Architektur aufgebaut. Es handelt sich um ein relativ neues Modell, das im Herbst 2023 vorgestellt wurde. Es hat 48 GB Videospeicher und 11776 CUDA-Kerne an Bord. Die Speicherbandbreite ist geringer als bei der RTX™ 4090 (864 GB/s gegenüber 936,2 GB/s), ebenso die effektive Frequenz. Die NVIDIA® L20-Inferenzergebnisse beider Modelle werden also näher an 3090 als an 4090 liegen.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/999/original/il_qwen_2_vs_llama_3_5.png?1720184358&quot; alt=&quot;Nvidia L20 chart qwen2-vs-llama3&quot;&gt;
&lt;p&gt;Der letzte Test brachte keine Überraschungen mehr. Qwen 2 erwies sich in allen Iterationen als schneller als Llama 3.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Fassen wir alle gesammelten Ergebnisse in einem Diagramm zusammen. Qwen 2 war zwischen 7% und 24% schneller als Llama 3, abhängig von der verwendeten GPU. Daraus können wir eindeutig schließen, dass die RTX™ 3090 der unbestrittene Spitzenreiter ist, wenn es darum geht, Hochgeschwindigkeits-Inferenzen aus Modellen wie Qwen 2 oder Llama 3 auf Single-GPU-Konfigurationen zu erhalten. Eine mögliche Alternative könnte die A40 oder L20 sein. Aber es lohnt sich nicht, die Inferenz dieser Modelle auf Ampere-Karten der A6000-Generation laufen zu lassen.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/001/000/original/il_qwen_2_vs_llama_3_6.png?1720184380&quot; alt=&quot;Conclusion chart qwen2-vs-llama3&quot;&gt;
&lt;p&gt;Karten mit einem kleineren Videospeicher, wie z.B. NVIDIA® RTX™ 2080Ti, haben wir absichtlich nicht in den Tests erwähnt, da es nicht möglich ist, die oben erwähnten 7B- oder 8B-Modelle dort ohne Quantisierung unterzubringen. Nun, das 1.5B-Modell Qwen 2 hat leider keine hochwertigen Antworten und kann nicht als vollständiger Ersatz für 7B dienen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf&quot;&gt;Ihr eigenes Qwen mit HF&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face&quot;&gt;Llama 3 mit Hugging Face&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/576-ihr-eigenes-vicuna-unter-linux&quot;&gt;Ihr eigenes Vicuna unter Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/107/original/il_qwen_2_vs_llama_3.png?1737368521"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 11:27:11 +0100</pubDate>
      <guid isPermaLink="false">579</guid>
      <dc:date>2025-01-20T11:27:11+01:00</dc:date>
    </item>
    <item>
      <title>Ihr eigenes Qwen mit HF</title>
      <link>https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf</link>
      <description>&lt;p&gt;Große neuronale Netzwerkmodelle mit ihren außergewöhnlichen Fähigkeiten sind fest in unserem Leben verankert. Große Unternehmen erkannten dies als Chance für die zukünftige Entwicklung und begannen, ihre eigenen Versionen dieser Modelle zu entwickeln. Der chinesische Gigant Alibaba hat nicht tatenlos zugesehen. Er entwickelte sein eigenes Modell, QWen (Tongyi Qianwen), das zur Grundlage für viele andere neuronale Netzwerkmodelle wurde.&lt;/p&gt;
&lt;h2&gt;Voraussetzungen&lt;/h2&gt;
&lt;h3&gt;Cache und Pakete aktualisieren&lt;/h3&gt;
&lt;p&gt;Bevor Sie mit der Einrichtung von Qwen beginnen, sollten Sie den Paket-Cache aktualisieren und Ihr Betriebssystem aufrüsten. Außerdem müssen wir Python Installer Packages (PIP) hinzufügen, falls es nicht bereits im System vorhanden ist. Bitte beachten Sie, dass wir für diese Anleitung Ubuntu 22.04 LTS als Betriebssystem verwenden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade &amp;&amp; sudo apt install python3-pip&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Nvidia-Treiber installieren&lt;/h3&gt;
&lt;p&gt;Sie können das automatische Dienstprogramm verwenden, das in Ubuntu-Distributionen standardmäßig enthalten ist:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Alternativ können Sie die Nvidia-Treiber auch manuell mit Hilfe unserer &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot;&gt;Schritt-für-Schritt-Anleitung&lt;/a&gt; installieren. Vergessen Sie nicht, den Server neu zu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Texterstellung Web UI&lt;/h2&gt;
&lt;h3&gt;Klonen Sie das Repository&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das Arbeitsverzeichnis auf der SSD:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Klonen Sie das Repository des Projekts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/oobabooga/text-generation-webui.git&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Anforderungen installieren&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd text-generation-webui&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen und installieren Sie alle fehlenden Komponenten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -r requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;SSH-Schlüssel zu HF hinzufügen&lt;/h2&gt;
&lt;p&gt;Bevor Sie beginnen, müssen Sie in Ihrem SSH-Client eine Portweiterleitung einrichten (Remote-Port 7860 auf 127.0.0.1:7860). Weitere Informationen finden Sie im folgenden Artikel: &lt;a href=&quot;https://www.leadergpu.de/articles/488-stellen-sie-eine-verbindung-zu-einem-linux-server-her&quot;&gt;Verbindung zum Linux-Server herstellen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository und die installierten Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erzeugen Sie einen SSH-Schlüssel, den Sie in Hugging Face verwenden können, und fügen Sie ihn hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/.ssh &amp;&amp; ssh-keygen&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn das Schlüsselpaar generiert ist, können Sie den öffentlichen Schlüssel im Terminalemulator anzeigen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cat id_rsa.pub&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie alle Informationen, die mit ssh-rsa beginnen und mit usergpu@gpuserver enden, wie im folgenden Screenshot gezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/907/original/sh_llama3_quick_start_3.png?1713533169&quot; alt=&quot;Copy RSA key&quot;&gt;
&lt;p&gt;Öffnen Sie einen Webbrowser, geben Sie &lt;a href=&quot;https://huggingface.co/&quot;&gt;https://huggingface.co/&lt;/a&gt; in die Adresszeile ein und drücken Sie &lt;b translate=&quot;no&quot;&gt;Enter&lt;/b&gt;. Loggen Sie sich in Ihren HF-Account ein und öffnen Sie die &lt;a href=&quot;https://huggingface.co/settings/profile&quot;&gt;Profileinstellungen&lt;/a&gt;. Wählen Sie dann &lt;b translate=&quot;no&quot;&gt;SSH and GPG Keys&lt;/b&gt; und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Add SSH Key&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/908/original/sh_llama3_quick_start_4.png?1713533229&quot; alt=&quot;Add SSH key&quot;&gt;
&lt;p&gt;Füllen Sie &lt;b translate=&quot;no&quot;&gt;Key name&lt;/b&gt; aus und fügen Sie den kopierten &lt;b translate=&quot;no&quot;&gt;SSH Public key&lt;/b&gt; aus dem Terminal ein. Speichern Sie den Schlüssel, indem Sie &lt;b translate=&quot;no&quot;&gt;Add key&lt;/b&gt; drücken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/909/original/sh_llama3_quick_start_5.png?1713533267&quot; alt=&quot;Paste the key&quot;&gt;
&lt;p&gt;Jetzt ist Ihr HF-Konto mit dem öffentlichen SSH-Schlüssel verknüpft. Der zweite Teil (privater Schlüssel) ist auf dem Server gespeichert. Der nächste Schritt ist die Installation einer speziellen Git LFS-Erweiterung (Large File Storage), die für das Herunterladen großer Dateien wie z. B. Modelle neuronaler Netze verwendet wird. Öffnen Sie Ihr Home-Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das Shell-Skript herunter und führen Sie es aus. Dieses Skript installiert ein neues Drittanbieter-Repository mit git-lfs:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun können Sie es mit dem Standard-Paketmanager installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get install git-lfs&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns git so konfigurieren, dass es unseren HF-Nickname verwendet:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.name &quot;John&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und mit dem HF-E-Mail-Konto verknüpft:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.email &quot;john.doe@example.com&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Das Modell herunterladen&lt;/h2&gt;
&lt;p&gt;Der nächste Schritt ist das Herunterladen des Modells mit der von Softwareentwicklern häufig verwendeten Technik des Klonens von Repositorys. Der einzige Unterschied besteht darin, dass das zuvor installierte Git-LFS die markierten Zeigerdateien automatisch verarbeiten und den gesamten Inhalt herunterladen wird. Öffnen Sie das erforderliche Verzeichnis (in unserem Beispiel /mnt/fastdisk):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dieser Befehl kann einige Zeit in Anspruch nehmen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone git@hf.co:Qwen/Qwen1.5-32B-Chat-GGUF&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Ausführen des Modells&lt;/h2&gt;
&lt;p&gt;Führen Sie ein Skript aus, das den Webserver startet und /mnt/fastdisk als das Arbeitsverzeichnis mit den Modellen angibt. Dieses Skript kann beim ersten Start einige zusätzliche Komponenten herunterladen.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./start_linux.sh --model-dir /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie Ihren Webbrowser und wählen Sie &lt;b translate=&quot;no&quot;&gt;llama.cpp&lt;/b&gt; aus der Dropdown-Liste &lt;b translate=&quot;no&quot;&gt;Model loader&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/986/original/sh_your_own_qwen_using_hf_1.png?1716463522&quot; alt=&quot;llama.cpp settings&quot;&gt;
&lt;p&gt;Stellen Sie sicher, dass Sie den Parameter &lt;b translate=&quot;no&quot;&gt;n-gpu-layers&lt;/b&gt; setzen. Er ist dafür verantwortlich, wie viel Prozent der Berechnungen auf den Grafikprozessor verlagert werden. Wenn Sie die Zahl auf 0 belassen, werden alle Berechnungen auf der CPU durchgeführt, was ziemlich langsam ist. Sobald alle Parameter eingestellt sind, klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Load&lt;/b&gt;. Wechseln Sie dann zur Registerkarte &lt;b translate=&quot;no&quot;&gt;Chat&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Instruct mode&lt;/b&gt;. Nun können Sie eine beliebige Eingabeaufforderung eingeben und eine Antwort erhalten:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/987/original/sh_your_own_qwen_using_hf_2.png?1716463543&quot; alt=&quot;Qwen chat example&quot;&gt;
&lt;p&gt;Die Verarbeitung wird standardmäßig auf allen verfügbaren GPUs durchgeführt, wobei die zuvor festgelegten Parameter berücksichtigt werden:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/988/original/sh_your_own_qwen_using_hf_3.png?1716463565&quot; alt=&quot;Qwen task GPU loading&quot;&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux&quot;&gt;Ihr eigener LLaMa 2 unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face&quot;&gt;Llama 3 mit Hugging Face&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/576-ihr-eigenes-vicuna-unter-linux&quot;&gt;Ihr eigenes Vicuna unter Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/985/original/il_your_own_qwen_using_hf.png?1716463472"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 09:43:46 +0100</pubDate>
      <guid isPermaLink="false">578</guid>
      <dc:date>2025-01-20T09:43:46+01:00</dc:date>
    </item>
    <item>
      <title>Ihr eigenes Vicuna unter Linux</title>
      <link>https://www.leadergpu.de/catalog/576-ihr-eigenes-vicuna-unter-linux</link>
      <description>&lt;p&gt;Dieser Artikel führt Sie durch den Prozess der Bereitstellung einer einfachen LLaMA-Alternative auf einem LeaderGPU-Server. Zu diesem Zweck werden wir das &lt;a href=&quot;https://github.com/lm-sys/FastChat&quot;&gt;FastChat-Projekt&lt;/a&gt; und das frei verfügbare &lt;a href=&quot;https://lmsys.org/blog/2023-03-30-vicuna/&quot;&gt;Vicuna-Modell&lt;/a&gt; verwenden. &lt;/p&gt;
&lt;p&gt;Das Modell, das wir verwenden werden, basiert auf der LLaMA-Architektur von Meta, wurde aber für den effizienten Einsatz auf Consumer-Hardware optimiert. Dieses Setup bietet ein gutes Gleichgewicht zwischen Leistung und Ressourcenanforderungen und eignet sich daher sowohl für Test- als auch für Produktionsumgebungen.&lt;/p&gt;
&lt;h2&gt;Vorinstallation&lt;/h2&gt;
&lt;p&gt;Wir bereiten die Installation von FastChat vor, indem wir das Paket-Cache-Repository aktualisieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie die Nvidia-Treiber automatisch mit dem folgenden Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sie können diese Treiber auch manuell mit &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot;&gt;unserer Schritt-für-Schritt-Anleitung&lt;/a&gt; installieren. Starten Sie dann den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der nächste Schritt ist die Installation von PIP (Package Installer for Python):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install python3-pip&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;FastChat installieren&lt;/h2&gt;
&lt;h3&gt;Von PyPi&lt;/h3&gt;
&lt;p&gt;Es gibt zwei Möglichkeiten, FastChat zu installieren. Sie können es direkt von PyPi aus installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip3 install &quot;fschat[model_worker,webui]&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Von GitHub&lt;/h3&gt;
&lt;p&gt;Alternativ können Sie das FastChat-Repository von GitHub klonen und es installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/lm-sys/FastChat.git&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd FastChat&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vergessen Sie nicht, PIP zu aktualisieren, bevor Sie fortfahren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip3 install --upgrade pip&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip3 install -e &quot;.[model_worker,webui]&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;FastChat ausführen&lt;/h2&gt;
&lt;h3&gt;Erster Start&lt;/h3&gt;
&lt;p&gt;Um einen erfolgreichen ersten Start zu gewährleisten, empfiehlt es sich, FastChat manuell direkt von der Kommandozeile aus aufzurufen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dabei wird automatisch das gewünschte Modell, das mit dem Parameter --model-path angegeben werden muss, abgerufen und heruntergeladen. Die 7b steht für ein Modell mit 7 Milliarden Parametern. Dies ist das leichteste Modell, das für GPUs mit 16 GB Videospeicher geeignet ist. Links zu Modellen mit einer größeren Anzahl von Parametern finden Sie in der &lt;a href=&quot;https://github.com/lm-sys/FastChat/blob/main/README.md&quot;&gt;Readme-Datei&lt;/a&gt; des Projekts.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/965/original/sh_your_own_vicuna_in_linux_1.png?1714043790&quot; alt=&quot;Sample Vicuna conversation&quot;&gt;
&lt;p&gt;Nun haben Sie die Möglichkeit, direkt in der Befehlszeilenschnittstelle mit dem Chatbot zu kommunizieren oder eine Webschnittstelle einzurichten. Es enthält drei Komponenten:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Controller&lt;/li&gt;
    &lt;li&gt;Arbeiter&lt;/li&gt;
    &lt;li&gt;Gradio-Webserver&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Dienste einrichten&lt;/h3&gt;
&lt;p&gt;Lassen Sie uns jede Komponente in einen separaten systemd-Dienst umwandeln. Erstellen Sie 3 separate Dateien mit dem folgenden Inhalt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/systemd/system/vicuna-controller.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Unit]
Description=Vicuna controller service
[Service]
User=usergpu
WorkingDirectory=/home/usergpu
ExecStart=python3 -m fastchat.serve.controller
Restart=always
[Install]
WantedBy=multi-user.target&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/systemd/system/vicuna-worker.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Unit]
Description=Vicuna worker service
[Service]
User=usergpu
WorkingDirectory=/home/usergpu
ExecStart=python3 -m fastchat.serve.model_worker --model-path lmsys/vicuna-7b-v1.5
Restart=always
[Install]
WantedBy=multi-user.target&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/systemd/system/vicuna-webserver.service&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;[Unit]
Description=Vicuna web server
[Service]
User=usergpu
WorkingDirectory=/home/usergpu
ExecStart=python3 -m fastchat.serve.gradio_web_server
Restart=always
[Install]
WantedBy=multi-user.target&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Systemd aktualisiert seine Daemon-Datenbank normalerweise während des Systemstarts. Sie können dies jedoch auch manuell mit dem folgenden Befehl tun:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl daemon-reload&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Fügen wir nun drei neue Dienste zum Startvorgang hinzu und starten sie sofort mit der Option &lt;b translate=&quot;no&quot;&gt;--now&lt;/b&gt;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl enable vicuna-controller.service --now &amp;&amp; sudo systemctl enable vicuna-worker.service --now &amp;&amp; sudo systemctl enable vicuna-webserver.service --now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie jedoch versuchen, eine Weboberfläche unter http://[IP_ADDRESS]:7860 zu öffnen, wird eine völlig unbrauchbare Oberfläche ohne verfügbare Modelle angezeigt. Um dieses Problem zu beheben, beenden Sie den Webinterface-Dienst:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl stop vicuna-webserver.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie den Webdienst manuell aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 -m fastchat.serve.gradio_web_server&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Hinzufügen einer Authentifizierung&lt;/h3&gt;
&lt;p&gt;Diese Aktion ruft ein weiteres Skript auf, das das zuvor heruntergeladene Modell in einer Gradio-internen Datenbank registrieren wird. Warten Sie ein paar Sekunden und unterbrechen Sie den Prozess mit der Abkürzung &lt;b translate=&quot;no&quot;&gt;Ctrl + C&lt;/b&gt;. Wir werden uns auch um die Sicherheit kümmern und einen einfachen Authentifizierungsmechanismus für den Zugriff auf das Webinterface aktivieren. Öffnen Sie die folgende Datei, wenn Sie FastChat von PyPI installiert haben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /home/usergpu/.local/lib/python3.10/site-packages/fastchat/serve/gradio_web_server.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;oder&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /home/usergpu/FastChat/fastchat/serve/gradio_web_server.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Blättern Sie bis zum Ende. Finden Sie diese Zeile:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;auth=auth,&lt;/pre&gt;
&lt;p&gt;Ändern Sie sie, indem Sie einen beliebigen Benutzernamen oder ein beliebiges Passwort eingeben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;auth=(“username”,”password”),&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Speichern Sie die Datei und beenden Sie sie mit &lt;b translate=&quot;no&quot;&gt;Ctrl + X&lt;/b&gt;. Starten Sie schließlich die Webschnittstelle:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo systemctl start vicuna-webserver.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie &lt;b translate=&quot;no&quot;&gt;http://[IP_ADDRESS]:7860&lt;/b&gt; in Ihrem Browser und genießen Sie FastChat mit Vicuna:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/966/original/sh_your_own_vicuna_in_linux_2.png?1714043825&quot; alt=&quot;Sample Vicuna poem&quot;&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux&quot;&gt;Ihr eigener LLaMa 2 unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face&quot;&gt;Llama 3 mit Hugging Face&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf&quot;&gt;Ihr eigenes Qwen mit HF&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/964/original/il_your_own_vicuna_in_linux.jpg?1714043750"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 09:25:01 +0100</pubDate>
      <guid isPermaLink="false">576</guid>
      <dc:date>2025-01-20T09:25:01+01:00</dc:date>
    </item>
    <item>
      <title>Ihr eigener LLaMa 2 unter Linux</title>
      <link>https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux</link>
      <description>&lt;h2&gt;Schritt 1. Betriebssystem vorbereiten&lt;/h2&gt;
&lt;h3&gt;Cache und Pakete aktualisieren&lt;/h3&gt;
&lt;p&gt;Bevor Sie mit der Einrichtung von LLaMa 2 beginnen, sollten Sie den Paket-Cache aktualisieren und Ihr Betriebssystem aufrüsten. Bitte beachten Sie, dass wir für diese Anleitung Ubuntu 22.04 LTS als Betriebssystem verwenden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Außerdem müssen wir Python Installer Packages (PIP) hinzufügen, falls es nicht bereits im System vorhanden ist:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install python3-pip&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Nvidia-Treiber installieren&lt;/h3&gt;
&lt;p&gt;Sie können das automatische Dienstprogramm verwenden, das in Ubuntu-Distributionen standardmäßig enthalten ist:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Alternativ können Sie die Nvidia-Treiber auch manuell mit Hilfe &lt;a href=&quot;https://www.leadergpu.de/articles/499-installieren-sie-nvidia-treiber-unter-linux&quot;&gt;unserer Schritt-für-Schritt-Anleitung&lt;/a&gt; installieren. Vergessen Sie nicht, den Server neu zu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 2. Modelle von MetaAI abrufen&lt;/h2&gt;
&lt;h3&gt;Offizielle Anfrage&lt;/h3&gt;
&lt;p&gt;Öffnen Sie die folgende Adresse in Ihrem Browser: &lt;a href=&quot;https://ai.meta.com/resources/models-and-libraries/llama-downloads/&quot;&gt;https://ai.meta.com/resources/models-and-libraries/llama-downloads/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Füllen Sie alle erforderlichen Felder aus, lesen Sie die Benutzervereinbarung und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Agree and Continue&lt;/b&gt;. Nach ein paar Minuten (Stunden, Tagen) erhalten Sie eine spezielle Download-URL, die Ihnen die Erlaubnis erteilt, Modelle für einen Zeitraum von 24 Stunden herunterzuladen.&lt;/p&gt;
&lt;h3&gt;Klonen Sie das Repository&lt;/h3&gt;
&lt;p&gt;Bitte überprüfen Sie vor dem Download den verfügbaren Speicherplatz:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;df -h&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;Filesystem      Size  Used Avail Use% Mounted on
tmpfs            38G  3.3M   38G   1% /run
/dev/sda2        99G   24G   70G  26% /
tmpfs           189G     0  189G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/nvme0n1    1.8T   26G  1.7T   2% /mnt/fastdisk
tmpfs            38G  8.0K   38G   1% /run/user/1000&lt;/pre&gt;
&lt;p&gt;Wenn Sie nicht gemountete lokale Festplatten haben, befolgen Sie bitte die Anweisungen unter &lt;a href=&quot;https://www.leadergpu.de/articles/492-festplattenpartitionierung-unter-linux&quot;&gt;Festplattenpartitionierung in Linux&lt;/a&gt;. Dies ist wichtig, da die heruntergeladenen Modelle sehr groß sein können und Sie deren Speicherort im Voraus planen müssen. In diesem Beispiel haben wir eine lokale SSD im Verzeichnis /mnt/fastdisk eingehängt. Öffnen wir es:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erstellen Sie eine Kopie des ursprünglichen LLaMa-Repositorys:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/facebookresearch/llama&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn Sie auf einen Berechtigungsfehler stoßen, erteilen Sie einfach dem Benutzerergpu die Berechtigungen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo chown -R usergpu:usergpu /mnt/fastdisk/&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Herunterladen per Skript&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd llama&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./download.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie die von MetaAI bereitgestellte URL ein und wählen Sie alle erforderlichen Modelle aus. Wir empfehlen, alle verfügbaren Modelle herunterzuladen, damit Sie nicht erneut um Erlaubnis bitten müssen. Wenn Sie jedoch ein bestimmtes Modell benötigen, laden Sie nur dieses herunter.&lt;/p&gt;
&lt;h3&gt;Schnelltest über Beispiel-App&lt;/h3&gt;
&lt;p&gt;Zu Beginn können wir prüfen, ob Komponenten fehlen. Wenn Bibliotheken oder Anwendungen fehlen, werden sie vom Paketmanager automatisch installiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -e .&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Der nächste Schritt besteht darin, neue Binärdateien zu PATH hinzuzufügen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;export PATH=/home/usergpu/.local/bin:$PATH&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Demo-Beispiel aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;torchrun --nproc_per_node 1 /mnt/fastdisk/llama/example_chat_completion.py --ckpt_dir /mnt/fastdisk/llama-2-7b-chat/ --tokenizer_path /mnt/fastdisk/llama/tokenizer.model --max_seq_len 512 --max_batch_size 6&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die Anwendung erstellt einen Rechenprozess auf der ersten GPU und simuliert einen einfachen Dialog mit typischen Anfragen, wobei die Antworten mit LLaMa 2 generiert werden.&lt;/p&gt;
&lt;h2&gt;Schritt 3. llama.cpp holen&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ggerganov/llama.cpp/tree/master&quot;&gt;LLaMa C++&lt;/a&gt; ist ein Projekt des bulgarischen Physikers und Softwareentwicklers Georgi Gerganov. Es enthält viele nützliche Hilfsprogramme, die die Arbeit mit diesem neuronalen Netzwerkmodell erleichtern. Alle Teile von llama.cpp sind Open-Source-Software und werden unter der &lt;a href=&quot;https://github.com/ggerganov/llama.cpp/blob/master/LICENSE&quot;&gt;MIT-Lizenz&lt;/a&gt; vertrieben.&lt;/p&gt;
&lt;h3&gt;Klonen Sie das Repository&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das Arbeitsverzeichnis auf der SSD:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Klonen Sie das Repository des Projekts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/ggerganov/llama.cpp.git&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Anwendungen kompilieren&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das geklonte Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd llama.cpp&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie den Kompilierungsprozess mit dem folgenden Befehl:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;make&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 4. Holen Sie text-generation-webui&lt;/h2&gt;
&lt;h3&gt;Klonen Sie das Repository&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das Arbeitsverzeichnis auf der SSD:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Klonen Sie das Repository des Projekts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/oobabooga/text-generation-webui.git&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Anforderungen installieren&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd text-generation-webui&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Überprüfen und installieren Sie alle fehlenden Komponenten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;pip install -r requirements.txt&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Schritt 5. PTH in GGUF umwandeln&lt;/h2&gt;
&lt;h3&gt;Gängige Formate&lt;/h3&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;PTH (Python TorcH)&lt;/b&gt; - Ein konsolidiertes Format. Im Wesentlichen handelt es sich um ein Standard-ZIP-Archiv mit einem serialisierten PyTorch-Zustandswörterbuch. Für dieses Format gibt es jedoch schnellere Alternativen wie GGML und GGUF.&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;GGML (Georgi Gerganov’s Machine Learning)&lt;/b&gt; - Dies ist ein Dateiformat, das von Georgi Gerganov, dem Autor von llama.cpp, entwickelt wurde. Es basiert auf einer gleichnamigen, in C++ geschriebenen Bibliothek, die die Leistung von großen Sprachmodellen erheblich gesteigert hat. Es wurde nun durch das moderne GGUF-Format ersetzt.&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;GGUF (Georgi Gerganov’s Unified Format)&lt;/b&gt; - Ein weit verbreitetes Dateiformat für LLMs, das von verschiedenen Anwendungen unterstützt wird. Es bietet verbesserte Flexibilität, Skalierbarkeit und Kompatibilität für die meisten Anwendungsfälle.&lt;/p&gt;
&lt;h3&gt;llama.cpp convert.py Skript&lt;/h3&gt;
&lt;p&gt;Bearbeiten Sie die Parameter des Modells vor der Konvertierung:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;nano /mnt/fastdisk/llama-2-7b-chat/params.json&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Korrigieren Sie &lt;b translate=&quot;no&quot;&gt;&quot;vocab_size&quot;: -1&lt;/b&gt; auf &lt;b translate=&quot;no&quot;&gt;&quot;vocab_size&quot;: 32000&lt;/b&gt;. Speichern Sie die Datei und beenden Sie sie. Öffnen Sie dann das Verzeichnis llama.cpp:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk/llama.cpp&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Skript aus, das das Modell in das GGUF-Format konvertiert:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;python3 convert.py /mnt/fastdisk/llama-2-7b-chat/ --vocab-dir /mnt/fastdisk/llama&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn alle vorherigen Schritte korrekt ausgeführt wurden, erhalten Sie eine Meldung wie diese:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;Wrote /mnt/fastdisk/llama-2-7b-chat/ggml-model-f16.gguf&lt;/pre&gt;
&lt;h2&gt;Schritt 6. WebUI&lt;/h2&gt;
&lt;h3&gt;So starten Sie WebUI&lt;/h3&gt;
&lt;p&gt;Öffnen Sie das Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk/text-generation-webui/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Startskript mit einigen nützlichen Parametern aus:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--model-dir&lt;/b&gt; gibt den korrekten Pfad zu den Modellen an&lt;/li&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--share&lt;/b&gt; erstellt einen temporären öffentlichen Link (wenn Sie keinen Port über SSH weiterleiten wollen)&lt;/li&gt;
  &lt;li&gt;&lt;b translate=&quot;no&quot;&gt;--gradio-auth&lt;/b&gt; fügt eine Autorisierung mit Login und Passwort hinzu (ersetzen Sie user:password durch Ihr eigenes)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./start_linux.sh --model-dir /mnt/fastdisk/llama-2-7b-chat/ --share --gradio-auth user:password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nach erfolgreichem Start erhalten Sie einen lokalen und einen temporären Freigabelink für den Zugriff:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;Running on local URL:  http://127.0.0.1:7860
Running on public URL: https://e9a61c21593a7b251f.gradio.live
&lt;/pre&gt;
&lt;p&gt;Dieser Freigabelink läuft in 72 Stunden ab.&lt;/p&gt;
&lt;h3&gt;Laden Sie das Modell&lt;/h3&gt;
&lt;p&gt;Autorisieren Sie sich in der WebUI mit dem gewählten Benutzernamen und Passwort und folgen Sie diesen 5 einfachen Schritten:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Navigieren Sie zur Registerkarte &lt;b translate=&quot;no&quot;&gt;Model&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;Wählen Sie &lt;b translate=&quot;no&quot;&gt;ggml-model-f16.gguf&lt;/b&gt; aus dem Dropdown-Menü.&lt;/li&gt;
  &lt;li&gt;Wählen Sie, wie viele Schichten Sie auf dem Grafikprozessor berechnen möchten (&lt;b translate=&quot;no&quot;&gt;n-gpu-layers&lt;/b&gt;).&lt;/li&gt;
  &lt;li&gt;Wählen Sie, wie viele Threads Sie starten möchten (&lt;b translate=&quot;no&quot;&gt;threads&lt;/b&gt;).  &lt;/li&gt;
  &lt;li&gt;Klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Load&lt;/b&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/967/original/sh_your_own_llama_2_in_linux_1.png?1714136367&quot; alt=&quot;Loading the model&quot;&gt;
&lt;h3&gt;Starten Sie den Dialog&lt;/h3&gt;
&lt;p&gt;Ändern Sie die Registerkarte auf &lt;b translate=&quot;no&quot;&gt;Chat&lt;/b&gt;, geben Sie Ihre Eingabeaufforderung ein und klicken Sie auf &lt;b translate=&quot;no&quot;&gt;Generate&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/968/original/sh_your_own_llama_2_in_linux_2.png?1714136407&quot; alt=&quot;Start the dialog&quot;&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face&quot;&gt;Llama 3 mit Hugging Face&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf&quot;&gt;Ihr eigenes Qwen mit HF&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/579-qwen-2-gegen-llama-3&quot;&gt;Qwen 2 gegen Llama 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/001/025/original/il_your_own_llama_2_in_Linux.png?1721999193"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 09:13:25 +0100</pubDate>
      <guid isPermaLink="false">574</guid>
      <dc:date>2025-01-20T09:13:25+01:00</dc:date>
    </item>
    <item>
      <title>Llama 3 mit Hugging Face</title>
      <link>https://www.leadergpu.de/catalog/573-llama-3-mit-hugging-face</link>
      <description>&lt;p&gt;Am 18. April 2024 wurde das neueste große Sprachmodell von MetaAI, Llama 3, veröffentlicht. Zwei Versionen wurden den Benutzern vorgestellt: 8B und 70B. Die erste Version enthält mehr als 15K Token und wurde mit Daten trainiert, die bis März 2023 gültig waren. Die zweite, größere Version wurde mit Daten trainiert, die bis Dezember 2023 gültig sind.&lt;/p&gt;

&lt;h2&gt;Schritt 1. Vorbereiten des Betriebssystems&lt;/h2&gt;

&lt;h3&gt;Cache und Pakete aktualisieren&lt;/h3&gt;

&lt;p&gt;Bevor Sie mit der Einrichtung von LLaMa 3 beginnen, sollten Sie den Paket-Cache aktualisieren und Ihr Betriebssystem aufrüsten. Bitte beachten Sie, dass wir für diese Anleitung Ubuntu 22.04 LTS als Betriebssystem verwenden:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;amp;&amp;amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Außerdem müssen wir Python Installer Packages (PIP) hinzufügen, falls es nicht bereits im System vorhanden ist:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install python3-pip&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Nvidia-Treiber installieren&lt;/h3&gt;

&lt;p&gt;Sie können das automatische Dienstprogramm verwenden, das in Ubuntu-Distributionen standardmäßig enthalten ist:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Alternativ können Sie die Nvidia-Treiber auch manuell installieren. Vergessen Sie nicht, den Server neu zu starten:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Schritt 2. Holen Sie sich das Modell&lt;/h2&gt;

&lt;p&gt;Melden Sie sich bei &lt;a href=&quot;https://huggingface.co/&quot;&gt;Hugging Face&lt;/a&gt; mit Ihrem Benutzernamen und Passwort an. Gehen Sie auf die Seite, die der gewünschten LLM-Version entspricht: &lt;a href=&quot;https://huggingface.co/meta-llama/Meta-Llama-3-8B&quot;&gt;Meta-Llama-3-8B&lt;/a&gt; oder &lt;a href=&quot;https://huggingface.co/meta-llama/Meta-Llama-3-70B&quot;&gt;Meta-Llama-3-70B&lt;/a&gt;. Zum Zeitpunkt der Veröffentlichung dieses Artikels wird der Zugang zum Modell auf individueller Basis gewährt. Füllen Sie ein kurzes Formular aus und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Submit&lt;/b&gt;:&lt;/p&gt;

&lt;h3&gt;Zugang bei HF beantragen&lt;/h3&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/905/original/sh_llama3_quick_start_1.png?1713533099&quot; alt=&quot;Fill the form&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Sie erhalten dann eine Nachricht, dass Ihr Antrag eingereicht wurde:&lt;/p&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/906/original/sh_llama3_quick_start_2.png?1713533131&quot; alt=&quot;Form submitted&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Sie erhalten nach 30-40 Minuten Zugang und werden darüber per E-Mail benachrichtigt.&lt;/p&gt;

&lt;h3&gt;SSH-Schlüssel zu HF hinzufügen&lt;/h3&gt;

&lt;p&gt;Erzeugen und fügen Sie einen SSH-Schlüssel hinzu, den Sie in Hugging Face verwenden können:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/.ssh &amp;amp;&amp;amp; ssh-keygen&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Wenn das Schlüsselpaar generiert ist, können Sie den öffentlichen Schlüssel im Terminalemulator anzeigen:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cat id_rsa.pub&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Kopieren Sie alle Informationen, beginnend mit &lt;b translate=&quot;no&quot;&gt;ssh-rsa&lt;/b&gt; und endend mit &lt;b translate=&quot;no&quot;&gt;usergpu@gpuserver&lt;/b&gt;, wie im folgenden Screenshot gezeigt:&lt;/p&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/907/original/sh_llama3_quick_start_3.png?1713533169&quot; alt=&quot;Copy RSA key&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Öffnen Sie die &lt;a href=&quot;https://huggingface.co/settings/profile&quot;&gt;Profileinstellungen&lt;/a&gt; von Hugging Face. Wählen Sie dann &lt;b translate=&quot;no&quot;&gt;SSH and GPG Keys&lt;/b&gt; und klicken Sie auf die Schaltfläche SSH-Schlüssel hinzufügen:&lt;/p&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/908/original/sh_llama3_quick_start_4.png?1713533229&quot; alt=&quot;Add SSH key&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Füllen Sie &lt;b translate=&quot;no&quot;&gt;Key name&lt;/b&gt; aus und fügen Sie den kopierten &lt;b translate=&quot;no&quot;&gt;SSH Public key&lt;/b&gt; aus dem Terminal ein. Speichern Sie den Schlüssel durch Drücken von &lt;b translate=&quot;no&quot;&gt;Add key&lt;/b&gt;:&lt;/p&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/909/original/sh_llama3_quick_start_5.png?1713533267&quot; alt=&quot;Paste the key&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Nun ist Ihr HF-Konto mit dem öffentlichen SSH-Schlüssel verknüpft. Der zweite Teil (privater Schlüssel) ist auf dem Server gespeichert. Der nächste Schritt ist die Installation einer speziellen Git LFS-Erweiterung (Large File Storage), die für das Herunterladen großer Dateien wie z. B. Modelle neuronaler Netze verwendet wird. Öffnen Sie Ihr Home-Verzeichnis:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Laden Sie das Shell-Skript herunter und führen Sie es aus. Dieses Skript installiert ein neues Drittanbieter-Repository mit git-lfs:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nun können Sie es mit dem Standard-Paketmanager installieren:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get install git-lfs&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Lassen Sie uns git so konfigurieren, dass es unseren HF-Nickname verwendet:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.name &quot;John&quot;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Und mit dem HF-E-Mail-Konto verknüpft:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.email &quot;john.doe@example.com&quot;&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Das Modell herunterladen&lt;/h3&gt;

&lt;p&gt;Öffnen Sie das Zielverzeichnis:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Und beginnen Sie mit dem Download des Repositorys. Für dieses Beispiel haben wir die Version 8B gewählt:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone git@hf.co:meta-llama/Meta-Llama-3-8B&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Dieser Vorgang dauert bis zu 5 Minuten und kann durch Ausführen des folgenden Befehls in einer anderen SSH-Konsole überwacht werden:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;watch -n 0.5 df -h&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hier sehen Sie, wie der freie Speicherplatz auf dem gemounteten Datenträger verringert wird, um sicherzustellen, dass der Download fortschreitet und die Daten gespeichert werden. Der Status wird jede halbe Sekunde aktualisiert. Um die Anzeige manuell zu beenden, drücken Sie die Tastenkombination Strg + C.&lt;/p&gt;

&lt;p&gt;Alternativ können Sie auch &lt;a href=&quot;https://github.com/aristocratos/btop&quot;&gt;btop&lt;/a&gt; installieren und den Prozess mit diesem Dienstprogramm überwachen:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install btop &amp;amp;&amp;amp; btop&lt;/code&gt;&lt;/pre&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/910/original/sh_llama3_quick_start_6.png?1713533300&quot; alt=&quot;Btop view&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Um das Dienstprogramm btop zu beenden, drücken Sie die Taste &lt;b translate=&quot;no&quot;&gt;Esc&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Quit&lt;/b&gt;.&lt;/p&gt;

&lt;h2&gt;Schritt 3. Ausführen des Modells&lt;/h2&gt;

&lt;p&gt;Öffnen Sie das Verzeichnis:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Laden Sie das Llama 3 Repository herunter:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/meta-llama/llama3&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Wechseln Sie das Verzeichnis:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd llama3&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Führen Sie das Beispiel aus:&lt;/p&gt;


&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;torchrun --nproc_per_node 1 example_text_completion.py \
--ckpt_dir /mnt/fastdisk/Meta-Llama-3-8B/original \
--tokenizer_path /mnt/fastdisk/Meta-Llama-3-8B/original/tokenizer.model \
--max_seq_len 128 \
--max_batch_size 4&lt;/code&gt;&lt;/pre&gt;

&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/911/original/sh_llama3_quick_start_7.png?1713533328
&quot; alt=&quot;Llama3 example result&quot; unselectable=&quot;on&quot;&gt;
&lt;p&gt;Jetzt können Sie Llama 3 in Ihren Anwendungen verwenden.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux&quot;&gt;Ihr eigener LLaMa 2 unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf&quot;&gt;Ihr eigenes Qwen mit HF&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/579-qwen-2-gegen-llama-3&quot;&gt;Qwen 2 gegen Llama 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/904/original/il_llama3_quick_start.jpg?1713533056"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 20 Jan 2025 09:05:10 +0100</pubDate>
      <guid isPermaLink="false">573</guid>
      <dc:date>2025-01-20T09:05:10+01:00</dc:date>
    </item>
    <item>
      <title>StarCoder: Ihr lokaler Assistent für die Programmierung</title>
      <link>https://www.leadergpu.de/catalog/571-starcoder-ihr-lokaler-assistent-f-r-die-programmierung</link>
      <description>&lt;p&gt;Microsoft CoPilot hat eine Revolution im Bereich der Softwareentwicklung ausgelöst. Dieser KI-Assistent hilft Entwicklern bei verschiedenen Codierungsaufgaben und macht ihnen das Leben leichter. Ein Nachteil ist jedoch, dass es sich nicht um eine eigenständige Anwendung, sondern um einen cloudbasierten Dienst handelt. Das bedeutet, dass die Nutzer den Nutzungsbedingungen zustimmen und für ein Abonnement bezahlen müssen.&lt;/p&gt;
&lt;p&gt;Zum Glück gibt es in der Welt der Open-Source-Software zahlreiche Alternativen. Zum Zeitpunkt der Erstellung dieses Artikels ist die bemerkenswerteste Alternative zu CoPilot StarCoder, das vom BigCode-Projekt entwickelt wurde. StarCoder ist ein umfangreiches neuronales Netzmodell mit 15,5 B Parametern, das auf über 80 Programmiersprachen trainiert wurde.&lt;/p&gt;
&lt;p&gt;Dieses Modell wird auf Hugging Face (HF) unter Verwendung eines &lt;a href=&quot;https://huggingface.co/docs/hub/models-gated&quot; target=&quot;_blank&quot;&gt;Gated Models&lt;/a&gt; unter der &lt;a href=&quot;https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement&quot; target=&quot;_blank&quot;&gt;BigCode OpenRAIL-M v1 Lizenzvereinbarung&lt;/a&gt; vertrieben. Sie können dieses Modell kostenlos herunterladen und verwenden, benötigen aber ein HF-Konto mit einem verknüpften SSH-Schlüssel. Bevor Sie das Modell herunterladen können, müssen Sie einige zusätzliche Schritte unternehmen.&lt;/p&gt;
&lt;h2&gt;SSH-Schlüssel zu HF hinzufügen&lt;/h2&gt;
&lt;p&gt;Bevor Sie beginnen, müssen Sie in Ihrem SSH-Client eine Portweiterleitung einrichten (Remote-Port 7860 auf 127.0.0.1:7860). Weitere Informationen finden Sie in den folgenden Artikeln:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/597-stable-video-diffusion&quot;&gt;Stabile Video-Verbreitung&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/488-stellen-sie-eine-verbindung-zu-einem-linux-server-her&quot;&gt;Verbinden mit einem Linux-Server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aktualisieren Sie das Paket-Cache-Repository und die installierten Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Installieren Sie den System-Paketmanager von Python (PIP):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install python3-pip
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Erzeugen und fügen Sie einen SSH-Schlüssel hinzu, den Sie in Hugging Face verwenden können:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/.ssh &amp;&amp; ssh-keygen&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn das Schlüsselpaar generiert ist, können Sie den öffentlichen Schlüssel im Terminalemulator anzeigen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cat id_rsa.pub&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie alle Informationen, die mit ssh-rsa beginnen und mit usergpu@gpuserver enden, wie im folgenden Screenshot gezeigt:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/907/original/sh_llama3_quick_start_3.png?1713533169&quot; alt=&quot;Copy RSA key&quot;&gt;
&lt;p&gt;Öffnen Sie einen Webbrowser, geben Sie &lt;a href=&quot;https://huggingface.co/&quot; target=&quot;_blank&quot;&gt;https://huggingface.co/&lt;/a&gt; in die Adresszeile ein und drücken Sie &lt;b translate=&quot;no&quot;&gt;Enter&lt;/b&gt;. Loggen Sie sich in Ihren HF-Account ein und öffnen Sie die &lt;a href=&quot;https://huggingface.co/settings/profile&quot; target=&quot;_blank&quot;&gt;Profileinstellungen&lt;/a&gt;. Wählen Sie dann &lt;b translate=&quot;no&quot;&gt;SSH and GPG Keys&lt;/b&gt; und klicken Sie auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Add SSH Key&lt;/b&gt;:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/908/original/sh_llama3_quick_start_4.png?1713533229&quot; alt=&quot;Add SSH key&quot;&gt;
&lt;p&gt;Füllen Sie &lt;b translate=&quot;no&quot;&gt;Key name&lt;/b&gt; aus und fügen Sie den kopierten &lt;b translate=&quot;no&quot;&gt;SSH Public key&lt;/b&gt; aus dem Terminal ein. Speichern Sie den Schlüssel, indem Sie &lt;b translate=&quot;no&quot;&gt;Add key&lt;/b&gt; drücken:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/909/original/sh_llama3_quick_start_5.png?1713533267
&quot; alt=&quot;Paste the key&quot;&gt;
&lt;p&gt;Jetzt ist Ihr HF-Konto mit dem öffentlichen SSH-Schlüssel verknüpft. Der zweite Teil (privater Schlüssel) ist auf dem Server gespeichert. Der nächste Schritt ist die Installation einer speziellen Git LFS-Erweiterung (Large File Storage), die für das Herunterladen großer Dateien wie z. B. Modelle neuronaler Netze verwendet wird. Öffnen Sie Ihr Home-Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd ~/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laden Sie das Shell-Skript herunter und führen Sie es aus. Dieses Skript installiert ein neues Drittanbieter-Repository mit git-lfs:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nun können Sie es mit dem Standard-Paketmanager installieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt-get install git-lfs&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Lassen Sie uns git so konfigurieren, dass es unseren HF-Nickname verwendet:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.name &quot;John&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und mit dem HF-E-Mail-Konto verknüpft:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git config --global user.email &quot;john.doe@example.com&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Das Modell herunterladen&lt;/h2&gt;
&lt;p&gt;&lt;font color=&quot;red&quot;&gt;&lt;i&gt;Bitte beachten Sie, dass StarCoder im Binärformat eine beträchtliche Menge an Festplattenspeicher beanspruchen kann (&amp;gt;75 GB). Vergessen Sie nicht, &lt;a href=&quot;https://www.leadergpu.de/articles/492-festplattenpartitionierung-unter-linux&quot;&gt;diesen Artikel&lt;/a&gt; zu lesen, um sicherzustellen, dass Sie die richtige gemountete Partition verwenden.&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Alles ist bereit für den Download des Modells. Öffnen Sie das Zielverzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Und starten Sie den Download des Repositorys:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone git@hf.co:bigcode/starcoder&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dieser Vorgang dauert bis zu 15 Minuten. Bitte haben Sie Geduld. Sie können dies überwachen, indem Sie den folgenden Befehl in einer anderen SSH-Konsole ausführen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;watch -n 0.5 df -h&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hier sehen Sie, wie der freie Speicherplatz auf dem gemounteten Datenträger verringert wird, um sicherzustellen, dass der Download fortschreitet und die Daten gespeichert werden. Der Status wird jede halbe Sekunde aktualisiert. Um die Anzeige manuell zu beenden, drücken Sie die Tastenkombination &lt;b translate=&quot;no&quot;&gt;Ctrl + C&lt;/b&gt;.&lt;/p&gt;
&lt;h2&gt;Ausführen des vollständigen Modells mit WebUI&lt;/h2&gt;
&lt;p&gt;Klonen Sie das Repository des Projekts:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone https://github.com/oobabooga/text-generation-webui.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie das heruntergeladene Verzeichnis:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd text-generation-webui&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das Startskript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./start_linux.sh --model-dir /mnt/fastdisk&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das Skript prüft, ob die notwendigen Abhängigkeiten auf dem Server vorhanden sind. Eventuell fehlende Abhängigkeiten werden automatisch installiert. Wenn die Anwendung startet, öffnen Sie Ihren Webbrowser und geben Sie die folgende Adresse ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;http://127.0.0.1:7860&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Öffnen Sie die Registerkarte &lt;b translate=&quot;no&quot;&gt;Model&lt;/b&gt; und wählen Sie in der Dropdown-Liste das heruntergeladene Modell &lt;b translate=&quot;no&quot;&gt;starcoder&lt;/b&gt; aus. Klicken Sie auf die Liste &lt;b translate=&quot;no&quot;&gt;Model loader&lt;/b&gt; und wählen Sie &lt;b translate=&quot;no&quot;&gt;Transformers&lt;/b&gt;. Stellen Sie den Schieberegler für den maximalen GPU-Speicher für jede installierte GPU ein. Dies ist sehr wichtig, da ein Wert von 0 die Verwendung von VRAM einschränkt und verhindert, dass das Modell korrekt geladen wird. Sie müssen auch die maximale RAM-Nutzung einstellen. Klicken Sie nun auf die Schaltfläche &lt;b translate=&quot;no&quot;&gt;Load&lt;/b&gt; und warten Sie, bis der Ladevorgang abgeschlossen ist:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/969/original/sh_starcoder_your_local_coding_assistant_1.png?1714386546&quot; alt=&quot;Load StarCoder model&quot;&gt;
&lt;p&gt;Wechseln Sie auf die Registerkarte &lt;b translate=&quot;no&quot;&gt;Chat&lt;/b&gt; und testen Sie die Konversation mit dem Modell. Bitte beachte, dass Starcoder nicht für Dialoge wie ChatGPT gedacht ist. Es kann jedoch nützlich sein, um den Code auf Fehler zu überprüfen und Lösungen vorzuschlagen.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/970/original/sh_starcoder_your_local_coding_assistant_2.png?1714386599&quot; alt=&quot;Run the StarCoder&quot;&gt;
&lt;p&gt;Wenn du ein vollwertiges Dialogmodell haben möchtest, kannst du zwei andere Modelle ausprobieren: &lt;a href=&quot;https://huggingface.co/HuggingFaceH4/starchat-alpha&quot; target=&quot;_blank&quot;&gt;starchat-alpha&lt;/a&gt; und &lt;a href=&quot;https://huggingface.co/HuggingFaceH4/starchat-beta&quot; target=&quot;_blank&quot;&gt;starchat-beta&lt;/a&gt;. Diese Modelle wurden so angepasst, dass sie genau wie ChatGPT einen Dialog führen. Die folgenden Befehle helfen, diese Modelle herunterzuladen und auszuführen:&lt;/p&gt;
&lt;p&gt;Für starchat-alpha:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone git@hf.co:HuggingFaceH4/starchat-alpha&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Für starchat-beta:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;git clone git@hf.co:HuggingFaceH4/starchat-beta&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das Ladeverfahren ist das gleiche wie oben beschrieben. Außerdem können Sie eine &lt;a href=&quot;https://github.com/bigcode-project/starcoder.cpp/tree/main&quot; target=&quot;_blank&quot;&gt;C++-Implementierung&lt;/a&gt; von starcoder finden, die für die CPU-Inferenz effektiv sein wird.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/574-ihr-eigener-llama-2-unter-linux&quot;&gt;Ihr eigener LLaMa 2 unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/576-ihr-eigenes-vicuna-unter-linux&quot;&gt;Ihr eigenes Vicuna unter Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/catalog/578-ihr-eigenes-qwen-mit-hf&quot;&gt;Ihr eigenes Qwen mit HF&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/971/original/il_starcoder_your_local_coding_assistant.jpg?1714386646"
        length="0"
        type="image/jpeg"/>
      <pubDate>Fri, 17 Jan 2025 14:52:58 +0100</pubDate>
      <guid isPermaLink="false">571</guid>
      <dc:date>2025-01-17T14:52:58+01:00</dc:date>
    </item>
    <item>
      <title>Stable Diffusion modelle: Anpassungen und Optionen</title>
      <link>https://www.leadergpu.de/catalog/566-stable-diffusion-modelle-anpassungen-und-optionen</link>
      <description>&lt;p&gt;Tuning ist eine hervorragende Möglichkeit, jedes Auto oder Gerät zu verbessern. Auch generative neuronale Netze können getunt werden. Heute wollen wir nicht tief in die Struktur von Stable Diffusion eindringen, aber wir wollen bessere Ergebnisse erzielen als ein Standard-Setup.&lt;/p&gt;
&lt;p&gt;Dazu gibt es zwei einfache Möglichkeiten: die Installation von benutzerdefinierten Modellen und die Nutzung von Standard-Optimierungsoptionen. In diesem Artikel erfahren wir, wie wir neue Modelle in Stable Diffusion installieren und mit welchen Optionen wir die Hardware effektiver nutzen können.&lt;/p&gt;
&lt;p&gt;Wenn Sie lustige Bilder von niedlichen Katzen oder toll aussehendem Essen teilen möchten, posten Sie diese normalerweise auf Instagram. Wenn Sie Anwendungen entwickeln und den Code für alle zugänglich machen wollen, stellen Sie ihn auf GitHub ein. Wenn Sie jedoch ein grafisches KI-Modell trainieren und es mit anderen teilen möchten, sollten Sie sich &lt;a href=&quot;https://civitai.com/&quot;&gt;CivitAI&lt;/a&gt; ansehen. Dies ist eine riesige Plattform, um Wissen und Ergebnisse mit Community-Mitgliedern zu teilen.&lt;/p&gt;
&lt;p&gt;Bevor Sie mit dem Herunterladen beginnen, müssen Sie das Arbeitsverzeichnis ändern. Alle KI-Modelle in Stable Diffusion befinden sich im Verzeichnis &quot;models&quot;: Bevor Sie mit dem Herunterladen beginnen, müssen Sie das Arbeitsverzeichnis ändern. Alle KI-Modelle in Stable Diffusion befinden sich im Verzeichnis &quot;models&quot;:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;cd stable-diffusion-webui/models/Stable-diffusion&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Prüfen wir, welche Modelle standardmäßig bereitgestellt werden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;ls -a&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&#39;Put Stable Diffusion checkpoints here.txt&#39;
v1-5-pruned-emaonly.safetensors&lt;/pre&gt;
&lt;p&gt;Es gibt nur ein Modell mit dem Namen &quot;v1-5-pruned-emaonly&quot; und der Erweiterung &quot;safetensors&quot;. Dieses Modell ist ein guter Ausgangspunkt, aber wir haben fünf weitere interessante Modelle. Lassen Sie uns diese herunterladen und mit dem Standardmodell vergleichen.&lt;/p&gt;
&lt;h2&gt;Stabile Diffusionsaufforderungen&lt;/h2&gt;
&lt;p&gt;Um den Unterschied zwischen den Modellen visuell zu verdeutlichen, haben wir uns einfache Aufforderungen ausgedacht:&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;princess, magic, fairy tales, portrait, 85mm, colorful&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Bei vielen Modellen kann die genaue Darstellung von Geometrie und Gesichtszügen eine große Herausforderung darstellen. Fügen Sie daher negative Eingabeaufforderungen hinzu, um sicherzustellen, dass Bilder ohne diese Merkmale erzeugt werden:&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;poorly rendered face, poorly drawn face, poor facial details, poorly drawn hands, poorly rendered hands, low resolution, bad composition, mutated body parts, blurry image, disfigured, oversaturated, bad anatomy, deformed body features&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Stellen Sie den maximalen Wert der Abtastschritte (150) ein, um mehr Details im Ergebnis zu erhalten.&lt;/p&gt;
&lt;h3&gt;Standardmodell&lt;/h3&gt;
&lt;p&gt;Das Standardmodell ist für solche Aufgaben gut geeignet. Allerdings sind einige Details nicht ganz genau. Zum Beispiel gibt es ein Problem mit den Augen: Sie sind eindeutig unproportional:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/816/original/sh_stable_diffusion_models_customization_and_options_1.png?1712233278&quot; alt=&quot;Stable Diffusion Models standard&quot;&gt;
&lt;p&gt;Wenn man sich das Diadem ansieht, ist es ebenfalls schief und asymmetrisch. Der Rest der Details ist gut ausgeführt und entspricht den Vorgaben. Der Hintergrund ist unscharf, weil wir die Vorgabe &quot;85mm&quot; eingestellt haben. Dies ist eine in der professionellen Fotografie sehr häufig verwendete Brennweite für Porträts.&lt;/p&gt;
&lt;h3&gt;Realistische Vision&lt;/h3&gt;
&lt;p&gt;Dieses Modell ist hervorragend für Porträts geeignet. Das Bild sieht aus, als wäre es mit einem Qualitätsobjektiv mit der angegebenen Brennweite aufgenommen worden. Die Proportionen von Gesicht und Körper sind genau, das Kleid sitzt perfekt und das Diadem auf dem Kopf sieht ästhetisch ansprechend aus:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/817/original/sh_stable_diffusion_models_customization_and_options_2.png?1712233379&quot; alt=&quot;Stable Diffusion Models Realistic Vision&quot;&gt;
&lt;p&gt;Übrigens empfiehlt der Autor, die folgende Vorlage für negative Prompts zu verwenden:&lt;/p&gt;
&lt;p&gt;&lt;b translate=&quot;no&quot;&gt;deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime:1.4), text, close up, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Aber auch mit unseren recht einfachen Aufforderungen ist das Ergebnis hervorragend.&lt;/p&gt;
Laden Sie die Vorlage hier herunter: &lt;a href=&quot;https://civitai.com/models/4201/realistic-vision-v20&quot;&gt;Realistische Vision&lt;/a&gt;&lt;h3&gt;Bewusst&lt;/h3&gt;
&lt;p&gt;Ein weiteres erstaunliches Modell für solche Zwecke. Die Details sind auch hier gut ausgearbeitet, aber seien Sie vorsichtig und überwachen Sie die Anzahl der Finger. Dies ist ein sehr häufiges Problem bei neuronalen Netzen: Sie können oft zusätzliche Finger oder sogar ganze Gliedmaßen zeichnen.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/818/original/sh_stable_diffusion_models_customization_and_options_3.png?1712233625&quot; alt=&quot;Stable Diffusion Models Deliberate&quot;&gt;
&lt;p&gt;Das Erstellen visueller Linien ist eine der beliebtesten Filmtechniken. So hat sich dieses Modell auch dafür entschieden, eine Person vor dem Hintergrund eines Waldweges zu zeichnen.&lt;/p&gt;
&lt;p&gt;Laden Sie das Modell hier herunter: &lt;a href=&quot;https://huggingface.co/XpucT/Deliberate&quot;&gt;Bewusst&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;OpenJourney&lt;/h3&gt;
&lt;p&gt;Unter den generativen neuronalen Netzen hat Midjourney (MJ) besondere Aufmerksamkeit erhalten. MJ war ein Pionier auf diesem Gebiet und wird oft als Beispiel für andere herangezogen. Die Bilder, die es erzeugt, haben einen einzigartigen Stil. OpenJourney ist vom MJ-Stil inspiriert und ist eine entsprechend abgestimmte Stable Diffusion.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/819/original/sh_stable_diffusion_models_customization_and_options_4.png?1712233730&quot; alt=&quot;Stable Diffusion Models OpenJourney&quot;&gt;
&lt;p&gt;Es werden Bilder erzeugt, die wie ein Cartoon aussehen. Sie sind lebendig und hell. Um bessere Ergebnisse zu erzielen, fügen Sie die Stil-Eingabeaufforderung &lt;b translate=&quot;no&quot;&gt;mdjrny-v4&lt;/b&gt; hinzu.&lt;/p&gt;
&lt;p&gt;Laden Sie das Modell hier herunter: &lt;a href=&quot;https://huggingface.co/prompthero/openjourney&quot;&gt;OpenJourney&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Alles&lt;/h3&gt;
&lt;p&gt;Dieses Modell erzeugt Bilder, die denen eines professionellen Manga-Künstlers (einer Person, die Comics zeichnet) ähneln. Wir haben also eine Prinzessin im Anime-Stil.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/820/original/sh_stable_diffusion_models_customization_and_options_5.png?1712233804&quot; alt=&quot;Stable Diffusion Models Anything&quot;&gt;
&lt;p&gt;Dieses Modell wird auf Bilder mit einer Auflösung von 768x768 trainiert. Sie können diese Auflösung einstellen, um bessere Ergebnisse als die Standardauflösung 512x512 zu erzielen.&lt;/p&gt;
&lt;p&gt;Laden Sie das Modell hier herunter: &lt;a href=&quot;https://civitai.com/models/66/anything-v3&quot;&gt;Irgendetwas&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Unternehmen Memphis&lt;/h3&gt;
&lt;p&gt;Dieser Bildstil erlangte in den frühen 2020er Jahren große Popularität und wurde in verschiedenen High-Tech-Unternehmen als Unternehmensstil verwendet. Trotz der Kritik ist er häufig in Präsentationen und Websites zu finden.&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/821/original/sh_stable_diffusion_models_customization_and_options_6.png?1712233943&quot; alt=&quot;Stable Diffusion Models Corporate Memphis&quot;&gt;
&lt;p&gt;Die Prinzessin erwies sich als minimalistisch, aber recht hübsch. Besonders amüsant waren die Details, die das Modell auf dem Hintergrund platzierte.&lt;/p&gt;
&lt;p&gt;Laden Sie das Modell hier herunter: &lt;a href=&quot;https://huggingface.co/jinofcoolnes/corporate_memphis&quot;&gt;Unternehmen Memphis&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Stabile Diffusionsoptionen&lt;/h2&gt;
&lt;p&gt;Stabile Diffusion verbraucht viele Ressourcen, so dass viele Optionen für sie entwickelt worden sind. Die beliebteste von ihnen ist &lt;b translate=&quot;no&quot;&gt;--xformers&lt;/b&gt;. Diese Option ermöglicht zwei Optimierungsmechanismen. Der erste reduziert den Speicherverbrauch und der zweite dient zur Erhöhung der Geschwindigkeit.&lt;/p&gt;
&lt;p&gt;Wenn Sie versuchen, --xformers ohne zusätzliche Schritte hinzuzufügen, erhalten Sie eine Fehlermeldung, die besagt, dass die Pakete&lt;a href=&quot;https://pypi.org/project/torch/&quot;&gt;(torch&lt;/a&gt; und &lt;a href=&quot;https://pypi.org/project/torchvision/&quot;&gt;torchvision&lt;/a&gt;) für unterschiedliche Versionen von CUDA® kompiliert wurden. Um dies zu beheben, müssen wir die virtuelle Python-Umgebung (venv) aufrufen, die für Stable Diffusion verwendet wird. Danach installieren Sie die Pakete für die gewünschte CUDA-Version (v1.18).&lt;/p&gt;
&lt;p&gt;Zunächst müssen wir den apt-Paket-Cache aktualisieren und den Paketinstaller für Python (pip) installieren. Der nächste Schritt besteht darin, Python venv mit dem Skript &lt;b translate=&quot;no&quot;&gt;activate&lt;/b&gt; zu aktivieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;source stable-diffusion-webui/venv/bin/activate&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Danach ändert sich die Eingabeaufforderung zu &lt;b translate=&quot;no&quot;&gt;(venv) username@hostname:~$&lt;/b&gt;. Installieren wir nun die Pakete torch und torchvision mit CUDA® 11.8:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 --index-url https://download.pytorch.org/whl/cu118&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dieser Vorgang kann einige Minuten dauern, da die Pakete recht groß sind. Sie werden gerade genug Zeit haben, um sich einen Kaffee einzuschenken. Schließlich können Sie die virtuelle Umgebung deaktivieren und Stable Diffusion mit der Option &lt;b translate=&quot;no&quot;&gt;--xformers&lt;/b&gt; starten (ersetzen Sie &lt;b translate=&quot;no&quot;&gt;[user]&lt;/b&gt; und &lt;b translate=&quot;no&quot;&gt;[password]&lt;/b&gt; durch Ihre eigenen Werte):&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-venv&quot;&gt;deactivate&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./webui --xformers --listen --gradio-auth [user]:[password]&lt;/password&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Die schnellere Alternative zu &lt;b translate=&quot;no&quot;&gt;--xformers&lt;/b&gt; ist &lt;b translate=&quot;no&quot;&gt;--opt-sdp-no-mem-attention&lt;/b&gt;. Sie verbraucht mehr Speicher, arbeitet aber etwas schneller. Sie können diese Option ohne zusätzliche Schritte verwenden.&lt;/p&gt;
&lt;h2&gt;Schlussfolgerung&lt;/h2&gt;
&lt;p&gt;Heute haben wir die Möglichkeiten von Stable Diffusion in Kombination mit anderen Modellen und Optimierungsoptionen untersucht. Denken Sie daran, dass Sie durch Erhöhen oder Verringern der Anzahl der Abtastschritte den Detailgrad des endgültigen Bildes anpassen können.&lt;/p&gt;
&lt;p&gt;Natürlich ist dies nur ein kleiner Teil dessen, was Sie mit einem solchen generativen neuronalen Netz tun können. Bestellen Sie also &lt;a href=&quot;https://www.leadergpu.de/#chose-best&quot;&gt;gleich einen GPU-Server&lt;/a&gt; und fangen Sie an zu experimentieren. Viele weitere Entdeckungen und Möglichkeiten warten auf Sie. Schnelle und leistungsstarke Grafikkarten werden Ihnen helfen, Zeit zu sparen und tolle Bilder zu erzeugen.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/565-stable-diffusion-webui&quot;&gt;Stabile Diffusion WebUI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/598-easy-diffusion-ui&quot;&gt;Einfache Diffusion UI&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/595-pytorch-f-r-linux&quot;&gt;PyTorch für Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/596-pytorch-f-r-windows&quot;&gt;PyTorch für Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/815/original/il_stable_diffusion_models_customization_and_options.png?1712233216"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 25 Nov 2024 13:30:16 +0100</pubDate>
      <guid isPermaLink="false">566</guid>
      <dc:date>2024-11-25T13:30:16+01:00</dc:date>
    </item>
    <item>
      <title>Stable Diffusion WebUI</title>
      <link>https://www.leadergpu.de/catalog/565-stable-diffusion-webui</link>
      <description>&lt;p&gt;Generative neuronale Netze scheinen magisch zu sein. Sie beantworten Fragen, erstellen Bilder und schreiben sogar Code in verschiedenen Programmiersprachen. Der Erfolg dieser Netze beruht auf zwei Komponenten: vortrainierte Modelle und Hardwarebeschleuniger. Sicherlich ist es möglich, CPU-Kerne für dieses Arbeitspensum zu verwenden, aber das wäre wie ein Schneckenrennen. Die Erstellung eines kleinen Bildes kann sehr viel Zeit in Anspruch nehmen - mehrere Dutzend Minuten. Die Generierung desselben Bildes auf einem Grafikprozessor würde Hunderte Male weniger Zeit in Anspruch nehmen.&lt;/p&gt;
&lt;p&gt;Das erste Geheimnis liegt in der Anzahl der Kerne. CPU-Kerne sind universell einsetzbar und können komplexe Befehle verarbeiten. Herkömmliche Serverprozessoren haben jedoch höchstens 64 Kerne. Selbst in Multiprozessorsystemen übersteigt die Anzahl der Kerne selten 256. GPU-Kerne sind einfacher, aber dafür passen viel mehr davon auf den Chip. Eine NVIDIA® RTX™ 4090 hat zum Beispiel 16.384 Kerne.&lt;/p&gt;
&lt;p&gt;Das zweite Geheimnis ist, dass die Arbeitslast in viele einfache Aufgaben aufgeteilt werden kann, die in parallelen Threads auf dedizierten GPU-Kernen ausgeführt werden können. Dieser Trick beschleunigt die Datenverarbeitung erheblich. Heute werden wir sehen, wie es funktioniert und ein generatives neuronales Netzwerk &lt;a href=&quot;https://github.com/Stability-AI/stablediffusion&quot;&gt;Stable Diffusion Web UI&lt;/a&gt; auf der &lt;a href=&quot;https://www.leadergpu.de/&quot;&gt;LeaderGPU-Infrastruktur&lt;/a&gt; einsetzen. Nehmen wir zum Beispiel einen Server mit einer NVIDIA® RTX™ 4090, die 16.384 GPU-Kerne hat. Als Betriebssystem haben wir das aktuelle LTS-Release Ubuntu 22.04 ausgewählt und die Option &quot;Nvidia-Treiber und CUDA® 11.8 installieren&quot; gewählt.&lt;/p&gt;
&lt;h2&gt;System vorbereiten&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/811/original/sh_stable_diffusion_webui_1.png?1712212269&quot; alt=&quot;Stable Diffusion WebUI system prepare&quot;&gt;
&lt;p&gt;Bevor wir beginnen, sollten wir den Speicher berücksichtigen. Stable Diffusion ist ein großes System, das bis zu 13G auf Ihrer Festplatte belegen kann. Die virtuelle Standardfestplatte in einer LeaderGPU-Installation ist 100 GB groß. Das Betriebssystem beansprucht 25 GB. Wenn wir Stable Diffusion einsetzen, ohne die Home-Partition zu erweitern, wird der gesamte freie Speicher aufgebraucht sein und die Fehlermeldung &quot;No space left on device&quot; erscheinen. Es ist eine gute Idee, unser Home-Verzeichnis zu erweitern.&lt;/p&gt;
&lt;h3&gt;Erweitern des Home-Verzeichnisses&lt;/h3&gt;
&lt;p&gt;Zunächst müssen wir alle verfügbaren Festplatten überprüfen.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo fdisk -l&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;Disk /dev/sda: 447.13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: INTEL SSDSC2KB48
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VIRTUAL-DISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9D4C1F0C-D4A7-406E-AECB-BF57E4726437&lt;/pre&gt;
&lt;p&gt;Dann müssen wir eine neue Linux-Partition auf unserem physischen SSD-Laufwerk, /dev/sda, erstellen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo fdisk /dev/sda&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Drücken Sie die folgenden Tasten, eine nach der anderen: &lt;b translate=&quot;no&quot;&gt;g → n → Enter → Enter → Enter → w&lt;/b&gt;. Das Ergebnis ist eine neue Partition /dev/sda1 ohne Dateisystem. Erstellen Sie nun ein ext4-Dateisystem auf dieser Partition:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo mkfs.ext4 /dev/sda1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wenn der Vorgang abgeschlossen ist, gehen wir zum nächsten Schritt über.&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;red&quot;&gt;&lt;i&gt;Achtung! Bitte führen Sie den folgenden Vorgang mit großer Vorsicht durch. Jeder Fehler, der beim Ändern der fstab-Datei gemacht wird, kann dazu führen, dass Ihr Server nicht mehr normal booten kann und ein komplettes Zurücksetzen des Betriebssystems erforderlich sein kann.&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo blkid&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;/dev/sdb2: UUID=&quot;6b17e542-0934-4dba-99ca-a00bd260c247&quot; BLOCK_SIZE=&quot;4096&quot; TYPE=&quot;ext4&quot; PARTUUID=&quot;70030755-75d8-4339-a4e0-26a97f1d1c5d&quot;
/dev/loop1: TYPE=&quot;squashfs&quot;
/dev/sdb1: PARTUUID=&quot;63ff1714-bd29-4062-be04-21af32423c0a&quot;
/dev/loop4: TYPE=&quot;squashfs&quot;
/dev/loop0: TYPE=&quot;squashfs&quot;
/dev/sda1: UUID=&quot;fb2ba455-2b8d-4da0-8719-ce327d0026bc&quot; BLOCK_SIZE=&quot;4096&quot; TYPE=&quot;ext4&quot; PARTUUID=&quot;6e0108df-b000-5848-8328-b187daf37a4f&quot;
/dev/loop5: TYPE=&quot;squashfs&quot;
/dev/loop3: TYPE=&quot;squashfs&quot;&lt;/pre&gt;
&lt;p&gt;Kopieren Sie &lt;b translate=&quot;no&quot;&gt;UUID&lt;/b&gt; (im Beispiel fb2ba455-2b8d-4da0-8719-ce327d0026bc) der Partition &lt;b translate=&quot;no&quot;&gt;/dev/sda1&lt;/b&gt;. Als Nächstes werden wir das System anweisen, dieses Laufwerk beim Booten automatisch über seine UUID einzubinden:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo nano /etc/fstab&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie diese Zeile vor &lt;b translate=&quot;no&quot;&gt;/swap.img&lt;/b&gt;... string ein:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash&quot;&gt;/dev/disk/by-uuid/&lt;PARTITION UUID&gt; /home/usergpu ext4 defaults defaults&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beispiel:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;# /etc/fstab: static file system information.
#
# Use &#39;blkid&#39; to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# &lt;file system&gt; &lt;mount point&gt;   &lt;type&gt;  &lt;options&gt;       &lt;dump&gt;  &lt;pass&gt;
# / was on /dev/sdb2 during curtin installation
/dev/disk/by-uuid/6b17e542-0934-4dba-99ca-a00bd260c247 / ext4 defaults,_netdev 0 1
/dev/disk/by-uuid/fb2ba455-2b8d-4da0-8719-ce327d0026bc /home/usergpu ext4 defaults defaults
/swap.img       none    swap    sw      0       0&lt;/pre&gt;
&lt;p&gt;Beenden Sie das Programm mit dem Tastaturkürzel &lt;b translate=&quot;no&quot;&gt;Ctrl + X&lt;/b&gt; und bestätigen Sie das Speichern der Datei mit &lt;b translate=&quot;no&quot;&gt;Enter&lt;/b&gt;. Die neuen Einstellungen werden beim nächsten Systemstart übernommen. Lassen Sie uns den Server neu starten:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nach dem Neustart können wir alle eingehängten Verzeichnisse mit dem folgenden Befehl überprüfen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;df -h&lt;/code&gt;&lt;/pre&gt;
&lt;pre translate=&quot;no&quot;&gt;Filesystem      Size  Used Avail Use% Mounted on
tmpfs           6.3G  1.7M  6.3G   1% /run
/dev/sdb2        49G   23G   24G  50% /
tmpfs            32G     0   32G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda1       440G   28K  417G   1% /home/usergpu
tmpfs           6.3G  4.0K  6.3G   1% /run/user/1000&lt;/pre&gt;
&lt;p&gt;Superb! Aber jetzt haben wir keinen Zugriff mehr auf unser Home-Verzeichnis, weil es durch die Konfigurationsdatei &lt;b translate=&quot;no&quot;&gt;fstab&lt;/b&gt; geändert wurde. Es ist an der Zeit, den Besitz des Verzeichnisses zurückzugewinnen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo chown -R usergpu /home/usergpu&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Gut gemacht! Gehen wir zum nächsten Schritt über.&lt;/p&gt;
&lt;h3&gt;Grundlegende Pakete installieren&lt;/h3&gt;
&lt;p&gt;Aktualisieren Sie den Software-Cache aus den offiziellen Ubuntu-Repositories und aktualisieren Sie einige Pakete:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt update &amp;&amp; sudo apt -y upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das System hat mitgeteilt, dass ein neuer Kernel installiert wurde und nach dem Neustart des Systems betriebsbereit sein wird. Wählen Sie zweimal &lt;b translate=&quot;no&quot;&gt;OK&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Als Nächstes müssen wir die Abhängigkeiten auflösen, für die Stable Diffusion erforderlich ist. Das erste Paket fügt die Funktionalität der virtuellen Python-Umgebung hinzu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install python3-venv&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Das zweite Paket fügt eine Implementierung der Funktion &lt;b translate=&quot;no&quot;&gt;malloc()&lt;/b&gt; der Programmiersprache C hinzu, die von Google angepasst wurde. Sie verhindert &lt;b translate=&quot;no&quot;&gt;“Cannot locate TCMalloc”&lt;/b&gt; Fehler und verbessert die CPU-Speicherauslastung.&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt install -y --no-install-recommends google-perftools&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starten Sie schließlich den Server neu:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Stabile Diffusion automatisch 1111: Skript installieren&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/812/original/sh_stable_diffusion_webui_2.png?1712212341&quot; alt=&quot;Stable Diffusion WebUI install script&quot;&gt;
&lt;p&gt;Der einfachste Weg, Stable Diffusion mit WebUI zu installieren, ist die Verwendung des vorgefertigten Skripts, das vom GitHub-Benutzer &lt;a href=&quot;https://github.com/AUTOMATIC1111&quot;&gt;AUTOMATIC1111&lt;/a&gt; geschrieben wurde. Dieses Skript lädt diese beiden Teile herunter und richtet sie ein, während es alle notwendigen Abhängigkeiten auflöst.&lt;/p&gt;
&lt;p&gt;Lassen Sie uns das Skript herunterladen:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;wget https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Geben Sie ihm dann Zugriff auf die Änderungsdaten und führen Sie es als Programm aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;chmod a+x webui.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Führen Sie das heruntergeladene Skript aus:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./webui.sh &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dieser Vorgang kann ein paar Minuten dauern. Alles ist bereit, um perfekte Bilder mit Stable Diffusion zu erstellen.&lt;/p&gt;
&lt;h3&gt;Fehlersuche&lt;/h3&gt;
&lt;p&gt;Wenn Sie die Fehlermeldung &quot;Torch is not able to use GPU&quot; erhalten, können Sie das Problem durch eine Neuinstallation via apt beheben:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo apt -y install nvidia-driver-535&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sie müssen das Betriebssystem neu starten, um den Treiber zu aktivieren:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;sudo shutdown -r now&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Erzeugen Sie&lt;/h2&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/813/original/sh_stable_diffusion_webui_3.png?1712212549
&quot; alt=&quot;Stable Diffusion WebUI run script&quot;&gt;
&lt;p&gt;Das Installationsskript &lt;b translate=&quot;no&quot;&gt;./webui.sh&lt;/b&gt; hat eine weitere Funktion. Es bedient gleichzeitig den Serverteil von Stable Diffusion und WebUI. Wenn Sie es jedoch ohne Argumente verwenden, ist der Server als lokaler Daemon unter &lt;a href=&quot;http://127.0.0.1:7860&quot;&gt;http://127.0.0.1:7860&lt;/a&gt; verfügbar. Dies kann auf zwei Arten gelöst werden: Portweiterleitung durch einen SSH-Tunnel oder Zulassen von Verbindungen von externen IPs.&lt;/p&gt;
&lt;p&gt;Der zweite Weg ist einfacher: Fügen Sie einfach die Option &lt;b translate=&quot;no&quot;&gt;--listen&lt;/b&gt; hinzu, und Sie können sich mit der Weboberfläche unter &lt;b translate=&quot;no&quot;&gt;http://[YOUR_LEADERGPU_SERVER_IP_ADDRESS]:7860&lt;/b&gt; verbinden. Dies ist jedoch völlig unsicher, da jeder Internetnutzer Zugang hat. Um eine unbefugte Nutzung zu verhindern, fügen Sie die Option &lt;b translate=&quot;no&quot;&gt;--gradio-auth&lt;/b&gt; zusammen mit dem Benutzernamen und dem Passwort ein, getrennt durch einen Doppelpunkt:&lt;/p&gt;
&lt;pre translate=&quot;no&quot;&gt;&lt;code translate=&quot;no&quot; class=&quot;bash-user&quot;&gt;./webui.sh --listen --gradio-auth user:password&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dies fügt Ihrer WebUI-Instanz eine Anmeldeseite hinzu, und das Skript lädt zum ersten Mal die Grundmodelle und die erforderlichen Abhängigkeiten herunter:&lt;/p&gt;
&lt;img src=&quot;https://assets.getwildcard.com/system/images/imgs/000/000/814/original/sh_stable_diffusion_webui_4.png?1712212654&quot; alt=&quot;Stable Diffusion WebUI Gradio&quot;&gt;
&lt;p&gt;Sie können das Ergebnis genießen. Geben Sie einfach einige Eingabeaufforderungen ein, trennen Sie sie durch Kommata und klicken Sie auf die Schaltfläche Generieren. Nach ein paar Sekunden wird ein vom neuronalen Netz generiertes Bild angezeigt.&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Wir haben den ganzen Weg von einem leeren LeaderGPU-Server mit einem vorinstallierten Betriebssystem bis zu einer fertigen Instanz mit Stable Diffusion und einer WebUI-Schnittstelle zurückgelegt. Nächstes Mal werden wir mehr über Software-Performance-Tuning erfahren und wie Sie Ihre Stable Diffusion-Instanz mit neuen Versionen von Treibern und Paketen erweitern können.&lt;/p&gt;
&lt;p&gt;Siehe auch:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/566-stable-diffusion-modelle-anpassungen-und-optionen&quot;&gt;Stable Diffusion-Modelle: Anpassungen und Optionen&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/598-easy-diffusion-ui&quot;&gt;Einfache Diffusion-Benutzeroberfläche&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/595-pytorch-f-r-linux&quot;&gt;PyTorch für Linux&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.leadergpu.de/articles/596-pytorch-f-r-windows&quot;&gt;PyTorch für Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <enclosure url="https://assets.getwildcard.com/system/images/imgs/000/000/810/original/il_stable_diffusion_webui.png?1712212156"
        length="0"
        type="image/jpeg"/>
      <pubDate>Mon, 25 Nov 2024 13:24:45 +0100</pubDate>
      <guid isPermaLink="false">565</guid>
      <dc:date>2024-11-25T13:24:45+01:00</dc:date>
    </item>
  </channel>
</rss>