Liity verkostomme!

Tekoäly

Mistral 2 ja Mistral NeMo: Kattava opas uusimpaan Pariisista tulevaan LLM:ään

mm
Päivitetty on
Mistral Large 2 ja Mistral NeMo

Sen perustivat Googlen DeepMind and Meta, Pariisissa sijaitseva startup-yritykset Mistral AI on tehnyt jatkuvasti aaltoja tekoälyyhteisössä vuodesta 2023 lähtien.

Mistral AI kiinnitti maailman huomion debyyttimallillaan Mistral 7B, joka julkaistiin vuonna 2023. Tämä 7 miljardin parametrin malli sai nopeasti vetovoiman vaikuttavalla suorituskyvyllään, ohittaen suuret mallit, kuten Llama 2 13B, useissa vertailuissa ja jopa kilpailevansa. liekki 1 34B monissa mittareissa. Mikä setti Mistral 7B paitsi sen suorituskyky, myös sen saavutettavuus – malli saattoi olla helposti ladattu GitHubista tai jopa 13.4 gigatavun torrentin kautta, mikä tekee siitä helposti tutkijoiden ja kehittäjien saatavilla maailmanlaajuisesti.

Yrityksen epätavallinen lähestymistapa julkaisuihin, joka usein ohittaa perinteiset paperit, blogit tai lehdistötiedotteet, on osoittautunut erittäin tehokkaaksi tekoälyyhteisön huomion vangitsemisessa. Tämä strategia yhdistettynä heidän sitoutumiseensa avoimen lähdekoodin periaatteisiin on asettanut Mistral AI:n valtavaksi toimijaksi tekoälymaailmassa.

Mistral AI:n nopea nousu alalla on edelleen osoituksena niiden viimeaikainen rahoitusmenestys. Yhtiö saavutti hämmästyttävän 2 miljardin dollarin arvon Andreessen Horowitzin johtaman rahoituskierroksen jälkeen. Tämä tapahtui historiallisella 118 miljoonan dollarin siemenkierroksella – Euroopan historian suurimmalla –, joka esitteli sijoittajien valtavaa uskoa Mistral AI:n visioon ja kykyihin.

Teknisen kehityksensä lisäksi Mistral AI on myös ollut aktiivisesti mukana tekoälypolitiikan muotoilussa, erityisesti EU:n tekoälylakia koskevissa keskusteluissa, joissa he ovat kannattaneet avoimen lähdekoodin tekoälyn sääntelyn vähentämistä.

Nyt, vuonna 2024, Mistral AI on jälleen nostanut rimaa kahdella uraauurtavalla mallilla: Mistral Large 2 (tunnetaan myös nimellä Mistral-Large-Instruct-2407) ja Mistral NeMo. Tässä kattavassa oppaassa sukeltaamme syvälle näiden vaikuttavien tekoälymallien ominaisuuksiin, suorituskykyyn ja mahdollisiin sovelluksiin.

Mistral Large 2:n tärkeimmät tekniset tiedot ovat:

  • 123 miljardia parametrit
  • 128 km konteksti-ikkuna
  • Tuki kymmenille kielille
  • Kielitaito 80+ koodaus kielet
  • Kehittyneet toimintokutsuominaisuudet

Malli on suunniteltu ylittämään kustannustehokkuuden, nopeuden ja suorituskyvyn rajoja, mikä tekee siitä houkuttelevan vaihtoehdon sekä tutkijoille että yrityksille, jotka haluavat hyödyntää huippuluokan tekoälyä.

Mistral NeMo: Uusi pienempi malli

Vaikka Mistral Large 2 edustaa parhaita Mistral AI:n suurista malleista, heinäkuussa 2024 julkaistu Mistral NeMo ottaa toisenlaisen lähestymistavan. Yhteistyössä NVIDIA:n kanssa kehitetty Mistral NeMo on kompaktimpi 12 miljardin parametrin malli, joka tarjoaa edelleen vaikuttavia ominaisuuksia:

  • 12 miljardia parametrit
  • 128k konteksti ikkuna
  • Huippuluokan suorituskyky kokoluokassaan
  • Apache 2.0-lisenssi avoimeen käyttöön
  • Kvantisointitietoinen koulutusta tehokkaaseen päättelyyn

Mistral NeMo on tarkoitettu korvaamaan tällä hetkellä Mistral 7B:tä käyttäviä järjestelmiä, ja se tarjoaa parannetun suorituskyvyn säilyttäen samalla helppokäyttöisyyden ja yhteensopivuuden.

Tärkeimmät ominaisuudet ja ominaisuudet

Sekä Mistral Large 2:lla että Mistral NeMolla on useita keskeisiä ominaisuuksia, jotka erottavat ne muista tekoälymaailmassa:

  1. Suuret kontekstiikkunat: 128 XNUMX tunnuksen kontekstin pituudella molemmat mallit voivat käsitellä ja ymmärtää paljon pidempiä tekstinpätkiä, mikä mahdollistaa johdonmukaisemmat ja kontekstuaalisesti merkityksellisemmät tulosteet.
  2. Monikielinen tuki: Mallit ovat erinomaisia ​​useilla kielillä, mukaan lukien englanti, ranska, saksa, espanja, italia, kiina, japani, korea, arabia ja hindi.
  3. Kehittyneet koodausominaisuudet: Molemmat mallit osoittavat poikkeuksellista koodintuotantoa useilla ohjelmointikielillä.
  4. Ohje seuraa: Merkittäviä parannuksia on tehty mallien kykyyn seurata tarkkoja ohjeita ja käsitellä monikäännöksiä.
  5. Toiminto kutsu: Toimintokutsujen alkuperäinen tuki mahdollistaa näiden mallien dynaamisen vuorovaikutuksen ulkoisten työkalujen ja palvelujen kanssa.
  6. Päättely ja ongelmanratkaisu: Parannetut kyvyt matemaattisessa päättelyssä ja monimutkaisissa ongelmanratkaisutehtävissä.

Tutustutaanpa joihinkin näistä ominaisuuksista ja miten ne toimivat käytännössä.

Suorituskykyindeksit

Mistral Large 2:n ja Mistral NeMon todellisten ominaisuuksien ymmärtämiseksi on tärkeää tarkastella niiden suorituskykyä eri vertailuissa. Tarkastellaanpa joitain keskeisiä mittareita:

Mistral Large 2 vertailuarvoa

Tämä taulukko esittelee eri LLM:ien pätevyyden eri ohjelmointikielillä. Mallit, kuten Mistral Large 2 (24.07), Llama 3.1 (405B) ja GPT-4o, arvioidaan niiden kyvyn perusteella ymmärtää ja luoda koodia kielillä, kuten Python, C++, Bash, Java, TypeScript, PHP ja C#.

Llama 3.1 405B:n suorituskyky on vahva useilla kielillä, ja erityisen korkeat pisteet Pythonissa ja Javassa. Tämä pätevyys on kriittinen sovelluksissa, jotka sisältävät koodin luomista, virheenkorjausta ja ohjelmistokehitystä, joten nämä mallit ovat arvokkaita työkaluja kehittäjille.

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

Vaikka annetuissa tiedoissa ei anneta erityisiä Mistral NeMo:n vertailupisteitä, sen kuvataan tarjoavan huippuluokan suorituskykyä kokoluokissaan. Malli ylittää muut viimeaikaiset avoimen lähdekoodin esikoulutetut mallit, kuten Gemma 2 9B ja Llama 3 8B erilaisissa tehtävissä.

Monikielinen ja koodauskyky

Yksi Mistral Large 2:n ja Mistral NeMon erottuvista ominaisuuksista on niiden poikkeukselliset monikieliset ominaisuudet. Tämä on erityisen tärkeää yhä globalisoituvassa maailmassamme, jossa tekoälymallien on ymmärrettävä ja tuotettava sisältöä useilla kielillä.

Esimerkiksi Mistral Large 2 tukee kymmeniä kieliä, mukaan lukien ranska, saksa, espanja, italia, portugali, arabia, hindi, venäjä, kiina, japani ja korea. Tämä monikielinen taito ulottuu pelkkää kääntämistä pidemmälle, ja se kattaa näiden kielten vivahteikkaan ymmärtämisen ja luomisen.

Tämän havainnollistamiseksi katsotaanpa esimerkkiä Mistral Large 2:sta, joka tuottaa tekstiä useilla kielillä:

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

Tässä on lyhyitä terveisiä pyydetyillä kielillä:

Suomi: Hei! Kuinka voit tänään?
ranska: Bonjour! Kommentoi allez-vous aujourd'hui ?
Saksalainen: Haloo! Wie geht es Ihnen heute?
espanja: ¡Hola! ¿Cómo estás hoy?
japani: こんにちは!今日はお元気ですか?

[INST]

Kirjoita nyt yksinkertainen "Hei, maailma!" ohjelma Pythonissa, Javassa ja JavaScriptissä. [/INST]

Nämä esimerkit esittelevät sekä mallin monikielisen tekstin luomisen että koodausominaisuudet.

Molemmat mallit ovat saatavilla useille alustoille, kuten Hugging Face, Mistral AI:n alusta ja suurille pilvipalveluntarjoajille, kuten Google Cloud Platform, Azure AI Studio, Amazon Bedrock ja IBM watsonx.ai​ (Mistral AI | Frontier AI käsissäsi).

Agenttiparadigma ja funktiokutsu

Sekä Mistral Large 2 että Mistral NeMo omaksuvat agenttikeskeisen suunnittelun, mikä edustaa paradigman muutosta vuorovaikutuksessa tekoälymallien kanssa. Tämä lähestymistapa keskittyy sellaisten mallien rakentamiseen, jotka pystyvät olemaan vuorovaikutuksessa ympäristönsä kanssa, tekemään päätöksiä ja ryhtymään toimiin tiettyjen tavoitteiden saavuttamiseksi.

Keskeinen tämän paradigman mahdollistava ominaisuus on funktiokutsujen alkuperäinen tuki. Tämän ansiosta mallit voivat olla dynaamisesti vuorovaikutuksessa ulkoisten työkalujen ja palvelujen kanssa, mikä laajentaa tehokkaasti niiden ominaisuuksia yksinkertaisen tekstin luomisen lisäksi.

Katsotaanpa esimerkkiä siitä, kuinka funktiokutsu voi toimia Mistral Large 2:n kanssa:

 
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)


Tässä esimerkissä määritämme toiminnon säätietojen saamiseksi ja sisällytämme sen chatin viimeistelypyyntöömme. Malli voi sitten käyttää tätä toimintoa reaaliaikaisten säätietojen hakemiseen ja osoittaa, kuinka se voi olla vuorovaikutuksessa ulkoisten järjestelmien kanssa tarjotakseen tarkempaa ja ajantasaista tietoa.

Tekken: Tehokas Tokenizer

Mistral NeMo esittelee uuden tokenisaattorin nimeltä Tekken, joka perustuu Tiktokeniin ja on koulutettu yli 100 kielelle. Tämä uusi tokenizer tarjoaa merkittäviä parannuksia tekstin pakkaustehokkuudessa verrattuna aikaisempiin tokenizereihin, kuten SentencePiece.

Tekkenin tärkeimmät ominaisuudet ovat:

  • 30 % tehokkaampi pakkaus lähdekoodille, kiinaksi, italiaksi, ranskaksi, saksaksi, espanjaksi ja venäjäksi
  • 2x tehokkaampi pakkaus korealaiselle
  • 3x tehokkaampi pakkaus arabiaksi
  • Pakkaa tekstiä noin 3 %:lla kaikista kielistä.

Tämä parantunut tokenisoinnin tehokkuus tarkoittaa parempaa mallin suorituskykyä, etenkin kun käsitellään monikielistä tekstiä ja lähdekoodia. Sen avulla malli voi käsitellä enemmän tietoa samassa konteksti-ikkunassa, mikä johtaa johdonmukaisempaan ja kontekstuaalisesti merkityksellisempään tuotoksiin.

Lisenssi ja saatavuus

Mistral Large 2:lla ja Mistral NeMolla on erilaiset lisenssimallit niiden käyttötarkoituksen mukaan:

Mistral Large 2

  • Julkaistu Mistral Research License -lisenssillä
  • Mahdollistaa käytön ja muokkaamisen tutkimus- ja ei-kaupallisiin tarkoituksiin
  • Kaupallinen käyttö vaatii Mistralin kaupallisen lisenssin

Mistral NeMo

  • Julkaistu Apache 2.0 -lisenssillä
  • Mahdollistaa avoimen käytön, mukaan lukien kaupalliset sovellukset

Molemmat mallit ovat saatavilla eri alustoilla:

  • Halaavat kasvot: Sekä perus- että ohjemallien painot ovat täällä
  • Mistral AI: Saatavilla muodossa mistral-large-2407 (Mistral Large 2) ja open-mistral-nemo-2407 (Mistral NeMo)
  • Pilvipalvelujen tarjoajat: Saatavilla Google Cloud Platformin Vertex AI:ssä, Azure AI Studiossa, Amazon Bedrockissa ja IBM watsonx.ai:ssa
https://mistral.ai/news/mistral-large-2407/

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

Kehittäjille, jotka haluavat käyttää näitä malleja, tässä on nopea esimerkki Mistral Large 2:n lataamisesta ja käytöstä Hugging Face -muuntajien kanssa:

 
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)

Tämä koodi näyttää kuinka ladata malli, valmistella syöte chat-muodossa, luoda vastaus ja purkaa tulos.

Rajoitukset ja eettiset näkökohdat

Vaikka Mistral Large 2 ja Mistral NeMo edustavat merkittäviä edistysaskeleita tekoälytekniikassa, on ratkaisevan tärkeää tunnustaa niiden rajoitukset ja niiden käyttöön liittyvät eettiset näkökohdat:

  1. Mahdollisuus harhaan: Kuten kaikki AI-mallit, jotka on koulutettu suurille tietojoukoille, nämä mallit voivat periä ja vahvistaa harjoitustiedoissa olevia harhoja. Käyttäjien tulee olla tietoisia tästä ja ottaa käyttöön asianmukaiset suojatoimenpiteet.
  2. Oikean ymmärryksen puute: Vaikuttavista ominaisuuksistaan ​​huolimatta näillä malleilla ei ole todellista ymmärrystä tai tietoisuutta. He luovat vastauksia harjoitustietojensa mallien perusteella, mikä voi joskus johtaa uskottavalta kuulostavaan, mutta virheelliseen tietoon.
  3. Tietosuojakysymykset: Näitä malleja käytettäessä, erityisesti arkaluonteisia tietoja käsittelevissä sovelluksissa, on ratkaisevan tärkeää ottaa huomioon tietosuoja- ja turvallisuusvaikutukset.

Yhteenveto

Hienosäädetyt edistyneet mallit, kuten Mistral Large 2 ja Mistral NeMo, tarjoavat tehokkaan mahdollisuuden hyödyntää huippuluokan tekoälyä erilaisissa sovelluksissa dynaamisista toimintokutsuista tehokkaaseen monikieliseen käsittelyyn. Tässä on joitain käytännön vinkkejä ja tärkeitä oivalluksia, jotka kannattaa pitää mielessä:

  1. Ymmärrä käyttötapasi: Määritä selkeästi tietyt tehtävät ja tavoitteet, jotka haluat mallillasi saavuttavan. Tämä ymmärrys ohjaa mallin valintaa ja hienosäätöä, olipa kyseessä Mistralin vankat toimintokutsuominaisuudet tai sen tehokas monikielinen tekstinkäsittely.
  2. Optimoi tehokkuutta varten: Käytä Tekken-tunnistetyökalua parantaaksesi merkittävästi tekstin pakkaustehoa, varsinkin jos sovelluksesi käsittelee suuria tekstimääriä tai useita kieliä. Tämä parantaa mallin suorituskykyä ja vähentää laskentakustannuksia.
  3. Käytä toimintokutsua: Ota käyttöön agenttiparadigma sisällyttämällä funktiokutsuja mallivuorovaikutuksiin. Näin tekoälysi voi olla dynaamisesti vuorovaikutuksessa ulkoisten työkalujen ja palvelujen kanssa, mikä tarjoaa tarkempia ja toimivampia tuloksia. Esimerkiksi sää-API-liittymien tai muiden ulkoisten tietolähteiden integrointi voi merkittävästi parantaa mallisi vastausten relevanssia ja hyödyllisyyttä.
  4. Valitse oikea alusta: Varmista, että käytät mallejasi alustoilla, jotka tukevat niiden ominaisuuksia, kuten Google Cloud Platformin Vertex AI, Azure AI Studio, Amazon Bedrock ja IBM watsonx.ai. Nämä alustat tarjoavat tarvittavan infrastruktuurin ja työkalut tekoälymalliesi suorituskyvyn ja skaalautuvuuden maksimoimiseksi.

Seuraamalla näitä vinkkejä ja käyttämällä annettuja koodiesimerkkejä voit hyödyntää tehokkaasti Mistral Large 2:n ja Mistral NeMo:n tehon tarpeisiisi.

Olen viettänyt viimeiset viisi vuotta uppoutuen koneoppimisen ja syväoppimisen kiehtovaan maailmaan. Intohimoni ja asiantuntemukseni ovat saaneet minut osallistumaan yli 50:een erilaiseen ohjelmistosuunnitteluprojektiin keskittyen erityisesti tekoälyyn/ML:ään. Jatkuva uteliaisuuteni on myös vetänyt minut kohti luonnollisen kielen käsittelyä, alaa, jota olen innokas tutkimaan lisää.