vendredi, 29 mars 2024

Premiers pas avec Azure OpenAI

L’apprentissage automatique moderne et la recherche sur l’IA sont passés rapidement du laboratoire à nos IDE, avec des outils tels que les services cognitifs d’Azure fournissant un accès basé sur l’API à des modèles pré-entraînés. Il existe de nombreuses approches différentes pour fournir des services d’IA, l’une des méthodes les plus prometteuses pour travailler avec le langage étant une technique appelée préformation générative ou GPT, qui gère de grandes quantités de texte.

OpenAI et Microsoft

Le Laboratoire de recherche OpenAI a été le pionnier de cette technique, en publiant le article initial sur le sujet en 2018. Le modèle qu’il utilise a connu plusieurs itérations, à commencer par le GPT-2 non supervisé, qui utilisait des données non étiquetées pour imiter les humains. Construit sur 40 Go de contenu Internet public, GPT-2 a nécessité une formation importante pour fournir un modèle avec 1,5 milliard de paramètres. Il a été suivi par GPT-3, un modèle beaucoup plus grand avec 175 milliards de paramètres. Sous licence exclusive de Microsoft, GPT-3 est à la base d’outils tels que le Codex axé sur le code de programmation utilisé par GitHub Copilot et le générateur d’images DALL-E.

Avec un modèle comme GPT-3 nécessitant des quantités importantes de calcul et de mémoire, de l’ordre de milliers de pétaflop/s-jours, c’est un candidat idéal pour le calcul haute performance basé sur le cloud sur du matériel de superordinateur spécialisé. Microsoft a construit son propre Serveurs basés sur Nvidia pour le supercalcul sur Azure, avec ses instances cloud figurant sur la liste des supercalculateurs TOP500. Les serveurs d’IA d’Azure sont construits autour de GPU Nvidia Ampere A12000 Tensor Core, interconnectés via un réseau InfiniBand à haut débit.

Ajout d’OpenAI à Azure

Les outils d’IA générative d’OpenAI ont été créés et entraînés sur les serveurs Azure. Dans le cadre d’un accord de longue date entre OpenAI et Microsoft, Les outils d’OpenAI sont mis à disposition dans le cadre d’Azure, avec des API et intégration avec les services de facturation d’Azure. Après un certain temps en aperçu privé, le La suite d’API Azure OpenAI est désormais généralement disponible, avec prise en charge de la génération de texte GPT-3 et du modèle de code Codex. Microsoft a annoncé qu’il ajouterait la génération d’images DALL-E dans une future mise à jour.

Cela ne signifie pas que n’importe qui peut créer une application qui utilise GPT-3 ; Microsoft limite toujours l’accès pour s’assurer que les projets sont conformes à ses politiques d’utilisation éthique de l’IA et sont strictement limités à des cas d’utilisation spécifiques. Vous devez également être un client Microsoft direct pour accéder à Azure OpenAI. Microsoft utilise un processus similaire pour accéder à ses services cognitifs à accès limité, lorsqu’il existe une possibilité d’usurpation d’identité ou de violation de la vie privée.

Ces politiques resteront probablement strictes, et certains domaines, tels que les services de santé, nécessiteront probablement une protection supplémentaire pour répondre aux exigences réglementaires. Les propres expériences de Microsoft avec les modèles de langage d’IA lui ont appris une leçon qu’il ne veut pas répéter. Comme protection supplémentaire, il existe des filtres de contenu sur les entrées et les sorties, avec des alertes pour Microsoft et les développeurs.

Exploration d’Azure OpenAI Studio

Une fois que votre compte a été approuvé pour utiliser Azure OpenAI, vous pouvez commencer à créer du code qui utilise ses points de terminaison d’API. Les ressources Azure appropriées peuvent être créées à partir du portail, de l’interface de ligne de commande Azure ou des modèles Arm. Si vous utilisez le portail Azure, créez une ressource qui est allouée à votre compte et au groupe de ressources que vous avez l’intention d’utiliser pour votre application et tous les services et infrastructures Azure associés. Ensuite, nommez la ressource et sélectionnez le niveau de tarification. Pour le moment, il n’y a qu’une seule option de tarification, mais cela changera probablement à mesure que Microsoft déploiera de nouveaux niveaux de service.

Avec une ressource en place, vous pouvez désormais déployer un modèle à l’aide d’Azure OpenAI Studio. C’est là que vous ferez la plupart de votre travail avec OpenAI. Actuellement, vous pouvez choisir entre les membres du Famille de modèles GPT-3, y compris le Codex basé sur un code. D’autres modèles utilisent des intégrations, des informations sémantiques complexes optimisées pour la recherche.

Au sein de chaque famille, il existe un ensemble de modèles différents dont les noms indiquent à la fois le coût et la capacité. Si vous utilisez GPT-3, Ada est le moins cher et le moins capable et Davinci est le plus élevé. Chaque modèle est un sur-ensemble du précédent, donc à mesure que les tâches deviennent plus complexes, vous n’avez pas besoin de modifier votre code, vous choisissez simplement un modèle différent. Fait intéressant, Microsoft recommande de commencer par le modèle le plus performant lors de la conception d’une application basée sur OpenAI, car cela vous permet d’ajuster le modèle sous-jacent en termes de prix et de performances lorsque vous passez en production.

Travailler avec la personnalisation du modèle

Bien que les fonctionnalités de complétion de texte de GPT-3 soient devenues virales, en pratique, votre application devra être beaucoup plus axée sur votre cas d’utilisation spécifique. Vous ne voulez pas que GPT-3 alimente un service d’assistance qui donne régulièrement des conseils non pertinents. Vous devez créer un modèle personnalisé à l’aide d’exemples de formation avec des entrées et des sorties souhaitées, qu’Azure OpenAI appelle des « achèvements ». Il est important d’avoir un grand ensemble de données de formation, et Microsoft recommande d’utiliser plusieurs centaines d’exemples. Vous pouvez inclure toutes vos invites et complétions dans un seul fichier JSON pour simplifier la gestion de vos données d’entraînement.

Avec un modèle personnalisé en place, vous pouvez utiliser Azure OpenAI Studio pour tester le fonctionnement de GPT-3 pour votre scénario. Un terrain de jeu de base vous permet de voir comment le modèle répond à des invites spécifiques, avec une application de console de base qui vous permet de taper une invite et qui renvoie une complétion OpenAI. Microsoft décrit la création d’une bonne invite comme « montrez, ne dites pas », suggérant que les invites doivent être aussi explicites que possible pour obtenir le meilleur résultat. Le terrain de jeu permet également de former votre modèle, donc si vous créez un classificateur, vous pouvez fournir une liste de texte et de sorties attendues avant de fournir des entrées et un déclencheur pour obtenir une réponse.

Une fonctionnalité utile du terrain de jeu est la possibilité de définir une intention et les comportements attendus à un stade précoce. Ainsi, si vous utilisez OpenAI pour alimenter un outil de triage du service d’assistance, vous pouvez définir l’attente que la sortie sera polie et calme, en veillant à ce qu’il n’imite pas un utilisateur en colère. Les mêmes outils peuvent être utilisés avec le modèle Codex, vous pouvez donc voir comment il fonctionne en tant qu’outil de complétion de code ou en tant qu’assistant dynamique.

Écrire du code pour fonctionner avec Azure OpenAI< /h2>

Une fois que vous êtes prêt à commencer à coder, vous pouvez utiliser les points de terminaison REST de votre déploiement, soit directement ou avec les bibliothèques OpenAI Python. Ce dernier est probablement votre chemin le plus rapide vers le code en direct. Vous aurez besoin de l’URL du point de terminaison, d’une clé d’authentification et du nom de votre déploiement. Une fois que vous les avez, définissez les variables d’environnement appropriées pour votre code. Comme toujours, en production, il est préférable de ne pas coder les clés en dur et d’utiliser un outil comme Azure Key Vault pour les gérer.

Appeler un point de terminaison est assez simple : utilisez simplement la méthode openai.Completion.create pour obtenir une réponse, en définissant le nombre maximum de jetons nécessaires pour contenir votre invite et sa réponse. L’objet de réponse renvoyé par l’API contient le texte généré par votre modèle, qui peut être extrait, formaté, puis utilisé par le reste de votre code. Les appels de base sont simples et votre code peut utiliser des paramètres supplémentaires pour gérer la réponse. Ceux-ci contrôlent la créativité du modèle et la façon dont il échantillonne ses résultats. Vous pouvez utiliser ces paramètres pour vous assurer que les réponses sont simples et précises.

Si vous utilisez un autre langage, utilisez ses outils d’analyse REST et JSON. Vous pouvez trouver une référence d’API dans Azure Documentation OpenAI ou profitez de Spécifications Swagger hébergées sur GitHub d’Azure pour générer des appels d’API et travailler avec les données renvoyées. Cette approche fonctionne bien avec les IDE comme Visual Studio.

Tarif Azure OpenAI

L’un des éléments clés des modèles OpenAI est leur modèle de tarification basé sur des jetons. Les jetons dans Azure OpenAI ne sont pas le jeton d’authentification familier ; ce sont des sections de chaînes tokenisées, qui sont créées à l’aide d’un modèle statistique interne. Open AI fournit un outil sur son site pour montrer comment les chaînes sont tokenisées pour vous aider comprendre comment vos requêtes sont facturées. Vous pouvez vous attendre à ce qu’un jeton contienne environ quatre caractères de texte, bien qu’il puisse être inférieur ou supérieur ; cependant, il devrait se retrouver avec 75 mots nécessitant environ 100 jetons (environ un paragraphe de texte normal).

Plus le modèle est complexe, plus les jetons sont chers. Le modèle de base Ada coûte environ 0,0004 $ pour 1 000 jetons, et le haut de gamme Davinci est de 0,02 $. Si vous appliquez votre propre réglage, il y a un coût de stockage, et si vous utilisez des intégrations, les coûts peuvent être d’un ordre de grandeur plus élevé en raison des exigences de calcul accrues. Il y a des coûts supplémentaires pour affiner les modèles, à partir de 20 $ par heure de calcul. Le site Web Azure propose des exemples de prix, mais les prix réels peuvent varier en fonction de la relation de compte de votre organisation avec Microsoft.

La chose la plus surprenante concernant Azure OpenAIclo est peut-être sa simplicité. Lorsque vous utilisez des modèles prédéfinis (avec l’option d’un réglage fin), tout ce que vous avez à faire est d’appliquer une formation préalable de base, de comprendre comment les invites génèrent une sortie et de lier les outils à votre code, en générant du contenu textuel ou du code au fur et à mesure. c’est nécessaire.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici