Os modelos de fundação Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Amazon Web Services

Os modelos de fundação Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Amazon Web Services

Hoje, temos o prazer de anunciar que os modelos de base Llama 2 desenvolvidos pela Meta estão disponíveis para clientes através JumpStart do Amazon SageMaker. A família Llama 2 de grandes modelos de linguagem (LLMs) é uma coleção de modelos de texto generativos pré-treinados e ajustados que variam em escala de 7 bilhões a 70 bilhões de parâmetros. LLMs ajustados, chamados Llama-2-chat, são otimizados para casos de uso de diálogo. Você pode experimentar facilmente esses modelos e usá-los com o SageMaker JumpStart, que é 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 usar os modelos Llama 2 via SageMaker JumpStart.

O que é Lhama 2

Llama 2 é um modelo de linguagem auto-regressivo que usa uma arquitetura de transformador otimizada. Llama 2 destina-se ao uso comercial e de pesquisa em inglês. Ele vem em uma variedade de tamanhos de parâmetros – 7 bilhões, 13 bilhões e 70 bilhões – bem como variações pré-treinadas e ajustadas. De acordo com Meta, as versões ajustadas usam ajuste fino supervisionado (SFT) e aprendizagem por reforço com feedback humano (RLHF) para se alinhar às preferências humanas de utilidade e segurança. O Llama 2 foi pré-treinado em 2 trilhões de tokens de dados de fontes disponíveis publicamente. Os modelos ajustados destinam-se a bate-papo semelhante a um assistente, enquanto os modelos pré-treinados podem ser adaptados para uma variedade de tarefas de geração de linguagem natural. Independentemente de qual versão do modelo um desenvolvedor usa, o guia de uso responsável da Meta pode ajudar a orientar ajustes adicionais que podem ser necessários para personalizar e otimizar os modelos com mitigações de segurança apropriadas.

O que é o SageMaker JumpStart

Com o SageMaker JumpStart, os profissionais de ML podem escolher entre uma ampla seleção de modelos básicos de código aberto. Os profissionais de ML podem implantar modelos básicos para dedicados Amazon Sage Maker instâncias de um ambiente isolado de rede e personalize modelos usando o SageMaker para treinamento e implantação de modelo.

Agora você pode descobrir e implantar o Llama 2 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. Os modelos Llama 2 estão disponíveis hoje no Amazon SageMaker Studio, inicialmente em us-east 1 e us-west 2 regiões.

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.

Quando estiver no SageMaker Studio, você poderá 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.

Os modelos de base Llama 2 da Meta já estão disponíveis no 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 dois modelos principais do Llama 2 no Modelos de Fundação: Geração de Texto carrossel. Se você não vir os modelos Llama 2, atualize sua versão do SageMaker Studio desligando e reiniciando. Para obter mais informações sobre atualizações de versão, consulte Desligue e atualize os aplicativos do Studio.

Os modelos de base Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

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

Os modelos de base Llama 2 da Meta já estão disponíveis no 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 pode encontrar dois botões, Implantação e Abra o Notebook, que ajudam você a usar o modelo.

Os modelos de base Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Ao escolher qualquer um dos botões, um pop-up mostrará o contrato de licença do usuário final e a política de uso aceitável para você confirmar.

Os modelos de base Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Após confirmar, você prosseguirá para a próxima etapa para usar o modelo.

Implantar um modelo

Quando você escolhe Implantação e reconhecer os termos, 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 = "meta-textgeneration-llama-2-70b-f")
predictor = my_model.deploy()

Isso implanta o modelo no SageMaker com configurações padrão, incluindo tipo de instância padrão e configurações de VPC padrão. Você pode alterar essas configurações especificando valores não padrão em Modelo JumpStart. Após a implantação, você pode executar inferência no endpoint implantado por meio do preditor SageMaker:

