O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Amazon Web Services

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Amazon Web Services

Hoje, temos o prazer de anunciar que o modelo de base Falcon 180B desenvolvido pelo Technology Innovation Institute (TII) e treinado no Amazon SageMaker está disponível para clientes por meio de JumpStart do Amazon SageMaker para implantar com um clique para executar inferência. Com um tamanho de 180 bilhões de parâmetros e treinado em um enorme conjunto de dados de 3.5 trilhões de tokens, o Falcon 180B é o maior e um dos modelos de maior desempenho com pesos abertamente acessíveis. Você pode experimentar este modelo com o SageMaker JumpStart, um hub de aprendizado de máquina (ML) que fornece acesso a algoritmos, modelos e soluções de ML para que você possa começar a usar o ML rapidamente. Nesta postagem, explicamos como descobrir e implantar o modelo Falcon 180B por meio do SageMaker JumpStart.

O que é o Falcão 180B

Falcon 180B é um modelo lançado pela IIT que segue os lançamentos anteriores da família Falcon. É uma versão ampliada do Falcon 40B e usa atenção de múltiplas consultas para melhor escalabilidade. É um modelo de linguagem auto-regressivo que usa uma arquitetura de transformador otimizada. Ele foi treinado em 3.5 trilhões de tokens de dados, consistindo principalmente de dados da web de RefinadoWeb (aproximadamente 85%). O modelo possui duas versões: 180B e 180B-Chat. 180B é um modelo bruto e pré-treinado, que deve ser ainda mais ajustado para a maioria dos casos de uso. O 180B-Chat é mais adequado para receber instruções genéricas. O modelo de bate-papo foi ajustado em conjuntos de dados de bate-papo e instruções, juntamente com vários conjuntos de dados de conversação em grande escala.

O modelo é disponibilizado sob o Licença Falcon-180B TII e Política de Utilização Aceitável.

O Falcon 180B foi treinado pela TII em Amazon Sage Maker, em um cluster de aproximadamente GPUs A4 de 100K. Ele usou uma base de código de treinamento distribuída personalizada chamada Gigatron, que usa paralelismo 3D com ZeRO e kernels Triton personalizados e de alto desempenho. A arquitetura de treinamento distribuída usada Serviço de armazenamento simples da Amazon (Amazon S3) como o único serviço unificado para carregamento de dados e gravação e leitura de pontos de verificação, o que contribuiu particularmente para a confiabilidade da carga de trabalho e simplicidade operacional.

O que é o SageMaker JumpStart

Com o SageMaker JumpStart, os profissionais de ML podem escolher entre uma lista crescente de modelos básicos de melhor desempenho. Os profissionais de ML podem implantar modelos básicos em instâncias dedicadas do SageMaker em um ambiente isolado de rede e personalizar modelos usando o Amazon SageMaker para treinamento e implantação de modelos.

Agora você pode descobrir e implantar o Falcon 180B com apenas alguns cliques Estúdio Amazon SageMaker ou programaticamente por meio do SageMaker Python SDK, permitindo derivar o desempenho do modelo e controles MLOps com recursos do SageMaker, como Pipelines Amazon SageMaker, Depurador do Amazon SageMakerou registros de contêiner. O modelo é implantado em um ambiente seguro da AWS e sob seus controles de VPC, ajudando a garantir a segurança dos dados. O Falcon 180B pode ser descoberto e implantado em regiões onde as instâncias necessárias estão disponíveis. Atualmente, as instâncias ml.p4de estão disponíveis no Leste dos EUA (Norte da Virgínia) e no Oeste dos EUA (Oregon).

Descubra modelos

Você pode acessar os modelos básicos por meio do SageMaker JumpStart na interface do SageMaker Studio e do SageMaker Python SDK. Nesta seção, veremos como descobrir os modelos no SageMaker Studio.

SageMaker Studio é um ambiente de desenvolvimento integrado (IDE) que fornece uma única interface visual baseada na web onde você pode acessar ferramentas específicas para executar todas as etapas de desenvolvimento de ML, desde a preparação de dados até a construção, treinamento e implantação de seus modelos de ML. Para obter mais detalhes sobre como começar e configurar o SageMaker Studio, consulte Estúdio Amazon SageMaker.

