Kunstig intelligens
Mistral 2 og Mistral NeMo: En omfattende guide til de siste LLM fra Paris

Grunnlagt av tidligere ansatte fra Google’s DeepMind og Meta, har Paris-baserte startup Mistral AI jevnt og trutt gjort bølger i AI-samfunnet siden 2023.
Mistral AI fanget først verdens oppmerksomhet med sin debutomtale, Mistral 7B, lansert i 2023. Denne 7-milliarders parametermodellen fikk raskt grep på grunn av sin imponerende ytelse, og overgikk større modeller som Llama 2 13B på flere benchmark og til og med rivaliserte Llama 1 34B på mange målinger. Det som satte Mistral 7B fra andre var ikke bare dens ytelse, men også dens tilgjengelighet – modellen kunne lett lastes ned fra GitHub eller selv via en 13,4-gigabyte torrent, og var derfor lett tilgjengelig for forskere og utviklere over hele verden.
Selskapets uvanlige tilnærming til utgivelser, ofte uten tradisjonelle papirer, blogger eller pressemeldinger, har vist seg å være usedvanlig effektiv i å fange AI-samfunnets oppmerksomhet. Denne strategien, kombinert med deres forpliktelse til åpen kildeprinsipper, har posisjonert Mistral AI som en formidabel aktør i AI-landskapet.
Mistral AI’s raske oppstigning i industrien kommer også til uttrykk i deres nylige finansieringssuksess. Selskapet oppnådde en imponerende verdsettelse på 2 milliarder dollar etter en finansieringsrunde ledet av Andreessen Horowitz. Dette kom på hælene av en historisk $118 millioner seed-runde – den største i europeisk historie – og viser den enorme tilliten investorene har til Mistral AI’s visjon og evner.
Foruten deres teknologiske fremgang, har Mistral AI også vært aktivt engasjert i å forme AI-politikken, spesielt i diskusjoner rundt EU AI-loven, der de har advart mot redusert regulering av åpen kilde-AI.
Nå, i 2024, har Mistral AI igjen hevet baren med to banebrytende modeller: Mistral Large 2 (også kjent som Mistral-Large-Instruct-2407) og Mistral NeMo. I denne omfattende guiden vil vi dykke dypt inn i funksjonene, ytelsen og potensielle anvendelser av disse imponerende AI-modellene.
Nøkkelspesifikasjoner for Mistral Large 2 inkluderer:
- 123 milliarder parametre
- 128k kontekstvindu
- Støtte for dusinvis av språk
- Ferdighet i 80+ kode språk
- Avanserte funksjonsanropsmuligheter
Modellen er designet for å presse grensene for kostnadseffektivitet, hastighet og ytelse, og gjør den til en attraktiv valgmulighet for både forskere og bedrifter som ønsker å utnytte banebrytende AI.
Mistral NeMo: Den nye, mindre modellen
Mens Mistral Large 2 representerer det beste av Mistral AI’s store modeller, tar Mistral NeMo, lansert i juli 2024, en annen tilnærming. Utviklet i samarbeid med NVIDIA, er Mistral NeMo en mer kompakt 12-milliarders parametermodell som likevel tilbyr imponerende muligheter:
- 12 milliarder parametre
- 128k kontekst vindu
- Toppklassen ytelse i sin størrelseskategori
- Apache 2.0-lisens for åpen bruk
- Kvantiseringsbevisst trening for effektiv inferens
Mistral NeMo er posisjonert som en erstatning for systemer som for tiden bruker Mistral 7B, og tilbyr forbedret ytelse samtidig som den opprettholder enkelhet og kompatibilitet.
Nøkelfunksjoner og muligheter
Både Mistral Large 2 og Mistral NeMo deler flere nøkelfunksjoner som setter dem fra seg i AI-landskapet:
- Store kontekstvinduer: Med 128k token kontekstlengder kan begge modellene prosessere og forstå mye lengre tekststykker, og muliggjør mer sammenhengende og kontekstuell relevant utdata.
- Flerspråklig støtte: Modellene utmerker seg i en rekke språk, inkludert engelsk, fransk, tysk, spansk, italiensk, kinesisk, japansk, koreansk, arabisk og hindi.
- Avanserte kodegenereringsmuligheter: Begge modellene demonstrerer unik ferdighet i kodegenerering på tvers av flere programmeringsspråk.
- Instruksjonsfølging: Betødige forbedringer har blitt gjort i modellens evne til å følge presise instruksjoner og håndtere multi-turn samtaler.
- Funksjonsanrop: Innbygget støtte for funksjonsanrop muliggjør at disse modellene kan samhandle dynamisk med eksterne verktøy og tjenester.
- Resonnering og problemløsning: Forbedrede evner i matematisk resonnering og komplekse problemløsning.
La oss utforske noen av disse funksjonene og se hvordan de fungerer i praksis.
Ytelsesbenchmark
For å forstå de sanne evnene til Mistral Large 2 og Mistral NeMo, er det essensielt å se på deres ytelse over flere benchmark:
Mistral Large 2-benchmark
Dette bildet presenterer dyktigheten til ulike LLM’er i forskjellige programmeringsspråk. Modeller som Mistral Large 2 (24.07), Llama 3.1 (405B) og GPT-4o blir evaluert på deres evne til å forstå og generere kode i språk som Python, C++, Bash, Java, TypeScript, PHP og C#.
Llama 3.1 405B viser sterk ytelse over flere språk, med særlig høye poeng i Python og Java. Denne dyktigheten er kritisk for applikasjoner som involverer kodegenerering, feilsøking og programvareutvikling, og gjør disse modellene til verdifulle verktøy for utviklere.
Mistral NeMo-benchmark
Selv om bestemte benchmark-poeng for Mistral NeMo ikke er gitt i den gitt informasjonen, beskrives den som tilbyder toppklassen ytelse i sin størrelseskategori. Modellen overgår andre nylige åpne, forhånds trenede modeller som Gemma 2 9B og Llama 3 8B på flere oppgaver.
Flerspråklig og kodeferdighet
En av de mest fremtredende funksjonene til både Mistral Large 2 og Mistral NeMo er deres unike flerspråklige muligheter. Dette er særlig viktig i vår stadig mer globaliserte verden, der AI-modeller må forstå og generere innhold på flere språk.
Mistral Large 2, for eksempel, støtter dusinvis av språk, inkludert fransk, tysk, spansk, italiensk, portugisisk, arabisk, hindi, russisk, kinesisk, japansk og koreansk. Denne flerspråklige ferdigheten går utover ren oversettelse og omfatter nyansert forståelse og generering på disse språkene.
La oss se på et eksempel på hvordan Mistral Large 2 genererer tekst på flere språk:
[INST] Generer en kort hilsen på engelsk, fransk, tysk, spansk og japansk. [/INST]
Her er korte hilsener på de ønskede språkene:
Engelsk: Hello! How are you today?
Fransk: Bonjour ! Comment allez-vous aujourd’hui ?
Tysk: Hallo! Wie geht es Ihnen heute?
Spansk: ¡Hola! ¿Cómo estás hoy?
Japansk: こんにちは!今日はお元気ですか?
[INST]
Nå, skriv et enkelt “Hei, Verden!”-program i Python, Java og JavaScript. [/INST]
Disse eksemplene viser både den flerspråklige tekstgenerering og kodeferdighetene til modellen.
Begge modellene er tilgjengelige på flere plattformer, som Hugging Face, Mistral AI’s plattform og større skytjenesteleverandører som Google Cloud Platform, Azure AI Studio, Amazon Bedrock og IBM watsonx.ai (Mistral AI | Frontier AI in your hands).
Den agente paradigmen og funksjonsanrop
Både Mistral Large 2 og Mistral NeMo omfavner en agente-sentrert design, som representerer en paradigmeskifte i hvordan vi samhandler med AI-modeller. Denne tilnærmingen fokuserer på å bygge modeller som kan samhandle med sin omgivelse, ta beslutninger og utføre handlinger for å oppnå bestemte mål.
En nøkelfunksjon som muliggjør denne paradigmen er den innbygde støtten for funksjonsanrop. Dette muliggjør at modellene kan samhandle dynamisk med eksterne verktøy og tjenester, og effektivt utvider deres muligheter utover ren tekstgenerering.
La oss se på et eksempel på hvordan funksjonsanrop kan fungere med Mistral Large 2:
from mistral_common.protocol.instruct.tool_calls import Function, Tool
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
# Initialiser tokenizer og modell
mistral_models_path = "path/to/mistral/models" # Sørg for at denne banen er riktig
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)
# Definer en funksjon for å hente værinformasjon
weather_function = Function(
name="get_current_weather",
description="Hent nåværende vær",
parameters={
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "By og stat, f.eks. San Francisco, CA",
},
"format": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Temperatur enhet å bruke. Infer denne fra brukerens plassering.",
},
},
"required": ["location", "format"],
},
)
# Opprett en chat-fulføringsforespørsel med funksjonen
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content="Hva er været som i dag i Paris?"),
],
)
# Kode input
tokens = tokenizer.encode_chat_template(completion_request).tokens
# Generer svar
out_tokens = model.generate(tokens, max_new_tokens=256, do_sample=True)
# Dekod og skriv ut svaret
result = tokenizer.decode(out_tokens[0])
print(result)
I dette eksemplet definerer vi en funksjon for å hente værinformasjon og inkluderer den i vår chat-fulføringsforespørsel. Modellen kan deretter bruke denne funksjonen til å hente sanntids værdata, og demonstrerer hvordan den kan samhandle med eksterne systemer for å gi mer nøyaktig og oppdatert informasjon.
Tekken: En mer effektiv tokenizer
Mistral NeMo innfører en ny tokenizer kalt Tekken, som er basert på Tiktoken og trent på over 100 språk. Denne nye tokenizoren tilbyr betydelige forbedringer i tekstkomprimeringseffektivitet sammenlignet med tidligere tokenizere som SentencePiece.
Nøkelfunksjoner i Tekken inkluderer:
- 30% mer effektiv komprimering for kildekode, kinesisk, italiensk, fransk, tysk, spansk og russisk
- 2x mer effektiv komprimering for koreansk
- 3x mer effektiv komprimering for arabisk
- Overgår Llama 3-tokenizer i å komprimere tekst for omtrent 85% av alle språk
Denne forbedrede tokeniseringseffektiviteten oversettes til bedre modell ytelse, særlig når det gjelder flerspråklig tekst og kildekode. Den muliggjør at modellen kan prosessere mer informasjon innenfor samme kontekstvindu, og fører til mer sammenhengende og kontekstuell relevant utdata.
Lisens og tilgjengelighet
Mistral Large 2 og Mistral NeMo har forskjellige lisensmodeller, som reflekterer deres ønskede bruksområder:
Mistral Large 2
- Utgitt under Mistral Research License
- Tillater bruk og modifisering for forskning og ikke-kommersielle formål
- Kommersiell bruk krever en Mistral Commercial License
Mistral NeMo
- Utgitt under Apache 2.0-lisens
- Tillater åpen bruk, inkludert kommersielle applikasjoner
Begge modellene er tilgjengelige gjennom flere plattformer:
- Hugging Face: Vekter for både base og instruksjonsmodeller er vertet her
- Mistral AI: Tilgjengelig som
mistral-large-2407(Mistral Large 2) ogopen-mistral-nemo-2407(Mistral NeMo) - Cloud Service Providers: Tilgjengelig på Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock og IBM watsonx.ai
For utviklere som ønsker å bruke disse modellene, her er et enkelt eksempel på hvordan du kan laste og bruke Mistral Large 2 med Hugging Face transformers:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistralai/Mistral-Large-Instruct-2407"
device = "cuda" # Bruk GPU hvis tilgjengelig
# Last modell og tokenizer
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Flytt modellen til riktig enhet
model.to(device)
# Forbered input
messages = [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": "Explain the concept of neural networks in simple terms."},
]
# Kode input
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
# Generer svar
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)
# Dekod og skriv ut svaret
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)
Dette kodeeksemplet demonstrerer hvordan du kan laste modellen, forberede input i en chatsformat, generere et svar og dekodere output.
