payload = { “inputs”: [ [ {"role": "system", "content": "Always answer with Haiku"}, {"role": "user", "content": "I am going to Paris, what should I see?"}, ] ], "parameters":{"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
}

Modelos de bate-papo ajustados (Llama-2-7b-chat, Llama-2-13b-chat, Llama-2-70b-chat) aceitam um histórico de bate-papo entre o usuário e o assistente de bate-papo e geram o bate-papo subsequente. Os modelos pré-treinados (Llama-2-7b, Llama-2-13b, Llama-2-70b) requerem um prompt de string e executam o preenchimento de texto no prompt fornecido. Veja o seguinte código:

predictor.predict(payload, custom_attributes="accept_eula=true")

Observe que, por padrão, accept_eula está definido como falso. você precisa definir accept_eula=true para invocar o endpoint com sucesso. Ao fazer isso, você aceita o contrato de licença do usuário e a política de uso aceitável mencionados anteriormente. Você também pode download o contrato de licença.

Custom_attributes usados ​​para passar o EULA são pares chave/valor. A chave e o valor são separados por = e os pares são separados por ;. Se o usuário passar a mesma chave mais de uma vez, o último valor será mantido e passado para o manipulador de script (ou seja, neste caso, usado para lógica condicional). Por exemplo, se accept_eula=false; accept_eula=true é passado para o servidor, então  accept_eula=true é mantido e passado para o manipulador de script.

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.

A tabela a seguir lista todos os modelos de Llama disponíveis no SageMaker JumpStart junto com o model_ids, tipos de instância padrão e o número máximo de tokens totais (soma do número de tokens de entrada e número de tokens gerados) suportados para cada um desses modelos.

Nome do modelo ID do modelo Total máximo de tokens Tipo de instância padrão
Lhama-2-7b geração de metatexto-llama-2-7b 4096 ml.g5.2xgrande
Lhama-2-7b-chat meta-textogeração-llama-2-7b-f 4096 ml.g5.2xgrande
Lhama-2-13b geração de metatexto-llama-2-13b 4096 ml.g5.12xgrande
Lhama-2-13b-chat meta-textogeração-llama-2-13b-f 4096 ml.g5.12xgrande
Lhama-2-70b geração de metatexto-llama-2-70b 4096 ml.g5.48xgrande
Lhama-2-70b-chat meta-textogeração-llama-2-70b-f 4096 ml.g5.48xgrande

Observe que os endpoints do SageMaker têm um limite de tempo limite de 60s. Assim, mesmo que o modelo seja capaz de gerar 4096 tokens, se a geração de texto demorar mais de 60 segundos, a solicitação falhará. Para os modelos 7B, 13B e 70B, recomendamos definir max_new_tokens não superior a 1500, 1000 e 500 respectivamente, mantendo o número total de tokens inferior a 4K.

Inferência e exemplos de prompts para Llama-2-70b

Você pode usar modelos Llama para completar texto em 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. A carga útil de entrada para o endpoint se parece com o código a seguir:

payload = { “inputs”: str, (optional)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}

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, "top_p":0.9, "temperature":0.6}.