No SageMaker Studio, você pode acessar o SageMaker JumpStart, que contém modelos pré-treinados, notebooks e soluções pré-construídas, em Soluções pré-construídas e automatizadas.

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Na página inicial do SageMaker JumpStart, você pode procurar soluções, modelos, notebooks e outros recursos. Você pode encontrar o Falcon 180B no Modelos básicos: geração de texto carrossel.

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Você também pode encontrar outras variantes de modelo escolhendo Explore todos os modelos de geração de texto ou procurando por Falcon.

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Você pode escolher o cartão do modelo para visualizar detalhes sobre o modelo, como licença, dados usados ​​para treinar e como usar. Você também encontrará dois botões, Implantação e Abra o Notebook, que o ajudará a usar o modelo (a captura de tela a seguir mostra o Implantação opção).

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Implantar modelos

Quando você escolhe Implantação, a implantação do modelo será iniciada. Como alternativa, você pode implantar por meio do notebook de exemplo exibido escolhendo Abra o Notebook. O caderno de exemplo fornece orientação completa sobre como implantar o modelo para inferência e limpeza de recursos.

Para implantar usando um notebook, começamos selecionando um modelo apropriado, especificado pelo model_id. Você pode implantar qualquer um dos modelos selecionados no SageMaker com o seguinte código:

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

Isso implanta o modelo no SageMaker com configurações padrão, incluindo o tipo de instância padrão e as configurações de VPC padrão. Você pode alterar essas configurações especificando valores não padrão em JumpStartModel. Para saber mais, consulte o Documentação da API. Após a implantação, você pode executar inferência no endpoint implantado por meio de um preditor SageMaker. Veja o seguinte código:

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

Os parâmetros de inferência controlam o processo de geração de texto no terminal. O controle máximo de novos tokens refere-se ao tamanho da saída gerada pelo modelo. Observe que isso não é igual ao número de palavras porque o vocabulário do modelo não é igual ao vocabulário do idioma inglês e cada token pode não ser uma palavra do idioma inglês. A temperatura controla a aleatoriedade na saída. Temperaturas mais altas resultam em resultados mais criativos e alucinados. Todos os parâmetros de inferência são opcionais.

Este modelo de parâmetro de 180B tem 335 GB e requer ainda mais memória de GPU para realizar inferências suficientes com precisão de 16 bits. Atualmente, o JumpStart oferece suporte apenas a este modelo em instâncias ml.p4de.24xlarge. É possível implantar um modelo quantizado de 8 bits em uma instância ml.p4d.24xlarge fornecendo o env={"HF_MODEL_QUANTIZE": "bitsandbytes"} argumento de palavra-chave para o JumpStartModel construtor e especificando instance_type="ml.p4d.24xlarge" para o método de implantação. No entanto, observe que a latência por token é aproximadamente 5x mais lenta para esta configuração quantizada.

A tabela a seguir lista todos os modelos Falcon disponíveis no SageMaker JumpStart junto com os IDs do modelo, tipos de instância padrão, número máximo de tokens totais (soma do número de tokens de entrada e número de tokens gerados) suportados e a latência de resposta típica por token para cada um desses modelos.

Nome do modelo ID do modelo Tipo de instância padrão Total máximo de tokens Latência por token*
Falcão 7B huggingface-llm-falcon-7b-bf16 ml.g5.2xgrande 2048 34 ms
Instrução do Falcon 7B huggingface-llm-falcon-7b-instruct-bf16 ml.g5.2xgrande 2048 34 ms
Falcão 40B huggingface-llm-falcon-40b-bf16 ml.g5.12xgrande 2048 57 ms
Instrução do Falcon 40B huggingface-llm-falcon-40b-instruct-bf16 ml.g5.12xgrande 2048 57 ms
Falcão 180B huggingface-llm-falcon-180b-bf16 ml.p4de.24xgrande 2048 45 ms
Bate-papo do Falcão 180B huggingface-llm-falcon-180b-chat-bf16 ml.p4de.24xgrande 2048 45 ms

*a latência por token é fornecida para o tempo médio de resposta dos prompts de exemplo fornecidos neste blog; esse valor variará com base no comprimento das sequências de entrada e saída.

Inferência e exemplos de prompts para Falcon 180B

