Modely a platformy AI

Mistral 2 a Mistral NeMo: Komplexní průvodce nejnovějšími LLM z Paříže

mm
Přidejte Unite.AI mezi své preferované zdroje na Google
Mistral Large 2 and Mistral NeMo

Založena absolventy z Google’s DeepMind a Meta, pařížská startup Mistral AI pravidelně vytváří vlny v komunitě AI od roku 2023.

Mistral AI poprvé upoutala pozornost celého světa svým debutovým modelem, Mistral 7B, který byl vydán v roce 2023. Tento model s 7 miliardami parametrů rychle získal popularitu pro své působivé výkony, překonávající větší modely, jako je Llama 2 13B, v různých benchmarcích a dokonce se vyrovnal Llama 1 34B v mnoha metrikách. To, co odlišovalo Mistral 7B, nebyla pouze jeho výkonnost, ale také jeho dostupnost – model mohl být snadno stáhnut z GitHubu nebo dokonce prostřednictvím 13,4gigabytového torrentu, což z něj činilo snadno dostupný pro výzkumníky a vývojáře po celém světě.

Nekonvenční přístup společnosti k vydání, často se vzdávající tradičních článků, blogů nebo tiskových zpráv, se ukázal jako pozoruhodně efektivní v získání pozornosti komunity AI. Tato strategie, spojená s jejich závazkem k otevřenému softwaru, umístila Mistral AI jako silného hráče v krajíně AI.

Rychlý vzestup Mistral AI v odvětví je dále dokládán jejich nedávným úspěchem ve financování. Společnost dosáhla ohromující hodnoty 2 miliard dolarů po kole financování vedeném Andreessen Horowitz. To přišlo na základě historicky největšího kola seed financování v hodnotě 118 milionů dolarů v evropské historii – což ukazuje na enormní víru investorů v vizi a schopnosti Mistral AI.

Mimo svých technologických pokroků se Mistral AI také aktivně zapojila do tvorby politiky AI, zejména v diskusích kolem evropského zákona o AI, kde hájila snížení regulací pro otevřený software AI.

Nyní, v roce 2024, Mistral AI opět zvedla laťku se dvěma průlomovými modely: Mistral Large 2 (také známý jako Mistral-Large-Instruct-2407) a Mistral NeMo. V tomto komplexním průvodci se budeme hluboce zabývat funkcemi, výkonem a potenciálními aplikacemi těchto působivých modelů AI.

Klíčové specifikace Mistral Large 2 zahrnují:

  • 123 miliard parametrů
  • 128k kontextové okno
  • Podpora desítek jazyků
  • Znalost 80+ programovacích jazyků
  • Pokročilé funkce pro volání funkcí

Model je navržen tak, aby posunul hranice nákladové efektivity, rychlosti a výkonu, což z něj činí atraktivní možnost pro výzkumníky i podniky, které chtějí využít špičkové AI.

Mistral NeMo: Nový menší model

Zatímco Mistral Large 2 reprezentuje nejlepší z velkých modelů Mistral AI, Mistral NeMo, vydán v červenci 2024, se ubírá jinou cestou. Vyvinut ve spolupráci s NVIDIA (NVDA ), Mistral NeMo je kompaktní model s 12 miliardami parametrů, který nabízí působivé schopnosti:

  • 12 miliard parametrů
  • 128k kontextové okno
  • Špičkový výkon ve své kategorii
  • Apache 2.0 licence pro otevřené použití
  • Quantizace-aware trénink pro efektivní inferenci

Mistral NeMo je позиcionován jako náhrada za systémy, které目前 používají Mistral 7B, nabízí vylepšený výkon a přitom zachovává snadné použití a kompatibilitu.

Klíčové funkce a schopnosti

