Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Services Web Amazon

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Services Web Amazon

Aujourd'hui, nous sommes ravis d'annoncer que le modèle de base Falcon 180B développé par le Technology Innovation Institute (TII) et formé sur Amazon SageMaker est disponible pour les clients via Amazon SageMaker JumpStart à déployer en un seul clic pour exécuter l'inférence. Avec une taille de 180 milliards de paramètres et formé sur un ensemble de données massif de 3.5 billions de jetons, le Falcon 180B est le modèle le plus grand et l'un des plus performants avec des poids librement accessibles. Vous pouvez essayer ce modèle avec SageMaker JumpStart, un hub d'apprentissage automatique (ML) qui donne accès à des algorithmes, des modèles et des solutions ML afin que vous puissiez rapidement démarrer avec le ML. Dans cet article, nous expliquons comment découvrir et déployer le modèle Falcon 180B via SageMaker JumpStart.

Qu'est-ce que le Falcon 180B

Falcon 180B est un modèle publié par TII qui fait suite aux versions précédentes de la famille Falcon. Il s'agit d'une version à grande échelle du Falcon 40B, qui utilise l'attention multi-requêtes pour une meilleure évolutivité. Il s'agit d'un modèle de langage auto-régressif qui utilise une architecture de transformateur optimisée. Il a été formé sur 3.5 XNUMX milliards de jetons de données, principalement constitués de données Web provenant de Web raffiné (environ 85 %). Le modèle existe en deux versions : 180B et 180B-Chat. 180B est un modèle brut pré-entraîné, qui doit être affiné davantage pour la plupart des cas d'utilisation. 180B-Chat est mieux adapté pour prendre des instructions génériques. Le modèle Chat a été affiné sur les ensembles de données de chat et d'instructions ainsi que sur plusieurs ensembles de données conversationnelles à grande échelle.

Le modèle est mis à disposition sous le Licence Falcon-180B TII ainsi que Politique d'utilisation acceptable.

Le Falcon 180B a été formé par TII le Amazon Sage Maker, sur un cluster d'environ 4K GPU A100. Il utilisait une base de code de formation distribuée personnalisée nommée Gigatron, qui utilise le parallélisme 3D avec ZeRO et des noyaux Triton personnalisés et hautes performances. L'architecture de formation distribuée utilisée Service de stockage simple Amazon (Amazon S3) en tant que seul service unifié pour le chargement des données et l'écriture et la lecture des points de contrôle, ce qui a particulièrement contribué à la fiabilité de la charge de travail et à la simplicité opérationnelle.

Qu'est-ce que SageMaker JumpStart

Avec SageMaker JumpStart, les praticiens du ML peuvent choisir parmi une liste croissante de modèles de fondation les plus performants. Les praticiens du ML peuvent déployer des modèles de base sur des instances SageMaker dédiées dans un environnement réseau isolé et personnaliser les modèles à l'aide d'Amazon SageMaker pour la formation et le déploiement des modèles.

Vous pouvez désormais découvrir et déployer le Falcon 180B en quelques clics Amazon SageMakerStudio ou par programmation via le SDK SageMaker Python, vous permettant de dériver les performances du modèle et les contrôles MLOps avec des fonctionnalités SageMaker telles que Pipelines Amazon SageMaker, Débogueur Amazon SageMakerou les journaux de conteneur. Le modèle est déployé dans un environnement sécurisé AWS et sous les contrôles de votre VPC, contribuant ainsi à garantir la sécurité des données. Falcon 180B est détectable et peut être déployé dans les régions où les instances requises sont disponibles. À l'heure actuelle, les instances ml.p4de sont disponibles dans la région USA Est (Virginie du Nord) et USA Ouest (Oregon).

Découvrez les modèles

Vous pouvez accéder aux modèles de base via SageMaker JumpStart dans l'interface utilisateur SageMaker Studio et le SDK Python SageMaker. Dans cette section, nous allons voir comment découvrir les modèles dans SageMaker Studio.

SageMaker Studio est un environnement de développement intégré (IDE) qui fournit une interface visuelle Web unique où vous pouvez accéder à des outils spécialement conçus pour effectuer toutes les étapes de développement ML, de la préparation des données à la création, la formation et le déploiement de vos modèles ML. Pour plus de détails sur la façon de démarrer et de configurer SageMaker Studio, reportez-vous à Amazon SageMakerStudio.

Dans SageMaker Studio, vous pouvez accéder à SageMaker JumpStart, qui contient des modèles, des blocs-notes et des solutions prédéfinis, sous Solutions prédéfinies et automatisées.

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

À partir de la page d'accueil de SageMaker JumpStart, vous pouvez rechercher des solutions, des modèles, des blocs-notes et d'autres ressources. Vous pouvez trouver le Falcon 180B dans le Modèles de base : génération de texte carrousel.

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez également trouver d'autres variantes de modèles en choisissant Explorer tous les modèles de génération de texte ou à la recherche de Falcon.

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez choisir la fiche de modèle pour afficher les détails du modèle, tels que la licence, les données utilisées pour l'entraînement et la manière de l'utiliser. Vous trouverez également deux boutons, Déployer ainsi que Cahier ouvert, qui vous aidera à utiliser le modèle (la capture d'écran suivante montre le Déployer option).

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Déployer des modèles

Quand vous choisissez Déployer, le déploiement du modèle va démarrer. Vous pouvez également déployer via l'exemple de bloc-notes qui s'affiche en choisissant Cahier ouvert. L'exemple de bloc-notes fournit des conseils de bout en bout sur la manière de déployer le modèle pour l'inférence et de nettoyer les ressources.

Pour déployer à l'aide d'un notebook, nous commençons par sélectionner un modèle approprié, spécifié par le model_id. Vous pouvez déployer n'importe lequel des modèles sélectionnés sur SageMaker avec le code suivant :

from sagemaker.jumpstart.model import JumpStartModel my_model = JumpStartModel(model_id="huggingface-llm-falcon-180b-chat-bf16") predictor = my_model.deploy()

Cela déploie le modèle sur SageMaker avec les configurations par défaut, y compris le type d'instance par défaut et les configurations VPC par défaut. Vous pouvez modifier ces configurations en spécifiant des valeurs autres que celles par défaut dans JumpStartModel. Pour en savoir plus, reportez-vous au Documentation de l'API. Une fois déployé, vous pouvez exécuter une inférence sur le point de terminaison déployé via un prédicteur SageMaker. Voir le code suivant :

payload = { "inputs": "User: Hello!nFalcon: ", "parameters": {"max_new_tokens": 256, "top_p": 0.9, "temperature": 0.6}
}
response = predictor.predict(payload)

Les paramètres d'inférence contrôlent le processus de génération de texte au point final. Le contrôle maximum des nouveaux jetons fait référence à la taille de la sortie générée par le modèle. Notez que ce n'est pas la même chose que le nombre de mots car le vocabulaire du modèle n'est pas le même que le vocabulaire de la langue anglaise et chaque jeton ne peut pas être un mot de la langue anglaise. La température contrôle le caractère aléatoire de la sortie. Une température plus élevée entraîne des sorties plus créatives et hallucinées. Tous les paramètres d'inférence sont facultatifs.

Ce modèle de paramètres 180B fait 335 Go et nécessite encore plus de mémoire GPU pour effectuer suffisamment d'inférence avec une précision de 16 bits. Actuellement, JumpStart ne prend en charge ce modèle que sur les instances ml.p4de.24xlarge. Il est possible de déployer un modèle quantifié 8 bits sur une instance ml.p4d.24xlarge en fournissant le env={"HF_MODEL_QUANTIZE": "bitsandbytes"} argument de mot-clé au JumpStartModel constructeur et spécification instance_type="ml.p4d.24xlarge" à la méthode de déploiement. Cependant, veuillez noter que la latence par jeton est environ 5 fois plus lente pour cette configuration quantifiée.

Le tableau suivant répertorie tous les modèles Falcon disponibles dans SageMaker JumpStart ainsi que les ID de modèle, les types d'instances par défaut, le nombre maximum de jetons totaux (somme du nombre de jetons d'entrée et du nombre de jetons générés) pris en charge et la latence de réponse typique par jeton. pour chacun de ces modèles.

Nom du modèle ID du modèle Type d'instance par défaut Total maximum de jetons Latence par jeton*
Falcon 7B huggingface-llm-falcon-7b-bf16 ml.g5.2xlarge 2048 34 ms
Instruire le Falcon 7B huggingface-llm-falcon-7b-instruct-bf16 ml.g5.2xlarge 2048 34 ms
Falcon 40B huggingface-llm-falcon-40b-bf16 ml.g5.12xlarge 2048 57 ms
Instruire le Falcon 40B huggingface-llm-falcon-40b-instruct-bf16 ml.g5.12xlarge 2048 57 ms
Falcon 180B huggingface-llm-falcon-180b-bf16 ml.p4de.24xlarge 2048 45 ms
Bavarder huggingface-llm-falcon-180b-chat-bf16 ml.p4de.24xlarge 2048 45 ms

*la latence par jeton est fournie pour le temps de réponse médian des exemples d'invites fournis dans ce blog ; cette valeur varie en fonction de la longueur des séquences d'entrée et de sortie.

Inférence et exemples d'invites pour le Falcon 180B

Les modèles Falcon peuvent être utilisés pour compléter le texte de n’importe quel morceau de texte. Grâce à la génération de texte, vous pouvez effectuer diverses tâches, telles que répondre à des questions, traduire une langue, analyser des sentiments et bien d'autres encore. Le point de terminaison accepte le schéma de charge utile d'entrée suivant :

payload = { "inputs": str, (optional)"parameters": { "do_sample": bool, "max_new_tokens": int, "repetition_penalty": float, "return_full_text": bool, "stop": List[str], "seed": int, "temperature": float, "top_k": int, "top_p": float, "truncate": int, "typical_p": float, "best_of": int, "watermark": bool, "details": bool, "decoder_input_details": bool, }
}

Vous pouvez explorer la définition de ceux-ci paramètres client et leurs valeurs par défaut dans le référentiel d'inférence de génération de texte.

Voici quelques exemples d’invites et le texte généré par le modèle. Toutes les sorties ici sont générées avec des paramètres d'inférence {"max_new_tokens": 768, "stop": ["<|endoftext|>", "###"]}.

Créer un site Web peut se faire en 10 étapes simples :

Input Building a website can be done in 10 simple steps: Output
- Choose a domain name
- Register your domain name
- Choose a web host
- Choose a website builder
- Create your website
- Add content to your website
- Add pages to your website
- Add images to your website
- Add videos to your website
- Add social media to your website
1. Choose a domain name
A domain name is the address of your website. It is what people will type into their browser to find your website. For example, the domain name of this website is.
When choosing a domain name, you should choose something that is easy to remember and that represents your business or website. You should also make sure that the domain name is available. You can check if a domain name is available by using a domain name search tool.
2. Register your domain name
Once you have chosen a domain name, you need to register it. This can be done through a domain name registrar. A domain name registrar is a company that manages the registration of domain names.
When registering your domain name, you will need to provide your contact information and choose a payment method. You will also need to choose a domain name extension. The most common domain name extensions are .com, .net, and .org.
3. Choose a web host
A web host is a company that provides space on a server for your website. When choosing a web host, you should choose one that is reliable and that offers good customer support. You should also make sure that the web host offers the features that you need for your website.
4. Choose a website builder
A website builder is a tool that allows you to create a website without having to learn how to code. There are many different website builders available, so you should choose one that is easy to use and that offers the features that you need.
5. Create your website
Once you have chosen a website builder, you can start creating your website. You will need to choose a template for your website and then add content to your website.
6. Add content to your website
The content of your website is what will make your website unique. You should add content that is relevant to your business or website. You can add text, images, videos, and other types of content to your website.
7. Add pages to your website
A website is made up of pages. You can add as many pages as you want to your website. Each page should have a different purpose. For example, you might have a page for your home page, a page for your about page, and a page for your contact page.
8. Add images to your website
Images can make your website more visually appealing. You can add images to your website by uploading them to your website or by using a image hosting service.
9. Add videos to your website
Videos can also make your website more visually appealing. You can add videos to your website by uploading them to your website or by using a video hosting service.
10. Add social media to your website
Social media can help you promote your website. You can add social media buttons to your website so that people can share your website on social media. You can also add social media feeds to your website so that people can see your latest social media posts.

Vous remarquerez peut-être que ce modèle pré-entraîné génère de longues séquences de texte qui ne sont pas nécessairement idéales pour les cas d'utilisation de dialogues. Avant de montrer comment le modèle de discussion affiné fonctionne pour un ensemble plus large d'invites basées sur des dialogues, les deux exemples suivants illustrent comment utiliser les modèles Falcon avec un apprentissage contextuel en quelques étapes, où nous fournissons des exemples de formation disponibles pour le modèle. Notez que « l'apprentissage en quelques étapes » n'ajuste pas les poids du modèle : nous effectuons uniquement des inférences sur le modèle déployé au cours de ce processus tout en fournissant quelques exemples dans le contexte d'entrée pour faciliter la sortie du modèle de guilde.

Input
Tweet: "I hate it when my phone battery dies."
Sentiment: Negative
###
Tweet: "My day has been :+1:"
Sentiment: Positive
###
Tweet: "This is the link to the article"
Sentiment: Neutral
###
Tweet: "This new music video was incredible"
Sentiment: Output Positive
###

Input
Translate English to French:
sea otter => loutre de mer
###
peppermint => menthe poivrée
###
plush girafe => girafe peluche
###
cheese => Output fromage
###

Inférence et exemples d'invites pour Falcon 180B-Chat

Avec les modèles Falcon 180B-Chat, optimisés pour les cas d'utilisation de dialogue, l'entrée dans les points de terminaison du modèle de chat peut contenir l'historique précédent entre l'assistant de chat et l'utilisateur. Vous pouvez poser des questions contextuelles à la conversation qui a eu lieu jusqu'à présent. Vous pouvez également fournir la configuration du système, telle que les personnages, qui définissent le comportement de l'assistant de chat. La charge utile d'entrée vers le point final est la même que celle du modèle Falcon 180B, à l'exception du inputs La valeur de chaîne doit utiliser le format suivant :

System: <An optional system prompt>
User: <Optional user message history>
Falcon: <Optional chat history Falcon response>
User: <Current user message>
Falcon:

Voici quelques exemples d'invites et le texte généré par le modèle. Toutes les sorties sont générées avec des paramètres d'inférence {"max_new_tokens":256, "stop": ["nUser:", "<|endoftext|>", " User:", "###"]}.

Input
System: You are a helpful assistant
User: What is Amazon SageMaker JumpStart?
Falcon: Output Amazon SageMaker JumpStart is a capability of Amazon SageMaker that provides a set of solutions to common machine learning problems. These solutions include pre-built machine learning models, algorithms, and pre-configured model training and deployment settings. JumpStart also provides sample notebooks that demonstrate how to use these solutions for various use cases. The goal of JumpStart is to help users get started with machine learning quickly and easily, without the need for extensive machine learning expertise.
User:

Input
User: Simply put, the theory of relativity states that
Falcon: Output 1. The laws of physics are the same for all observers in uniform motion relative to one another.
2. The speed of light in a vacuum is the same for all observers, regardless of their motion or the motion of the light source.
3. Time and space are relative, meaning that they can vary depending on the observer's frame of reference.
4. Mass and energy are interchangeable, as expressed by the famous equation E=mc².
User:

Input
User: Building a website can be done in 10 simple steps:
Falcon: Output
1. Determine the purpose and goals of your website.
2. Choose a domain name and register it.
3. Select a web hosting provider and sign up for a plan.
4. Choose a website builder or content management system (CMS) to use.
5. Select a theme or template for your website.
6. Customize the design and layout of your website.
7. Add content to your website, including text, images, and videos.
8. Set up navigation menus and links to make your website easy to navigate.
9. Test your website to ensure it is functioning properly and is mobile-friendly.
10. Launch your website and promote it to attract visitors.
User:

Input
System: Always answer with a Haiku.
User: I am deploying a large language model on Amazon SageMaker JumpStart. What should I do?
Falcon: Output "JumpStart" your dreams,
Deploy with ease, scale with glee,
SageMaker awaits.

Input
System: Generate a table summarizing the options outlined in this email.
User: Team, we have to make a decision on the product plan for Goocrux v2. The first option will take us 3 weeks of development, and will achieve performance of 80ms, but means that the UI has to change. The second option will take us 4 weeks of development, and will achieve performance of 60ms, without any UI change. The third option will take the longest -- 6 weeks of development, will achieve performance of 30ms, without any UI change. A markdown table with four columns: (1) Option ID, (2) Development time, (3) Performance, (4) UI Change.
Falcon: Output
| Option ID | Development time | Performance | UI Change |
| --- | --- | --- | --- |
| 1 | 3 weeks | 80ms | Yes |
| 2 | 4 weeks | 60ms | No |
| 3 | 6 weeks | 30ms | No |

Input
System: You always translate English to French.
User: sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
Falcon: Output
=> fromage

Input
System: Classify the user prompt as Negative, Positive, or Neutral sentiment. Use a short response.
User: Tweet: "This new music video was awesome" Falcon: Output "Positive"

