Dans le passé, l’IA générative a conquis le marché et, par conséquent, nous disposons désormais de différents modèles avec différentes applications. L’évaluation de la Gen AI a commencé avec l’architecture Transformer, et cette stratégie a depuis été adoptée dans d’autres domaines. Prenons un exemple. Comme nous le savons, nous utilisons actuellement le modèle VIT dans le domaine de la diffusion stable. Lorsque vous explorez le modèle plus en détail, vous verrez que deux types de services sont disponibles : les services payants et les modèles open source dont l’utilisation est gratuite. L’utilisateur qui souhaite accéder aux services supplémentaires peut utiliser des services payants comme OpenAI, et pour le modèle open source, nous avons un Hugging Face.
Vous pouvez accéder au modèle et selon votre tâche, vous pouvez télécharger le modèle respectif à partir des services. Notez également que des frais peuvent être appliqués pour les modèles de jetons en fonction du service respectif dans la version payante. De même, AWS fournit également des services comme AWS Bedrock, qui permettent d’accéder aux modèles LLM via l’API. Vers la fin de cet article de blog, discutons de la tarification des services.
Cet article a été publié dans le cadre du
streamlit run app.py
LLaMA 2, ou Large Language Model of Many Applications, appartient à la catégorie des Large Language Models (LLM). Facebook (Meta) a développé ce modèle pour explorer un large spectre d’applications de traitement du langage naturel (NLP). Dans les séries précédentes, le modèle « LAMA » constituait le point de départ du développement, mais il utilisait des méthodes obsolètes.
Pour créer LLaMA 2, vous devrez suivre plusieurs étapes, notamment la configuration de votre environnement de développement, l’accès au modèle et son appel avec les paramètres appropriés.
Étape 1 : Importer des bibliothèques
import boto3
import json
Étape 2 : Définir l’invite et le client AWS Bedrock
prompt_data = """
Act as a Shakespeare and write a poem on Generative AI
"""
bedrock = boto3.client(service_name="bedrock-runtime")
Étape 3 : Définir la charge utile et invoquer le modèle
payload = {
"prompt": "[INST]" + prompt_data + "[/INST]",
"max_gen_len": 512,
"temperature": 0.5,
"top_p": 0.9
}
body = json.dumps(payload)
model_id = "meta.llama2-70b-chat-v1"
response = bedrock.invoke_model(
body=body,
modelId=model_id,
accept="application/json",
contentType="application/json"
)
response_body = json.loads(response.get("body").read())
response_text = response_body['generation']
print(response_text)
Étape 4 : Exécutez le bloc-notes
Étape 5 : Créer une application Streamlit
import streamlit as st
import boto3
import json
# Define AWS Bedrock client
bedrock = boto3.client(service_name="bedrock-runtime")
# Streamlit app layout
st.title('LLama2 Model App')
# Text input for user prompt
user_prompt = st.text_area('Enter your text prompt here:', '')
# Button to trigger model invocation
if st.button('Generate Output'):
payload = {
"prompt": user_prompt,
"max_gen_len": 512,
"temperature": 0.5,
"top_p": 0.9
}
body = json.dumps(payload)
model_id = "meta.llama2-70b-chat-v1"
response = bedrock.invoke_model(
body=body,
modelId=model_id,
accept="application/json",
contentType="application/json"
)
response_body = json.loads(response.get("body").read())
generation = response_body['generation']
st.text('Generated Output:')
st.write(generation)
streamlit run llama2_app.py
La tarification d’AWS Bedrock dépend de divers facteurs et des services que vous utilisez, tels que l’hébergement de modèles, les demandes d’inférence, le stockage de données et le transfert de données. AWS facture généralement en fonction de l’utilisation, ce qui signifie que vous ne payez que ce que vous utilisez. Je vous recommande de consulter la page de tarification officielle, car AWS peut modifier sa structure tarifaire. Je peux vous fournir les tarifs actuels, mais il est préférable de vérifier les informations sur la page officielle pour obtenir les détails les plus précis.
Objectif LlaMA 2
IA de stabilité
Ce blog s’est penché sur le domaine de l’IA générative, en se concentrant spécifiquement sur deux puissants modèles LLM : Stable Diffusion et LLamV2. Nous avons également exploré AWS Bedrock en tant que plate-forme de création d’API de modèle LLM. À l’aide de ces API, nous avons démontré comment écrire du code pour interagir avec les modèles. De plus, nous avons utilisé le terrain de jeu AWS Bedrock pour pratiquer et évaluer les capacités des modèles.
Dès le début, nous avons souligné l’importance de sélectionner la bonne région au sein d’AWS Bedrock, car ces modèles peuvent ne pas être disponibles dans toutes les régions. À l’avenir, nous avons proposé une exploration pratique de chaque modèle LLM, en commençant par la création de notebooks Jupyter, puis en passant au développement d’applications Streamlit.
Enfin, nous avons discuté de la structure tarifaire d’AWS Bedrock, soulignant la nécessité de comprendre les coûts associés et de nous référer à la page de tarification officielle pour des informations précises.
R. L’IA générative est un sous-ensemble de l’intelligence artificielle axé sur la création de nouveaux contenus, tels que des images, du texte ou du code, plutôt que sur la simple analyse des données existantes.
A. Stable Diffusion est un modèle d’IA génératif qui produit des images photoréalistes à partir d’invites de texte et d’images en utilisant la technologie de diffusion et l’espace latent.
R. AWS Bedrock fournit des API pour la gestion, la formation et le déploiement de modèles, permettant aux utilisateurs d’accéder à de grands modèles de langage comme LLAMv2 pour diverses applications.
R. Vous pouvez accéder aux modèles LLM sur AWS Bedrock à l’aide des API fournies, par exemple en appelant le modèle avec des paramètres spécifiques et en recevant la sortie générée.
A. Stable Diffusion peut générer des images de haute qualité à partir d’invites de texte, fonctionne efficacement en utilisant l’espace latent et est accessible à un large éventail d’utilisateurs.
Les médias présentés dans cet article n’appartiennent pas à Analytics Vidhya et sont utilisés à la discrétion de l’auteur.