Comment exécuter LLM dans Google Colab gratuitement
Published on
Si vous avez envie d'expérimenter avec de grands modèles linguistiques mais que vous êtes préoccupé par le prix élevé qui les accompagne souvent, il y a de bonnes nouvelles pour vous. Grace Smith de Cheatsheet.md est là pour partager quelques astuces pour économiser de l'argent avec les passionnés de technologie qui sont désireux de plonger dans le monde des grands modèles linguistiques.
Présentation de Google Colab
La première méthode d'économie de coûts que Grace suggère est d'utiliser Google Colab, un environnement de cahier Jupyter basé sur le cloud et gratuit. Avec simplement un compte Google, vous pouvez écrire et exécuter du code Python dans le cloud, en évitant toute inquiétude concernant la puissance de traitement de votre ordinateur. De plus, Google Colab prend en charge l'accélération GPU, rendant l'entraînement de grands modèles plus rapide et plus facile.
Exploration des fournisseurs de modèles linguistiques
Alors que de nombreuses personnes connaissent OpenAI en tant que fournisseur de grands modèles linguistiques, Grace met en évidence une autre option : Azure OpenAI. Spécialement conçu pour les utilisateurs d'entreprise, Azure OpenAI offre une alternative solide à considérer. En plus de ces fournisseurs, il existe d'autres plateformes open-source telles que Hugging Face et Fireworks AI qui offrent une large sélection de modèles de haute qualité parmi lesquels choisir.
Exécution de grands modèles sur Google Colab
Curieux de savoir comment vous pouvez tirer parti de Google Colab pour exécuter de grands modèles linguistiques ? Grace fournit un guide étape par étape :
- Créez un compte Google si vous n'en avez pas déjà un.
- Visitez le lien fourni :
https://colab.research.google.com/
pour accéder à l'interface de Google Colab. - Dans le menu "Fichiers", sélectionnez "Nouveau cahier" pour créer un nouveau cahier Jupyter.
- Avant de continuer, vous devez monter Google Drive pour vous assurer que vos fichiers sont enregistrés. Sans cette étape, tous les fichiers téléchargés dans le cahier seront temporaires et ne persisteront pas entre les sessions. Exécutez le code suivant pour monter votre Google Drive :
from google.colab import drive
drive.mount('/content/drive')
- Pour bénéficier de l'accélération GPU, cliquez sur l'option "Exécution" dans le menu, puis sélectionnez "Modifier le type d'exécution". Sous "Accélérateur du matériel", choisissez "GPU". Google Colab offre un accès gratuit à un GPU T4 de 15 Go.
- Pour vérifier que vous êtes dans l'environnement GPU, exécutez le code suivant :
import tensorflow as tf
tf.test.gpu_device_name()
! /opt/bin/nvidia-smi
- Maintenant, vous êtes prêt à utiliser des modèles open-source. Hugging Face est un choix populaire, offrant une large gamme de modèles basés sur des transformers. En fournissant simplement le nom du modèle à la classe
HuggingFaceEmbedding
, le téléchargement du modèle, le chargement et les calculs d'incorporation de texte seront gérés pour vous.
Grace fournit un exemple de code utilisant Hugging Face et les modèles open-source Llama 2 pour la recherche intelligente et les applications de base de connaissances à grande échelle. Le code présente le processus de chargement des modèles pré-entraînés, le codage du texte, la récupération d'informations similaires à partir d'une base de connaissances et la génération de réponses.
Codes d'exemple étape par étape pour exécuter LLM avec Google Colab
La création d'une application avec des LLM tels que Stable Diffusion et Google Flan T5 XL nécessite une approche étape par étape, en particulier lorsque vous exploitez la puissance des GPU gratuits de Google Colab. Ce guide vous guidera dans la configuration d'une application Flask qui intègre ces modèles, vous permettant de générer des images et du texte en fonction de l'entrée de l'utilisateur. Le processus nécessite la programmation en Python, en utilisant Flask pour le framework de développement web, et le déploiement de l'application avec ngrok pour l'accessibilité publique.
Étape 1 : Configuration de votre environnement
Avant de vous plonger dans le code, assurez-vous d'avoir un compte Google pour accéder à Google Colab. Google Colab est une plateforme puissante qui vous permet d'écrire, d'exécuter et de partager du code Python via votre navigateur.
Étape 2 : Création d'une application Flask
Flask est un framework d'application web WSGI léger en Python. Il est conçu pour vous permettre de démarrer rapidement et facilement, avec la possibilité de passer à des applications complexes. Commencez par mettre en place la structure de votre application Flask :
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
Étape 3 : Intégration des LLM
Pour ce projet, vous utiliserez deux modèles : Stable Diffusion pour la génération d'images et Google Flan T5 XL pour la génération de texte. Ces modèles nécessitent des bibliothèques spécifiques : transformers
, diffusers
et torch
.
import torch
from diffusers import StableDiffusionPipeline
from transformers import T5Tokenizer, T5ForConditionalGeneration
# Load the Flan-T5-XL model
tokenizer = T5Tokenizer.from_pretrained("google/flan-t5-xl")
model = T5ForConditionalGeneration.from_pretrained("google/flan-t5-xl").to("cuda")
# Load the Stable Diffusion model
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
revision="fp16",
torch_dtype=torch.float16
).to("cuda")
Étape 4 : Conception de votre application
Créez un modèle HTML de base pour votre application. Ce modèle inclura un formulaire dans lequel les utilisateurs pourront entrer des prompts pour les modèles d'IA. Enregistrez ce modèle sous le nom de index.html
dans un dossier templates
à l'intérieur du répertoire de votre projet Flask.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Application LLM</title>
</head>
<body>
<form action="/submit-prompt" method="post">
<input type="text" name="prompt-input" placeholder="Entrez votre prompt">
<button type="submit">Générer</button>
</form>
</body>
</html>
Étape 5: Gérer les demandes
De retour dans votre application Flask, configurez les itinéraires pour gérer les demandes. Lorsqu'un utilisateur soumet une indication, votre application utilisera les LLM (langage models) pour générer une image et un texte basés sur cette indication.
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']
# Générer une image avec Stable Diffusion
image = pipe(prompt=prompt).images[0]
buffered = BytesIO()
image.save(buffered, format="PNG")
img_str = base64.b64encode(buffered.getvalue()).decode()
# Générer un texte avec 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)
Étape 6: Déploiement avec Ngrok
Ngrok expose les serveurs locaux derrière les NAT et les pare-feu à Internet via des tunnels sécurisés. Après avoir installé ngrok, authentifiez-le avec votre jeton :
!ngrok authtoken <YOUR_AUTHTOKEN_HERE>
Exécutez votre application Flask et ngrok fournira une URL publique pour y accéder :
!python app.py
Étape 7: Exécution dans Google Colab
Pour exécuter cette configuration complète dans Google Colab, vous allez cloner votre référentiel GitHub contenant l'application Flask et l'exécuter. Google Colab vous permet d'installer les bibliothèques nécessaires, d'authentifier ngrok et d'exécuter votre application Flask, le tout à partir d'un notebook.
- Clonez votre référentiel :
!git clone https://github.com/yourusername/yourrepository.git
- Modifiez le répertoire vers votre application :
import os
os.chdir("your repository")
- Installez les packages Python requis :
!pip install flask flask_ngrok torch diffusers transformers
- Authentifiez ngrok :
!ngrok authtoken YOUR_NGROK_AUTHTOKEN
- Exécutez votre application Flask. Cette commande exécute l'application Flask et la rend accessible via une URL publique fournie par ngrok :
!python app.py
Une fois l'application Flask exécutée dans Google Colab, vous verrez une sortie avec un lien vers votre URL publique ngrok. Cette URL conduit à votre application Flask, maintenant accessible de n'importe où.
Étape 8: Interagir avec votre application
Accédez à l'URL ngrok fournie pour afficher votre application Flask. Entrez une indication dans le formulaire et soumettez-la. L'application Flask backend traite cette entrée à l'aide des modèles Stable Diffusion et Google Flan T5 XL pour générer une image et un texte. Ces résultats sont ensuite affichés sur la même page, mettant en valeur les capacités de ces grands modèles de langage.
Étape 9: Explorer davantage
Ce projet effleure la surface de ce qui est possible avec les LLM et l'informatique basée sur le cloud. Envisagez d'améliorer votre application avec des fonctionnalités supplémentaires, telles que :
- Options de personnalisation : Permettez aux utilisateurs de spécifier des paramètres pour la génération d'images et de texte, tels que le niveau de créativité du modèle ou le type d'image à générer.
- Gestion de charges plus importantes : Implémentez des systèmes de mise en file d'attente pour gérer plusieurs demandes de manière efficace, en veillant à ce que votre application soit à l'échelle de la demande des utilisateurs.
- Utilisation avancée du modèle : Explorez d'autres modèles et leurs capacités uniques. Par exemple, vous pouvez intégrer des modèles spécialisés dans des domaines spécifiques tels que les conseils médicaux ou les analyses juridiques.
Conclusion
La création d'une application Flask pour exécuter de grands modèles de langage comme Stable Diffusion et Google Flan T5 XL, et son déploiement avec Google Colab et ngrok, démontre l'accessibilité et la puissance des technologies d'IA modernes. En seulement quelques étapes, les développeurs peuvent créer des applications interactives qui exploitent des modèles de pointe, le tout dans un navigateur. Ce guide met en évidence non seulement l'application pratique de ces modèles, mais encourage également une exploration plus approfondie du potentiel de l'IA pour transformer les industries et les créations.
Lorsque vous approfondirez le développement de l'IA, n'oubliez pas l'importance des considérations éthiques, en particulier dans la génération de contenus qui respectent les droits d'auteur, la vie privée et l'équité. Le voyage dans l'IA et l'apprentissage automatique est rempli d'opportunités pour créer des applications impactantes et innovantes qui respectent ces principes.
La puissance de Google Colab avec les modèles de langage
En combinant l'environnement cloud gratuit de Google Colab avec des bibliothèques telles que sentence-transformers et le modèle open-source Llama 2, les amateurs de technologie peuvent facilement se plonger dans des tâches de recherche sémantique et de questions-réponses. Cette approche permet non seulement d'économiser des ressources matérielles précieuses, mais aussi de créer des systèmes de questions-réponses plus intelligents et plus personnalisés.
Avec Google Colab, les développeurs peuvent explorer les possibilités des grands modèles de langage sans se ruiner. Grace encourage les lecteurs à essayer par eux-mêmes et à découvrir encore plus d'applications passionnantes. N'hésitez pas à laisser des commentaires et à partager vos réalisations !
En conclusion, Grace Smith, développeuse de logiciels open-source indépendante et auteure de SolidUI, est passionnée par les nouvelles technologies, notamment dans le domaine de l'IA et des données. Si vous avez trouvé son article informatif et captivant, n'oubliez pas de montrer votre soutien en l'aimant et en le mettant en favori.
Rappelez-vous : restez toujours curieux et continuez à explorer le monde fascinant de la technologie !