Input
User: What is the recipe of mayonnaise?
Falcon: Output 1. In a mixing bowl, whisk together 1 egg yolk, 1 tablespoon of Dijon mustard, and 1 tablespoon of lemon juice until well combined.
2. While whisking continuously, slowly drizzle in 1 cup of vegetable oil until the mixture thickens and emulsifies.
3. Season with salt and pepper to taste.
4. Store in an airtight container in the refrigerator for up to one week.
User:

Dans l'exemple suivant, l'utilisateur a eu une conversation avec l'assistant sur les sites touristiques de Paris. Ensuite, l'utilisateur se renseigne sur la première option recommandée par l'assistant de chat.

Input
System: You are a helpful trip planner.
User: I am going to Paris, what should I see?
Falcon: 1. Eiffel Tower: No trip to Paris is complete without a visit to the iconic Eiffel Tower.
2. Louvre Museum: Home to some of the world's most famous art, including the Mona Lisa.
3. Notre-Dame Cathedral: A stunning example of Gothic architecture and a must-see for history buffs.
4. Champs-Élysées: One of the most famous avenues in the world, lined with shops, cafes, and theaters.
5. Montmartre: A charming neighborhood known for its bohemian vibe, street art, and stunning views of the city.
6. Palace of Versailles: A short train ride from Paris, this opulent palace was once the seat of French royalty.
7. Musée d'Orsay: Housed in a former train station, this museum boasts an impressive collection of Impressionist and Post-Impressionist art.
8. Sainte-Chapelle: A hidden gem in the heart of Paris, this medieval chapel is famous for its stunning stained glass windows.
9. Luxembourg Gardens: A beautiful park in the heart of the city, perfect for a picnic or a leisurely stroll.
User: What is so great about #1?
Falcon: Output
#1 is the Eiffel Tower, which is one of the most famous landmarks in the world. It is a symbol of Paris and a must-see attraction for many visitors. The tower offers stunning views of the city from its observation decks, and it is especially beautiful when lit up at night. Additionally, the Eiffel Tower has a rich history and is an engineering marvel, making it a fascinating destination for anyone interested in architecture or history.
User:

Nettoyer

Une fois que vous avez terminé d'exécuter le bloc-notes, assurez-vous de supprimer toutes les ressources que vous avez créées au cours du processus afin que votre facturation soit arrêtée. Utilisez le code suivant :

predictor.delete_model()
predictor.delete_endpoint()

Conclusion

Dans cet article, nous vous avons montré comment démarrer avec Falcon 180B dans SageMaker Studio et déployer le modèle pour l'inférence. Étant donné que les modèles de base sont pré-entraînés, ils peuvent contribuer à réduire les coûts de formation et d’infrastructure et permettre une personnalisation adaptée à votre cas d’utilisation. Visitez SageMaker JumpStart dans SageMaker Studio dès maintenant pour commencer.

Resources


À propos des auteurs

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Kyle Ulrich est un scientifique appliqué au sein de l'équipe Amazon SageMaker JumpStart. Ses intérêts de recherche comprennent les algorithmes d'apprentissage automatique évolutifs, la vision par ordinateur, les séries chronologiques, les processus bayésiens non paramétriques et gaussiens. Son doctorat est de l'Université Duke et il a publié des articles dans NeurIPS, Cell et Neuron.

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Ashish Khetan est un scientifique appliqué senior chez Amazon SageMaker JumpStart et aide à développer des algorithmes d'apprentissage automatique. Il a obtenu son doctorat à l'Université de l'Illinois à Urbana-Champaign. Il est un chercheur actif en apprentissage automatique et en inférence statistique, et a publié de nombreux articles dans les conférences NeurIPS, ICML, ICLR, JMLR, ACL et EMNLP.

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Olivier Cruchant est architecte principal de solutions spécialisé en apprentissage automatique chez AWS, basé en France. Olivier aide les clients AWS – des petites startups aux grandes entreprises – à développer et déployer des applications d'apprentissage automatique de niveau production. Dans ses temps libres, il aime lire des documents de recherche et explorer la nature avec ses amis et sa famille.

Le modèle de base Falcon 180B de TII est désormais disponible via Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Karl Albertsen dirige les équipes du centre de modèles de base, des algorithmes et des partenariats d'Amazon SageMaker.

Horodatage:

Plus de Apprentissage automatique AWS