Want to Become a Sponsor? Contact Us Now!🎉

LLM
Wie man LLM in Google Colab kostenlos ausführt

Wie man LLM in Google Colab kostenlos ausführt

Published on

Anakin AI - The Ultimate No-Code AI App Builder

Wenn Sie schon immer mit großen Sprachmodellen experimentieren wollten, aber sich Sorgen um die hohen Kosten gemacht haben, gibt es gute Nachrichten für Sie. Grace Smith von Cheatsheet.md teilt hier einige Geldspar-Tipps mit Technikbegeisterten, die in die Welt der großen Sprachmodelle eintauchen möchten.

Einführung in Google Colab

Die erste kostenersparende Methode, die Grace vorschlägt, ist die Verwendung von Google Colab, einer kostenlosen Cloud-basierten Jupyter-Notebook-Umgebung. Mit nur einem Google-Konto können Sie Python-Code in der Cloud schreiben und ausführen, ohne sich um die Rechenleistung Ihres Computers kümmern zu müssen. Darüber hinaus unterstützt Google Colab auch die GPU-Beschleunigung, was das Training großer Modelle schneller und einfacher macht.

Erkunden von Language-Model-Anbietern

Während viele Menschen OpenAI als Anbieter großer Sprachmodelle kennen, weist Grace auf eine andere Option hin: Azure OpenAI. Speziell für Unternehmensbenutzer konzipiert, bietet Azure OpenAI eine solide Alternative. Zusätzlich zu diesen Anbietern gibt es auch andere Open-Source-Plattformen wie Hugging Face und Fireworks AI, die eine große Auswahl an hochwertigen Modellen zur Auswahl bieten.

Ausführen großer Modelle auf Google Colab

Neugierig, wie Sie Google Colab nutzen können, um große Sprachmodelle auszuführen? Grace gibt eine schrittweise Anleitung:

  1. Erstellen Sie ein Google-Konto, falls Sie noch keins haben.
  2. Besuchen Sie den bereitgestellten Link: https://colab.research.google.com/, um auf die Google Colab-Oberfläche zuzugreifen.
  3. Wählen Sie im Menü "Dateien" die Option "Neues Notizbuch", um ein neues Jupyter-Notebook zu erstellen.
  4. Bevor Sie fortfahren, müssen Sie Ihr Google Drive einbinden, um sicherzustellen, dass Ihre Dateien gespeichert werden. Ohne diesen Schritt werden alle im Notebook heruntergeladenen Dateien vorübergehend sein und zwischen den Sitzungen nicht erhalten bleiben. Führen Sie den folgenden Code-Schnipsel aus, um Ihr Google Drive einzubinden:
from google.colab import drive
drive.mount('/content/drive')
  1. Um die GPU-Beschleunigung zu nutzen, klicken Sie auf die Option "Ausführung" im Menü und wählen Sie "Laufzeittyp ändern". Wählen Sie unter "Hardwarebeschleuniger" die Option "GPU" aus. Google Colab bietet kostenlosen Zugriff auf eine 15G T4 GPU.
  2. Führen Sie den folgenden Code-Schnipsel aus, um zu überprüfen, ob Sie sich in der GPU-Umgebung befinden:
import tensorflow as tf
tf.test.gpu_device_name()
! /opt/bin/nvidia-smi
  1. Jetzt können Sie Open-Source-Modelle verwenden. Hugging Face ist eine beliebte Wahl und bietet eine breite Palette von auf Transformer basierenden Modellen. Geben Sie einfach den Modellnamen an die HuggingFaceEmbedding-Klasse weiter, um den Modell-Download, das Laden und die Texteinbettungsberechnungen zu steuern.

Grace stellt einen Beispielcode-Schnipsel vor, der Hugging Face und Llama 2 Open-Source-Modelle für intelligente Suche und groß angelegte Wissensbasis-Anwendungen verwendet. Der Code zeigt den Prozess des Ladens von vortrainierten Modellen, der Kodierung von Text, dem Abrufen ähnlicher Informationen aus einer Wissensbasis und der Erzeugung von Antworten.

Beispielcodes Schritt für Schritt zum Ausführen von LLM mit Google Colab

Die Erstellung einer Anwendung mit LLMs wie Stable Diffusion und Google Flan T5 XL erfordert einen schrittweisen Ansatz, insbesondere wenn Sie die Leistung der kostenlosen GPUs von Google Colab nutzen möchten. Diese Anleitung führt Sie durch die Einrichtung einer Flask-Anwendung, die diese Modelle integriert und es Ihnen ermöglicht, Bilder und Texte basierend auf Benutzereingaben zu generieren. Der Prozess umfasst das Programmieren in Python, die Verwendung von Flask als Web-Framework und das Bereitstellen der App mit ngrok für die öffentliche Zugänglichkeit.

Schritt 1: Einrichten Ihrer Umgebung

Bevor Sie in den Code eintauchen, stellen Sie sicher, dass Sie ein Google-Konto haben, um auf Google Colab zuzugreifen. Google Colab ist eine leistungsstarke Plattform, die es Ihnen ermöglicht, Python-Code über Ihren Browser zu schreiben, auszuführen und zu teilen.

Schritt 2: Erstellen einer Flask-Anwendung

Flask ist ein leichtgewichtiges WSGI-Webanwendungsframework in Python. Es wurde entwickelt, um den Einstieg schnell und einfach zu machen und die Skalierung auf komplexe Anwendungen zu ermöglichen. Beginnen Sie mit dem Einrichten der Struktur Ihrer Flask-Anwendung:

from flask import Flask, render_template, request
from flask_ngrok import run_with_ngrok
 
app = Flask(__name__)
run_with_ngrok(app)  # Start ngrok when app is run

Schritt 3: Integration von LLMs

Für dieses Projekt werden zwei Modelle verwendet: Stable Diffusion zur Erzeugung von Bildern und Google Flan T5 XL zur Textgenerierung. Diese Modelle erfordern spezifische Bibliotheken: transformers, diffusers und torch.

import torch
from diffusers import StableDiffusionPipeline
from transformers import T5Tokenizer, T5ForConditionalGeneration
 
# Lade das Flan-T5-XL-Modell
tokenizer = T5Tokenizer.from_pretrained("google/flan-t5-xl")
model = T5ForConditionalGeneration.from_pretrained("google/flan-t5-xl").to("cuda")
 
# Lade das Stable Diffusion-Modell
pipe = StableDiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5", 
    revision="fp16", 
    torch_dtype=torch.float16
).to("cuda")

Schritt 4: Design Ihrer Anwendung

Erstellen Sie eine einfache HTML-Vorlage für Ihre Anwendung. Diese Vorlage enthält ein Formular, in dem Benutzer Eingaben für die KI-Modelle eingeben können. Speichern Sie diese Vorlage als index.html in einem templates-Ordner innerhalb des Projektverzeichnisses Ihrer Flask-Anwendung.

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>LLM Flask App</title>
</head>
<body>
    <form action="/submit-prompt" method="post">
        <input type="text" name="prompt-input" placeholder="Geben Sie Ihren Hinweis ein">
<button type="submit">Generieren</button>
    </form>
</body>
</html>

Schritt 5: Anfragen verarbeiten

Richten Sie in Ihrer Flask-App Routen ein, um Anfragen zu verarbeiten. Wenn ein Benutzer eine Eingabeaufforderung sendet, verwendet Ihre Anwendung die LLMs, um ein Bild und einen Text basierend auf dieser Eingabeaufforderung zu generieren.

from flask import Flask, render_template, request, jsonify
from io import BytesIO
import base64
 
@app.route('/')
def index():
    return render_template('index.html')
 
@app.route('/submit-prompt', methods=['POST'])
def generate():
    prompt = request.form['prompt-input']
    
    # Generieren Sie ein Bild mit Stable Diffusion
    image = pipe(prompt=prompt).images[0]
    buffered = BytesIO()
    image.save(buffered, format="PNG")
    img_str = base64.b64encode(buffered.getvalue()).decode()
    
    # Generieren Sie Text mit Flan-T5-XL
    input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to("cuda")
    generated_output = model.generate(input_ids, max_length=512)
    generated_text = tokenizer.decode(generated_output[0], skip_special_tokens=True)
    
    return render_template('index.html', generated_image=img_str, generated_text=generated_text)

Schritt 6: Bereitstellen mit Ngrok

Ngrok stellt lokale Server hinter NATs und Firewalls über sichere Tunnel ins öffentliche Internet zur Verfügung. Nach der Installation von ngrok geben Sie Ihren Token ein:

!ngrok authtoken <YOUR_AUTHTOKEN_HERE>

Starten Sie Ihre Flask-App, und ngrok stellt eine öffentliche URL bereit, um darauf zuzugreifen:

!python app.py

Schritt 7: Ausführen in Google Colab

Um diese gesamte Einrichtung in Google Colab auszuführen, klonen Sie Ihr GitHub-Repository mit der Flask-App und führen sie aus. Mit Google Colab können Sie die erforderlichen Bibliotheken installieren, ngrok authentifizieren und Ihre Flask-Anwendung ausführen - alles von einem Notebook aus.

  1. Klonen Sie Ihr Repository:
!git clone https://github.com/yourusername/yourrepository.git
  1. Wechseln Sie in das Verzeichnis Ihrer App:
import os
os.chdir("your repository")
  1. Installieren Sie die erforderlichen Python-Pakete:
