Aller au contenu principal

Chapitre 2 : Différences avec les MLOps traditionnels

Comparaison MLOps vs LLMOps​

AspectMLOps traditionnelsLLMOps
Taille du modèleMB à GBGB à TB
EntraînementRéentraînement fréquentAjustement fin ou prompt
EntréeCaractéristiques structuréesLangage naturel
SortieScores/classesTexte généré
ÉvaluationMétriques (AUC, F1)Qualité, sécurité, pertinence
Latencemssecondes
Facteur de coûtCalculJetons

Défis uniques des LLMOps​

1. Ingénierie des prompts​

Le ML traditionnel n'a pas de "prompts" - les LLM nécessitent une conception minutieuse des prompts :

# Prompt simple
prompt_v1 = "Résumez ce document : {document}"

# Prompt amélioré avec contraintes
prompt_v2 = """Vous êtes un professionnel du résumé.
Résumez le document suivant en 3 points.
Gardez chaque point sous 20 mots.
Concentrez-vous sur les faits et chiffres clés.

Document : {document}

Résumé :"""

2. Sorties non déterministes​

# Même entrée, sorties différentes
for i in range(3):
response = llm.generate("Écrivez un haïku sur Python")
print(f"Tentative {i+1} : {response}")

# La sortie varie à chaque fois !

3. Tarification basée sur les jetons​

def calculate_cost(input_tokens: int, output_tokens: int, model: str):
pricing = {
"gpt-4": {"input": 0.03, "output": 0.06},
"gpt-3.5-turbo": {"input": 0.0005, "output": 0.0015},
"claude-3-opus": {"input": 0.015, "output": 0.075},
}

input_cost = (input_tokens / 1000) * pricing[model]["input"]
output_cost = (output_tokens / 1000) * pricing[model]["output"]

return input_cost + output_cost

Suivant : Chapitre 3 : Défis spécifiques aux LLM