Fundada por ex-alunos da DeepMind e da Meta do Google, a startup Mistral AI, sediada em Paris, tem causado impacto constante na comunidade de IA desde 2023.
O Mistral AI chamou a atenção do mundo pela primeira vez com seu modelo de estreia, o Mistral 7B, lançado em 2023. Este modelo de 7 bilhões de parâmetros rapidamente ganhou força por seu desempenho impressionante, superando modelos maiores como o Llama 2 13B em vários benchmarks e até mesmo rivalizando com o Llama 1 34B em muitas métricas. O que diferenciava o Mistral 7B não period apenas seu desempenho, mas também sua acessibilidade – o modelo podia ser facilmente baixado do GitHub ou mesmo por meio de um torrent de 13,4 gigabytes, tornando-o prontamente disponível para pesquisadores e desenvolvedores em todo o mundo.
A abordagem não convencional da empresa para lançamentos, muitas vezes renunciando a artigos tradicionais, blogs ou press releases, provou ser notavelmente eficaz em capturar a atenção da comunidade de IA. Essa estratégia, juntamente com seu comprometimento com os princípios de código aberto, posicionou a Mistral AI como um participant formidável no cenário de IA.
A rápida ascensão da Mistral AI na indústria é ainda mais evidenciada por seu recente sucesso de financiamento. A empresa alcançou uma avaliação impressionante de US$ 2 bilhões após uma rodada de financiamento liderada pela Andreessen Horowitz. Isso veio na esteira de uma rodada semente histórica de US$ 118 milhões – a maior da história europeia – mostrando a imensa fé que os investidores têm na visão e nas capacidades da Mistral AI.
Além de seus avanços tecnológicos, a Mistral AI também tem se envolvido ativamente na formulação de políticas de IA, particularmente em discussões em torno da Lei de IA da UE, onde eles defenderam a redução da regulamentação em IA de código aberto.
Agora, em 2024, a Mistral AI mais uma vez elevou o nível com dois modelos inovadores: Mistral Giant 2 (também conhecido como Mistral-Giant-Instruct-2407) e Mistral NeMo. Neste guia abrangente, vamos nos aprofundar nos recursos, desempenho e aplicações potenciais desses modelos de IA impressionantes.
As principais especificações do Mistral Giant 2 incluem:
- 123 bilhões parâmetros
- 128 mil janela de contexto
- Suporte para dezenas de idiomas
- Proficiência em 80+ codificação línguas
- Capacidades avançadas de chamada de função
O modelo foi projetado para ultrapassar os limites de eficiência de custos, velocidade e desempenho, tornando-se uma opção atraente para pesquisadores e empresas que buscam alavancar IA de ponta.
Mistral NeMo: O Novo Modelo Menor
Enquanto o Mistral Giant 2 representa o melhor dos modelos de larga escala da Mistral AI, o Mistral NeMo, lançado em julho de 2024, adota uma abordagem diferente. Desenvolvido em colaboração com a NVIDIA, o Mistral NeMo é um modelo de 12 bilhões de parâmetros mais compacto que ainda oferece capacidades impressionantes:
- 12 bilhões parâmetros
- Contexto 128k janela
- Desempenho de última geração em sua categoria de tamanho
- Licença Apache 2.0 para uso aberto
- Consciente de quantização treinamento para inferência eficiente
O Mistral NeMo está posicionado como um substituto imediato para sistemas que atualmente usam o Mistral 7B, oferecendo desempenho aprimorado, mantendo a facilidade de uso e a compatibilidade.
Principais recursos e capacidades
Tanto o Mistral Giant 2 quanto o Mistral NeMo compartilham vários recursos importantes que os diferenciam no cenário da IA:
- Grandes janelas de contexto: Com 128 mil comprimentos de contexto de token, ambos os modelos podem processar e entender trechos de texto muito maiores, permitindo saídas mais coerentes e contextualmente relevantes.
- Suporte multilíngue: Os modelos se destacam em uma ampla variedade de idiomas, incluindo inglês, francês, alemão, espanhol, italiano, chinês, japonês, coreano, árabe e hindi.
- Capacidades avançadas de codificação:Ambos os modelos demonstram proficiência excepcional na geração de código em diversas linguagens de programação.
- Instrução a seguir:Melhorias significativas foram feitas na capacidade dos modelos de seguir instruções precisas e lidar com conversas multifacetadas.
- Chamada de função: O suporte nativo para chamada de função permite que esses modelos interajam dinamicamente com ferramentas e serviços externos.
- Raciocínio e resolução de problemas: Capacidades aprimoradas em raciocínio matemático e tarefas complexas de resolução de problemas.
Vamos nos aprofundar em alguns desses recursos e examinar como eles funcionam na prática.
Benchmarks de desempenho
Para entender as verdadeiras capacidades do Mistral Giant 2 e do Mistral NeMo, é essencial observar seu desempenho em vários benchmarks. Vamos examinar algumas métricas-chave:
Mistral Grande 2 Benchmarks
Esta tabela apresenta a proficiência de vários LLMs em diferentes linguagens de programação. Modelos como Mistral Giant 2 (24.07), Llama 3.1 (405B) e GPT-4o são avaliados em sua capacidade de entender e gerar código em linguagens como Python, C++, Bash, Java, TypeScript, PHP e C#.
O Llama 3.1 405B mostra um desempenho forte em várias linguagens, com pontuações particularmente altas em Python e Java. Essa proficiência é crítica para aplicativos que envolvem geração de código, depuração e desenvolvimento de software program, tornando esses modelos ferramentas valiosas para desenvolvedores.
https://mistral.ai/information/mistral-large-2407/
![https://mistral.ai/news/mistral-large-2407/](https://i0.wp.com/www.unite.ai/wp-content/uploads/2024/07/Screenshot-2024-07-26-091505.png?resize=780%2C417&ssl=1)
https://mistral.ai/information/mistral-large-2407/
Benchmarks do Mistral NeMo
Embora pontuações de benchmark específicas para Mistral NeMo não sejam fornecidas nas informações fornecidas, ele é descrito como oferecendo desempenho de última geração em sua categoria de tamanho. O modelo supera outros modelos pré-treinados de código aberto recentes, como Gemma 2 9B e Llama 3 8B em várias tarefas.
![Desempenho do modelo base Mistral NeMo comparado ao Gemma 2 9B e ao Llama 3 8B.](https://i0.wp.com/www.unite.ai/wp-content/uploads/2024/07/Screenshot-2024-07-29-104435.png?resize=780%2C176&ssl=1)
Desempenho do modelo base Mistral NeMo comparado ao Gemma 2 9B e ao Llama 3 8B.
Proezas multilíngues e de codificação
Um dos recursos de destaque do Mistral Giant 2 e do Mistral NeMo são suas capacidades multilíngues excepcionais. Isso é particularmente importante em nosso mundo cada vez mais globalizado, onde os modelos de IA precisam entender e gerar conteúdo em vários idiomas.
O Mistral Giant 2, por exemplo, suporta dezenas de idiomas, incluindo francês, alemão, espanhol, italiano, português, árabe, hindi, russo, chinês, japonês e coreano. Essa proficiência multilíngue se estende além da mera tradução, abrangendo compreensão e geração diferenciadas nesses idiomas.
Para ilustrar isso, vejamos um exemplo do Mistral Giant 2 gerando texto em vários idiomas:
(INST) Generate a brief greeting in English, French, German, Spanish, and Japanese. (/INST)
Aqui estão algumas saudações curtas nos idiomas solicitados:
Olá! Como você está hoje?
Inglês: Olá! Como você está hoje ?
Alemão: Olá! Como você está hoje?
Inglês: Olá! Como estas hoje?
Inglês: Olá! Como vai voce hoje?
(INSTRUÇÕES)
Agora, escreva um programa simples “Howdy, World!” em Python, Java e JavaScript. (/INST)
Esses exemplos demonstram os recursos de geração de texto multilíngue e codificação do modelo.
Ambos os modelos estão disponíveis em várias plataformas, como Hugging Face, plataforma Mistral AI e principais provedores de serviços de nuvem, como Google Cloud Platform, Azure AI Studio, Amazon Bedrock e IBM watsonx.ai. (Mistral AI | Frontier AI em suas mãos).
O paradigma agente e a chamada de funções
Tanto o Mistral Giant 2 quanto o Mistral NeMo adotam um design centrado em agentes, o que representa uma mudança de paradigma em como interagimos com modelos de IA. Essa abordagem se concentra em construir modelos capazes de interagir com seu ambiente, tomar decisões e executar ações para atingir objetivos específicos.
Um recurso essencial que permite esse paradigma é o suporte nativo para chamada de função. Isso permite que os modelos interajam dinamicamente com ferramentas e serviços externos, expandindo efetivamente suas capacidades além da simples geração de texto.
Vejamos um exemplo de como a chamada de função pode funcionar com o Mistral Giant 2:
from mistral_common.protocol.instruct.tool_calls import Perform, Device from mistral_inference.transformer import Transformer from mistral_inference.generate import generate from mistral_common.tokens.tokenizers.mistral import MistralTokenizer from mistral_common.protocol.instruct.messages import UserMessage from mistral_common.protocol.instruct.request import ChatCompletionRequest # Initialize tokenizer and mannequin mistral_models_path = "path/to/mistral/fashions" # Guarantee this path is right tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.mannequin.v3") mannequin = Transformer.from_folder(mistral_models_path) # Outline a operate for getting climate info weather_function = Perform( title="get_current_weather", description="Get the present climate", parameters={ "sort": "object", "properties": { "location": { "sort": "string", "description": "The town and state, e.g. San Francisco, CA", }, "format": { "sort": "string", "enum": ("celsius", "fahrenheit"), "description": "The temperature unit to make use of. Infer this from the consumer's location.", }, }, "required": ("location", "format"), }, ) # Create a chat completion request with the operate completion_request = ChatCompletionRequest( instruments=(Device(operate=weather_function)), messages=( UserMessage(content material="What is the climate like at the moment in Paris?"), ), ) # Encode the request tokens = tokenizer.encode_chat_completion(completion_request).tokens # Generate a response out_tokens, _ = generate((tokens), mannequin, max_tokens=256, temperature=0.7, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id) end result = tokenizer.decode(out_tokens(0)) print(end result)
Neste exemplo, definimos uma função para obter informações meteorológicas e a incluímos em nossa solicitação de conclusão de chat. O modelo pode então usar essa função para recuperar dados meteorológicos em tempo actual, demonstrando como ele pode interagir com sistemas externos para fornecer informações mais precisas e atualizadas.
Tekken: Um Tokenizador Mais Eficiente
Mistral NeMo apresenta um novo tokenizer chamado Tekken, que é baseado no Tiktoken e treinado em mais de 100 idiomas. Este novo tokenizer oferece melhorias significativas na eficiência de compressão de texto em comparação com tokenizers anteriores como o SentencePiece.
Os principais recursos do Tekken incluem:
- Compressão 30% mais eficiente para código-fonte, chinês, italiano, francês, alemão, espanhol e russo
- Compressão 2x mais eficiente para coreano
- Compressão 3x mais eficiente para árabe
- Supera o tokenizador Llama 3 na compactação de texto para aproximadamente 85% de todos os idiomas
Essa eficiência de tokenização melhorada se traduz em melhor desempenho do modelo, especialmente ao lidar com texto multilíngue e código-fonte. Ela permite que o modelo processe mais informações dentro da mesma janela de contexto, levando a saídas mais coerentes e contextualmente relevantes.
Licenciamento e Disponibilidade
Mistral Giant 2 e Mistral NeMo têm modelos de licenciamento diferentes, refletindo seus casos de uso pretendidos:
Mistral Grande 2
- Lançado sob a licença de pesquisa Mistral
- Permite uso e modificação para fins de pesquisa e não comerciais
- O uso comercial requer uma licença comercial Mistral
Mistral NeMo
- Lançado sob a licença Apache 2.0
- Permite uso aberto, incluindo aplicações comerciais
Ambos os modelos estão disponíveis em diversas plataformas:
- Rosto Abraçando: Os pesos para os modelos base e de instrução estão hospedados aqui
- IA Mistral: Disponível como
mistral-large-2407
(Mistral Grande 2) eopen-mistral-nemo-2407
(Mistral NeMo) - Provedores de serviços em nuvem: Disponível no Vertex AI da Google Cloud Platform, Azure AI Studio, Amazon Bedrock e IBM watsonx.ai
![https://mistral.ai/news/mistral-large-2407/](https://i0.wp.com/www.unite.ai/wp-content/uploads/2024/07/Screenshot-2024-07-26-091600.png?resize=780%2C198&ssl=1)
https://mistral.ai/information/mistral-large-2407/
Para desenvolvedores que desejam usar esses modelos, aqui está um exemplo rápido de como carregar e usar o Mistral Giant 2 com transformadores Hugging Face:
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "mistralai/Mistral-Giant-Instruct-2407" gadget = "cuda" # Use GPU if obtainable # Load the mannequin and tokenizer mannequin = AutoModelForCausalLM.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) # Transfer the mannequin to the suitable gadget mannequin.to(gadget) # Put together enter messages = ( {"position": "system", "content material": "You're a useful AI assistant."}, {"position": "consumer", "content material": "Clarify the idea of neural networks in easy phrases."} ) # Encode enter input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(gadget) # Generate response output_ids = mannequin.generate(input_ids, max_new_tokens=500, do_sample=True) # Decode and print the response response = tokenizer.decode(output_ids(0), skip_special_tokens=True) print(response)
Este código demonstra como carregar o modelo, preparar a entrada em um formato de bate-papo, gerar uma resposta e decodificar a saída.