AI

Mistral 2 and Mistral NeMo: A Comprehensive Guide to the Latest LLM Coming From Paris

Opgericht door alumni van Google’s DeepMind en Meta, een in Parijs gevestigde startup Mistral AI heeft sinds 2023 consequent furore gemaakt in de AI-gemeenschap.

Mistral AI trok voor het eerst de aandacht van de wereld met zijn debuutmodel, Mistral 7B, uitgebracht in 2023. Dit model met 7 miljard parameters kreeg snel grip dankzij zijn indrukwekkende prestaties, overtrof grotere modellen zoals Llama 2 13B in verschillende benchmarks en concurreerde zelfs met Llama 1 34B in veel statistieken. Wat de Mistral 7B onderscheidde, waren niet alleen de prestaties, maar ook de toegankelijkheid – het model zou dat gemakkelijk kunnen zijn gedownload van GitHub of zelfs via een torrent van 13,4 gigabyte, waardoor het direct beschikbaar is voor onderzoekers en ontwikkelaars over de hele wereld.

De onconventionele benadering van het bedrijf ten aanzien van publicaties, waarbij traditionele kranten, blogs of persberichten vaak achterwege worden gelaten, is opmerkelijk effectief gebleken in het trekken van de aandacht van de AI-gemeenschap. Deze strategie, in combinatie met hun toewijding aan open-sourceprincipes, heeft Mistral AI gepositioneerd als een formidabele speler in het AI-landschap.

De snelle opkomst van Mistral AI in de sector wordt verder bewezen door hun recente financieringssucces. Het bedrijf behaalde een duizelingwekkende waardering van $2 miljard na een financieringsronde onder leiding van Andreessen Horowitz. Dit volgde op een historische startronde van $118 miljoen – de grootste in de Europese geschiedenis – waaruit blijkt hoeveel vertrouwen investeerders hebben in de visie en mogelijkheden van Mistral AI.

Naast hun technologische vooruitgang is Mistral AI ook actief betrokken geweest bij het vormgeven van het AI-beleid, met name bij discussies rond de EU AI Act, waar ze hebben gepleit voor minder regulering van open-source AI.

Nu, in 2024, heeft Mistral AI de lat opnieuw hoger gelegd met twee baanbrekende modellen: Mistral Groot 2 (ook bekend als Mistral-Large-Instruct-2407) en Mistral NeMo. In deze uitgebreide gids duiken we diep in de functies, prestaties en potentiële toepassingen van deze indrukwekkende AI-modellen.

De belangrijkste specificaties van Mistral Large 2 zijn onder meer:

  • 123 miljard parameters
  • 128k contextvenster
  • Ondersteuning voor tientallen talen
  • Bekwaamheid in 80+ codering talen
  • Geavanceerde functies voor het aanroepen van functies

Het model is ontworpen om de grenzen van kostenefficiëntie, snelheid en prestaties te verleggen, waardoor het een aantrekkelijke optie is voor zowel onderzoekers als ondernemingen die geavanceerde AI willen benutten.

Mistral NeMo: het nieuwe kleinere model

Terwijl Mistral Large 2 het beste van de grootschalige modellen van Mistral AI vertegenwoordigt, kiest Mistral NeMo, uitgebracht in juli 2024, voor een andere aanpak. Mistral NeMo is ontwikkeld in samenwerking met NVIDIA en is een compacter model met 12 miljard parameters dat nog steeds indrukwekkende mogelijkheden biedt:

  • 12 miljard parameters
  • 128k-context raam
  • State-of-the-art prestaties in zijn groottecategorie
  • Apache 2.0-licentie voor open gebruik
  • Kwantiseringsbewust training voor efficiënte gevolgtrekking

Mistral NeMo is gepositioneerd als een drop-in vervanging voor systemen die momenteel Mistral 7B gebruiken en biedt verbeterde prestaties met behoud van gebruiksgemak en compatibiliteit.

Belangrijkste kenmerken en mogelijkheden

Zowel Mistral Large 2 als Mistral NeMo delen een aantal belangrijke kenmerken die hen onderscheiden in het AI-landschap:

  1. Grote contextvensters: Met een token-contextlengte van 128.000 kunnen beide modellen veel langere stukken tekst verwerken en begrijpen, waardoor meer coherente en contextueel relevante uitvoer mogelijk wordt.
  2. Meertalige ondersteuning: De modellen blinken uit in een breed scala aan talen, waaronder Engels, Frans, Duits, Spaans, Italiaans, Chinees, Japans, Koreaans, Arabisch en Hindi.
  3. Geavanceerde codeermogelijkheden: Beide modellen tonen een uitzonderlijke vaardigheid in het genereren van code in talloze programmeertalen.
  4. Instructie volgt: Er zijn aanzienlijke verbeteringen aangebracht in het vermogen van de modellen om nauwkeurige instructies te volgen en gesprekken met meerdere beurten af ​​te handelen.
  5. Functie Bellen: Dankzij native ondersteuning voor functieaanroepen kunnen deze modellen dynamisch communiceren met externe tools en services.
  6. Redeneren en probleemoplossing: Verbeterde mogelijkheden in wiskundig redeneren en complexe probleemoplossende taken.
See also  Caring for Your Skin: A Guide to Post-Procedure Skin Care for Radiance Recovery

Laten we dieper ingaan op enkele van deze functies en onderzoeken hoe ze in de praktijk presteren.

Prestatiebenchmarks

Om de ware mogelijkheden van Mistral Large 2 en Mistral NeMo te begrijpen, is het essentieel om naar hun prestaties in verschillende benchmarks te kijken. Laten we enkele belangrijke statistieken onderzoeken:

Mistral Large 2 benchmarks

Deze tabel toont de vaardigheid van verschillende LLM’s in verschillende programmeertalen. Modellen zoals Mistral Large 2 (24.07), Llama 3.1 (405B) en GPT-4o worden geëvalueerd op hun vermogen om code te begrijpen en te genereren in talen als Python, C++, Bash, Java, TypeScript, PHP en C#.

Llama 3.1 405B vertoont sterke prestaties in meerdere talen, met bijzonder hoge scores in Python en Java. Deze vaardigheid is van cruciaal belang voor toepassingen die betrekking hebben op het genereren van code, het opsporen van fouten en het ontwikkelen van software, waardoor deze modellen waardevolle hulpmiddelen voor ontwikkelaars zijn.

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Mistral NeMo-benchmarks

Hoewel specifieke benchmarkscores voor Mistral NeMo niet worden gegeven in de gegeven informatie, wordt beschreven dat het apparaat ultramoderne prestaties biedt in zijn groottecategorie. Het model presteert beter dan andere recente open-source, vooraf getrainde modellen zoals Gemma 2 9B en Llama 3 8B in verschillende taken.

Meertalig en codeervermogen

Een van de opvallende kenmerken van zowel Mistral Large 2 als Mistral NeMo zijn hun uitzonderlijke meertalige mogelijkheden. Dit is vooral belangrijk in onze steeds meer geglobaliseerde wereld, waar AI-modellen inhoud in meerdere talen moeten begrijpen en genereren.

Mistral Large 2 ondersteunt bijvoorbeeld tientallen talen, waaronder Frans, Duits, Spaans, Italiaans, Portugees, Arabisch, Hindi, Russisch, Chinees, Japans en Koreaans. Deze meertalige vaardigheid gaat verder dan louter vertalen en omvat genuanceerd begrip en generatie in deze talen.

Laten we, om dit te illustreren, eens kijken naar een voorbeeld waarin Mistral Large 2 tekst in meerdere talen genereert:

[INST] Generate a short greeting in English, French, German, Spanish, and Japanese. [/INST]

Hier zijn korte groeten in de gevraagde talen:

Engels: Hallo! Hoe gaat het vandaag met je?
Frans: Bonjour! Commentaar allez-vous aujourd’hui ?
Duits: Hallo! Wie is het?
Spaans: ¡Hola! Is het zo?
Japans: こんにちは!今日はお元気ですか?

[INST]

Schrijf nu een eenvoudig ‘Hallo wereld!’ programma in Python, Java en JavaScript. [/INST]

Deze voorbeelden laten zowel de meertalige tekstgeneratie als de codeermogelijkheden van het model zien.

Beide modellen zijn beschikbaar op verschillende platforms, zoals Hugging Face, het Mistral AI-platform en grote cloudserviceproviders zoals Google Cloud Platform, Azure AI Studio, Amazon Bedrock en IBM watsonx.ai (Mistral-AI | Grens AI in jouw handen)​.

See also  Education Revolution: How has technology transformed education today?

Het agentische paradigma en functieaanroep

Zowel Mistral Large 2 als Mistral NeMo omarmen een agent-centrisch ontwerp, dat een paradigmaverschuiving vertegenwoordigt in de manier waarop we omgaan met AI-modellen. Deze aanpak richt zich op het bouwen van modellen die in staat zijn om te communiceren met hun omgeving, beslissingen te nemen en acties te ondernemen om specifieke doelen te bereiken.

Een belangrijk kenmerk dat dit paradigma mogelijk maakt, is de native ondersteuning voor functieaanroepen. Hierdoor kunnen de modellen dynamisch communiceren met externe tools en services, waardoor hun mogelijkheden effectief worden uitgebreid tot meer dan alleen het genereren van tekst.

Laten we eens kijken naar een voorbeeld van hoe functieaanroepen kunnen werken met 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
# Initialize tokenizer and model
mistral_models_path = "path/to/mistral/models"  # Ensure this path is correct
tokenizer = MistralTokenizer.from_file(f"mistral_models_path/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)
# Define a function for getting weather information
weather_function = Function(
    name="get_current_weather",
    description="Get the current weather",
    parameters=
        "type": "object",
        "properties": 
            "location": 
                "type": "string",
                "description": "The city and state, e.g. San Francisco, CA",
            ,
            "format": 
                "type": "string",
                "enum": ["celsius", "fahrenheit"],
                "description": "The temperature unit to use. Infer this from the user's location.",
            ,
        ,
        "required": ["location", "format"],
    ,
)
# Create a chat completion request with the function
completion_request = ChatCompletionRequest(
    tools=[Tool(function=weather_function)],
    messages=[
        UserMessage(content="What's the weather like today in Paris?"),
    ],
)
# Encode the request
tokens = tokenizer.encode_chat_completion(completion_request).tokens
# Generate a response
out_tokens, _ = generate([tokens], model, max_tokens=256, temperature=0.7, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id)
result = tokenizer.decode(out_tokens[0])
print(result)

In dit voorbeeld definiëren we een functie voor het verkrijgen van weersinformatie en nemen deze op in ons chatvoltooiingsverzoek. Het model kan deze functie vervolgens gebruiken om realtime weergegevens op te halen, waarmee wordt gedemonstreerd hoe het kan communiceren met externe systemen om nauwkeurigere en actuelere informatie te bieden.

Tekken: een efficiëntere tokenizer

Mistral NeMo introduceert een nieuwe tokenizer genaamd Tekken, dat is gebaseerd op Tiktoken en getraind in meer dan 100 talen. Deze nieuwe tokenizer biedt aanzienlijke verbeteringen in de efficiëntie van tekstcompressie vergeleken met eerdere tokenizers zoals SentencePiece.

De belangrijkste kenmerken van Tekken zijn onder meer:

  • 30% efficiëntere compressie voor broncode, Chinees, Italiaans, Frans, Duits, Spaans en Russisch
  • 2x efficiëntere compressie voor Koreaans
  • 3x efficiëntere compressie voor Arabisch
  • Presteert beter dan de Llama 3 tokenizer bij het comprimeren van tekst voor ongeveer 85% van alle talen

Deze verbeterde tokenisatie-efficiëntie vertaalt zich in betere modelprestaties, vooral als het gaat om meertalige tekst en broncode. Hierdoor kan het model meer informatie verwerken binnen hetzelfde contextvenster, wat leidt tot meer coherente en contextueel relevante resultaten.

Licenties en beschikbaarheid

Mistral Large 2 en Mistral NeMo hebben verschillende licentiemodellen, die de beoogde gebruiksscenario’s weerspiegelen:

Mistral Groot 2

  • Uitgegeven onder de Mistral Research-licentie
  • Staat gebruik en wijziging toe voor onderzoek en niet-commerciële doeleinden
  • Voor commercieel gebruik is een commerciële licentie van Mistral vereist

Mistral NeMo

  • Uitgebracht onder de Apache 2.0-licentie
  • Maakt open gebruik mogelijk, inclusief commerciële toepassingen

Beide modellen zijn verkrijgbaar via verschillende platforms:

  • Knuffelend gezicht: Gewichten voor zowel basis- als instructiemodellen worden hier gehost
  • Mistral AI: Beschikbaar als mistral-large-2407 (Mistral Large 2) en open-mistral-nemo-2407 (Mistral NeMo)
  • Cloudserviceproviders: Beschikbaar op Vertex AI, Azure AI Studio, Amazon Bedrock en IBM watsonx.ai van Google Cloud Platform
https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Voor ontwikkelaars die deze modellen willen gebruiken, volgt hier een kort voorbeeld van hoe je Mistral Large 2 met Hugging Face-transformatoren kunt laden en gebruiken:

 
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistralai/Mistral-Large-Instruct-2407"
device = "cuda"  # Use GPU if available
# Load the model and tokenizer
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Move the model to the appropriate device
model.to(device)
# Prepare input
messages = [
    "role": "system", "content": "You are a helpful AI assistant.",
    "role": "user", "content": "Explain the concept of neural networks in simple terms."
]
# Encode input
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
# Generate response
output_ids = model.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)

Deze code laat zien hoe u het model laadt, invoer in een chatformaat voorbereidt, een antwoord genereert en de uitvoer decodert.

See also  How AIS For Insurance Is Revolutionizing Maritime Risk Assessment 

Beperkingen en ethische overwegingen

Hoewel Mistral Large 2 en Mistral NeMo aanzienlijke vooruitgang in de AI-technologie vertegenwoordigen, is het van cruciaal belang om hun beperkingen en de ethische overwegingen rond het gebruik ervan te erkennen:

  1. Potentieel voor vooroordelen: Zoals alle AI-modellen die op grote datasets zijn getraind, kunnen deze modellen vooroordelen in hun trainingsgegevens overnemen en versterken. Gebruikers moeten zich hiervan bewust zijn en passende veiligheidsmaatregelen implementeren.
  2. Gebrek aan echt begrip: Ondanks hun indrukwekkende capaciteiten bezitten deze modellen geen echt begrip of echt bewustzijn. Ze genereren reacties op basis van patronen in hun trainingsgegevens, wat soms kan leiden tot plausibel klinkende maar onjuiste informatie.
  3. Privacybezorgdheden: Bij het gebruik van deze modellen, vooral in toepassingen die gevoelige informatie verwerken, is het van cruciaal belang om rekening te houden met de gevolgen voor gegevensprivacy en beveiliging.

Conclusie

Het verfijnen van geavanceerde modellen zoals Mistral Large 2 en Mistral NeMo biedt een krachtige mogelijkheid om geavanceerde AI te benutten voor een verscheidenheid aan toepassingen, van dynamische functieaanroepen tot efficiënte meertalige verwerking. Hier volgen enkele praktische tips en belangrijke inzichten waarmee u rekening moet houden:

  1. Begrijp uw gebruiksscenario: Definieer duidelijk de specifieke taken en doelen die u met uw model wilt bereiken. Dit inzicht zal uw modelkeuze en verfijningsaanpak bepalen, of het nu gaat om de robuuste mogelijkheden voor het aanroepen van functies van Mistral of de efficiënte meertalige tekstverwerking.
  2. Optimaliseren voor efficiëntie: Gebruik de Tekken-tokenizer om de efficiëntie van tekstcompressie aanzienlijk te verbeteren, vooral als uw toepassing grote hoeveelheden tekst of meerdere talen verwerkt. Dit zal de modelprestaties verbeteren en de rekenkosten verlagen.
  3. Maak gebruik van functieoproepen: Omarm het agentische paradigma door functieaanroepen op te nemen in uw modelinteracties. Hierdoor kan uw AI dynamisch communiceren met externe tools en services, waardoor nauwkeurigere en bruikbare resultaten worden geleverd. Het integreren van weer-API’s of andere externe gegevensbronnen kan bijvoorbeeld de relevantie en bruikbaarheid van de reacties van uw model aanzienlijk vergroten.
  4. Kies het juiste platform: Zorg ervoor dat u uw modellen implementeert op platforms die hun mogelijkheden ondersteunen, zoals Vertex AI van Google Cloud Platform, Azure AI Studio, Amazon Bedrock en IBM watsonx.ai. Deze platforms bieden de nodige infrastructuur en tools om de prestaties en schaalbaarheid van uw AI-modellen te maximaliseren.

Door deze tips te volgen en de meegeleverde codevoorbeelden te gebruiken, kunt u de kracht van Mistral Large 2 en Mistral NeMo effectief benutten voor uw specifieke behoeften.

Source link

Related Articles

Back to top button