Oba modely, Mistral Large 2 a Mistral NeMo, sdílejí několik klíčových funkcí, které je odlišují v krajíně AI:

  1. Velká kontextová okna: S délkou kontextu 128k tokenů mohou oba modely zpracovat a pochopit mnohem delší texty, umožňující více koherentní a kontextuálně relevantní výstupy.
  2. Multijazyčná podpora: Modely vynikají v širokém spektru jazyků, včetně angličtiny, francouzštiny, němčiny, španělštiny, italštiny, čínštiny, japonštiny, korejštiny, arabštiny a hindštiny.
  3. Pokročilé kódovací schopnosti: Obě modely prokazují výjimečnou znalost generování kódu v mnoha programovacích jazycích.
  4. Postup podle instrukcí: Bylo dosaženo významných zlepšení v schopnosti modelů následovat přesné instrukce a zvládat vícekolové konverzace.
  5. Volání funkcí: Rodné podpory pro volání funkcí umožňuje těmto modelům dynamicky interagovat s externími nástroji a službami.
  6. Uvažování a řešení problémů: Vylepšené schopnosti v matematickém uvažování a složitých úkolech řešení problémů.

Pojedneme o některých z těchto funkcí a prozkoumáme, jak fungují v praxi.

Výkonnostní benchmarky

Abychom pochopili skutečné schopnosti Mistral Large 2 a Mistral NeMo, je důležité podívat se na jejich výkon v různých benchmarcích. Pojďme prozkoumat některé klíčové metriky:

Mistral Large 2 Benchmarky

Tato tabulka představuje zdatnost různých LLM v různých programovacích jazycích. Modely, jako je Mistral Large 2 (24.07), Llama 3.1 (405B) a GPT-4o, jsou hodnoceny podle jejich schopnosti pochopit a generovat kód v jazycích, jako je Python, C++, Bash, Java, TypeScript, PHP a C#.

Llama 3.1 405B ukazuje silný výkon v mnoha jazycích, zejména v Pythonu a Javě. Tato zdatnost je kritická pro aplikace zahrnující generování kódu, ladění a vývoj softwaru, což z těchto modelů činí cenné nástroje pro vývojáře.

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 Benchmarky

Přestože nejsou specifické benchmarkové skóre pro Mistral NeMo poskytnuta v daných informacích, je popsán jako nabízející špičkový výkon ve své kategorii. Model překonává ostatní nedávné otevřené předtrénované modely, jako je Gemma 2 9B a Llama 3 8B, v různých úkolech.

Multijazyčná a kódovací schopnosti

Jednou z výjimečných funkcí obou modelů, Mistral Large 2 a Mistral NeMo, je jejich vynikající multijazyčná schopnost. To je zvláště důležité v naší stále více globalizovanější světě, kde modely AI potřebují rozumět a generovat obsah v mnoha jazycích.

Mistral Large 2, například, podporuje desítky jazyků, včetně francouzštiny, němčiny, španělštiny, italštiny, portugalštiny, arabštiny, hindštiny, ruštiny, čínštiny, japonštiny a korejštiny. Tato multijazyčná zdatnost sahá daleko za pouhé překladu, zahrnující nuancované chápání a generování v těchto jazycích.

Abychom ilustrovali to, podívejme se na příklad generování textu Mistral Large 2 v mnoha jazycích:

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

Here are short greetings in the requested languages:

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

[INST]

Now, write a simple “Hello, World!” program in Python, Java, and JavaScript. [/INST]

Tyto příklady demonstrují multijazyčnou textovou generaci a kódovací schopnosti modelu.

Oba modely jsou dostupné na různých platformách, jako je Hugging Face, platforma Mistral AI a hlavní poskytovatelé cloudových služeb, jako je Google Cloud Platform, Azure AI Studio, Amazon Bedrock a IBM watsonx.ai​ (Mistral AI | Frontier AI v rukou)​​​.

Agentic Paradigm a volání funkcí

Oba modely, Mistral Large 2 a Mistral NeMo, přijímají agentic-centrický design, který představuje paradigmatický posun v tom, jak interagujeme s modely AI. Tento přístup se zaměřuje na stavbu modelů schopných interagovat se svým okolím, dělat rozhodnutí a provádět akce pro dosažení specifických cílů.

Klíčovou funkcí, která umožňuje tento paradigm, je rodinná podpora pro volání funkcí. To umožňuje modelům dynamicky interagovat s externími nástroji a službami, efektivní rozšíření jejich schopností za hranice jednoduché textové generace.

Pojedneme o příkladu, jak by volání funkcí mohlo fungovat s 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># Initialize tokenizer a model
mistral_models_path = &quot;path/to/mistral/models&quot; # Ensure this path is correct
tokenizer = MistralTokenizer.from_file(f&quot;{mistral_models_path}/tokenizer.model.v3&quot;)
model = Transformer.from_folder(mistral_models_path)</p>

<p># Define a function for getting weather information
weather_function = Function(
name=&quot;get_current_weather&quot;,
description=&quot;Get the current weather&quot;,
parameters={
&quot;type&quot;: &quot;object&quot;,
&quot;properties&quot;: {
&quot;location&quot;: {
&quot;type&quot;: &quot;string&quot;,
&quot;description&quot;: &quot;The city and state, e.g. San Francisco, CA&quot;,
},
&quot;format&quot;: {
&quot;type&quot;: &quot;string&quot;,
&quot;enum&quot;: [&quot;celsius&quot;, &quot;fahrenheit&quot;],
&quot;description&quot;: &quot;The temperature unit to use. Infer this from the user&#039;s location.&quot;,
},
},
&quot;required&quot;: [&quot;location&quot;, &quot;format&quot;],
},
)</p>

<p># Create a chat completion request with the function
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content=&quot;What&#039;s the weather like today in Paris?&quot;),
],
)</p>

<p># Encode the request
tokens = tokenizer.encode_chat_completion(completion_request).tokens</p>

<p># 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])</p>

print(result)

V tomto příkladu definujeme funkci pro získání informací o počasí a zahrneme ji do naší žádosti o dokončení chatu. Model může poté použít tuto funkci k získání aktuálních údajů o počasí, demonstrující, jak může interagovat s externími systémy, aby poskytoval více přesné a aktuální informace.

Tekken: Efektivnější tokenizér

Mistral NeMo představuje nový tokenizér nazvaný Tekken, který je založen na Tiktoken a byl trénován na více než 100 jazycích. Tento nový tokenizér nabízí významná zlepšení v kompresní efektivitě textu ve srovnání s předchozími tokenizéry, jako je SentencePiece.

Klíčové funkce Tekkenu zahrnují:

  • 30% více efektivní komprese pro zdrojový kód, čínštinu, italštinu, francouzštinu, němčinu, španělštinu a ruštinu
  • 2x více efektivní komprese pro korejštinu
  • 3x více efektivní komprese pro arabštinu
  • Převyšuje tokenizér Llama 3 při kompresi textu pro asi 85% všech jazyků

Tato zlepšená efektivita tokenizace se překládá do lepšího výkonu modelu, zejména při zpracování multijazyčného textu a zdrojového kódu. Umožňuje modelu zpracovat více informací v rámci stejného kontextového okna, vedoucí k více koherentním a kontextuálně relevantním výstupům.

Licence a dostupnost

Mistral Large 2 a Mistral NeMo mají různé modely licencí, odrážející jejich zamýšlené použití:

Mistral Large 2

  • Vydaný pod licencí Mistral Research License
  • Povoluje použití a modifikaci pro výzkum a nekomerční účely
  • Komerční použití vyžaduje licenci Mistral Commercial License

Mistral NeMo

  • Vydaný pod licencí Apache 2.0
  • Povoluje otevřené použití, včetně komerčních aplikací

Oba modely jsou dostupné prostřednictvím různých platforem:

  • Hugging Face: Hmotnosti pro základní a instruktivní modely jsou hostovány zde
  • Mistral AI: Dostupné jako mistral-large-2407 (Mistral Large 2) a open-mistral-nemo-2407 (Mistral NeMo)
  • Poskytovatelé cloudových služeb: Dostupné na Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock a IBM watsonx.ai
https://mistral.ai/news/mistral-large-2407/

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

Pro vývojáře, kteří chtějí tyto modely použít, zde je rychlý příklad, jak načíst a použít Mistral Large 2 s Hugging Face transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

<p>model_name = &quot;mistralai/Mistral-Large-Instruct-2407&quot;
device = &quot;cuda&quot; # Použijte GPU, pokud je dostupné</p>

<p># Načtěte model a tokenizér
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)</p>

<p># Přesuňte model na příslušné zařízení
model.to(device)</p>

<p># Připravte vstup
messages = [
{&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: &quot;You are a helpful AI assistant.&quot;},
{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain the concept of neural networks in simple terms.&quot;}
]</p>

<p># Zakódujte vstup
input_ids = tokenizer.apply_chat_template(messages, return_tensors=&quot;pt&quot;).to(device)</p>

<p># Vygenerujte odpověď
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)</p>

<p># Dekódujte a vytiskněte odpověď
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)</p>

Tento kód demonstruje, jak načíst model, připravit vstup ve formátu chatu, vygenerovat odpověď a dekódovat výstup.

Omezení a etické úvahy

Zatímco Mistral Large 2 a Mistral NeMo reprezentují významný pokrok v technologii AI, je důležité uznat jejich omezení a etické úvahy spojené s jejich použitím:

  1. Potenciál pro předpojatosti: Jako všechny modely AI trénované na velkých datech, tyto modely mohou zdědit a zesílit předpojatosti přítomné ve svých trénovacích datech. Uživatelé by si měli být vědomi tohoto a implementovat příslušná opatření.
  2. Chybějící skutečné porozumění: Přes ihre působivé schopnosti, tyto modely neobsahují skutečné porozumění nebo vědomí. Generují odpovědi na základě vzorců ve svých trénovacích datech, což někdy může vést k věrohodně vypadajícím, ale nesprávným informacím.
  3. Obavy o soukromí: Při používání těchto modelů, zejména v aplikacích zahrnujících citlivé informace, je důležité zvážit důsledky pro soukromí a bezpečnost dat.

Závěr

Fine-tuning pokročilých modelů, jako jsou Mistral Large 2 a Mistral NeMo, nabízí silnou příležitost využít špičkovou AI pro řadu aplikací, od dynamického volání funkcí po efektivní multijazyčnou zpracování. Zde jsou einige praktické tipy a klíčové poznatky, které je třeba mít na paměti:

  1. Porozumění vašemu případu použití: Jasně definujte konkrétní úkoly a cíle, kterých chcete svým modelem dosáhnout. Toto porozumění bude vést vaši volbu modelu a přístup k fine-tuningu, ať už se jedná o robustní schopnosti volání funkcí Mistralu nebo jeho efektivní multijazyčné zpracování textu.
  2. Optimalizace pro efektivitu: Využijte tokenizér Tekken, aby jste výrazně zlepšili kompresní efektivitu textu, zejména pokud vaše aplikace zahrnuje zpracování velkých objemů textu nebo více jazyků. To zvýší výkon modelu a sníží výpočetní náklady.
  3. Využití volání funkcí: Přijměte agentic paradigm přijetím volání funkcí ve vaší interakci s modelem. To umožňuje vaší AI dynamicky interagovat s externími nástroji a službami, poskytující více přesné a použitelné výstupy. Například integrace s API pro počasí nebo jinými externími zdroji dat může výrazně zvýšit relevanci a užitečnost odpovědí vašeho modelu.
  4. Volba správné platformy: Ujistěte se, že nasadíte své modely na platformách, které podporují jejich schopnosti, jako je Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock a IBM watsonx.ai. Tyto platformy poskytují nezbytnou infrastrukturu a nástroje pro maximalizaci výkonu a škálovatelnosti vašich modelů AI.

Sledováním těchto tipů a využíváním poskytnutých příkladů kódu můžete efektivně využít sílu Mistral Large 2 a Mistral NeMo pro vaše konkrétní potřeby.

Já pět let se ponořím do fascinujícího světa strojového učení a hlubokého učení. Mé vášně a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství, se zvláštním zaměřením na AI/ML. Mé pokračující zvědavosti mě také přivedly k přirozenému jazykovému zpracování, oblasti, kterou jsem ochoten prozkoumat dále.