!pip install flask flask_ngrok torch diffusers transformers
  1. Authentifizieren Sie ngrok:
!ngrok authtoken YOUR_NGROK_AUTHTOKEN
  1. Führen Sie Ihre Flask-Anwendung aus. Dieser Befehl führt die Flask-App aus und macht sie über eine öffentliche URL zugänglich, die von ngrok bereitgestellt wird:
!python app.py

Nachdem Sie die Flask-Anwendung in Google Colab ausgeführt haben, sehen Sie eine Ausgabe mit einem Link zu Ihrer ngrok-öffentlichen URL. Diese URL führt zu Ihrer Flask-Anwendung, die nun von überall aus zugänglich ist.

Schritt 8: Interaktion mit Ihrer Anwendung

Navigieren Sie zur bereitgestellten ngrok-URL, um Ihre Flask-Anwendung anzuzeigen. Geben Sie eine Eingabeaufforderung in das Formular ein und senden Sie sie ab. Die Backend-Flask-Anwendung verarbeitet diese Eingabe mit den Modellen Stable Diffusion und Google Flan T5 XL, um ein Bild und einen Text zu generieren. Diese Ergebnisse werden dann auf derselben Seite angezeigt und zeigen die Fähigkeiten dieser großen Sprachmodelle.

Schritt 9: Weiterführende Erkundung

Dieses Projekt kratzt nur an der Oberfläche dessen, was mit LLMs und Cloud-basierten Computing möglich ist. Erwägen Sie, Ihre Anwendung um zusätzliche Funktionen zu erweitern, wie z. B.:

  • Anpassungsoptionen: Ermöglichen Sie Benutzern, Parameter für die Bild- und Textgenerierung festzulegen, z. B. das Kreativitätsniveau des Modells oder den Typ des zu generierenden Bildes.
  • Behandlung größerer Lasten: Implementieren Sie Warteschlangensysteme, um mehrere Anfragen effizient zu verarbeiten und sicherzustellen, dass Ihre Anwendung mit der Benutzernachfrage skalierbar ist.
  • Fortgeschrittene Modellnutzung: Erkunden Sie andere Modelle und ihre einzigartigen Fähigkeiten. Sie könnten z. B. Modelle integrieren, die auf bestimmte Bereiche wie medizinische Beratung oder juristische Analysen spezialisiert sind.

Fazit

Der Aufbau einer Flask-Anwendung zum Ausführen von großen Sprachmodellen wie Stable Diffusion und Google Flan T5 XL und deren Bereitstellung mit Google Colab und ngrok zeigt die Zugänglichkeit und Leistungsfähigkeit moderner KI-Technologien. Mit nur wenigen Schritten können Entwickler interaktive Anwendungen erstellen, die Spitzenmodelle nutzen, und das alles innerhalb eines Browsers. Dieser Leitfaden hebt nicht nur die praktische Anwendung dieser Modelle hervor, sondern fördert auch die weitere Untersuchung des Potenzials von KI, Branchen und kreative Projekte zu transformieren.

Wenn Sie sich tiefer in die AI-Entwicklung vertiefen, denken Sie daran, wie wichtig ethische Aspekte sind, insbesondere bei der Generierung von Inhalten, die das Urheberrecht, die Privatsphäre und die Fairness respektieren. Die Reise in die AI- und Machine-Learning-Welt bietet viele Möglichkeiten, wirkungsvolle, innovative Anwendungen zu schaffen, die diese Prinzipien respektieren.

Die Power von Google Colab mit Sprachmodellen

Durch die Kombination der kostenlosen Cloud-Umgebung von Google Colab mit Bibliotheken wie Sentence-Transformers und dem open-source Modell Llama 2 können Technikbegeisterte einfach in semantische Retrieval- und Frage-Antwort-Aufgaben eintauchen. Dieser Ansatz spart nicht nur wertvolle Hardware-Ressourcen, sondern ermöglicht auch die Erstellung intelligenterer und persönlicherer Frage-Antwort-Systeme.

Mit Google Colab können Entwickler die Möglichkeiten großer Sprachmodelle erkunden, ohne dabei das Budget zu sprengen. Grace ermutigt die Leser, es selbst auszuprobieren und noch aufregendere Anwendungen zu entdecken. Hinterlassen Sie gerne Kommentare und teilen Sie Ihre Erfolge!

Abschließend ist Grace Smith, eine unabhängige Open-Source-Softwareentwicklerin und Autorin von SolidUI, begeistert von neuen Technologien, insbesondere im Bereich KI und Daten. Wenn Ihnen ihr Artikel informativ und interessant erschien, vergessen Sie nicht, Ihre Unterstützung durch Likes und Bookmarks zu zeigen.

Denken Sie daran: Bleiben Sie immer neugierig und erkunden Sie die faszinierende Welt der Technologie weiter!