Os modelos Falcon podem ser usados ​​para completar texto para qualquer parte do texto. Por meio da geração de texto, você pode realizar diversas tarefas, como responder perguntas, traduzir idiomas, analisar sentimentos e muito mais. O endpoint aceita o seguinte esquema de carga útil de entrada:

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, }
}

Você pode explorar a definição destes parâmetros do cliente e seus valores padrão no repositório de inferência de geração de texto.

A seguir estão alguns exemplos de prompts e o texto gerado pelo modelo. Todas as saídas aqui são geradas com parâmetros de inferência {"max_new_tokens": 768, "stop": ["<|endoftext|>", "###"]}.

Construir um site pode ser feito em 10 etapas 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.

Você pode notar que esse modelo pré-treinado gera sequências de texto longas que não são necessariamente ideais para casos de uso de diálogo. Antes de mostrarmos o desempenho do modelo de bate-papo ajustado para um conjunto maior de prompts baseados em diálogo, os próximos dois exemplos ilustram como usar modelos Falcon com aprendizado contextual de poucas tentativas, onde fornecemos exemplos de treinamento disponíveis para o modelo. Observe que o “aprendizado rápido” não ajusta os pesos do modelo - apenas realizamos inferências no modelo implantado durante esse processo, enquanto fornecemos alguns exemplos dentro do contexto de entrada para ajudar na saída do modelo da guilda.

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
###

Inferência e exemplos de prompts para Falcon 180B-Chat

Com os modelos Falcon 180B-Chat, otimizados para casos de uso de diálogo, a entrada para os terminais do modelo de chat pode conter histórico anterior entre o assistente de chat e o usuário. Você pode fazer perguntas contextuais à conversa que aconteceu até agora. Você também pode fornecer a configuração do sistema, como personas, que definem o comportamento do assistente de chat. A carga útil de entrada para o endpoint é a mesma do modelo Falcon 180B, exceto o inputs O valor da string deve usar o seguinte formato:

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

A seguir estão alguns exemplos de prompts e o texto gerado pelo modelo. Todas as saídas são geradas com parâmetros de inferência {"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:

No exemplo a seguir, o usuário conversou com o assistente sobre pontos turísticos de Paris. A seguir, o usuário pergunta sobre a primeira opção recomendada pelo assistente 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:

limpar

Depois de terminar de executar o notebook, exclua todos os recursos que você criou no processo para que seu faturamento seja interrompido. Use o seguinte código:

predictor.delete_model()
predictor.delete_endpoint()

Conclusão

Nesta postagem, mostramos como começar a usar o Falcon 180B no SageMaker Studio e implantar o modelo para inferência. Como os modelos básicos são pré-treinados, eles podem ajudar a reduzir os custos de treinamento e infraestrutura e permitir a personalização para seu caso de uso. Visite o SageMaker JumpStart no SageMaker Studio agora para começar.

Recursos


Sobre os autores

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Dr. é cientista aplicado da equipe Amazon SageMaker JumpStart. Seus interesses de pesquisa incluem algoritmos escaláveis ​​de aprendizado de máquina, visão computacional, séries temporais, não paramétricos bayesianos e processos gaussianos. Seu doutorado é pela Duke University e publicou artigos em NeurIPS, Cell e Neuron.

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Dr. é cientista aplicado sênior do Amazon SageMaker JumpStart e ajuda a desenvolver algoritmos de aprendizado de máquina. Ele obteve seu PhD pela Universidade de Illinois Urbana-Champaign. Ele é um pesquisador ativo em aprendizado de máquina e inferência estatística e publicou muitos artigos em conferências NeurIPS, ICML, ICLR, JMLR, ACL e EMNLP.

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Olivier Cruchant é arquiteto principal de soluções especialista em aprendizado de máquina na AWS, com sede na França. Olivier ajuda os clientes da AWS, desde pequenas startups até grandes empresas, a desenvolver e implantar aplicativos de machine learning de nível de produção. Em seu tempo livre, ele gosta de ler artigos de pesquisa e explorar a natureza com amigos e familiares.

O modelo de base Falcon 180B da TII já está disponível via Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Carlos Albertsen lidera o hub do modelo básico, algoritmos e equipes de parcerias do Amazon SageMaker.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS