Connect with us

Mistral 2 și Mistral NeMo: Ghid Comprehensiv pentru Cele Mai Recent Modele LLM Provenite de la Paris

Inteligență artificială

Mistral 2 și Mistral NeMo: Ghid Comprehensiv pentru Cele Mai Recent Modele LLM Provenite de la Paris

mm
Mistral Large 2 and Mistral NeMo

Fondată de foști angajați ai Google’s DeepMind și Meta, startup-ul parizian Mistral AI a făcut valuri în comunitatea de inteligență artificială din 2023.

Mistral AI a atras atenția lumii cu modelul său de debut, Mistral 7B, lansat în 2023. Acest model cu 7 miliarde de parametri a câștigat rapid popularitate datorită performanței sale impresionante, depășind modele mai mari precum Llama 2 13B în diverse benchmark-uri și chiar rivalizând cu Llama 1 34B în multe metrici. Ceea ce a diferențiat Mistral 7B a fost nu numai performanța sa, ci și accesibilitatea sa – modelul putea fi descărcat ușor de pe GitHub sau chiar prin intermediul unui torrent de 13,4 gigabiți, făcându-l disponibil pentru cercetători și dezvoltatori din întreaga lume.

Abordarea neconvențională a lansărilor, adesea renunțând la articole tradiționale, bloguri sau comunicate de presă, s-a dovedit a fi remarcabil de eficientă în a capta atenția comunității de inteligență artificială. Această strategie, combinată cu angajamentul lor față de principiile open-source, a poziționat Mistral AI ca un jucător formidabil în peisajul inteligenței artificiale.

Ascensiunea rapidă a Mistral AI în industrie este demonstrată și de recenta lor reușită în ceea ce privește finanțarea. Compania a atins o evaluare de 2 miliarde de dolari în urma unei runde de finanțare conduse de Andreessen Horowitz. Acest lucru a venit pe urmele unui istoric tur de capital de 118 milioane de dolari – cel mai mare din Europa –, demonstrând imensa încredere pe care investitorii o au în viziunea și capacitățile Mistral AI.

Dincolo de progresele tehnologice, Mistral AI a fost, de asemenea, activ implicat în modelarea politicii de inteligență artificială, în special în discuțiile despre Actul UE privind inteligența artificială, unde au pledat pentru o reglementare redusă a inteligenței artificiale open-source.

Acum, în 2024, Mistral AI a ridicat din nou ștacheta cu două modele revoluționare: Mistral Large 2 (cunoscut și sub numele de Mistral-Large-Instruct-2407) și Mistral NeMo. În acest ghid comprehensiv, vom explora în profunzime caracteristicile, performanța și posibilele aplicații ale acestor impresionante modele de inteligență artificială.

Specificațiile cheie ale Mistral Large 2 includ:

  • 123 de miliarde de parametri
  • 128k fereastră de context
  • Suport pentru zeci de limbi
  • Proficient în 80+ de limbi de programare
  • Capacități avansate de apelare a funcțiilor

Modelul este proiectat pentru a împinge limitele eficienței costurilor, vitezei și performanței, făcându-l o opțiune atractivă atât pentru cercetători, cât și pentru întreprinderi care doresc să exploateze inteligența artificială de ultimă generație.

Mistral NeMo: Noul Model Mai Mic

În timp ce Mistral Large 2 reprezintă cel mai bun din modelele de scară largă ale Mistral AI, Mistral NeMo, lansat în iulie 2024, abordează o direcție diferită. Dezvoltat în colaborare cu NVIDIA, Mistral NeMo este un model mai compact cu 12 miliarde de parametri, care oferă totuși capacități impresionante:

  • 12 miliarde de parametri
  • 128k context fereastră
  • Performanță de ultimă generație în categoria sa
  • Licență Apache 2.0 pentru utilizare deschisă
  • Antrenament conștient de cuantificare pentru inferență eficientă

Mistral NeMo este poziționat ca înlocuitor pentru sistemele care utilizează în prezent Mistral 7B, oferind performanță îmbunătățită, în timp ce menține ușurința în utilizare și compatibilitatea.

Caracteristici și Capabilități Cheie

Atât Mistral Large 2, cât și Mistral NeMo împărtășesc mai multe caracteristici cheie care îi diferențiază în peisajul inteligenței artificiale:

  1. Ferestre de Context Mare: Cu lungimi de context de 128k tokeni, ambele modele pot procesa și înțelege bucăți mult mai lungi de text, permițând ieșiri mai coerente și mai relevante contextual.
  2. Suport Multilingv: Modelele excelează într-o gamă largă de limbi, incluzând engleză, franceză, germană, spaniolă, italiană, chineză, japoneză, coreeană, arabă și hindi.
  3. Capacități Avansate de Programare: Ambele modele demonstrează o proficiență excepțională în generarea de cod în numeroase limbi de programare.
  4. Urmărirea Instrucțiunilor: S-au făcut îmbunătățiri semnificative în capacitatea modelelor de a urma instrucțiuni precise și de a gestiona conversații cu multiple ture.
  5. Apelarea Funcțiilor: Suportul nativ pentru apelarea funcțiilor permite acestor modele să interacționeze dinamic cu instrumente și servicii externe.
  6. Raționament și Rezolvare de Probleme: Capacități îmbunătățite în raționament matematic și în sarcini complexe de rezolvare de probleme.

Să explorăm unele dintre aceste caracteristici și să examinăm cum se desfășoară în practică.

Benchmarke-uri de Performanță

Pentru a înțelege adevăratele capacități ale Mistral Large 2 și Mistral NeMo, este esențial să examinăm performanța lor în diverse benchmarke-uri. Să aruncăm o privire asupra unor metrici cheie:

Benchmarke-uri Mistral Large 2

Acest tabel prezintă proficiența diverselor modele LLM în diferite limbi de programare. Modele precum Mistral Large 2 (24.07), Llama 3.1 (405B) și GPT-4o sunt evaluate pe baza capacității lor de a înțelege și genera cod în limbi precum Python, C++, Bash, Java, TypeScript, PHP și C#.

Llama 3.1 405B arată o performanță puternică în multiple limbi, cu scoruri deosebit de ridicate în Python și Java. Această proficiență este critică pentru aplicații care implică generarea de cod, depanarea și dezvoltarea de software, făcând aceste modele instrumente valoroase pentru dezvoltatori.

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/

Benchmarke-uri Mistral NeMo

Deși nu sunt furnizate scoruri de benchmarke specifice pentru Mistral NeMo în informațiile date, este descris ca oferind performanță de ultimă generație în categoria sa. Modelul depășește alte modele recente de inteligență artificială open-source precum Gemma 2 9B și Llama 3 8B în diverse sarcini.

Capacități Multilingve și de Programare

Una dintre caracteristicile remarcabile ale ambelor Mistral Large 2 și Mistral NeMo este capacitatea lor excepțională de a lucra cu multiple limbi. Acest lucru este deosebit de important în lumea noastră globalizată, unde modelele de inteligență artificială trebuie să înțeleagă și să genereze conținut în mai multe limbi.

Mistral Large 2, de exemplu, suportă zeci de limbi, incluzând franceză, germană, spaniolă, italiană, portugheză, arabă, hindi, rusă, chineză, japoneză și coreeană. Această proficiență multilingvă se extinde dincolo de simpla traducere, cuprinzând o înțelegere și generare nuanțată în aceste limbi.

Pentru a ilustra acest lucru, să aruncăm o privire asupra unui exemplu de generare de text de către Mistral Large 2 în multiple limbi:

[INST] Generează un salut scurt în engleză, franceză, germană, spaniolă și japoneză. [/INST]

Următoarele sunt saluturi scurte în limbile solicitate:

Engleză: Hello! How are you today?
Franceză: Bonjour ! Comment allez-vous aujourd’hui ?
Germană: Hallo! Wie geht es Ihnen heute?
Spaniolă: ¡Hola! ¿Cómo estás hoy?
Japoneză: こんにちは!今日はお元気ですか?

[INST]

Acum, scrieți un program “Hello, World!” simplu în Python, Java și JavaScript. [/INST]

Aceste exemple demonstrează atât capacitatea de generare de text multilingv, cât și capacitățile de programare ale modelului.

Ambele modele sunt disponibile pe diverse platforme, cum ar fi Hugging Face, platforma Mistral AI și principalii furnizori de servicii cloud precum Google Cloud Platform, Azure AI Studio, Amazon Bedrock și IBM watsonx.ai​ (Mistral AI | Frontier AI în mâinile tale)​​​.

Paradigma Agentică și Apelarea Funcțiilor

Atât Mistral Large 2, cât și Mistral NeMo adoptă o proiectare centrată pe agent, care reprezintă o schimbare de paradigmă în modul în care interacționăm cu modelele de inteligență artificială. Această abordare se concentrează pe construirea de modele capabile să interacționeze cu mediul lor, să ia decizii și să acționeze pentru a atinge obiective specifice.

O caracteristică cheie care permite această paradigmă este suportul nativ pentru apelarea funcțiilor. Acest lucru permite modelelor să interacționeze dinamic cu instrumente și servicii externe, extinzându-și eficient capacitățile dincolo de simpla generare de text.

Să aruncăm o privire asupra unui exemplu de apelare a funcțiilor cu 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

<p># Initializează tokenizer și model
mistral_models_path = "path/to/mistral/models" # Asigură-te că acestă cale este corectă
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)</p>

<p># Definirea unei funcții pentru obținerea informațiilor meteo
weather_function = Function(
name="get_current_weather",
description="Obțineți vremea actuală",
parameters={
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Orașul și statul, de exemplu San Francisco, CA",
},
"format": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Unitatea de temperatură de utilizat. Inferența din locația utilizatorului.",
},
},
"required": ["location", "format"],
},
)</p>

<p># Crearea unei cereri de completare a chat-ului cu funcția
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content="Ce vreme este astăzi la Paris?"),
],
)</p>

<p># Codificarea cererii
tokens = tokenizer.encode_chat_completion(completion_request).tokens</p>

<p># Generarea unei răspunsuri
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])</p>

print(result)

În acest exemplu, definim o funcție pentru obținerea informațiilor meteo și o includem în cererea noastră de completare a chat-ului. Modelul poate apoi utiliza această funcție pentru a obține date meteo în timp real, demonstrând cum poate interacționa cu sisteme externe pentru a oferi informații mai precise și actualizate.

Tekken: Un Tokenizer Mai Eficient

Mistral NeMo introduce un nou tokenizer numit Tekken, care se bazează pe Tiktoken și a fost antrenat pe peste 100 de limbi. Acest tokenizer nou oferă îmbunătățiri semnificative în eficiența compresiei textului în comparație cu tokenizerele anterioare, cum ar fi SentencePiece.

Caracteristicile cheie ale Tekken includ:

  • 30% mai eficient în compresia pentru cod sursă, chineză, italiană, franceză, germană, spaniolă și rusă
  • 2x mai eficient în compresia pentru coreeană
  • 3x mai eficient în compresia pentru arabă
  • Depășește tokenizerul Llama 3 în compresia textului pentru aproximativ 85% din toate limbile

Această eficiență îmbunătățită a tokenizării se traduce într-o performanță mai bună a modelului, în special atunci când se lucrează cu text multilingv și cod sursă. Permite modelului să proceseze mai multă informație în aceeași fereastră de context, conducând la ieșiri mai coerente și mai relevante contextual.

Licensing și Disponibilitate

Mistral Large 2 și Mistral NeMo au modele de licențiere diferite, reflectând cazurile lor de utilizare intenționate:

Mistral Large 2

  • Lansat sub Licența de Cercetare Mistral
  • Permite utilizarea și modificarea pentru scopuri de cercetare și non-comerciale
  • Utilizarea comercială necesită o Licență Comercială Mistral

Mistral NeMo

  • Lansat sub Licența Apache 2.0
  • Permite utilizarea deschisă, inclusiv aplicații comerciale

Ambele modele sunt disponibile prin diverse platforme:

  • Hugging Face: Greutățile pentru ambele modele de bază și instruct sunt găzduite aici
  • Mistral AI: Disponibil ca mistral-large-2407 (Mistral Large 2) și open-mistral-nemo-2407 (Mistral NeMo)
  • Furnizori de Servicii Cloud: Disponibil pe Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock și IBM watsonx.ai
https://mistral.ai/news/mistral-large-2407/

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

Pentru dezvoltatorii care doresc să utilizeze aceste modele, iată un exemplu rapid de cum să încărcați și să utilizați Mistral Large 2 cu Hugging Face transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

<p>model_name = "mistralai/Mistral-Large-Instruct-2407"
device = "cuda" # Utilizați GPU dacă este disponibil</p>

<p># Încărcați modelul și tokenizerul
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)</p>

<p># Mutarea modelului pe dispozitivul adecvat
model.to(device)</p>

<p># Pregătirea intrării
messages = [
{"role": "system", "content": "Sunteți un asistent AI util."},
{"role": "user", "content": "Explicați conceptul de rețele neuronale în termeni simpli."},
]</p>

<p># Codificarea intrării
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)</p>

<p># Generarea unui răspuns
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)</p>

<p># Decodarea și afișarea răspunsului
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)</p>

Acest cod demonstrează cum să încărcați modelul, să pregătiți intrarea în format de chat, să generați un răspuns și să decodați ieșirea.

Limitări și Considerații Etice

În timp ce Mistral Large 2 și Mistral NeMo reprezintă progrese semnificative în tehnologia inteligenței artificiale, este crucial să recunoaștem limitările și considerațiile etice care înconjoară utilizarea lor:

  1. Potential de Prejudecăți: Ca toate modelele de inteligență artificială antrenate pe seturi de date mari, aceste modele pot moșteni și amplifica prejudecățile prezente în datele lor de antrenament. Utilizatorii ar trebui să fie conștienți de acest lucru și să implementeze măsuri adecvate de protecție.
  2. Lipsa Înțelegerii Adevărate: În ciuda capacităților lor impresionante, aceste modele nu posedă o înțelegere adevărată sau conștientizare. Ei generează răspunsuri pe baza patternurilor din datele lor de antrenament, ceea ce poate duce uneori la informații plauzibile dar incorecte.
  3. Probleme de Confidențialitate: Atunci când se utilizează aceste modele, în special în aplicații care manipulează informații sensibile, este crucial să se ia în considerare implicațiile legate de securitatea și confidențialitatea datelor.

Concluzie

Fine-tuning-ul modelelor avansate precum Mistral Large 2 și Mistral NeMo oferă o oportunitate puternică de a exploata inteligența artificială de ultimă generație pentru o varietate de aplicații, de la apelarea dinamică a funcțiilor la procesarea eficientă a textului multilingv. Iată câteva sfaturi practice și insight-uri cheie de care să țineți cont:

  1. Înțelegeți-vă Cazul de Utilizare: Definiți clar sarcinile și obiectivele specifice pe care doriți ca modelul dvs. să le atingă. Această înțelegere va ghida alegerea modelului și abordarea de fine-tuning, fie că este vorba de capacitățile robuste de apelare a funcțiilor ale Mistral sau de procesarea eficientă a textului multilingv.
  2. Optimizați pentru Eficiență: Utilizați tokenizerul Tekken pentru a îmbunătăți semnificativ eficiența compresiei textului, în special dacă aplicația dvs. implică manipularea unor volume mari de text sau multiple limbi. Acest lucru va îmbunătăți performanța modelului și va reduce costurile computaționale.
  3. Exploatați Apelarea Funcțiilor: Îmbrățișați paradigma agentică prin integrarea apelării funcțiilor în interacțiunile modelului. Acest lucru permite inteligenței dvs. artificiale să interacționeze dinamic cu instrumente și servicii externe, oferind ieșiri mai precise și mai utile. De exemplu, integrarea API-urilor meteo sau a altor surse de date externe poate îmbunătăți semnificativ relevanța și utilitatea răspunsurilor modelului.
  4. Alegeți Platforma Potrivită: Asigurați-vă că deploiați modelele pe platforme care susțin capacitățile lor, cum ar fi Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock și IBM watsonx.ai. Aceste platforme oferă infrastructura și instrumentele necesare pentru a maximiza performanța și scalabilitatea modelelor dvs. de inteligență artificială.

Prin urmarea acestor sfaturi și utilizarea exemplelor de cod furnizate, puteți exploata eficient puterea Mistral Large 2 și Mistral NeMo pentru nevoile dvs. specifice.

Am petrecut ultimii cinci ani scufundându-mă în lumea fascinantă a Învățării Automate și a Învățării Profunde. Pasiunea și expertiza mea m-au condus să contribui la peste 50 de proiecte diverse de inginerie software, cu un accent deosebit pe AI/ML. Curiozitatea mea continuă m-a atras și spre Procesarea Limbajului Natural, un domeniu pe care sunt dornic să-l explorez mai departe.