Input: Simply put, the theory of relativity states that Output: 1) the laws of physics are the same for all observers in uniform motion relative to one another, and 2) the speed of light is the same for all observers, regardless of their relative motion or of the motion of the source of the light.
In the late 1800s, scientists believed that light travelled through a medium they called the luminiferous ether. But in 1887, Albert Michelson and Edward Morley designed an experiment to measure the speed of light in the ether, and found that the speed of light was the same no matter how they oriented their equipment. This result seemed to contradict the idea of the ether, and Michelson and Morley’s experiment became one of the most famous failed experiments in history.
In 1905, Albert Einstein published a paper that used the results of the Michelson-Morley experiment to develop the theory of special relativity. In 1915, Einstein published a paper on general relativity, which is a theory of gravitation.
In physics, the speed of light is considered to be a constant, and its value is 299,792,458 metres Input: I believe the meaning of life is Output: to be happy, to find joy in life, to love and be loved. To have the courage to be yourself and to be kind to others. To be able to express yourself, to create and to be inspired. To be able to give and receive. To be able to learn and grow. To be able to find beauty in the world and to be able to appreciate it. To be able to find peace and contentment. To be able to find meaning and purpose. To be able to make a difference in the world. To be able to find joy in the simple things. To be able to find joy in the difficult things. To be able to find joy in the journey. To be able to find joy in the destination. To be able to find joy in the present moment. To be able to find joy in the future. To be able to find joy in the past. To be able to find joy in the present. To be able to find joy in the future. To be able to find joy in the past. To be able to find joy in the present. To be able to find joy in the future. To be able to find joy in the past. To be able to find joy in the present. To be able to find joy Input: A brief message congratulating the team on the launch: Hi everyone, I just Output: wanted to send a quick note to congratulate everyone on the launch of our new website. I know it’s been a long time coming and I’m sure we’re all relieved that it’s finally out there. Thanks to everyone for their hard work and dedication over the last few months. I know it wasn’t always easy, but I think we can all be proud of the final product. I’m looking forward to seeing how our users respond to the new site and I’m confident that it will be a success. Thanks again, and enjoy the rest of your day! Best, [Your Name] [Your Title] [Your Company] [Your Email] [Your Phone Number] [Your Website] [Your Social Media Handles] [Your Address] [Your City, State, Zip Code] [Your Country] [Your Postal Code] [Your Website] [

No próximo exemplo, mostramos como usar modelos Llama com aprendizado contextual de poucas tentativas, onde fornecemos amostras de treinamento disponíveis para o modelo. Observe que fazemos inferência apenas no modelo implantado e, durante esse processo, os pesos do modelo não mudam.

Input: Translate English to French: sea otter => loutre de mer peppermint => menthe poivrée plush girafe => girafe peluche cheese => Output: fromage chocolate => chocolat car => voiture hamster => hamster beer => bière bicycle => bicyclette banana => banane strawberry => fraise pizza => pizza cheeseburger => cheeseburger pineapple => ananas carrot => carotte watermelon => pastèque whale => baleine eggplant => aubergine cat => chat penguin => manchot lion => lion elephant => éléphant panda => panda tiger => tigre salmon => saumon squirrel => écureuil kangaroo => kangourou turtle => tortue octopus => poulpe frog => grenouille pig => cochon goldfish => poisson rouge tiger shark => requin tigre gorilla => gorille dol

Inferência e exemplos de prompts para Llama-2-70b-chat

Com os modelos Llama-2-Chat, que são otimizados para casos de uso de diálogo, a entrada para os endpoints do modelo de chat é o 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 se parece com o código a seguir:

payload = { “inputs”: [ [ (optional){"role": "system", "content": str}, (repeated k times) {"role": "user", "content": str}, {"role": "assistant", "content": str}, {"role": "user", "content": str}, ] ], (optional)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}

A seguir estão alguns exemplos de prompts e o texto gerado pelo modelo. Todas as saídas são geradas com os parâmetros de inferência {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6}.

Input:
User: what is the recipe of mayonnaise? Output:
Assistant: Sure, I can help you with that! Mayonnaise is a thick, creamy condiment made from a mixture of egg yolks, oil, vinegar or lemon juice, and seasonings. Here's a basic recipe for homemade mayonnaise: Ingredients: * 2 egg yolks
* 1/2 cup (120 ml) neutral-tasting oil, such as canola or grapeseed
* 1 tablespoon (15 ml) vinegar or lemon juice
* 1/2 teaspoon salt
* 1/4 teaspoon black pepper Instructions: 1. In a medium-sized bowl, whisk together the egg yolks, salt, and black pepper until well combined.
2. Slowly pour the oil into the bowl while continuously whisking the mixture. It's important to add the oil very slowly, otherwise the mixture can break and you'll end up with a separated, curdled mess.
3. Continue whisking until the mixture thickens and emulsifies, which should take about 5-7 minutes. You'll know it's ready when the mixture has doubled in volume and has a thick, creamy consistency.
4. Add the vinegar or lemon juice and continue whisking for another minute or two, until the flavors are fully incorporated.
5. Taste the mayonnaise and adjust the seasoning as needed. You can add more salt, pepper, or acid if desired.
6. Cover the bowl with plastic wrap and refrigerate the mayonnaise for at least 30 minutes before serving. This will allow the flavors to meld together and the mayonnaise to thicken further. That's it! This recipe makes about 1 1/2 cups (360 ml) of mayonnaise, which should be enough for a small to medium-sized batch of sandwiches or salads. You can also customize the recipe by adding different flavorings, such as garlic, mustard, or herbs, to create a unique taste. Enjoy!

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:
User: I am going to Paris, what should I see?
Assistant: Paris, the capital of France, is known for its stunning architecture, art museums, historical landmarks, and romantic atmosphere. Here are some of the top attractions to see in Paris: 1. The Eiffel Tower: The iconic Eiffel Tower is one of the most recognizable landmarks in the world and offers breathtaking views of the city.
2. The Louvre Museum: The Louvre is one of the world's largest and most famous museums, housing an impressive collection of art and artifacts, including the Mona Lisa.
3. Notre-Dame Cathedral: This beautiful cathedral is one of the most famous landmarks in Paris and is known for its Gothic architecture and stunning stained glass windows. These are just a few of the many attractions that Paris has to offer. With so much to see and do, it's no wonder that Paris is one of the most popular tourist destinations in the world.
User: What is so great about #1? Output:
Assistant: The Eiffel Tower is a world-renowned iconic landmark that symbolizes Paris and France. It was built for the World's Fair in 1889 and was initially intended to be a temporary structure, but it has become a permanent part of the Parisian skyline. Here are some reasons why the Eiffel Tower is so great: 1. Engineering marvel: The Eiffel Tower was a groundbreaking feat of engineering at the time of its construction. It stands at 324 meters (1,063 feet) tall and was the tallest structure in the world for over 40 years.
2. Iconic design: The Eiffel Tower's distinctive shape and design make it instantly recognizable. It has been the subject of countless works of art, photographs, and films, and has become a symbol of Paris and France.
3. Panoramic views: The Eiffel Tower offers breathtaking views of the city from its observation decks. Visitors can enjoy a 360-degree view of Paris, including famous landmarks such as the Seine River, the Arc de Triomphe, and the Montmartre neighborhood.
4. Historical significance: The Eiffel Tower has played a significant role in Paris's history, having been the site of numerous important events, including the famous "Battle of the Eiffel Tower" during World War II.
5. Cultural impact: The Eiffel Tower has had a significant impact on popular culture, inspiring countless works of art, literature, and music. It has also been the subject of numerous documentaries and films, including the classic movie "An American in Paris."
6. Romantic setting: The Eiffel Tower is known for its romantic atmosphere, making it a popular destination for couples and newlyweds. It has been the site of countless marriage proposals and has been featured in numerous romantic films and literature.
7. Accessibility: The Eiffel Tower is easily accessible by public transportation, making it a convenient destination for visitors. It is also wheelchair-friendly, with elevators and ramps providing access to all levels. Overall, the Eiffel Tower is a must-see destination for anyone visiting Paris, offering a unique and unforgettable experience that combines history, culture, engineering, and rom

Nos exemplos a seguir, definimos a configuração do sistema:

Input:
System: Always answer with Haiku
User: I am going to Paris, what should I see? Output:
Assistant: Eiffel Tower high
Art in the Louvre Museum
River Seine flows Input:
System: Always answer with emojis
User: How to go from Beijing to NY? Output:
Assistant: Here are the emojis that represent the steps to go from Beijing to New York: 🇨🇳🛫🛬🇺🇸🗽🏙️🚕💨🛩️🛬🛫😴💤🛩️🛬🛫😍

limpar

Depois de terminar de executar o notebook, exclua todos os recursos para que todos os recursos que você criou no processo sejam excluídos e seu faturamento seja interrompido:

predictor.delete_model()
predictor.delete_endpoint()

Conclusão

Neste post, mostramos como começar a usar os modelos Llama 2 no SageMaker Studio. Com isso, você tem acesso a seis modelos de base do Llama 2 que contêm bilhões de parâmetros. Como os modelos básicos são pré-treinados, eles também podem ajudar a reduzir os custos de treinamento e infraestrutura e permitir a personalização para seu caso de uso. Para começar a usar o SageMaker JumpStart, visite os seguintes recursos:


Sobre os autores

Os modelos de base Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.junho ganhou é gerente de produto do SageMaker JumpStart. Ele se concentra em tornar os modelos básicos facilmente detectáveis ​​e utilizáveis ​​para ajudar os clientes a criar aplicativos generativos de IA. Sua experiência na Amazon também inclui aplicativos de compras móveis e entrega de última milha.

Vivek Madan Vivek Madan é um cientista aplicado da equipe Amazon SageMaker JumpStart. Ele obteve seu doutorado na Universidade de Illinois em Urbana-Champaign e foi pesquisador de pós-doutorado na Georgia Tech. Ele é um pesquisador ativo em aprendizado de máquina e design de algoritmos e publicou artigos em conferências EMNLP, ICLR, COLT, FOCS e SODA. Os modelos de base Llama 2 da Meta já estão disponíveis no 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. Os modelos de base Llama 2 da Meta já estão disponíveis no 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. Os modelos de base Llama 2 da Meta já estão disponíveis no Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai. Sundar Ranganathan é o chefe global de especialistas em GenAI/Frameworks GTM na AWS. Ele se concentra no desenvolvimento de estratégias GTM para grandes modelos de linguagem, GenAI e cargas de trabalho de ML em grande escala em serviços AWS como Amazon EC2, EKS, EFA, AWS Batch e Amazon SageMaker. Sua experiência inclui funções de liderança em gerenciamento e desenvolvimento de produtos na NetApp, Micron Technology, Qualcomm e Mentor Graphics.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS